WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Fix blkback/blktap sysfs read bug.

To: Daniel Stodden <daniel.stodden@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Fix blkback/blktap sysfs read bug.
From: "Joe Jin" <joe.jin@xxxxxxxxxx>
Date: Thu, 21 Jan 2010 15:49:28 +0800
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "greg.marsden@xxxxxxxxxx" <greg.marsden@xxxxxxxxxx>, Joe Jin <joe.jin@xxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxxxx>, "deepak.patel@xxxxxxxxxx" <deepak.patel@xxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxxx>
Delivery-date: Wed, 20 Jan 2010 23:51:50 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1264058809.6898.181.camel@xxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20100119141338.GA22249@xxxxxxxxxxxxxxxxxxxxxxx> <4B55E9E7020000780002AC17@xxxxxxxxxxxxxxxxxx> <20100120020605.GA25697@xxxxxxxxxxxxxxxxxxxxxxx> <4B56C2DB020000780002AE45@xxxxxxxxxxxxxxxxxx> <20100120105136.GA6801@xxxxxxxxxxxxxxxxxxxxxxx> <4B56F1B6020000780002AEFA@xxxxxxxxxxxxxxxxxx> <20100120114518.GA10851@xxxxxxxxxxxxxxxxxxxxxxx> <1264040197.12544.3679.camel@xxxxxxxxxxxxxxxxxxxxxxx> <20100121031307.GA29727@xxxxxxxxxxxxxxxxxxxxxxx> <1264058809.6898.181.camel@xxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.2.2i
> Your patch will work okay on 2.6.18.
> 
> But collisions will deadlock after 2.6.23
> 
> Found an old stack trace:
> 
> [2009-07-08 06:15:08 UTC] INFO: task xb.00021.xvdd:30039 blocked for more 
> than 120 seconds.
> [2009-07-08 06:15:08 UTC] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" 
> disables this message.
> [2009-07-08 06:15:08 UTC]        c7adfe0c 00000246 00000000 00000000 5b88fd4f 
> 00000256 c7ade000 c7adfdc8 
> [2009-07-08 06:15:08 UTC]        c0107c1b 38c984a4 00000256 c7adfddc ed629578 
> ed6293f0 ed629578 c16bdb00 
> [2009-07-08 06:15:08 UTC]        00000000 eea0d500 c16bdb34 002dc05a 00000000 
> 00000005 0024c31c e20a8ff0 
> [2009-07-08 06:15:08 UTC] Call Trace:
> [2009-07-08 06:15:08 UTC]  [<c0107c1b>] ? local_clock+0x3b/0x90
> [2009-07-08 06:15:08 UTC]  [<c0344675>] schedule_timeout+0x75/0xc0
> [2009-07-08 06:15:08 UTC]  [<c011ed81>] ? pick_next_task_fair+0x91/0xd0
> [2009-07-08 06:15:08 UTC]  [<c03442c9>] wait_for_common+0xa9/0x1c0
> [2009-07-08 06:15:08 UTC]  [<c0120d40>] ? default_wake_function+0x0/0x10
> [2009-07-08 06:15:08 UTC]  [<c0344472>] wait_for_completion+0x12/0x20
> [2009-07-08 06:15:08 UTC]  [<c01cf9e7>] sysfs_addrm_finish+0x1e7/0x230
> [2009-07-08 06:15:08 UTC]  [<c01ce2e5>] sysfs_hash_and_remove+0x45/0x70
> [2009-07-08 06:15:08 UTC]  [<c01d0adb>] remove_files+0x1b/0x30
> [2009-07-08 06:15:08 UTC]  [<c01d0b26>] sysfs_remove_group+0x36/0xc0
> [2009-07-08 06:15:08 UTC]  [<c01ae02f>] ? __blkdev_put+0x14f/0x160
> [2009-07-08 06:15:08 UTC]  [<c02769fc>] xenvbd_sysfs_delif+0x2c/0x60
> [2009-07-08 06:15:08 UTC]  [<c0276a76>] blkback_close+0x46/0x70
> [2009-07-08 06:15:08 UTC]  [<c0275d33>] blkif_schedule+0x583/0x5b0
> [2009-07-08 06:15:08 UTC]  [<c011ed81>] ? pick_next_task_fair+0x91/0xd0
> [2009-07-08 06:15:08 UTC]  [<c013dda0>] ? autoremove_wake_function+0x0/0x50
> [2009-07-08 06:15:08 UTC]  [<c02757b0>] ? blkif_schedule+0x0/0x5b0
> [2009-07-08 06:15:08 UTC]  [<c013da42>] kthread+0x42/0x70
> [2009-07-08 06:15:08 UTC]  [<c013da00>] ? kthread+0x0/0x70
> [2009-07-08 06:15:08 UTC]  [<c010561b>] kernel_thread_helper+0x7/0x10
> 
> The reason is in sysfs_deactivate(), which will sync callers against any
> remaining thread in .show()
> - show() hangs on the lock
> - the lock holder in sysfs_remove_group(), 
>   waiting for show() to complete.
> 
> Pardon me -- I'm not entirely sure where/how these patches are currently
> submitted and merged. I suppose yours are only for linux-2.6.18.hg, not
> e.g. pvops? Then sorry for any confusion.
> 

Daniel, 

Thanks a lot of your comments, it really help for me, yes my patch based 
linux-2.6.18.hg branch. As Jan have pointed out in previous email, it should 
be sysfs's issue, looked like later kernel sysfs have fixed the issue?

Thanks,
Joe


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel