Skip site navigation (1)Skip section navigation (2)
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>