Re: Pack of CAM improvements

From: Michael Gusek <michael.gusek_at_web.de>
Date: Tue, 26 Jan 2010 11:02:56 +0100
On 19.01.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).
> - 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.
>
>    
This patch solved my problem which i describe in the Mail "USB pen 
encryption at boot-time". I have to set kern.cam.boot_delay=6000 in 
/boot/loader.conf.

Thank you !

Michael
Received on Tue Jan 26 2010 - 09:26:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:00 UTC