dsched - Add request polling wrapper
authorBrills Peng <brills@gmail.com>
Sat, 27 Aug 2011 11:24:35 +0000 (11:24 +0000)
committerAlex Hornung <ahornung@gmail.com>
Sat, 27 Aug 2011 12:34:19 +0000 (12:34 +0000)
commit09f2bfe9d39a346abddc196cafc213e571044dfb
tree33924385bf457ba958efa104e490c422cc349510
parentc7a0a046f2a7ef938aaa235cb6e934f2a3ba4345
dsched - Add request polling wrapper

 * Add a request polling emulation layer to dsched. This emulated
   request polling as if a disk driver would poll for requests instead
   of requests being actively pushed down.

 * The policy->polling_func() callback is called whenever a BIO
   completes.

 * A field in the diskctx that shows the current tag queue depth and the
   maximum tag queue depth (currently fixed value of 32) are used in the
   policies using request polling directly and is not enforced in the
   dsched layer. That is, a policy using request polling emulation
   should take care of not having (many) more BIOs in flight than
   max_tag_queue_depth.

Sponsored-by: Google Summer of Code
sys/kern/kern_dsched.c
sys/sys/dsched.h