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).