cvs commit: src/sys/dev/disk/nata ata-all.h ata-queue.c
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    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 
  Log:
  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
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/nata/ata-all.h.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/nata/ata-queue.c.diff?r1=1.8&r2=1.9&f=u
    
    
More information about the Commits
mailing list