freebsd-nq/sys/dev/aac
Scott Long ae54359608 Bring aac out from under Giant:
- the mutex aac_io_lock protects the main codepaths which handle queues and
  hardware registers.  Only one acquire/release is done in the top-half and
  the taskqueue.  This mutex also applies to the userland command path and
  CAM data path.
- Move the taskqueue to the new Giant-free version.
- Register the disk device with DISKFLAG_NOGIANT so the top-half processing
  runs without Giant.
- Move the dynamic command allocator to the worker thread to avoid locking
  issues with bus_dmamem_alloc().

This gives about 20% improvement in most of my benchmarks.
2003-02-26 04:46:21 +00:00
..
aac_cam.c Bring aac out from under Giant: 2003-02-26 04:46:21 +00:00
aac_compat.h Bring the aac driver *much* closer to style(9). 2001-09-05 20:43:02 +00:00
aac_debug.c Major bugfixes for large memory and fast systems. 2003-01-11 01:59:21 +00:00
aac_disk.c Bring aac out from under Giant: 2003-02-26 04:46:21 +00:00
aac_ioctl.h Bring the aac driver *much* closer to style(9). 2001-09-05 20:43:02 +00:00
aac_linux.c The AAC_COMPAT_LINUX option was really annoying, since it made the 2002-09-25 05:00:25 +00:00
aac_pci.c Use BUS_SPACE_MAXADDR_32BIT in the DMA tag where needed. Before the recent 2003-02-26 02:55:58 +00:00
aac_tables.h MFS: Use correct terminology for RAID 0/1 and 0/5. 2001-12-04 02:39:06 +00:00
aac.c Bring aac out from under Giant: 2003-02-26 04:46:21 +00:00
aacreg.h Major bugfixes for large memory and fast systems. 2003-01-11 01:59:21 +00:00
aacvar.h Bring aac out from under Giant: 2003-02-26 04:46:21 +00:00