lkml.org 
[lkml]   [2006]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] 7/15 elevator: introduce a way to reuse rq for internal FIFO handling
    Date
    The io schedulers can use this instead of having to allocate space for
    it themselves.

    Signed-off-by: Jens Axboe <axboe@suse.de>
    ---
    include/linux/elevator.h | 12 ++++++++++++
    1 files changed, 12 insertions(+), 0 deletions(-)

    diff --git a/include/linux/elevator.h b/include/linux/elevator.h
    index 95b2a04..0e7b1a7 100644
    --- a/include/linux/elevator.h
    +++ b/include/linux/elevator.h
    @@ -166,4 +166,16 @@ enum {
    #define rq_end_sector(rq) ((rq)->sector + (rq)->nr_sectors)
    #define rb_entry_rq(node) rb_entry((node), struct request, rb_node)

    +/*
    + * Hack to reuse the donelist list_head as the fifo time holder while
    + * the request is in the io scheduler. Saves an unsigned long in rq.
    + */
    +#define rq_fifo_time(rq) ((unsigned long) (rq)->donelist.next)
    +#define rq_set_fifo_time(rq,exp) ((rq)->donelist.next = (void *) (exp))
    +#define rq_entry_fifo(ptr) list_entry((ptr), struct request, queuelist)
    +#define rq_fifo_clear(rq) do { \
    + list_del_init(&(rq)->queuelist); \
    + INIT_LIST_HEAD(&(rq)->donelist); \
    + } while (0)
    +
    #endif
    --
    1.4.1.ged0e0
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-07-13 14:47    [W:2.262 / U:0.784 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site