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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8681C433EF for ; Tue, 2 Nov 2021 07:55:07 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (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 7AA8060E74 for ; Tue, 2 Nov 2021 07:55:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7AA8060E74 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 2CA9E40132; Tue, 2 Nov 2021 07:55:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H7smrfI1_5KH; Tue, 2 Nov 2021 07:55:06 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 8685E400C7; Tue, 2 Nov 2021 07:55:05 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 5B05FC0012; Tue, 2 Nov 2021 07:55:05 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 1DBB6C000E for ; Tue, 2 Nov 2021 07:55:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 0399B400E5 for ; Tue, 2 Nov 2021 07:55:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 806jAnIvnOib for ; Tue, 2 Nov 2021 07:55:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id 8E23F400C7 for ; Tue, 2 Nov 2021 07:55:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635839701; h=from:from:reply-to:subject:subject: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=5dlWu44/wY/7R1GeV/yrdXYNnB699JZ1xCGL0sCgZIY=; b=eR+m8lHLU6wJQAr2KTyswsIGXkZYDn0wpgjT18echQWXZA2iEAhCVkzINK2pPhW0+uZLBG cngexBSELWMvh3zJYfQ5kXIqKovU0bxCEKs70GP/gGjkWg5G59N1jJ3w994MZEwkGFP7Y1 e9ETLeN2hxo4mxbiVmE/LsRBO73fjk0= Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-261-WpNN_HG9NESEM9BhzTT3pQ-1; Tue, 02 Nov 2021 03:55:00 -0400 X-MC-Unique: WpNN_HG9NESEM9BhzTT3pQ-1 Received: by mail-pl1-f199.google.com with SMTP id n9-20020a170902968900b0013f23b51142so7485269plp.8 for ; Tue, 02 Nov 2021 00:55:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=5dlWu44/wY/7R1GeV/yrdXYNnB699JZ1xCGL0sCgZIY=; b=7Pme59DEk7XZwCj2sFK+PgsZcn8TlKQcc5b1OEgVcMS2KHPdYfy/LDwoqXJAFN0kkh 4zDH+3mABkxVS5iB1PRaMlAw3L+nYaRsnQCPul3ZxcxtZV2rqGHEqwLKfcM/IBlTydfE lx69eH4Pt7vZL8hbQpjbsJ7jePQsujUXN7uQaM8b2x/ByXvYBzjPRq7BWTtUUeV6hk9l G/o4efth+cqBBKDASC0I39y5EYrTlCNpjjPZfF76S+H7ALa6SysvMsaSk7MCROvxjNfF Y/Kke/zCdPcYlx/nsOnjf+aAEjO+yRhJbIp87q2Lo/ZtQHg/MuQ/32rF/jyBFXfvorGg VBBA== X-Gm-Message-State: AOAM533+BfSCXjIV5vz22jJVxMhGzQC9HDLnCgiKohnqDp0nlJIVm2op 3aoCsxVlUyS9SiLdNcJ5fA1pdMuyV73l7jbiQU5LeJ9TflVLlfzb5Ks6sdRQWPnFk+ZaSYjbAXz 7IddkPX8ol6cQ9hQbSwDB2qyw3tLCPmCax6nZ5m2oak8H7uvyo703bHNjkPletaygirq6FYbiAv E1LLHftWnqZH3MHrDnqA== X-Received: by 2002:a17:903:11cc:b0:13f:ecf7:22c7 with SMTP id q12-20020a17090311cc00b0013fecf722c7mr29823489plh.5.1635839698830; Tue, 02 Nov 2021 00:54:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxjHFb0sYWJHLAh7vaXNdPQn3vAoW8ioepjvOCX7WyMnSqbu8OV+ZwDymvzWRt6CoM8wdWJLw== X-Received: by 2002:a17:903:11cc:b0:13f:ecf7:22c7 with SMTP id q12-20020a17090311cc00b0013fecf722c7mr29823445plh.5.1635839698454; Tue, 02 Nov 2021 00:54:58 -0700 (PDT) Received: from wangxiaodeMacBook-Air.local ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id o22sm19355137pfu.50.2021.11.02.00.54.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 02 Nov 2021 00:54:58 -0700 (PDT) Subject: Re: [RFC PATCH v5 11/26] vhost: Handle host notifiers in SVQ To: =?UTF-8?Q?Eugenio_P=c3=a9rez?= , qemu-devel@nongnu.org References: <20211029183525.1776416-1-eperezma@redhat.com> <20211029183525.1776416-12-eperezma@redhat.com> From: Jason Wang Message-ID: <74dbf70f-96a7-6fe3-dbc5-28a7b7989109@redhat.com> Date: Tue, 2 Nov 2021 15:54:49 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20211029183525.1776416-12-eperezma@redhat.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jasowang@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Cc: Laurent Vivier , Parav Pandit , "Michael S. Tsirkin" , Richard Henderson , Stefan Hajnoczi , Markus Armbruster , Harpreet Singh Anand , Xiao W Wang , Eli Cohen , Paolo Bonzini , Eric Blake , virtualization@lists.linux-foundation.org, Eduardo Habkost X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" CuWcqCAyMDIxLzEwLzMwIOS4iuWNiDI6MzUsIEV1Z2VuaW8gUMOpcmV6IOWGmemBkzoKPiBJZiBk ZXZpY2Ugc3VwcG9ydHMgaG9zdCBub3RpZmllcnMsIHRoaXMgbWFrZXMgb25lIGp1bXAgbGVzcyAo a2VybmVsKSB0bwo+IGRlbGl2ZXIgU1ZRIG5vdGlmaWNhdGlvbnMgdG8gaXQuCj4KPiBTaWduZWQt b2ZmLWJ5OiBFdWdlbmlvIFDDqXJleiA8ZXBlcmV6bWFAcmVkaGF0LmNvbT4KPiAtLS0KPiAgIGh3 L3ZpcnRpby92aG9zdC1zaGFkb3ctdmlydHF1ZXVlLmggfCAgMiArKwo+ICAgaHcvdmlydGlvL3Zo b3N0LXNoYWRvdy12aXJ0cXVldWUuYyB8IDIzICsrKysrKysrKysrKysrKysrKysrKystCj4gICAy IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPgo+IGRpZmYg LS1naXQgYS9ody92aXJ0aW8vdmhvc3Qtc2hhZG93LXZpcnRxdWV1ZS5oIGIvaHcvdmlydGlvL3Zo b3N0LXNoYWRvdy12aXJ0cXVldWUuaAo+IGluZGV4IDMwYWI5NjQzYjkuLmViMGE1NGY5NTQgMTAw NjQ0Cj4gLS0tIGEvaHcvdmlydGlvL3Zob3N0LXNoYWRvdy12aXJ0cXVldWUuaAo+ICsrKyBiL2h3 L3ZpcnRpby92aG9zdC1zaGFkb3ctdmlydHF1ZXVlLmgKPiBAQCAtMTgsNiArMTgsOCBAQCB0eXBl ZGVmIHN0cnVjdCBWaG9zdFNoYWRvd1ZpcnRxdWV1ZSBWaG9zdFNoYWRvd1ZpcnRxdWV1ZTsKPiAg IHZvaWQgdmhvc3Rfc3ZxX3NldF9zdnFfa2lja19mZChWaG9zdFNoYWRvd1ZpcnRxdWV1ZSAqc3Zx LCBpbnQgc3ZxX2tpY2tfZmQpOwo+ICAgY29uc3QgRXZlbnROb3RpZmllciAqdmhvc3Rfc3ZxX2dl dF9kZXZfa2lja19ub3RpZmllcigKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBWaG9zdFNoYWRvd1ZpcnRxdWV1ZSAqc3ZxKTsKPiArdm9pZCB2 aG9zdF9zdnFfc2V0X2hvc3RfbXJfbm90aWZpZXIoVmhvc3RTaGFkb3dWaXJ0cXVldWUgKnN2cSwg dm9pZCAqYWRkcik7Cj4gKwo+ICAgdm9pZCB2aG9zdF9zdnFfc3RhcnQoc3RydWN0IHZob3N0X2Rl diAqZGV2LCB1bnNpZ25lZCBpZHgsCj4gICAgICAgICAgICAgICAgICAgICAgICBWaG9zdFNoYWRv d1ZpcnRxdWV1ZSAqc3ZxLCBpbnQgc3ZxX2tpY2tfZmQpOwo+ICAgdm9pZCB2aG9zdF9zdnFfc3Rv cChzdHJ1Y3Qgdmhvc3RfZGV2ICpkZXYsIHVuc2lnbmVkIGlkeCwKPiBkaWZmIC0tZ2l0IGEvaHcv dmlydGlvL3Zob3N0LXNoYWRvdy12aXJ0cXVldWUuYyBiL2h3L3ZpcnRpby92aG9zdC1zaGFkb3ct dmlydHF1ZXVlLmMKPiBpbmRleCBmZGE2MGQxMWRiLi5lM2RjYzAzOWI2IDEwMDY0NAo+IC0tLSBh L2h3L3ZpcnRpby92aG9zdC1zaGFkb3ctdmlydHF1ZXVlLmMKPiArKysgYi9ody92aXJ0aW8vdmhv c3Qtc2hhZG93LXZpcnRxdWV1ZS5jCj4gQEAgLTI5LDYgKzI5LDEyIEBAIHR5cGVkZWYgc3RydWN0 IFZob3N0U2hhZG93VmlydHF1ZXVlIHsKPiAgICAgICAgKiBTbyBzaGFkb3cgdmlydHF1ZXVlIG11 c3Qgbm90IGNsZWFuIGl0LCBvciB3ZSB3b3VsZCBsb3NlIFZpcnRRdWV1ZSBvbmUuCj4gICAgICAg ICovCj4gICAgICAgRXZlbnROb3RpZmllciBzdnFfa2ljazsKPiArCj4gKyAgICAvKiBEZXZpY2Un cyBob3N0IG5vdGlmaWVyIG1lbW9yeSByZWdpb24uIE5VTEwgbWVhbnMgbm8gcmVnaW9uICovCj4g KyAgICB2b2lkICpob3N0X25vdGlmaWVyX21yOwo+ICsKPiArICAgIC8qIFZpcnRpbyBxdWV1ZSBz aGFkb3dpbmcgKi8KPiArICAgIFZpcnRRdWV1ZSAqdnE7Cj4gICB9IFZob3N0U2hhZG93VmlydHF1 ZXVlOwo+ICAgCj4gICAvKioKPiBAQCAtNTAsNyArNTYsMjAgQEAgc3RhdGljIHZvaWQgdmhvc3Rf aGFuZGxlX2d1ZXN0X2tpY2soRXZlbnROb3RpZmllciAqbikKPiAgICAgICAgICAgcmV0dXJuOwo+ ICAgICAgIH0KPiAgIAo+IC0gICAgZXZlbnRfbm90aWZpZXJfc2V0KCZzdnEtPmhkZXZfa2ljayk7 Cj4gKyAgICBpZiAoc3ZxLT5ob3N0X25vdGlmaWVyX21yKSB7Cj4gKyAgICAgICAgdWludDE2X3Qg Km1yID0gc3ZxLT5ob3N0X25vdGlmaWVyX21yOwo+ICsgICAgICAgICptciA9IHZpcnRpb19nZXRf cXVldWVfaW5kZXgoc3ZxLT52cSk7CgoKRG8gd2UgbmVlZCBiYXJyaWVycyBhcm91bmQgdGhlIHBv c3NpYmxlIE1NSU8gaGVyZT8KClRvIGF2b2lkIHRob3NlIGNvbXBsaWNhdGVkIHN0dWZmLCBJJ2Qg cmF0aGVyIHNpbXBseSBnbyB3aXRoIGV2ZW50ZmQgcGF0aC4KCk5vdGUgbW1pbyBhbmQgZXZlbnRm ZCBhcmUgbm90IG11dHVhbGx5IGV4Y2x1c2l2ZS4KClRoYW5rcwoKCj4gKyAgICB9IGVsc2Ugewo+ ICsgICAgICAgIGV2ZW50X25vdGlmaWVyX3NldCgmc3ZxLT5oZGV2X2tpY2spOwo+ICsgICAgfQo+ ICt9Cj4gKwo+ICsvKgo+ICsgKiBTZXQgdGhlIGRldmljZSdzIG1lbW9yeSByZWdpb24gbm90aWZp ZXIuIGFkZHIgPSBOVUxMIGNsZWFyIGl0Lgo+ICsgKi8KPiArdm9pZCB2aG9zdF9zdnFfc2V0X2hv c3RfbXJfbm90aWZpZXIoVmhvc3RTaGFkb3dWaXJ0cXVldWUgKnN2cSwgdm9pZCAqYWRkcikKPiAr ewo+ICsgICAgc3ZxLT5ob3N0X25vdGlmaWVyX21yID0gYWRkcjsKPiAgIH0KPiAgIAo+ICAgLyoq Cj4gQEAgLTEzNCw2ICsxNTMsNyBAQCB2b2lkIHZob3N0X3N2cV9zdG9wKHN0cnVjdCB2aG9zdF9k ZXYgKmRldiwgdW5zaWduZWQgaWR4LAo+ICAgICovCj4gICBWaG9zdFNoYWRvd1ZpcnRxdWV1ZSAq dmhvc3Rfc3ZxX25ldyhzdHJ1Y3Qgdmhvc3RfZGV2ICpkZXYsIGludCBpZHgpCj4gICB7Cj4gKyAg ICBpbnQgdnFfaWR4ID0gZGV2LT52cV9pbmRleCArIGlkeDsKPiAgICAgICBnX2F1dG9mcmVlIFZo b3N0U2hhZG93VmlydHF1ZXVlICpzdnEgPSBnX25ldzAoVmhvc3RTaGFkb3dWaXJ0cXVldWUsIDEp Owo+ICAgICAgIGludCByOwo+ICAgCj4gQEAgLTE1MSw2ICsxNzEsNyBAQCBWaG9zdFNoYWRvd1Zp cnRxdWV1ZSAqdmhvc3Rfc3ZxX25ldyhzdHJ1Y3Qgdmhvc3RfZGV2ICpkZXYsIGludCBpZHgpCj4g ICAgICAgICAgIGdvdG8gZXJyX2luaXRfaGRldl9jYWxsOwo+ICAgICAgIH0KPiAgIAo+ICsgICAg c3ZxLT52cSA9IHZpcnRpb19nZXRfcXVldWUoZGV2LT52ZGV2LCB2cV9pZHgpOwo+ICAgICAgIHJl dHVybiBnX3N0ZWFsX3BvaW50ZXIoJnN2cSk7Cj4gICAKPiAgIGVycl9pbml0X2hkZXZfY2FsbDoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxp emF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9u Lm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92 aXJ0dWFsaXphdGlvbg== 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7ABBC433EF for ; Tue, 2 Nov 2021 07:55:45 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 331C860E74 for ; Tue, 2 Nov 2021 07:55:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 331C860E74 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:54748 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mhoe0-0002ZV-70 for qemu-devel@archiver.kernel.org; Tue, 02 Nov 2021 03:55:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47336) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhodO-0001sg-Hc for qemu-devel@nongnu.org; Tue, 02 Nov 2021 03:55:06 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:26221) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhodK-00069Y-Gg for qemu-devel@nongnu.org; Tue, 02 Nov 2021 03:55:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635839700; h=from:from:reply-to:subject:subject: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=5dlWu44/wY/7R1GeV/yrdXYNnB699JZ1xCGL0sCgZIY=; b=SJE1tjrIS2X9KO1p0J7pWTKWpzfQHKA2PGakdJPdfxGR03C1XCcgqmgusuI7dOs7UEqmcz YbXteVP7n6hpx4bROc/o0FOmXmN0iQsS10v5PROcG32a88r20PVGKUK40WO1saISkIcnNy kdTFB1uu3PbGrI9fAS5XltNJyjdnFgM= Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-107-VY_UCEzMOkC58FN_4qY7ag-1; Tue, 02 Nov 2021 03:54:59 -0400 X-MC-Unique: VY_UCEzMOkC58FN_4qY7ag-1 Received: by mail-pf1-f197.google.com with SMTP id j3-20020a628003000000b004811bc66186so2162139pfd.5 for ; Tue, 02 Nov 2021 00:54:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=5dlWu44/wY/7R1GeV/yrdXYNnB699JZ1xCGL0sCgZIY=; b=aTIQLWmgWl5wsT5+S6IO6rA/qRDLcYVpiQgAa0abIoQRvnvQbbu9laMWCWG6zJ+3Yl gZ+s9ZIfvkaMgGODKAPd4OccG57k+kq7eI0AxzqyelWTF33NJiSu2MyV+CRQGeo9cIKE nhcM2QvNtdBwuFcHj03LXDvmBIMKUO76V+NxGqSgi7CEz30qCmbix2iobw5H/oNsfI1C SD1xg23UwDAJyr1Tf7XXI3hqL4ldSt6JIQ67TN5+vwRWWhStxJp8Qhu5cg7sVl6Nd1Ti bqdBDd3q3/mpVuUert1NSojABc/N8y0ycYb2lDpTHwlXAWrwSLdkPcG+JuqxdKwyPA5s bg9g== X-Gm-Message-State: AOAM531cuBBpHLiRh+/oz1ljkjT/bN1dZ8Cc+TQMFhztKROp5VxMkeZL 93wSAB4gGe95EidYrPJHTsQjewX9NhSE/fGuclpiGOTFxXdfWDwufnusBZfJ/zCr54UAMeGDfrB yHY8o084naA3NST0= X-Received: by 2002:a17:903:11cc:b0:13f:ecf7:22c7 with SMTP id q12-20020a17090311cc00b0013fecf722c7mr29823485plh.5.1635839698807; Tue, 02 Nov 2021 00:54:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxjHFb0sYWJHLAh7vaXNdPQn3vAoW8ioepjvOCX7WyMnSqbu8OV+ZwDymvzWRt6CoM8wdWJLw== X-Received: by 2002:a17:903:11cc:b0:13f:ecf7:22c7 with SMTP id q12-20020a17090311cc00b0013fecf722c7mr29823445plh.5.1635839698454; Tue, 02 Nov 2021 00:54:58 -0700 (PDT) Received: from wangxiaodeMacBook-Air.local ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id o22sm19355137pfu.50.2021.11.02.00.54.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 02 Nov 2021 00:54:58 -0700 (PDT) Subject: Re: [RFC PATCH v5 11/26] vhost: Handle host notifiers in SVQ To: =?UTF-8?Q?Eugenio_P=c3=a9rez?= , qemu-devel@nongnu.org References: <20211029183525.1776416-1-eperezma@redhat.com> <20211029183525.1776416-12-eperezma@redhat.com> From: Jason Wang Message-ID: <74dbf70f-96a7-6fe3-dbc5-28a7b7989109@redhat.com> Date: Tue, 2 Nov 2021 15:54:49 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20211029183525.1776416-12-eperezma@redhat.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jasowang@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Received-SPF: pass client-ip=170.10.129.124; envelope-from=jasowang@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -46 X-Spam_score: -4.7 X-Spam_bar: ---- X-Spam_report: (-4.7 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.734, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.14, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Parav Pandit , "Michael S. Tsirkin" , Juan Quintela , Richard Henderson , Stefan Hajnoczi , Peter Xu , Markus Armbruster , Harpreet Singh Anand , Xiao W Wang , Eli Cohen , Paolo Bonzini , Stefano Garzarella , Eric Blake , virtualization@lists.linux-foundation.org, Eduardo Habkost Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" 在 2021/10/30 上午2:35, Eugenio Pérez 写道: > If device supports host notifiers, this makes one jump less (kernel) to > deliver SVQ notifications to it. > > Signed-off-by: Eugenio Pérez > --- > hw/virtio/vhost-shadow-virtqueue.h | 2 ++ > hw/virtio/vhost-shadow-virtqueue.c | 23 ++++++++++++++++++++++- > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/hw/virtio/vhost-shadow-virtqueue.h b/hw/virtio/vhost-shadow-virtqueue.h > index 30ab9643b9..eb0a54f954 100644 > --- a/hw/virtio/vhost-shadow-virtqueue.h > +++ b/hw/virtio/vhost-shadow-virtqueue.h > @@ -18,6 +18,8 @@ typedef struct VhostShadowVirtqueue VhostShadowVirtqueue; > void vhost_svq_set_svq_kick_fd(VhostShadowVirtqueue *svq, int svq_kick_fd); > const EventNotifier *vhost_svq_get_dev_kick_notifier( > const VhostShadowVirtqueue *svq); > +void vhost_svq_set_host_mr_notifier(VhostShadowVirtqueue *svq, void *addr); > + > void vhost_svq_start(struct vhost_dev *dev, unsigned idx, > VhostShadowVirtqueue *svq, int svq_kick_fd); > void vhost_svq_stop(struct vhost_dev *dev, unsigned idx, > diff --git a/hw/virtio/vhost-shadow-virtqueue.c b/hw/virtio/vhost-shadow-virtqueue.c > index fda60d11db..e3dcc039b6 100644 > --- a/hw/virtio/vhost-shadow-virtqueue.c > +++ b/hw/virtio/vhost-shadow-virtqueue.c > @@ -29,6 +29,12 @@ typedef struct VhostShadowVirtqueue { > * So shadow virtqueue must not clean it, or we would lose VirtQueue one. > */ > EventNotifier svq_kick; > + > + /* Device's host notifier memory region. NULL means no region */ > + void *host_notifier_mr; > + > + /* Virtio queue shadowing */ > + VirtQueue *vq; > } VhostShadowVirtqueue; > > /** > @@ -50,7 +56,20 @@ static void vhost_handle_guest_kick(EventNotifier *n) > return; > } > > - event_notifier_set(&svq->hdev_kick); > + if (svq->host_notifier_mr) { > + uint16_t *mr = svq->host_notifier_mr; > + *mr = virtio_get_queue_index(svq->vq); Do we need barriers around the possible MMIO here? To avoid those complicated stuff, I'd rather simply go with eventfd path. Note mmio and eventfd are not mutually exclusive. Thanks > + } else { > + event_notifier_set(&svq->hdev_kick); > + } > +} > + > +/* > + * Set the device's memory region notifier. addr = NULL clear it. > + */ > +void vhost_svq_set_host_mr_notifier(VhostShadowVirtqueue *svq, void *addr) > +{ > + svq->host_notifier_mr = addr; > } > > /** > @@ -134,6 +153,7 @@ void vhost_svq_stop(struct vhost_dev *dev, unsigned idx, > */ > VhostShadowVirtqueue *vhost_svq_new(struct vhost_dev *dev, int idx) > { > + int vq_idx = dev->vq_index + idx; > g_autofree VhostShadowVirtqueue *svq = g_new0(VhostShadowVirtqueue, 1); > int r; > > @@ -151,6 +171,7 @@ VhostShadowVirtqueue *vhost_svq_new(struct vhost_dev *dev, int idx) > goto err_init_hdev_call; > } > > + svq->vq = virtio_get_queue(dev->vdev, vq_idx); > return g_steal_pointer(&svq); > > err_init_hdev_call: