From: philipp.gruber@flupps.net (Philipp Gruber)
To: linux-kernel@vger.kernel.org
Subject: Need information on elevator_dispatch_fn
Date: Wed, 31 Oct 2007 11:00:25 +0100 [thread overview]
Message-ID: <20071031100025.GC16598@mega2000.de> (raw)
Hello everyone,
I'm just working on an I/O-scheduler that implements some QoS
functionality.
Now I get some weird problems and need to know what triggers my
elevator_dispatch_fn, and how the return value of it is handled.
For now, I found that the dispatch function is called as long as there
are requests in my queue, so probably as long as it returns 1. On the
other hand, only every second dispatch call returns 1, the others 0, but
still it's working. I couldn't find any documentation about that (but
would like to write some, if I understood it). Could someone please
explain me when and why exactly elevator_dispatch_fn is triggered?
A little background:
Now that I'm implementing my QoS, I have one queue for each process, and
prioritized processes get a timeslice, where they can access the device
exclusively.
A timeslice might be 400ms, but if a process is finished after 200ms
and has no more requests, dispatch will return 0 and then it won't be
triggered anymore. So, when the next process has his timeslice, even if
it has requests, dispatch_fn is not triggered, so the process will
starve and hang forever.
So I need to 'reactivate' the whole dispatching process again. The only
way to to this is probably a timer, but I couldn't get this working
since I don't understand what calls dispatch_fn.
thanks in advance,
Philipp
next reply other threads:[~2007-10-31 10:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-31 10:00 Philipp Gruber [this message]
2007-10-31 10:58 ` Need information on elevator_dispatch_fn Jens Axboe
2007-10-31 11:36 ` Aaron Carroll
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071031100025.GC16598@mega2000.de \
--to=philipp.gruber@flupps.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).