From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [PATCH] blkfront: Move blkif_interrupt into a tasklet. Date: Thu, 23 Sep 2010 09:23:54 -0700 Message-ID: <4C9B7F1A.2040302@goop.org> References: <1282546470-5547-1-git-send-email-daniel.stodden@citrix.com> <1282546470-5547-2-git-send-email-daniel.stodden@citrix.com> <4C802934.2000305@goop.org> <4C9B7B69.7080705@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4C9B7B69.7080705@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Andrew Jones Cc: Xen , Tom Kopec , Daniel Stodden List-Id: xen-devel@lists.xenproject.org On 09/23/2010 09:08 AM, Andrew Jones wrote: > On 09/03/2010 12:46 AM, Jeremy Fitzhardinge wrote: >> On 08/22/2010 11:54 PM, Daniel Stodden wrote: >>> Response processing doesn't really belong into hard irq context. >>> >>> Another potential problem this avoids is that switching interrupt cpu >>> affinity in Xen domains can presently lead to event loss, if >>> RING_FINAL_CHECK is run from hard irq context. >> I just got this warning from a 32-bit pv domain. I think it may relate >> to this change. The warning is >> >> void blk_start_queue(struct request_queue *q) >> { >> WARN_ON(!irqs_disabled()); >> >> >> Oddly, I only saw this pair once at boot, and after that the system >> seemed fine... >> >> [ 4.376451] ------------[ cut here ]------------ >> [ 4.377415] WARNING: at /home/jeremy/git/linux/block/blk-core.c:337 blk_start_queue+0x20/0x36() >> [ 4.377415] Modules linked in: xfs exportfs xen_blkfront [last unloaded: scsi_wait_scan] >> [ 4.377415] Pid: 0, comm: swapper Not tainted 2.6.32.21 #32 >> [ 4.377415] Call Trace: >> [ 4.377415] [] warn_slowpath_common+0x65/0x7c >> [ 4.377415] [] ? blk_start_queue+0x20/0x36 >> [ 4.377415] [] warn_slowpath_null+0xd/0x10 >> [ 4.377415] [] blk_start_queue+0x20/0x36 >> [ 4.377415] [] kick_pending_request_queues+0x1c/0x2a [xen_blkfront] >> [ 4.377415] [] blkif_do_interrupt+0x176/0x189 [xen_blkfront] >> [ 4.377415] [] tasklet_action+0x63/0xa8 >> [ 4.377415] [] __do_softirq+0xac/0x152 >> [ 4.377415] [] do_softirq+0x31/0x3c >> [ 4.377415] [] irq_exit+0x29/0x5c >> [ 4.377415] [] xen_evtchn_do_upcall+0x29/0x34 >> [ 4.377415] [] xen_do_upcall+0x7/0xc >> [ 4.377415] [] ? hypercall_page+0x3a7/0x1005 >> [ 4.377415] [] ? xen_safe_halt+0x12/0x1f >> [ 4.377415] [] xen_idle+0x27/0x38 >> [ 4.377415] [] cpu_idle+0x49/0x63 >> [ 4.377415] [] rest_init+0x53/0x55 >> [ 4.377415] [] start_kernel+0x2d4/0x2d9 >> [ 4.377415] [] i386_start_kernel+0x97/0x9e >> [ 4.377415] [] xen_start_kernel+0x576/0x57e >> [ 4.377415] ---[ end trace 0bfb98f0ed515cdb ]--- >> [ 4.377415] ------------[ cut here ]------------ >> [ 4.377415] WARNING: at /home/jeremy/git/linux/block/blk-core.c:245 blk_remove_plug+0x20/0x7e() >> [ 4.377415] Modules linked in: xfs exportfs xen_blkfront [last unloaded: scsi_wait_scan] >> [ 4.377415] Pid: 0, comm: swapper Tainted: G W 2.6.32.21 #32 >> [ 4.377415] Call Trace: >> [ 4.377415] [] warn_slowpath_common+0x65/0x7c >> [ 4.377415] [] ? blk_remove_plug+0x20/0x7e >> [ 4.377415] [] warn_slowpath_null+0xd/0x10 >> [ 4.377415] [] blk_remove_plug+0x20/0x7e >> [ 4.377415] [] __blk_run_queue+0xb/0x5e >> [ 4.377415] [] blk_start_queue+0x33/0x36 >> [ 4.377415] [] kick_pending_request_queues+0x1c/0x2a [xen_blkfront] >> [ 4.377415] [] blkif_do_interrupt+0x176/0x189 [xen_blkfront] >> [ 4.377415] [] tasklet_action+0x63/0xa8 >> [ 4.377415] [] __do_softirq+0xac/0x152 >> [ 4.377415] [] do_softirq+0x31/0x3c >> [ 4.377415] [] irq_exit+0x29/0x5c >> [ 4.377415] [] xen_evtchn_do_upcall+0x29/0x34 >> [ 4.377415] [] xen_do_upcall+0x7/0xc >> [ 4.377415] [] ? hypercall_page+0x3a7/0x1005 >> [ 4.377415] [] ? xen_safe_halt+0x12/0x1f >> [ 4.377415] [] xen_idle+0x27/0x38 >> [ 4.377415] [] cpu_idle+0x49/0x63 >> [ 4.377415] [] rest_init+0x53/0x55 >> [ 4.377415] [] start_kernel+0x2d4/0x2d9 >> [ 4.377415] [] i386_start_kernel+0x97/0x9e >> [ 4.377415] [] xen_start_kernel+0x576/0x57e >> [ 4.377415] ---[ end trace 0bfb98f0ed515cdc ]--- >> >> J >> > Hi Jeremy, > > Any developments with this? I've got a report of the exact same warnings > on RHEL6 guest. See > > https://bugzilla.redhat.com/show_bug.cgi?id=632802 > > RHEL6 doesn't have the 'Move blkif_interrupt into a tasklet' patch, so > that can be ruled out. Unfortunately I don't have this reproducing on a > test machine, so it's difficult to debug. The report I have showed that > in at least one case it occurred on boot up, right after initting the > block device. I'm trying to get confirmation if that's always the case. > > Thanks in advance for any pointers you might have. > Yes, I see it even after reverting that change as well. However I only see it on my domain with an XFS filesystem, but I haven't dug any deeper to see if that's relevant. Do you know when this appeared? Is it recent? What changes are in the rhel6 kernel in question? J