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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9E5C4C87FCC for ; Thu, 31 Jul 2025 12:57:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:References:From:To:Cc: Subject:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Y4ktu3yC6lQTA7twgg8yWukLG4eh8VuEde9k4ntfJ8w=; b=yGiqDl/BeDKsBc y5e4Z51dyJ+Xwd4fcYHat+GlmUOG5TUw+NyMZPmqiziN7wj7defkq5anvjhhi74a6ksJ7P8MWnW2i 2EwSc1TYzrEHuNceC+hZxI0nqfycVLrUuK5mPxQmbiIEMLDGpUpBFowPyppF4BvH1kdb8a3EG1cTs EFlIzGTTOBnc5mOFbuTSxGLEFyWG1gh/k7oEYRsa3mjLRxCuRv9EHPsDzz1bYqvXNtdLNWbqKQ5FM p+c6WlaPEBqckr6xa2unM+Zkh2LhEvioU6sWiItL2m5KV3jvtN15H7IOJs+EPud1NH0Tad43gSmVI E2i6HzmoxMh9VIZ4nRsw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uhSqt-00000003dTu-3exu; Thu, 31 Jul 2025 12:57:43 +0000 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uhSL9-00000003ZV1-41o5 for linux-riscv@lists.infradead.org; Thu, 31 Jul 2025 12:24:57 +0000 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-455f7cc9362so1113975e9.2 for ; Thu, 31 Jul 2025 05:24:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1753964694; x=1754569494; darn=lists.infradead.org; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=u+AToT976oTprX37SYOE+qDsua+BzFJg9f1qT1iu+OI=; b=Z7tgbiEBc5uwyMfXbYIjewxp4iEsI8ahURhZS+FhdG2ElfpKk1zue8Vvsm2RZ9W+Ee 0Cx2a5WPeKenzsqg63b8ieVJfmKbA7nYhbWUz1FNaHBTeI/GePbCyRmuZPlfnICabL4v 0Gg2oS8hrboGRJhPUTAJGPceGcFbegOmaBc6pBmWY29SCZMNDBjjKqUkhZAyMoBGBuoO yxlqJKy0B0ehciLVQycU8jJEBVByxB9EBBIHaxKvhoRQNRMSFJvk+rM44kkYxRn2U/PT WSZ22AK/yXfHUSXMqM61bk/gjIA2ftnEur8zrvp9L9+h/cuB2zmkFihFEWDMoNsLFWdT 9ctA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753964694; x=1754569494; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=u+AToT976oTprX37SYOE+qDsua+BzFJg9f1qT1iu+OI=; b=NOVUTwB5Vz1a4kQIXlUnFCgjaSYqujCwdtKGqkCXHZvb3aFel+7CM+igX8r+PxBr3x TuyXOJS74itsBGGHjE+3U/P7qSdZTX+mFVqugjtb0JFBmk9GSea7cX5l8VaqZteJc3/c tarxNVThg2TchV+vSikoYVErh8ZG+pcA/cPa7IqX5bB9FsaVe8JA20yxs6zkKw5j6UBP 9x93VGzD7ABcfUu1LRgY0sF/sTQbZxf/dnbMGNLqOOIOl4wEtteCCd6+ypEo/tu/6p6F 7qFwJOW2i9c83Ny9XdPWR6ll30uq3elQndq2uWxoRqm1eKytTA8AYHnkoyefkPyu+64L qZ9Q== X-Forwarded-Encrypted: i=1; AJvYcCUasFTdc2CxjfL14NKgcflly2JPPETugWhWeXhQl2YvBe/4cqskuHLoXrxChiDPWibxNcae8N+HMikUpw==@lists.infradead.org X-Gm-Message-State: AOJu0YzVcsN2LFV1qVKfgkjnerUvSVFDoC/BE7pfn7T4TnhUgxyRQZCA /scTIeZVs42XX2eOZsA6P9a0oDeM+R8rJNy36ZOShKjl9yqhJIQaYBlmBw9D4J1fkis= X-Gm-Gg: ASbGncv/cGGbTNVdyWKJuhiIdvQldwB0lx/G47JYHQ9yMla9FYPgy08oXNJoSNJYhPi X2XhpP/5OSDUniKJr0tKmr51aq0R/eAlZera8t2Qf86ofe8n9JoXBcbppJRp/Q3U0jm160Y+Y56 jWt6LPMVPNM8vBLXORZHlkbTd9eTkJvpTYxjGeQDStOoSh/RqZkwUcjS9L9tVXPNV4x/rTUbk2K rIHvn/9pSAfrhLxU8YJiaJvaKzGSgq9kdqtPV/LT8aRxCZDzBojoa2mvjZg8krAxpu+fnmH4xjE YRDdYO60O7EaUM/hhs8iQMsQ9hbV9kq6ABEsu4c2FWl89o1p2l1xjzxQkNfgbMZ3WaZzxVAH82M EQLCP38RDENFbFJSuyJbE9PpqhPijuwOjQZmcRc4= X-Google-Smtp-Source: AGHT+IESAHQC+ykUTh0duIW3JXCCP+0NnteNk5su7zlOXc8d9NMsI25MdmaiB9Di0GvN0Hzl3QMVdQ== X-Received: by 2002:a05:600c:1d98:b0:442:e608:12a6 with SMTP id 5b1f17b1804b1-45892be8c50mr29067995e9.1.1753964693730; Thu, 31 Jul 2025 05:24:53 -0700 (PDT) Received: from localhost ([2a02:8308:a00c:e200:d2c3:7f6:d08a:bcdf]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-458a7dd8cdesm2279175e9.19.2025.07.31.05.24.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 31 Jul 2025 05:24:53 -0700 (PDT) Mime-Version: 1.0 Date: Thu, 31 Jul 2025 14:24:52 +0200 Message-Id: Subject: Re: [PATCH] riscv: Add sysctl to control discard of vstate during syscall Cc: , "Bjorn Topel" , "Alexandre Ghiti" , "Paul Walmsley" , , , , "Conor Dooley" , , , To: "Palmer Dabbelt" From: =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= References: In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250731_052456_004389_A41B25F0 X-CRM114-Status: GOOD ( 44.93 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org MjAyNS0wNy0zMFQxODowNTo1OS0wNzowMCwgUGFsbWVyIERhYmJlbHQgPHBhbG1lckBkYWJiZWx0 LmNvbT46Cj4gT24gTW9uLCAyMSBKdWwgMjAyNSAwNzo1NDoyNSBQRFQgKC0wNzAwKSwgcmtyY21h ckB2ZW50YW5hbWljcm8uY29tIHdyb3RlOgo+PiAyMDI1LTA3LTIxVDE0OjM1OjM4KzAyOjAwLCBS YWRpbSBLcsSNbcOhxZkgPHJrcmNtYXJAdmVudGFuYW1pY3JvLmNvbT46Cj4+PiBTaG91bGRuJ3Qg dGhlIFJJU0MtViBMaW51eCBzeXNjYWxsIEFCSSBiZSBkZWZpbmVkIHNvbWV3aGVyZT8KPj4KPj4g VG8gY2xhcmlmeSB0aGlzIHBvaW50LiAgTXkgaXNzdWUgaXMgd2l0aCB0aGUgZm9sbG93aW5nIHBh cnQgaW4KPj4gRG9jdW1lbnRhdGlvbi9hcmNoL3Jpc2N2L3ZlY3Rvci5yc3Q6Cj4+Cj4+Pj4gIEFz IGluZGljYXRlZCBieSB2ZXJzaW9uIDEuMCBvZiB0aGUgViBleHRlbnNpb24gWzFdLCB2ZWN0b3Ig cmVnaXN0ZXJzIGFyZQo+Pj4+ICBjbG9iYmVyZWQgYnkgc3lzdGVtIGNhbGxzLgo+Pj4+ICBbLi4u XQo+Pj4+ICAxOiBodHRwczovL2dpdGh1Yi5jb20vcmlzY3YvcmlzY3Ytdi1zcGVjL2Jsb2IvbWFz dGVyL2NhbGxpbmctY29udmVudGlvbi5hZG9jCj4+Cj4+IFRoZSBJU0EgZG9lcyBub3Qgc2F5IHRo YXQgdmVjdG9yIHJlZ2lzdGVycyBhcmUgY2xvYmJlcmVkIGJ5IHN5c3RlbQo+PiBjYWxscy4gIEFs bCB0aGUgSVNBIHNheXMgaXM6Cj4+Cj4+ICAgIlRoaXMgQXBwZW5kaXggaXMgb25seSBhIHBsYWNl aG9sZGVyIHRvIGhlbHAgZXhwbGFpbiB0aGUgY29udmVudGlvbnMKPj4gICAgdXNlZCBpbiB0aGUg Y29kZSBleGFtcGxlcywgYW5kIGlzIG5vdCBjb25zaWRlcmVkIGZyb3plbiBvcgo+PiAgICBwYXJ0 IG9mIHRoZSByYXRpZmljYXRpb24gcHJvY2Vzcy4gIFRoZSBvZmZpY2lhbCBSSVNDLVYgcHNBQkkg ZG9jdW1lbnQKPj4gICAgaXMgYmVpbmcgZXhwYW5kZWQgdG8gc3BlY2lmeSB0aGUgdmVjdG9yIGNh bGxpbmcgY29udmVudGlvbnMuIgo+Cj4gSXQgYWxzbyBzYXlzCj4KPiAgICAgRXhlY3V0aW5nIGEg c3lzdGVtIGNhbGwgY2F1c2VzIGFsbCBjYWxsZXItc2F2ZWQgdmVjdG9yIHJlZ2lzdGVycyAKPiAg ICAgKHYwLXYzMSwgdmwsIHZ0eXBlKSBhbmQgdnN0YXJ0IHRvIGJlY29tZSB1bnNwZWNpZWQuCj4K PiBpbiB0aGUgSVNBIG1hbnVhbCwgYSBmZXcgc2VudGVuY2VzIGxhdGVyIGluIHRoYXQgcGFnZS4K Ckl0IGFsc28gc2F5cwoKICBNb3N0IE9TZXMgd2lsbCBjaG9vc2UgdG8gZWl0aGVyIGxlYXZlIHRo ZXNlIHJlZ2lzdGVycyBpbnRhY3Qgb3IgcmVzZXQKICB0aGVtIHRvIHRoZWlyIGluaXRpYWwgc3Rh dGUgdG8gYXZvaWQgbGVha2luZyBpbmZvcm1hdGlvbiBhY3Jvc3MKICBwcm9jZXNzIGJvdW5kYXJp ZXMuCgpCb3RoIG9wdGlvbnMgbWFrZSBzZW5zZSwgYnV0IHdlJ3JlIG5vdCBkb2luZyBlaXRoZXIu Cgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU28gdGhhdCdzIHdoYXQgCj4gd2Ugd2VyZSB0cnlpbmcgdG8gZ2V0IGF0IHdpdGggdGhlIGRv Y3VtZW50YXRpb24gcG9pbnRlciwgYnV0IG1heWJlIGl0J3MgCj4gYmV0dGVyIHRvIGhhdmUgc29t ZXRoaW5nIG1vcmUgZXhwbGljaXQgbGlrZQo+Cj4gICAgIGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2FyY2gvcmlzY3YvdmVjdG9yLnJzdCBiL0RvY3VtZW50YXRpb24vYXJjaC9yaXNjdi92ZWN0 b3IucnN0Cj4gICAgIGluZGV4IDM5ODdmNWY3NmE5ZC4uZTg1OTE2NjBhN2JiIDEwMDY0NAo+ICAg ICAtLS0gYS9Eb2N1bWVudGF0aW9uL2FyY2gvcmlzY3YvdmVjdG9yLnJzdAo+ICAgICArKysgYi9E b2N1bWVudGF0aW9uL2FyY2gvcmlzY3YvdmVjdG9yLnJzdAo+ICAgICBAQCAtMTM0LDcgKzEzNCwx MCBAQCBwcm9jZXNzZXMgaW4gZm9ybSBvZiBzeXNjdGwga25vYjoKPiAgICAgIDMuICBWZWN0b3Ig UmVnaXN0ZXIgU3RhdGUgQWNyb3NzIFN5c3RlbSBDYWxscwo+ICAgICAgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICAgIAo+ICAgICAtQXMgaW5kaWNhdGVk IGJ5IHZlcnNpb24gMS4wIG9mIHRoZSBWIGV4dGVuc2lvbiBbMV0sIHZlY3RvciByZWdpc3RlcnMg YXJlCj4gICAgIC1jbG9iYmVyZWQgYnkgc3lzdGVtIGNhbGxzLgo+ICAgICArTGludXggYWRvcHRz IHRoZSBzeXNjYWxsIEFCSSBwcm9wb3NlZCAgYnkgdmVyc2lvbiAxLjAgb2YgdGhlIFYgZXh0ZW5z aW9uIFsxXSwKClRoZSB3aG9sZSBzZWN0aW9uIGlzIGp1c3QgYSBub24tbm9ybWF0aXZlIGNvbnZl bnRpb24gZm9yIGl0cyBvd24gY29kZQpleGFtcGxlcywgc28gSSB3b3VsZG4ndCBzYXkgdGhlIFYg ZXh0ZW5zaW9uIHByb3Bvc2VkIGl0IGZvciBhbnlvbmUuCgpXZSBjYW4ganVzdCBzYXkgd2hhdCBM aW51eCBkb2VzIHdpdGhvdXQgcmVmZXJlbmNpbmcgYW55dGhpbmcsIGJlY2F1c2UKbm90aGluZyB0 ZWxscyBMaW51eCB3aGF0IHRvIGRvLgoKPiAgICAgK3doZXJlIHZlY3RvciByZWdpc3RlcnMgYXJl IGNsb2JiZXJlZCBieSBzeXN0ZW0gY2FsbHMuICBTcGVjaWZpY2FsbHkKPiAgICAgKwo+ICAgICAr ICAgIEV4ZWN1dGluZyBhIHN5c3RlbSBjYWxsIGNhdXNlcyBhbGwgY2FsbGVyLXNhdmVkIHZlY3Rv ciByZWdpc3RlcnMKPiAgICAgKyAgICAodjAtdjMxLCB2bCwgdnR5cGUpIGFuZCB2c3RhcnQgdG8g YmVjb21lIHVuc3BlY2llZC4KCldlIHN0aWxsIG5lZWQgdG8gZGVmaW5lIHdoaWNoIHJlZ2lzdGVy cyBhcmUgY2FsbGVyLXNhdmVkLgoKTm8gdmVjdG9yIHJlZ2lzdGVycyBhcmUgcHJlc2VydmVkIGlu IHRoZSBjdXJyZW50IHN5c2NhbGwgQUJJLCBzbyBJJ2QKanVzdCBvbWl0ICJjYWxsZXItc2F2ZWQi LCB0byBkZWZpbmUgdGhhdCBhbGwgdmVjdG9yIHJlZ2lzdGVycyBiZWNvbWUKdW5zcGVjaWZpZWQu Cgo+ICAgICAgMTogaHR0cHM6Ly9naXRodWIuY29tL3Jpc2N2L3Jpc2N2LXYtc3BlYy9ibG9iL21h c3Rlci9jYWxsaW5nLWNvbnZlbnRpb24uYWRvYwo+Cj4+IHdoaWxlIHRoZSBSSVNDLVYgcHNBQkkg c2F5czoKPj4KPj4gICAiVGhlIGNhbGxpbmcgY29udmVudGlvbiBmb3Igc3lzdGVtIGNhbGxzIGRv ZXMgbm90IGZhbGwgd2l0aGluIHRoZQo+PiAgICBzY29wZSBvZiB0aGlzIGRvY3VtZW50LiBQbGVh c2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlCj4+ICAgIFJJU0MtViBleGVjdXRp b24gZW52aXJvbm1lbnQgaW50ZXJmYWNlIChlLmcgT1Mga2VybmVsIEFCSSwgU0JJKS4iCj4+Cj4+ IFdlIG1hZGUgYSBjaXJjdWxhciBkZXBlbmRlbmN5LCBtaXNpbnRlcnByZXRlZCB0aGUgSVNBLCBh bmQgcHJvYmFibHkKPj4gaW1wbGVtZW50ZWQgYSBzdWJvcHRpbWFsIHN5c2NhbGwgQUJJIC0tIHBy ZXNlcnZpbmcgdmVjdG9yIHJlZ2lzdGVycwo+PiBzZWVtcyBzdHJpY3RseSBiZXR0ZXIuCj4KPiBX ZSdkIHJlYWxseSBuZWVkIHVzZXJzcGFjZSB0byBoYXZlIGFuIEFCSSB0aGF0IHByZXNlcnZlcyB2 ZWN0b3IgCj4gcmVnaXN0ZXJzIGZvciBpdCB0byBiZSB1c2VmdWwgaW4gdGhlIGtlcm5lbC4KCkkg ZG9uJ3QgcmVhbGx5IGxpa2Ugb3Zlci1jYXRlcmluZyB0byB0aGUgc3RhbmRhcmQgcHNBQkkgLS0g aXQncyBhIHJlbGljCm9mIHNpbXBsZXIgdGltZXMsIGFuZCBJIGhvcGUgcHJvZ3JhbXMgd2lsbCBl dmVudHVhbGx5IGJlIGZyZWVkIG9mIGl0LgoKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQXMgaXQgc3RhbmRzIHRoZXJlJ3MgCj4gcHJldHR5IG11Y2ggbm90 aGluZyB0aGF0J3MgZ29pbmcgdG8gaGF2ZSB1c2VmdWwgdmVjdG9yIHN0YXRlIG92ZXIgYSAKPiBz eXNjYWxsLCBhcyB0aGV5J3JlIGFsbW9zdCBhbHdheXMgaGlkZGVuIGJlaGluZCBzb21lIEMgZnVu Y3Rpb24gYW5kIAo+IHRob3NlIGNsb2JiZXIgdGhlIHZlY3RvciBzdGF0ZS4KClVzZXJzcGFjZSBk b2Vzbid0IGV2ZW4gaGF2ZSB0byBjYXJyeSB2ZWN0b3Igc3RhdGUgb3ZlciBzeXNjYWxsIC0tIGp1 c3QKdXNpbmcgdmVjdG9yLCBkb2luZyBzeXNjYWxsLCB1c2luZyBvdGhlciB2ZWN0b3IsIGRvaW5n IHN5c2NhbGwgaXMKaGluZGVyZWQgYnkgdGhlIGN1cnJlbnQgZGVzaWduLCBiZWNhdXNlIGVhY2gg c3lzY2FsbCBoYXMgdG8gdG91Y2ggdmVjdG9yCnJlZ2lzdGVycyBmb3Igbm90IGdvb2QgcmVhc29u LgoKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJIGhhdmUgYSBwYXRjaCBvdXQg Zm9yIEdDQyB0aGF0IGVuYWJsZXMgCj4gYSBzeXN0ZW0td2lkZSB2ZWN0b3IgQUJJLCBidXQgSSBk b24ndCBoYXZlIHRpbWUgdG8gdGVzdC9iZW5jaG1hcmsgaXQgc28gCj4gaXQncyBraW5kIG9mIGhh cmQgdG8ganVzdGlmeS4KCllvdSBtZWFuIGVuYWJsaW5nIHRoZSBhbHRlcm5hdGl2ZSBwc0FCSSBm b3IgdmVjdG9ycz8KCmh0dHBzOi8vZ2l0aHViLmNvbS9yaXNjdi1ub24taXNhL3Jpc2N2LWVsZi1w c2FiaS1kb2MvYmxvYi83MTI0NDlmOGVmY2Y2YjNhY2Q5ZTJhMmE3ZGRmZTg5NDg2MzE3ODc3L3Jp c2N2LWNjLmFkb2MjY2FsbGluZy1jb252ZW50aW9uLXZhcmlhbnQKCj4gVGhhdCBzYWlkOgo+Cj4g TXkgZmlyc3QgZ3Vlc3MgaGVyZSB3b3VsZCBiZSB0aGF0IHRyYXNoaW5nIHRoZSBWIHJlZ2lzdGVy IAo+IHN0YXRlIGlzIHN0aWxsIGZhc3RlciBvbiB0aGUgbWFjaGluZXMgdGhhdCB0cmlnZ2VyZWQg dGhpcyBwYXRjaCwgaXQncyAKPiBqdXN0IHRoYXQgdGhlIHdheSB3ZSdyZSB0cmFzaGluZyBpdCBp cyBzbG93LiAgV2UncmUgZG9pbmcgc29tZSB3YWNreSAKPiB0aGluZ3MgaW4gdGhlcmUgKFZJTEws IExNVUwsIGNsZWFyaW5nIHRvIC0xKSwgc28gaXQncyBub3Qgc3VycHJpc2luZyAKPiB0aGF0IHNv bWUgaW1wbGVtZW50YXRpb25zIGFyZSBzbG93IG9uIHRoZXNlIHJvdXRpbmVzLgoKSSBhbSBhZnJh aWQgd2UgbWlnaHQgZW5kIHVwIHdpdGggYSBjb21tbWFuZGxpbmUsIERULCBvcgptdmVuZG9yaWQr bWFyY2hpZCttaW1waWQgaGludCB0byBwaWNrIHRoZSBiZXN0IG1ldGhvZCBhdCBydW50aW1lLCBv cgpib290IHRpbWUgYmVuY2htYXJraW5nIGluIGNhc2UgaXQncyBub3QgZXZlbiBrbm93bi4KCj4g VGhpcyBjYW1lIHVwIGR1cmluZyB0aGUgb3JpZ2luYWwgcGF0Y2ggYW5kIHdlIGRlY2lkZWQgdG8g anVzdCBnbyB3aXRoIAo+IHRoaXMgd2F5ICh3aGljaCBpcyByZWNvbW1lbmRlZCBieSB0aGUgSVNB KSB1bnRpbCBzb21lb25lIGNvdWxkIAo+IGRlbW9uc3RyYXRlIGl0J3Mgc2xvdywgc28gc291bmRz IGxpa2UgaXQncyB0aW1lIHRvIGdvIHJldmlzaXQgdGhvc2UuICAKPgo+IFNvIEknZCBzdGFydCB3 aXRoIHNvbWV0aGluZyBsaWtlCj4KPiAgICAgZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVk ZS9hc20vdmVjdG9yLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3ZlY3Rvci5oCj4gICAgIGlu ZGV4IGI2MTc4NmQ0M2MyMC4uMWZiYTMzZTYyZDJiIDEwMDY0NAo+ICAgICAtLS0gYS9hcmNoL3Jp c2N2L2luY2x1ZGUvYXNtL3ZlY3Rvci5oCj4gICAgICsrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9h c20vdmVjdG9yLmgKPiAgICAgQEAgLTI4Nyw3ICsyODcsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQg X19yaXNjdl92X3ZzdGF0ZV9kaXNjYXJkKHZvaWQpCj4gICAgICAgICAgICAgICAgICAgICAidm12 LnYuaSAgICAgICAgdjgsIC0xXG5cdCIKPiAgICAgICAgICAgICAgICAgICAgICJ2bXYudi5pICAg ICAgICB2MTYsIC0xXG5cdCIKPiAgICAgICAgICAgICAgICAgICAgICJ2bXYudi5pICAgICAgICB2 MjQsIC0xXG5cdCIKPiAgICAgLSAgICAgICAgICAgICAgICJ2c2V0dmwgICAgICAgICAlMCwgeDAs ICUxXG5cdCIKPiAgICAgICAgICAgICAgICAgICAgICIub3B0aW9uIHBvcFxuXHQiCj4gICAgICAg ICAgICAgICAgICAgICA6ICI9JnIiICh2bCkgOiAiciIgKHZ0eXBlX2ludmFsKSk7Cj4KPiB0byB0 cnkgYW5kIHNlZSBpZiB3ZSdyZSB0cmlwcGluZyBvdmVyIGJhZCBpbXBsZW1lbnRhdGlvbiBiZWhh dmlvciwgaW4gCj4gd2hpY2ggY2FzZSB3ZSBjYW4ganVzdCBoaWRlIHRoaXMgYWxsIGluIHRoZSBr ZXJuZWwuICBUaGVuIHdlIGNhbiBzcGxpdCAKPiBvdXQgdGhlc2UgcGVyZm9ybWFuY2UgaXNzdWVz IGZyb20gb3RoZXIgdGhpbmdzIGxpa2UgbGF6eSBzYXZlL3Jlc3RvcmUgCj4gYW5kIGEgVi1wcmVz ZXJ2aW5nIHVBQkksIGFzIGl0IHN0YW5kcyB0aGlzIGlzIGFsbCBzb3J0IG9mIGdldHRpbmcgbWl4 ZWQgCj4gdXAuCgpZZWFoLCB0aGUgZGlzY3Vzc2lvbiBnb3QgYSBiaXQgb3V0IG9mIGhhbmQuCgpJ IGRvbid0IHNlZSBtdWNoIHBvaW50IGluIGRvaW5nIG1pbm9yIGNoYW5nZXMgdG8gdGhlIGN1cnJl bnQgZGVzaWduLCBhcwppdCBpc24ndCBhbnl3aGVyZSBuZWFyIHRoZSBQYXJldG8gZnJvbnQuCgpJ ZiB3ZSB3YW50IHRvIHRvdWNoIHZlY3RvcnMgb24gc3lzY2FsbHMsIEkgdGhpbmsgaXQgbWFrZXMg c2Vuc2UgdG8gc3RhcnQKd2l0aCBWaXZpYW4ncyBwcm9wb3NhbCAtLSBlYWdlcmx5IGluaXRpYWxp emluZyB2ZWN0b3JzIGluIHN5c2NhbGxzCnByb3ZpZGVzIGF0IGxlYXN0IHNvbWUgYWR2YW50YWdl IHdoZW4gZXZlbnR1YWxseSBkb2luZyBhIGNvbnRleHQgc3dpdGNoLgoKKElmIHRoZSBwZXJmb3Jt YW5jZSBpcyBzdGlsbCBiYWQsIHRoZW4gd2UgY2FuIGluaXRpYWxpemUgbGF6aWx5IG9uIHZlY3Rv cgogcmVzdG9yZSwgd2hpY2ggc2hvdWxkIGJlIG9wdGltYWwgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0 IHByb2dyYW1zIHRoYXQKIHdhbnQgdG8gcHJlc2VydmUgdmVjdG9ycyBhY3Jvc3Mgc3lzY2FsbHMu KQoKPj4+IEhvdyBjb21lIHdlIGNvdWxkIGhhdmUgYnJva2VuIGl0IHdpdGggOTY1N2U5YjdkMjUz Pwo+Pgo+PiBXZSBjaGFuZ2VkIHRoZSBBQkkgb25jZSwgc28gbWF5YmUgd2UgY2FuIGNoYW5nZSBp dCBiYWNrPwo+Cj4gV2UgZGlkbid0IGNoYW5nZSB0aGUgQUJJLCB0aGUgZG9jdW1lbnRhdGlvbiBh bHdheXMgc2FpZCAidmVjdG9yIHJlZ2lzdGVycyBhcmUKPiBjbG9iYmVyZWQgYnkgc3lzdGVtIGNh bGxzIi4KCk15IGJhZCwgSSBkaWRuJ3Qgc2VlIHRoZSBwYXRjaCB3ZW50IGluIHdpdGggdGhlIGlu aXRpYWwgdmVyc2lvbiwgdGhhbmtzLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D4FF2230BE0 for ; Thu, 31 Jul 2025 12:24:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753964697; cv=none; b=AXYyK0DnVuh8aRZb0TeJDIPo6NL4vYswzvB5I6BQUU1/MctQ56eK5bpzWN1zjjm3rblT2rTVyrrJRNqTvgAa1OjUy1NYU5CVy+RllOj4U5G1Wfnp31u05qwdZS3Mws9hgp2RKCXemlWG+mhUH7mwMqOmodNS4MPdIqzdcWzKHrM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753964697; c=relaxed/simple; bh=O9+rvyi6cbnp6f9QemdqrQmGz6n77kYfJk2t38UVfzk=; h=Mime-Version:Content-Type:Date:Message-Id:Subject:Cc:To:From: References:In-Reply-To; b=UVSbCbFbvqUs/c3+qAxtvqlYT2bf25iWBrakQD2Ng8JlWOaq0ZOlaY7tfSiCnchkA0huWhF7QHlyxDU5b5F3oWXTfUSC6OKVAj6LUzpq+v9wHPETIp/9SHSzQi55a5BmsKmp6u4HOt83E3PoPB7qPEnrMnwRpDy/+YBDnGHeoGs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=UyHqSG5A; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="UyHqSG5A" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4589c1f55aeso1387505e9.1 for ; Thu, 31 Jul 2025 05:24:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1753964694; x=1754569494; darn=vger.kernel.org; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=u+AToT976oTprX37SYOE+qDsua+BzFJg9f1qT1iu+OI=; b=UyHqSG5AgNDCX2+BZUFy83RY4ZWUiFKeG/b+9qr/a7SMx/9Ro+8UubSDGTIDBHFcN7 qKCbTB16IR1cRffGe025NhUgbaWsn9e0gi0A6GB03quQ3dgpk8vtGFLNkQr+HrUMgIAG Y2ht8YGY9UgVj9bRG+Ph9u1VzEnG0BOqpcBrIMM5g3z6C9ON72IFllHAZ/fyb86acu1a Fav5ZrR1k6PJH5z3QsUJ3dY6q+s0hA4o79CZqnF7EGEpMdtj55JArQBWqOG23pbil8tR NcTfE+8HvB9mK4xRb5RhP4E2EKlUcHUURUSJvDan/aY3xXRbzy8EaUCJZE0dziBeurcS Jgig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753964694; x=1754569494; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=u+AToT976oTprX37SYOE+qDsua+BzFJg9f1qT1iu+OI=; b=tB6uLN2T9rJqXG22UnxM8VPXWsUbdaShGuheZolUuw8m5vCseY09hYBjTw3D4ZdpPf 4GPbo+6tNX31UtZSG9aKDl3jy+KwyKOtE4aF8R4I7kbyyXPwUYZ9GEUSVQod3Q6tAsBY ZY0aWORDj5Dd9cRAdbAj6wNi39mt8w6Bylkqz7EtHFtdnOx+CfjqgA0s4NRLf63Abbir aXNMJi+A7tmxfh4K/3K27lxKeLVFcmAcnCBnF7Q1ANse/NrP28hFXI5UjnPxq+XLcjmi 6xHLhOHhG9rruzMoqBEKjiPXyNUp6fVYFq3WBYk2jNmpygah1H40IWd/5nfgEH7fP+5d 3BrQ== X-Forwarded-Encrypted: i=1; AJvYcCVpxzMHfNnB4lMgkn/G2JXgLr0tpWzipdxIHbzzWFRBdVz5kBmDlR0SbocLVpPi5eito0k7AUcZM2IJwX8=@vger.kernel.org X-Gm-Message-State: AOJu0YxAxL4Cd4dMHAiGvU8bspI+gpeLR+hofdUMBT3v43BuOm2q/Y/k 0MnxLTthJ7FT+Nq9LjO1oGkkapR4NvhNedO53dYzUzpj7Xd3AEr8YBIG/TIVXgHWmvQ= X-Gm-Gg: ASbGnctJCagAIO+5ifJYXj2wMWKUCLIniRDHKa2w2Lwu+j7IsVirgCoCBGyOpebQrEm FCzmhnA3ncheQYxn2iQ/tCMiNmfAwTPZOu6T+i2BgoW8iJD6Aggcp183WowsvQbbGrmz/cvOEZT frR0NQt0aPPDMczKYTqOkkVGVnF09moa/UISBZciq8fnfcU9h0FvKe5YixmrsPchUibupfiKdJh G5sCxPdWUpIGKhu/FYiklmhs/byymAk9Wz362K7bmrVJocberwvRABUsWyDhlVZDAjKpUBh9YuY 6qdfrUgen+FnUVFOQwg1+dQ9ta5yzHr7v58EOyRhNkU85+FTDiQP8wEAUpPNDgvzXTVlBsUvIGS Vojmd2Oux/P684iGL1LXQhuD4h8/oUB141WpZYrA= X-Google-Smtp-Source: AGHT+IESAHQC+ykUTh0duIW3JXCCP+0NnteNk5su7zlOXc8d9NMsI25MdmaiB9Di0GvN0Hzl3QMVdQ== X-Received: by 2002:a05:600c:1d98:b0:442:e608:12a6 with SMTP id 5b1f17b1804b1-45892be8c50mr29067995e9.1.1753964693730; Thu, 31 Jul 2025 05:24:53 -0700 (PDT) Received: from localhost ([2a02:8308:a00c:e200:d2c3:7f6:d08a:bcdf]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-458a7dd8cdesm2279175e9.19.2025.07.31.05.24.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 31 Jul 2025 05:24:53 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 31 Jul 2025 14:24:52 +0200 Message-Id: Subject: Re: [PATCH] riscv: Add sysctl to control discard of vstate during syscall Cc: , "Bjorn Topel" , "Alexandre Ghiti" , "Paul Walmsley" , , , , "Conor Dooley" , , , To: "Palmer Dabbelt" From: =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= References: In-Reply-To: 2025-07-30T18:05:59-07:00, Palmer Dabbelt : > On Mon, 21 Jul 2025 07:54:25 PDT (-0700), rkrcmar@ventanamicro.com wrote: >> 2025-07-21T14:35:38+02:00, Radim Kr=C4=8Dm=C3=A1=C5=99 : >>> Shouldn't the RISC-V Linux syscall ABI be defined somewhere? >> >> To clarify this point. My issue is with the following part in >> Documentation/arch/riscv/vector.rst: >> >>>> As indicated by version 1.0 of the V extension [1], vector registers = are >>>> clobbered by system calls. >>>> [...] >>>> 1: https://github.com/riscv/riscv-v-spec/blob/master/calling-conventi= on.adoc >> >> The ISA does not say that vector registers are clobbered by system >> calls. All the ISA says is: >> >> "This Appendix is only a placeholder to help explain the conventions >> used in the code examples, and is not considered frozen or >> part of the ratification process. The official RISC-V psABI document >> is being expanded to specify the vector calling conventions." > > It also says > > Executing a system call causes all caller-saved vector registers=20 > (v0-v31, vl, vtype) and vstart to become unspecied. > > in the ISA manual, a few sentences later in that page. It also says Most OSes will choose to either leave these registers intact or reset them to their initial state to avoid leaking information across process boundaries. Both options make sense, but we're not doing either. > So that's what=20 > we were trying to get at with the documentation pointer, but maybe it's= =20 > better to have something more explicit like > > diff --git a/Documentation/arch/riscv/vector.rst b/Documentation/arch= /riscv/vector.rst > index 3987f5f76a9d..e8591660a7bb 100644 > --- a/Documentation/arch/riscv/vector.rst > +++ b/Documentation/arch/riscv/vector.rst > @@ -134,7 +134,10 @@ processes in form of sysctl knob: > 3. Vector Register State Across System Calls > --------------------------------------------- > =20 > -As indicated by version 1.0 of the V extension [1], vector registers= are > -clobbered by system calls. > +Linux adopts the syscall ABI proposed by version 1.0 of the V exten= sion [1], The whole section is just a non-normative convention for its own code examples, so I wouldn't say the V extension proposed it for anyone. We can just say what Linux does without referencing anything, because nothing tells Linux what to do. > +where vector registers are clobbered by system calls. Specifically > + > + Executing a system call causes all caller-saved vector registers > + (v0-v31, vl, vtype) and vstart to become unspecied. We still need to define which registers are caller-saved. No vector registers are preserved in the current syscall ABI, so I'd just omit "caller-saved", to define that all vector registers become unspecified. > 1: https://github.com/riscv/riscv-v-spec/blob/master/calling-convent= ion.adoc > >> while the RISC-V psABI says: >> >> "The calling convention for system calls does not fall within the >> scope of this document. Please refer to the documentation of the >> RISC-V execution environment interface (e.g OS kernel ABI, SBI)." >> >> We made a circular dependency, misinterpreted the ISA, and probably >> implemented a suboptimal syscall ABI -- preserving vector registers >> seems strictly better. > > We'd really need userspace to have an ABI that preserves vector=20 > registers for it to be useful in the kernel. I don't really like over-catering to the standard psABI -- it's a relic of simpler times, and I hope programs will eventually be freed of it. > As it stands there's=20 > pretty much nothing that's going to have useful vector state over a=20 > syscall, as they're almost always hidden behind some C function and=20 > those clobber the vector state. Userspace doesn't even have to carry vector state over syscall -- just using vector, doing syscall, using other vector, doing syscall is hindered by the current design, because each syscall has to touch vector registers for not good reason. > I have a patch out for GCC that enables= =20 > a system-wide vector ABI, but I don't have time to test/benchmark it so= =20 > it's kind of hard to justify. You mean enabling the alternative psABI for vectors? https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/712449f8efcf6b3ac= d9e2a2a7ddfe89486317877/riscv-cc.adoc#calling-convention-variant > That said: > > My first guess here would be that trashing the V register=20 > state is still faster on the machines that triggered this patch, it's=20 > just that the way we're trashing it is slow. We're doing some wacky=20 > things in there (VILL, LMUL, clearing to -1), so it's not surprising=20 > that some implementations are slow on these routines. I am afraid we might end up with a commmandline, DT, or mvendorid+marchid+mimpid hint to pick the best method at runtime, or boot time benchmarking in case it's not even known. > This came up during the original patch and we decided to just go with=20 > this way (which is recommended by the ISA) until someone could=20 > demonstrate it's slow, so sounds like it's time to go revisit those. =20 > > So I'd start with something like > > diff --git a/arch/riscv/include/asm/vector.h b/arch/riscv/include/asm= /vector.h > index b61786d43c20..1fba33e62d2b 100644 > --- a/arch/riscv/include/asm/vector.h > +++ b/arch/riscv/include/asm/vector.h > @@ -287,7 +287,6 @@ static inline void __riscv_v_vstate_discard(void) > "vmv.v.i v8, -1\n\t" > "vmv.v.i v16, -1\n\t" > "vmv.v.i v24, -1\n\t" > - "vsetvl %0, x0, %1\n\t" > ".option pop\n\t" > : "=3D&r" (vl) : "r" (vtype_inval)); > > to try and see if we're tripping over bad implementation behavior, in=20 > which case we can just hide this all in the kernel. Then we can split=20 > out these performance issues from other things like lazy save/restore=20 > and a V-preserving uABI, as it stands this is all sort of getting mixed= =20 > up. Yeah, the discussion got a bit out of hand. I don't see much point in doing minor changes to the current design, as it isn't anywhere near the Pareto front. If we want to touch vectors on syscalls, I think it makes sense to start with Vivian's proposal -- eagerly initializing vectors in syscalls provides at least some advantage when eventually doing a context switch. (If the performance is still bad, then we can initialize lazily on vector restore, which should be optimal for everything except programs that want to preserve vectors across syscalls.) >>> How come we could have broken it with 9657e9b7d253? >> >> We changed the ABI once, so maybe we can change it back? > > We didn't change the ABI, the documentation always said "vector registers= are > clobbered by system calls". My bad, I didn't see the patch went in with the initial version, thanks.