LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* Removing request from I/O scheduler queue
@ 2007-02-27 7:38 Swetha Krishnan
2007-02-28 12:20 ` Jens Axboe
0 siblings, 1 reply; 2+ messages in thread
From: Swetha Krishnan @ 2007-02-27 7:38 UTC (permalink / raw)
To: linux-kernel
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.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Removing request from I/O scheduler queue
2007-02-27 7:38 Removing request from I/O scheduler queue Swetha Krishnan
@ 2007-02-28 12:20 ` Jens Axboe
0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2007-02-28 12:20 UTC (permalink / raw)
To: Swetha Krishnan; +Cc: linux-kernel
On Tue, Feb 27 2007, Swetha Krishnan wrote:
> 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.
You need to show your code, nobody can help you with such a vague
description of what is going on. Either you are illegally removing a
request, or your removal code is buggy. That is about all that one can
conclude from the above.
--
Jens Axboe
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-02-28 12:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-27 7:38 Removing request from I/O scheduler queue Swetha Krishnan
2007-02-28 12:20 ` Jens Axboe
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).