lkml.org 
[lkml]   [2010]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Using block layer's I/O context api (block/blk-ioc.c) without CFQ.
From
Thanks for your reply,

2010/8/20 Corrado Zoccolo <czoccolo@gmail.com>:
> 2010/8/19 Pedro Eugênio Rocha <pedro.eugenio.rocha@gmail.com>:
>> Hi,
> Hi,
>>
>> Is there a way to use the generic block layer I/O context api
>> (block/blk-ioc.c), without
>> using cfq specific functions and structs? I'm writing an I/O scheduler
>> for my master
>> thesis, and I'd like to use my own functions for I/O context handling,
>> not cfq's. Sorry
>> if I'm missing something here.
> Sure. I think you can get an idea by grabbing an old enough kernel
> that still has anticipatory scheduler (if I recall correctly, 2.6.32
> should have it), and look at its functions.

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?


> Or you can look at my post:
> http://lists.openwall.net/linux-kernel/2009/06/08/387, where I
> implemented a proof-of-concept I/O scheduler based on anticipatory
> scheduler. Most of the concepts in that scheduler were later ported to
> CFQ.
> Do you already have a scheduling algorithm in mind? And what will be
> your main purpose/target?
>

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!

> Thanks
> Corrado
>>
>> Thanks,
>>
>> Pedro Eugênio Rocha
>> --
>> 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/
>>
>
>
>
> --
> __________________________________________________________________________
>
> dott. Corrado Zoccolo                          mailto:czoccolo@gmail.com
> PhD - Department of Computer Science - University of Pisa, Italy
> --------------------------------------------------------------------------
> The self-confidence of a warrior is not the self-confidence of the average
> man. The average man seeks certainty in the eyes of the onlooker and calls
> that self-confidence. The warrior seeks impeccability in his own eyes and
> calls that humbleness.
>                                Tales of Power - C. Castaneda
>



--
Pedro Eugênio Rocha
--
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: 2010-08-21 16:19    [W:0.060 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site