From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH] xen-blkback: defer freeing blkif to avoid blocking xenwatch Date: Mon, 12 May 2014 13:50:16 -0400 Message-ID: <537109D8.8090708@oracle.com> References: <1399678479-14758-1-git-send-email-vali.priescu@gmail.com> <5370F98C.9020601@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Valentin Priescu Cc: =?UTF-8?B?VMO8bGluIMSwemVy?= , xen-devel , Matt Wilson , Valentin Priescu List-Id: xen-devel@lists.xenproject.org On 05/12/2014 01:04 PM, Valentin Priescu wrote: > On Mon, May 12, 2014 at 6:40 PM, Boris Ostrovsky > wrote: >> On 05/09/2014 07:34 PM, Valentin Priescu wrote: >>> From: Valentin Priescu >>> >>> Currently xenwatch blocks in VBD disconnect, waiting for all pending I/O >>> requests to finish. If the VBD is attached to a hot-swappable disk, then >>> xenwatch can hang for a long period of time, stalling other watches. >> >> Note that we have a GSoC student (copied here) who is going to be looking at >> xenwatch's single-threadness (?) over the summer. >> > AFAIK, in older kernel versions, you could pass a flag to a registered > watch that told > xenwatch to spawn a new kthread when it handles the events. That > didn't work well > and it was removed. Right, it would have to be something coarser than a per-event thread. Maybe per-guest. The goal is more scalability than correctness but as a side-effect it would prevent xenwatch from being stuck for everyone. -boris > Anyway, whatever solution he comes up with, I think he still needs to > make similar > changes in the disconnect path for blkback. Besides, blocking > uninterruptible for a long > period of time is not OK.