All of lore.kernel.org
 help / color / mirror / Atom feed
* block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
@ 2007-11-23 13:38 Christopher S. Aker
  2007-11-23 13:48 ` Keir Fraser
  2007-11-23 17:14 ` Jeremy Fitzhardinge
  0 siblings, 2 replies; 5+ messages in thread
From: Christopher S. Aker @ 2007-11-23 13:38 UTC (permalink / raw)
  To: xen devel

Dom0:
root@dallas38:~# xm block-detach xencaker 51744
root@dallas38:~#

DomU:
WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
  [<c035bed6>] blk_remove_plug+0x66/0x70
  [<c035bf58>] blk_stop_queue+0x8/0x20
  [<c039e429>] blkfront_closing+0x39/0x80
  [<c039ed77>] backend_changed+0x337/0x410
  [<c0161c7b>] kfree+0x7b/0xb0
  [<c037b987>] xenbus_gather+0x77/0xa0
  [<c037a4d3>] xenbus_read_driver_state+0x33/0x50
  [<c037cde2>] otherend_changed+0x92/0xa0
  [<c037bbab>] xenwatch_thread+0x6b/0x130
  [<c0132e90>] autoremove_wake_function+0x0/0x50
  [<c037bb40>] xenwatch_thread+0x0/0x130
  [<c0132cb4>] kthread+0x74/0x80
  [<c0132c40>] kthread+0x0/0x80
  [<c01073e7>] kernel_thread_helper+0x7/0x10
  =======================

-Chris

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
  2007-11-23 13:38 block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug() Christopher S. Aker
@ 2007-11-23 13:48 ` Keir Fraser
  2007-11-23 13:55   ` Keir Fraser
  2007-11-23 14:02   ` Christopher S. Aker
  2007-11-23 17:14 ` Jeremy Fitzhardinge
  1 sibling, 2 replies; 5+ messages in thread
From: Keir Fraser @ 2007-11-23 13:48 UTC (permalink / raw)
  To: Christopher S. Aker, xen devel

What kernel? The warning is that irqs are enabled, but in the kernel I just
looked at irqs should definitely be disabled on that call path (by
blkfront_closing()).

 -- Keir

On 23/11/07 13:38, "Christopher S. Aker" <caker@theshore.net> wrote:

> Dom0:
> root@dallas38:~# xm block-detach xencaker 51744
> root@dallas38:~#
> 
> DomU:
> WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
>   [<c035bed6>] blk_remove_plug+0x66/0x70
>   [<c035bf58>] blk_stop_queue+0x8/0x20
>   [<c039e429>] blkfront_closing+0x39/0x80
>   [<c039ed77>] backend_changed+0x337/0x410
>   [<c0161c7b>] kfree+0x7b/0xb0
>   [<c037b987>] xenbus_gather+0x77/0xa0
>   [<c037a4d3>] xenbus_read_driver_state+0x33/0x50
>   [<c037cde2>] otherend_changed+0x92/0xa0
>   [<c037bbab>] xenwatch_thread+0x6b/0x130
>   [<c0132e90>] autoremove_wake_function+0x0/0x50
>   [<c037bb40>] xenwatch_thread+0x0/0x130
>   [<c0132cb4>] kthread+0x74/0x80
>   [<c0132c40>] kthread+0x0/0x80
>   [<c01073e7>] kernel_thread_helper+0x7/0x10
>   =======================
> 
> -Chris
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
  2007-11-23 13:48 ` Keir Fraser
@ 2007-11-23 13:55   ` Keir Fraser
  2007-11-23 14:02   ` Christopher S. Aker
  1 sibling, 0 replies; 5+ messages in thread
From: Keir Fraser @ 2007-11-23 13:55 UTC (permalink / raw)
  To: Christopher S. Aker, xen devel; +Cc: Jeremy Fitzhardinge

Oh, I see it's 2.6.23. I'm cc'ing Jeremy for this one.

 -- Keir


On 23/11/07 13:48, "Keir Fraser" <Keir.Fraser@cl.cam.ac.uk> wrote:

> What kernel? The warning is that irqs are enabled, but in the kernel I just
> looked at irqs should definitely be disabled on that call path (by
> blkfront_closing()).
> 
>  -- Keir
> 
> On 23/11/07 13:38, "Christopher S. Aker" <caker@theshore.net> wrote:
> 
>> Dom0:
>> root@dallas38:~# xm block-detach xencaker 51744
>> root@dallas38:~#
>> 
>> DomU:
>> WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
>>   [<c035bed6>] blk_remove_plug+0x66/0x70
>>   [<c035bf58>] blk_stop_queue+0x8/0x20
>>   [<c039e429>] blkfront_closing+0x39/0x80
>>   [<c039ed77>] backend_changed+0x337/0x410
>>   [<c0161c7b>] kfree+0x7b/0xb0
>>   [<c037b987>] xenbus_gather+0x77/0xa0
>>   [<c037a4d3>] xenbus_read_driver_state+0x33/0x50
>>   [<c037cde2>] otherend_changed+0x92/0xa0
>>   [<c037bbab>] xenwatch_thread+0x6b/0x130
>>   [<c0132e90>] autoremove_wake_function+0x0/0x50
>>   [<c037bb40>] xenwatch_thread+0x0/0x130
>>   [<c0132cb4>] kthread+0x74/0x80
>>   [<c0132c40>] kthread+0x0/0x80
>>   [<c01073e7>] kernel_thread_helper+0x7/0x10
>>   =======================
>> 
>> -Chris
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
  2007-11-23 13:48 ` Keir Fraser
  2007-11-23 13:55   ` Keir Fraser
@ 2007-11-23 14:02   ` Christopher S. Aker
  1 sibling, 0 replies; 5+ messages in thread
