Christopher S. Aker
2007-Nov-23 13:38 UTC
[Xen-devel] block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
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
Keir Fraser
2007-Nov-23 13:48 UTC
Re: [Xen-devel] block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
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
Keir Fraser
2007-Nov-23 13:55 UTC
Re: [Xen-devel] block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
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_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Christopher S. Aker
2007-Nov-23 14:02 UTC
Re: [Xen-devel] block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jeremy Fitzhardinge
2007-Nov-23 17:14 UTC
Re: [Xen-devel] block-detatch on 2.6.23.8 guest == WARNING: at block/ll_rw_blk.c:1579 blk_remove_plug()
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/0x10This 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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel