Date: Wed, 20 Jan 2010 14:34:07 +0100 From: Henri Hennebert <hlh@restart.be> To: Alexander Motin <mav@freebsd.org> Cc: FreeBSD-Current <freebsd-current@freebsd.org>, FreeBSD Stable <freebsd-stable@freebsd.org> Subject: Re: Pack of CAM improvements Message-ID: <4B57064F.9060704@restart.be> In-Reply-To: <4B55D9D4.1000008@FreeBSD.org> References: <4B55D9D4.1000008@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/19/2010 17:12, Alexander Motin wrote: > Hi. > > I've made a patch, that should solve set of problems of CAM ATA and CAM > generally. I would like to ask for testing and feedback. > > What patch does: > - It unifies bus reset/probe sequence. Whenever bus attached at boot or > later, CAM will automatically reset and scan it. It allows to remove > duplicate code from many drivers. > - Any bus, attached before CAM completed it's boot-time initialization, > will equally join to the process, delaying boot if needed. > - New kern.cam.boot_delay loader tunable should help controllers that > are still unable to register their buses in time (such as slow USB/ > PCCard/ CardBus devices). With kern.cam.boot_delay=15000 (I suppose that it was in ms) I can now boot from my sim card reader. Thanks Henri > - To allow synchronization between different CAM levels, concept of > requests priorities was extended. Priorities now split between several > "run levels". Device can be freezed at specified level, allowing higher > priority requests to pass. For example, no payload requests allowed, > until PMP driver enable port. ATA XPT negotiate transfer parameters, > periph driver configure caching and so on. > - Frozen requests are no more counted by request allocation scheduler. > It fixes deadlocks, when frozen low priority payload requests occupying > slots, required by higher levels to manage theit execution. > - Two last changes were holding proper ATA reinitialization and error > recovery implementation. Now it is done: SATA controllers and Port > Multipliers now implement automatic hot-plug and should correctly > recover from timeouts and bus resets. > > Patch can be found here: > http://people.freebsd.org/~mav/cam-ata.20100119.patch > > Feedback as always welcome. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B57064F.9060704>