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=-5.5 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 C713AC3B1A4 for ; Fri, 14 Feb 2020 16:52:25 +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 9A1BB20656 for ; Fri, 14 Feb 2020 16:52:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.co.uk header.i=@amazon.co.uk header.b="j/NHeOIe" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9A1BB20656 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j2eCA-0006q6-5M; Fri, 14 Feb 2020 16:52:02 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j2eC8-0006q1-5y for xen-devel@lists.xenproject.org; Fri, 14 Feb 2020 16:52:00 +0000 X-Inumbo-ID: 51409ee0-4f4a-11ea-ade5-bc764e2007e4 Received: from smtp-fw-2101.amazon.com (unknown [72.21.196.25]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 51409ee0-4f4a-11ea-ade5-bc764e2007e4; Fri, 14 Feb 2020 16:51:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt; s=amazon201209; t=1581699120; x=1613235120; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=WtZ/Ap8l+uzqy5Aq9wNiJJ8iaygOxEYEvnnPDs4IZH4=; b=j/NHeOIeC305opPE1s1m+tjH0+18SJtCtuMLD/P195lfAs65UYS8xZy1 3gPiBbKaxXMa0duyD3Ss/mI+HeK/+7R460Sq4bIkLnnFNsk/jdZQIPCgW g0ZtJKCLXeDhaNouiD/RLbtqLVgy0pTWUkMiBYuntLlZzjMTvk6EVnCc7 s=; IronPort-SDR: RXBsukGnXp1uHnOGd+AhhXZFhwWMsEWafROVUOP4+KZHud8zW3c+F+o4IGuc53RObgDdiOonEy 1DkisKqsE+BQ== X-IronPort-AV: E=Sophos;i="5.70,441,1574121600"; d="scan'208";a="17232638" Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-2c-87a10be6.us-west-2.amazon.com) ([10.43.8.2]) by smtp-border-fw-out-2101.iad2.amazon.com with ESMTP; 14 Feb 2020 16:51:47 +0000 Received: from EX13MTAUEA002.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan2.pdx.amazon.com [10.170.41.162]) by email-inbound-relay-2c-87a10be6.us-west-2.amazon.com (Postfix) with ESMTPS id 4508FA18E7; Fri, 14 Feb 2020 16:51:46 +0000 (UTC) Received: from EX13D32EUC002.ant.amazon.com (10.43.164.94) by EX13MTAUEA002.ant.amazon.com (10.43.61.77) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Fri, 14 Feb 2020 16:51:46 +0000 Received: from EX13D32EUC003.ant.amazon.com (10.43.164.24) by EX13D32EUC002.ant.amazon.com (10.43.164.94) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 14 Feb 2020 16:51:45 +0000 Received: from EX13D32EUC003.ant.amazon.com ([10.43.164.24]) by EX13D32EUC003.ant.amazon.com ([10.43.164.24]) with mapi id 15.00.1367.000; Fri, 14 Feb 2020 16:51:44 +0000 From: "Durrant, Paul" To: Wei Liu , Xen Development List Thread-Topic: [PATCH v2 1/3] x86/hypervisor: pass flags to hypervisor_flush_tlb Thread-Index: AQHV4zM56lVQgN5geEWTJPENu9ljPqga5ruA Date: Fri, 14 Feb 2020 16:51:44 +0000 Message-ID: References: <20200214123430.4942-1-liuwe@microsoft.com> <20200214123430.4942-2-liuwe@microsoft.com> In-Reply-To: <20200214123430.4942-2-liuwe@microsoft.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.166.77] MIME-Version: 1.0 Precedence: Bulk Subject: Re: [Xen-devel] [PATCH v2 1/3] x86/hypervisor: pass flags to hypervisor_flush_tlb X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , =?iso-8859-1?Q?Roger_Pau_Monn=E9?= , Wei Liu , Jan Beulich , Michael Kelley Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFdlaSBMaXUgPHdlaS5saXUueGVu QGdtYWlsLmNvbT4gT24gQmVoYWxmIE9mIFdlaSBMaXUKPiBTZW50OiAxNCBGZWJydWFyeSAyMDIw IDEzOjM0Cj4gVG86IFhlbiBEZXZlbG9wbWVudCBMaXN0IDx4ZW4tZGV2ZWxAbGlzdHMueGVucHJv amVjdC5vcmc+Cj4gQ2M6IE1pY2hhZWwgS2VsbGV5IDxtaWtlbGxleUBtaWNyb3NvZnQuY29tPjsg RHVycmFudCwgUGF1bAo+IDxwZHVycmFudEBhbWF6b24uY28udWs+OyBXZWkgTGl1IDxsaXV3ZUBt aWNyb3NvZnQuY29tPjsgSmFuIEJldWxpY2gKPiA8amJldWxpY2hAc3VzZS5jb20+OyBBbmRyZXcg Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPjsgV2VpIExpdQo+IDx3bEB4ZW4ub3Jn PjsgUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Cj4gU3ViamVjdDogW1BB VENIIHYyIDEvM10geDg2L2h5cGVydmlzb3I6IHBhc3MgZmxhZ3MgdG8gaHlwZXJ2aXNvcl9mbHVz aF90bGIKPiAKPiBIeXBlci1WJ3MgTDAgYXNzaXN0ZWQgZmx1c2ggaGFzIGZpbmUtZ3JhaW5lZCBj b250cm9sIG92ZXIgd2hhdCBnZXRzCj4gZmx1c2hlZC4gV2UgbmVlZCBhbGwgdGhlIGZsYWdzIGF2 YWlsYWJsZSB0byBtYWtlIHRoZSBiZXN0IGRlY2lzaW9ucwo+IHBvc3NpYmxlLgo+IAo+IE5vIGZ1 bmN0aW9uYWwgY2hhbmdlIGJlY2F1c2UgWGVuJ3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCBjYXJl IGFib3V0Cj4gd2hhdCBpcyBwYXNzZWQgdG8gaXQuCj4gCj4gU2lnbmVkLW9mZi1ieTogV2VpIExp dSA8bGl1d2VAbWljcm9zb2Z0LmNvbT4KClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBkdXJy YW50QGFtYXpvbi5jb20+Cgo+IC0tLQo+IHYyOgo+IDEuIEludHJvZHVjZSBGTFVTSF9UTEJfRkxB R1NfTUFTSwo+IC0tLQo+ICB4ZW4vYXJjaC94ODYvZ3Vlc3QvaHlwZXJ2aXNvci5jICAgICAgICB8 ICA3ICsrKysrLS0KPiAgeGVuL2FyY2gveDg2L2d1ZXN0L3hlbi94ZW4uYyAgICAgICAgICAgfCAg MiArLQo+ICB4ZW4vYXJjaC94ODYvc21wLmMgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0t Cj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvZmx1c2h0bGIuaCAgICAgICAgIHwgIDMgKysrCj4gIHhl bi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJ2aXNvci5oIHwgMTAgKysrKystLS0tLQo+ICA1 IGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZ3Vlc3QvaHlwZXJ2aXNvci5jCj4gYi94ZW4vYXJjaC94 ODYvZ3Vlc3QvaHlwZXJ2aXNvci5jCj4gaW5kZXggNDdlOTM4ZTI4Ny4uNmVlMjhjOWRmMSAxMDA2 NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvZ3Vlc3QvaHlwZXJ2aXNvci5jCj4gKysrIGIveGVuL2Fy Y2gveDg2L2d1ZXN0L2h5cGVydmlzb3IuYwo+IEBAIC03NSwxMCArNzUsMTMgQEAgdm9pZCBfX2lu aXQgaHlwZXJ2aXNvcl9lODIwX2ZpeHVwKHN0cnVjdCBlODIwbWFwCj4gKmU4MjApCj4gIH0KPiAK PiAgaW50IGh5cGVydmlzb3JfZmx1c2hfdGxiKGNvbnN0IGNwdW1hc2tfdCAqbWFzaywgY29uc3Qg dm9pZCAqdmEsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb3JkZXIp Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCj4gIHsKPiAr ICAgIGlmICggZmxhZ3MgJiB+RkxVU0hfVExCX0ZMQUdTX01BU0sgKQo+ICsgICAgICAgIHJldHVy biAtRUlOVkFMOwo+ICsKPiAgICAgIGlmICggb3BzLmZsdXNoX3RsYiApCj4gLSAgICAgICAgcmV0 dXJuIGFsdGVybmF0aXZlX2NhbGwob3BzLmZsdXNoX3RsYiwgbWFzaywgdmEsIG9yZGVyKTsKPiAr ICAgICAgICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbChvcHMuZmx1c2hfdGxiLCBtYXNrLCB2YSwg ZmxhZ3MpOwo+IAo+ICAgICAgcmV0dXJuIC1FTk9TWVM7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2d1ZXN0L3hlbi94ZW4uYyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4veGVuLmMK PiBpbmRleCA1ZDM0MjdhNzEzLi4wZWIxMTE1YzRkIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4 Ni9ndWVzdC94ZW4veGVuLmMKPiArKysgYi94ZW4vYXJjaC94ODYvZ3Vlc3QveGVuL3hlbi5jCj4g QEAgLTMyNCw3ICszMjQsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZTgyMF9maXh1cChzdHJ1Y3Qg ZTgyMG1hcCAqZTgyMCkKPiAgICAgICAgICBwdl9zaGltX2ZpeHVwX2U4MjAoZTgyMCk7Cj4gIH0K PiAKPiAtc3RhdGljIGludCBmbHVzaF90bGIoY29uc3QgY3B1bWFza190ICptYXNrLCBjb25zdCB2 b2lkICp2YSwgdW5zaWduZWQgaW50Cj4gb3JkZXIpCj4gK3N0YXRpYyBpbnQgZmx1c2hfdGxiKGNv bnN0IGNwdW1hc2tfdCAqbWFzaywgY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludAo+IGZsYWdz KQo+ICB7Cj4gICAgICByZXR1cm4geGVuX2h5cGVyY2FsbF9odm1fb3AoSFZNT1BfZmx1c2hfdGxi cywgTlVMTCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NtcC5jIGIveGVuL2Fy Y2gveDg2L3NtcC5jCj4gaW5kZXggOWJjOTI1NjE2YS4uMmFiMGUzMGVlZiAxMDA2NDQKPiAtLS0g YS94ZW4vYXJjaC94ODYvc21wLmMKPiArKysgYi94ZW4vYXJjaC94ODYvc21wLmMKPiBAQCAtMjU4 LDkgKzI1OCw4IEBAIHZvaWQgZmx1c2hfYXJlYV9tYXNrKGNvbnN0IGNwdW1hc2tfdCAqbWFzaywg Y29uc3Qgdm9pZAo+ICp2YSwgdW5zaWduZWQgaW50IGZsYWdzKQo+ICAgICAgICAgICAhY3B1bWFz a19zdWJzZXQobWFzaywgY3B1bWFza19vZihjcHUpKSApCj4gICAgICB7Cj4gICAgICAgICAgaWYg KCBjcHVfaGFzX2h5cGVydmlzb3IgJiYKPiAtICAgICAgICAgICAgICEoZmxhZ3MgJiB+KEZMVVNI X1RMQiB8IEZMVVNIX1RMQl9HTE9CQUwgfCBGTFVTSF9WQV9WQUxJRCB8Cj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICBGTFVTSF9PUkRFUl9NQVNLKSkgJiYKPiAtICAgICAgICAgICAgICFoeXBl cnZpc29yX2ZsdXNoX3RsYihtYXNrLCB2YSwgZmxhZ3MgJiBGTFVTSF9PUkRFUl9NQVNLKSApCj4g KyAgICAgICAgICAgICAhKGZsYWdzICYgfkZMVVNIX1RMQl9GTEFHU19NQVNLKSAmJgo+ICsgICAg ICAgICAgICAgIWh5cGVydmlzb3JfZmx1c2hfdGxiKG1hc2ssIHZhLCBmbGFncykgKQo+ICAgICAg ICAgIHsKPiAgICAgICAgICAgICAgaWYgKCB0bGJfY2xrX2VuYWJsZWQgKQo+ICAgICAgICAgICAg ICAgICAgdGxiX2Nsa19lbmFibGVkID0gZmFsc2U7Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L2FzbS14ODYvZmx1c2h0bGIuaCBiL3hlbi9pbmNsdWRlL2FzbS0KPiB4ODYvZmx1c2h0bGIuaAo+ IGluZGV4IDk3NzMwMTQzMjAuLmE0ZGUzMTc0NTIgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9mbHVzaHRsYi5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9mbHVzaHRsYi5o Cj4gQEAgLTEyMyw2ICsxMjMsOSBAQCB2b2lkIHN3aXRjaF9jcjNfY3I0KHVuc2lnbmVkIGxvbmcg Y3IzLCB1bnNpZ25lZCBsb25nCj4gY3I0KTsKPiAgIC8qIEZsdXNoIGFsbCBIVk0gZ3Vlc3RzIGxp bmVhciBUTEIgKHVzaW5nIEFTSUQvVlBJRCkgKi8KPiAgI2RlZmluZSBGTFVTSF9HVUVTVFNfVExC IDB4NDAwMAo+IAo+ICsjZGVmaW5lIEZMVVNIX1RMQl9GTEFHU19NQVNLIChGTFVTSF9UTEIgfCBG TFVTSF9UTEJfR0xPQkFMIHwKPiBGTFVTSF9WQV9WQUxJRCB8IFwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRkxVU0hfT1JERVJfTUFTSykKPiArCj4gIC8qIEZsdXNoIGxvY2FsIFRM QnMvY2FjaGVzLiAqLwo+ICB1bnNpZ25lZCBpbnQgZmx1c2hfYXJlYV9sb2NhbChjb25zdCB2b2lk ICp2YSwgdW5zaWduZWQgaW50IGZsYWdzKTsKPiAgI2RlZmluZSBmbHVzaF9sb2NhbChmbGFncykg Zmx1c2hfYXJlYV9sb2NhbChOVUxMLCBmbGFncykKPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9ndWVzdC9oeXBlcnZpc29yLmggYi94ZW4vaW5jbHVkZS9hc20tCj4geDg2L2d1ZXN0 L2h5cGVydmlzb3IuaAo+IGluZGV4IDQzMmU1N2MyYTAuLjQ4ZDU0NzM1ZDIgMTAwNjQ0Cj4gLS0t IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC9oeXBlcnZpc29yLmgKPiArKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L2d1ZXN0L2h5cGVydmlzb3IuaAo+IEBAIC0zNSw3ICszNSw3IEBAIHN0cnVj dCBoeXBlcnZpc29yX29wcyB7Cj4gICAgICAvKiBGaXggdXAgZTgyMCBtYXAgKi8KPiAgICAgIHZv aWQgKCplODIwX2ZpeHVwKShzdHJ1Y3QgZTgyMG1hcCAqZTgyMCk7Cj4gICAgICAvKiBMMCBhc3Np c3RlZCBUTEIgZmx1c2ggKi8KPiAtICAgIGludCAoKmZsdXNoX3RsYikoY29uc3QgY3B1bWFza190 ICptYXNrLCBjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50Cj4gb3JkZXIpOwo+ICsgICAgaW50 ICgqZmx1c2hfdGxiKShjb25zdCBjcHVtYXNrX3QgKm1hc2ssIGNvbnN0IHZvaWQgKnZhLCB1bnNp Z25lZCBpbnQKPiBmbGFncyk7Cj4gIH07Cj4gCj4gICNpZmRlZiBDT05GSUdfR1VFU1QKPiBAQCAt NDgsMTEgKzQ4LDExIEBAIHZvaWQgaHlwZXJ2aXNvcl9lODIwX2ZpeHVwKHN0cnVjdCBlODIwbWFw ICplODIwKTsKPiAgLyoKPiAgICogTDAgYXNzaXN0ZWQgVExCIGZsdXNoLgo+ICAgKiBtYXNrOiBj cHVtYXNrIG9mIHRoZSBkaXJ0eSB2Q1BVcyB0aGF0IHNob3VsZCBiZSBmbHVzaGVkLgo+IC0gKiB2 YTogbGluZWFyIGFkZHJlc3MgdG8gZmx1c2gsIG9yIE5VTEwgZm9yIGdsb2JhbCBmbHVzaGVzLgo+ IC0gKiBvcmRlcjogb3JkZXIgb2YgdGhlIGxpbmVhciBhZGRyZXNzIHBvaW50ZWQgYnkgdmEuCj4g KyAqIHZhOiBsaW5lYXIgYWRkcmVzcyB0byBmbHVzaCwgb3IgTlVMTCBmb3IgZW50aXJlIGFkZHJl c3Mgc3BhY2UuCj4gKyAqIGZsYWdzOiBmbGFncyBmb3IgZmx1c2hpbmcsIGluY2x1ZGluZyB0aGUg b3JkZXIgb2YgdmEuCj4gICAqLwo+ICBpbnQgaHlwZXJ2aXNvcl9mbHVzaF90bGIoY29uc3QgY3B1 bWFza190ICptYXNrLCBjb25zdCB2b2lkICp2YSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBvcmRlcik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgZmxhZ3MpOwo+IAo+ICAjZWxzZQo+IAo+IEBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyBp bmxpbmUgaW50IGh5cGVydmlzb3JfYXBfc2V0dXAodm9pZCkgeyByZXR1cm4gMDsKPiB9Cj4gIHN0 YXRpYyBpbmxpbmUgdm9pZCBoeXBlcnZpc29yX3Jlc3VtZSh2b2lkKSB7IEFTU0VSVF9VTlJFQUNI QUJMRSgpOyB9Cj4gIHN0YXRpYyBpbmxpbmUgdm9pZCBoeXBlcnZpc29yX2U4MjBfZml4dXAoc3Ry dWN0IGU4MjBtYXAgKmU4MjApIHt9Cj4gIHN0YXRpYyBpbmxpbmUgaW50IGh5cGVydmlzb3JfZmx1 c2hfdGxiKGNvbnN0IGNwdW1hc2tfdCAqbWFzaywgY29uc3Qgdm9pZAo+ICp2YSwKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyKQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3Mp Cj4gIHsKPiAgICAgIHJldHVybiAtRU5PU1lTOwo+ICB9Cj4gLS0KPiAyLjIwLjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs