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
Sun Jul 3 01:11:49 GMT 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-all mailing list