Date: Thu, 21 Jan 2010 22:26:38 +0300 From: Boris Samorodov <bsam@ipt.ru> 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: <30311009@ipt.ru> In-Reply-To: <4B57064F.9060704@restart.be> (Henri Hennebert's message of "Wed, 20 Jan 2010 14:34:07 %2B0100") References: <4B55D9D4.1000008@FreeBSD.org> <4B57064F.9060704@restart.be>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 20 Jan 2010 14:34:07 +0100 Henri Hennebert wrote: > 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 Thanks! > > 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. So do I with kern.cam.boot_delay=6000 for my EEEPC-1000: ----- % uname -a FreeBSD izar 9.0-CURRENT FreeBSD 9.0-CURRENT #3 r202734M: Thu Jan 21 18:13:10 MSK 2010 bsam@izar:/obj/usr/src/sys/EEEBB i386 ----- > > - 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. -- WBR, Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD Committer, http://www.FreeBSD.org The Power To Serve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?30311009>