From: Swetha Krishnan <swetha@cs.wisc.edu>
To: linux-kernel@vger.kernel.org
Subject: Removing request from I/O scheduler queue
Date: Tue, 27 Feb 2007 01:38:49 -0600 [thread overview]
Message-ID: <45E3E009.4050503@cs.wisc.edu> (raw)
I'm using linux 2.6.12 within user-mode linux. I need to remove a
specific I/O request (that I have means to identify) from the I/O
scheduler queues instead of moving it to the driver dispatch queue.
To remove a request from the anticipatory scheduler's sort/fifo queues ,
I'm making a call to as_remove_queued_request(), from within
as_move_to_dispatch(). Before removing it, I invoke the
as_find_next_arq() function so that the scheduler can pick the next
request once this one is removed.
Everything works fine as far as the remove is concerned, but after
returning from the remove function and the end_io function that I call
on the request's bio field(a dummy end_io), the scheduler fails to
proceed with the next request chosen. I do check that if the next req
chosen is NULL, I exit from the as_move_to_dispatch() function but even
if I do this, the kernel panics after exiting from that function.
The chief points of panic from the (larger) dump, seems to be
a02277d0: [<a005eec3>] handle_IRQ_event+0x37/0x8c
a0227800: [<a005efaf>] __do_IRQ+0x97/0xe0
a0227820: [<a000defc>] do_IRQ+0x30/0x3c
Could you give me any pointers as to why this is happening? Is there any
additional cleanup that I need to do when I remove a request from the
scheduler's queues that as_remove_queued_request() does not already do?
I am rather new to linux I/O scheduling, so would be great if you could
let me know if there something basic I'm missing here.
Thanks,
Swetha.
next reply other threads:[~2007-02-27 7:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-27 7:38 Swetha Krishnan [this message]
2007-02-28 12:20 ` Removing request from I/O scheduler queue Jens Axboe
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=45E3E009.4050503@cs.wisc.edu \
--to=swetha@cs.wisc.edu \
--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