Re: Using block layer's I/O context api (block/blk-ioc.c) without CFQ.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Pedro Eugênio Rocha
Date: Saturday, August 21, 2010 - 7:15 am

Thanks for your reply,

2010/8/20 Corrado Zoccolo <czoccolo@gmail.com>:

In mainstream kernel as in 2.6.32, it's used a generic get_io_context
function to get the current task io_context. In addition, you can create
a function like cfq_get_io_context to implement some scheduler
specific stuff. Oh right so far.

But when the task is exiting there is an exit_io_context function, which
calls put_io_context. This function calls cfq_dtor, which seems to be
an specific cfq function, and maybe will not work with others I/O
schedulers. My newbie question is, those block/blk-ioc.c functions
are  supposed to be generic, or my scheduler should implement it's
own?



Yes. Our main purpose is to share disk I/O bandwidth among
processes/tasks/cgroups/whatever providing strong QoS guarantees, such
as bandwidth, bursts and latency. It borrows many ideas from bfq and
pClock I/O schedulers. The implementation will be just a proof-of-concept,
not something you can use in a real environment. =)

Thanks for your help!




-- 
Pedro Eugênio Rocha
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Using block layer's I/O context api (block/blk-ioc.c) with ..., Pedro Eugênio Rocha, (Thu Aug 19, 6:59 am)
Re: Using block layer's I/O context api (block/blk-ioc.c) ..., Corrado Zoccolo, (Thu Aug 19, 11:51 pm)
Re: Using block layer's I/O context api (block/blk-ioc.c) ..., Pedro Eugênio Rocha, (Sat Aug 21, 7:15 am)
Re: Using block layer's I/O context api (block/blk-ioc.c) ..., Pedro Eugênio Rocha, (Mon Aug 23, 6:12 am)