Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Aug 2012 08:20:39 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        current@freebsd.org
Subject:   [PATCH] Make ida(4) MPSAFE and a host of other fixes
Message-ID:  <201208060820.39553.jhb@freebsd.org>

next in thread | raw e-mail | index | archive | help
ida(4) is a driver for older Compaq RAID adapters (PCI and EISA).  It is one 
of the few remaining non-MPSAFE storage drivers.  I have a patch to add 
locking to it, but while doing that I fixed several other issues including 
incorrect bus_dma support (it didn't handle deferred callbacks and EINPROGRESS 
at all).  It also did not pre-allocate dma maps but attempted to create them 
on the fly (despite a comment claiming that it did pre-allocate them).  It now 
probes disks using a configintrhook rather than using polled commands.  The 
drive number for each logical disk is passed to the child disk device via 
ivars.  I've added bus_dma sync ops for the hardware QCB accesses.  I've also 
reworked it's queuing mechanism so that it should now queue multiple commands 
to the controller (before it only queued one command at a time even though it
had free QCBs).  The patch compiles, but I have no hardware to test it.  Given 
that this is an old driver, if I can't find anyone to test it, I will remove 
it from HEAD after committing the fixes (so if someone shows up in the future 
there is a better base to start from).

http://www.FreeBSD.org/~jhb/patches/ida_locking_dma.patch

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208060820.39553.jhb>