cvs commit: src/sys/dev/disk/nata ata-all.h ata-queue.c

Matthew Dillon dillon at
Fri Jun 27 18:08:45 PDT 2008

dillon      2008/06/27 18:06:40 PDT

DragonFly src repository

  Modified files:
    sys/dev/disk/nata    ata-all.h ata-queue.c 
  Fix a system performance issue created by ata_sort_queue().  This function
  implements an elevator sort but it also allows requests to be delayed
  indefinitely when other requests continually get inserted in front of them.
  HAMMER's almost log-linear writing really exposes this issue.
  The fix is to count how many times a request got delayed due to an insertion.
  If the count exceeds 8, the new request is placed at the end of the queue and
  set as the new freeze point.
  Revision  Changes    Path
  1.11      +1 -0      src/sys/dev/disk/nata/ata-all.h
  1.9       +16 -1     src/sys/dev/disk/nata/ata-queue.c

More information about the Commits mailing list