From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4801FC433E0 for ; Wed, 23 Dec 2020 14:57:06 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0CFCC23129 for ; Wed, 23 Dec 2020 14:57:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0CFCC23129 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.58412.102680 (Exim 4.92) (envelope-from ) id 1ks5ZM-000661-59; Wed, 23 Dec 2020 14:56:52 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 58412.102680; Wed, 23 Dec 2020 14:56:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ks5ZM-00065u-1Z; Wed, 23 Dec 2020 14:56:52 +0000 Received: by outflank-mailman (input) for mailman id 58412; Wed, 23 Dec 2020 14:56:51 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ks5ZL-00065p-2w for xen-devel@lists.xenproject.org; Wed, 23 Dec 2020 14:56:51 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 1ebba0d7-d406-4211-82c8-4c4502f169a3; Wed, 23 Dec 2020 14:56:49 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id B1915ACC6; Wed, 23 Dec 2020 14:56:48 +0000 (UTC) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1ebba0d7-d406-4211-82c8-4c4502f169a3 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1608735408; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4oPqll/m8bI9dvpPkVuPNEcCRviO6wFYQo365cRdxFs=; b=LI3Ao4H7cTPz6rtaGVqwLryU0FNZdkUc2HXdhmsUeHCHVm67SltuZo/0yq2iMJKnn1wqJr aoHkd+MVjnvPfYwXo3oqnoW8+XHli7b3GCPUIkOhRRCR9eGX14k4pZjBrTtvUQ4KWR5x/1 V0Gy3eSFzy4T2KKSVI7IIpsdLrfvOV8= Subject: Re: [PATCH v3 5/5] evtchn: don't call Xen consumer callback with per-channel lock held To: Julien Grall Cc: Andrew Cooper , George Dunlap , Ian Jackson , Wei Liu , Stefano Stabellini , Tamas K Lengyel , Petre Ovidiu PIRCALABU , Alexandru Isaila , "xen-devel@lists.xenproject.org" , Tamas K Lengyel References: <9d7a052a-6222-80ff-cbf1-612d4ca50c2a@suse.com> <17c90493-b438-fbc1-ca10-3bc4d89c4e5e@xen.org> <7a768bcd-80c1-d193-8796-7fb6720fa22a@suse.com> <1a8250f5-ea49-ac3a-e992-be7ec40deba9@xen.org> <5862eb24-d894-455a-13ac-61af54f949e7@xen.org> <9ee6016a-d3b3-c847-4775-0e05c8578110@xen.org> <3b339f30-57db-caf6-fd7e-84199f98546f@suse.com> <9c214bc1-61db-5b33-f610-40c2a59edb75@xen.org> From: Jan Beulich Message-ID: Date: Wed, 23 Dec 2020 15:56:48 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <9c214bc1-61db-5b33-f610-40c2a59edb75@xen.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 23.12.2020 15:44, Julien Grall wrote: > On 23/12/2020 13:41, Jan Beulich wrote: >> On 23.12.2020 14:33, Julien Grall wrote: >>> On 23/12/2020 13:12, Jan Beulich wrote: >>>> From the input by both of you I still can't >>>> conclude whether this patch should remain as is in v4, or revert >>>> back to its v2 version. Please can we get this settled so I can get >>>> v4 out? >>> >>> I haven't had time to investigate the rest of the VM event code to find >>> other cases where this may happen. I still think there is a bigger >>> problem in the VM event code, but the maintainer disagrees here. >>> >>> At which point, I see limited reason to try to paper over in the common >>> code. So I would rather ack/merge v2 rather than v3. >> >> Since I expect Tamas and/or the Bitdefender folks to be of the >> opposite opinion, there's still no way out, at least if "rather >> ack" implies a nak for v3. > > The only way out here is for someone to justify why this patch is > sufficient for the VM event race. I think this is too much you demand. Moving in the right direction without arriving at the final destination is still a worthwhile thing to do imo. >> Personally, if this expectation of >> mine is correct, I'd prefer to keep the accounting but make it >> optional (as suggested in a post-commit-message remark). >> That'll eliminate the overhead you appear to be concerned of, >> but of course it'll further complicate the logic (albeit just >> slightly). > > I am more concerned about adding over complex code that would just > papering over a bigger problem. I also can't see use of it outside of > the VM event discussion. I think it is a generally appropriate thing to do to wait for callbacks to complete before tearing down their origin control structure. There may be cases where code structure makes this unnecessary, but I don't think this can be an expectation to all the users of the functionality. Hence my suggestion to possibly make this optional (driven directly or indirectly by the user of the registration function). Jan