Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Apr 2002 23:53:21 -0700 (PDT)
From:      Poul-Henning Kamp <phk@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern subr_disklabel.c
Message-ID:  <200204220653.g3M6rLd11713@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
phk         2002/04/21 23:53:21 PDT

  Modified files:
    sys/kern             subr_disklabel.c 
  Log:
  Comment out Kirks io-request priority hack until we can do this in a
  civilized way which doesn't cause grief.
  
  The problem is that it is not generally safe to cast a "struct bio
  *" to a "struct buf *".  Things like ccd, vinum, ata-raid and GEOM
  constructs bio's which are not entrails of a struct buf.
  
  Also, curthread may or may not have anything to do with the I/O request
  at hand.
  
  The correct solution can either be to tag struct bio's with a
  priority derived from the requesting threads nice and have disksort
  act on this field, this wouldn't address the "silly-seek syndrome"
  where two equal processes bang the diskheads from one edge to the
  other of the disk repeatedly.
  
  Alternatively, and probably better: a sleep should be introduced
  either at the time the I/O is requested or at the time it is completed
  where we can be sure to sleep in the right thread.
  
  The sleep also needs to be in constant timeunits, 1/hz can be practicaly
  any sub-second size, at high HZ the current code practically doesn't
  do anything.
  
  Revision  Changes    Path
  1.65      +5 -0      src/sys/kern/subr_disklabel.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204220653.g3M6rLd11713>