From: Christopher S. Aker @ 2007-11-23 14:02 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen devel

Keir Fraser wrote:
> What kernel? The warning is that irqs are enabled, but in the kernel I just
> looked at irqs should definitely be disabled on that call path (by
> blkfront_closing()).

Xen 3.1.2, 2.6.18 for dom0

2.6.23.8 for guest

-Chris

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
  2007-11-23 13:38 block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug() Christopher S. Aker
  2007-11-23 13:48 ` Keir Fraser
@ 2007-11-23 17:14 ` Jeremy Fitzhardinge
  1 sibling, 0 replies; 5+ messages in thread
From: Jeremy Fitzhardinge @ 2007-11-23 17:14 UTC (permalink / raw)
  To: Christopher S. Aker; +Cc: xen devel

Christopher S. Aker wrote:
> Dom0:
> root@dallas38:~# xm block-detach xencaker 51744
> root@dallas38:~#
>
> DomU:
> WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
>  [<c035bed6>] blk_remove_plug+0x66/0x70
>  [<c035bf58>] blk_stop_queue+0x8/0x20
>  [<c039e429>] blkfront_closing+0x39/0x80
>  [<c039ed77>] backend_changed+0x337/0x410
>  [<c0161c7b>] kfree+0x7b/0xb0
>  [<c037b987>] xenbus_gather+0x77/0xa0
>  [<c037a4d3>] xenbus_read_driver_state+0x33/0x50
>  [<c037cde2>] otherend_changed+0x92/0xa0
>  [<c037bbab>] xenwatch_thread+0x6b/0x130
>  [<c0132e90>] autoremove_wake_function+0x0/0x50
>  [<c037bb40>] xenwatch_thread+0x0/0x130
>  [<c0132cb4>] kthread+0x74/0x80
>  [<c0132c40>] kthread+0x0/0x80
>  [<c01073e7>] kernel_thread_helper+0x7/0x10

This is a bit mysterious.  The call path looks like it unambiguously
disables interrupts:  blkfront_closing() does
"spin_lock_irqsave(&blkif_io_lock, flags);" and
then shortly after calls blk_stop_queue -> blk_remove_plug.  The only
possibility I see is that maybe del_gendisk is enabling them or
something.  I'll try to repro this, but in the meantime could you add:

	spin_lock_irqsave(&blkif_io_lock, flags);

+	WARN_ON(!irqs_disabled());

	del_gendisk(info->gd);

+	WARN_ON(!irqs_disabled());

	/* No more blkif_request(). */
	blk_stop_queue(info->rq);


to drivers/block/xen-blkfront.c:blkfront_closing() and see if one or
both triggers?

Thanks,
    J

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-11-23 17:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-23 13:38 block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug() Christopher S. Aker
2007-11-23 13:48 ` Keir Fraser
2007-11-23 13:55   ` Keir Fraser
2007-11-23 14:02   ` Christopher S. Aker
2007-11-23 17:14 ` Jeremy Fitzhardinge

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.