cvs commit: src/sys/dev/ips ips.c ips.h ips_commands.c ips_disk.c
ips_ioctl.c ips_pci.c
Scott Long
scottl at FreeBSD.org
Thu Jan 27 21:02:14 PST 2005
scottl 2005-01-28 05:02:13 UTC
FreeBSD src repository
Modified files:
sys/dev/ips ips.c ips.h ips_commands.c ips_disk.c
ips_ioctl.c ips_pci.c
Log:
Lock the IPS driver and bring it out from under Giant. Also do some
significant clean up and optimizations:
- don't call bioq_disksort() on every command, the hardware will do that for
us.
- remove all of the complicated bio deferral code. bio's that can't be
serviced immediately can just wait on the bioq.
- Only reserve one command object for doing control commands to the card.
This simplifies a lot of code and significantly reduces the size of the
command struct.
- Allocate commands out of a slab instead of embedding them into the softc.
- Call the command action method directly instead of having ips_get_free_cmd()
call it indirectly.
MFC After: 1 week
Revision Changes Path
1.14 +56 -90 src/sys/dev/ips/ips.c
1.12 +9 -15 src/sys/dev/ips/ips.h
1.12 +65 -119 src/sys/dev/ips/ips_commands.c
1.7 +3 -3 src/sys/dev/ips/ips_disk.c
1.6 +10 -4 src/sys/dev/ips/ips_ioctl.c
1.11 +6 -3 src/sys/dev/ips/ips_pci.c
More information about the cvs-src
mailing list