From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) (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 ED63D21364 for ; Thu, 28 Mar 2024 01:58:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711591138; cv=none; b=BCqOfisBQeI7eA9EofxUvLoix/hFSoPRhCdbHksWG5r5XDbMfyhgz88YgMvZTd69Rr+FGacdwsmEOW0AO/NqdJww1GKKcNfj4u8MbxOfPWpYJJU6jaOC8kXIBPYK9h3y8mDeHHPwf2T3TrXVbjeOy4F1f52tsfkTo/jX7LmHKAg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711591138; c=relaxed/simple; bh=V+fLpm5BwwJrjo47+xE5Bs0hRX9SdNxiYZIHQUfxlJ0=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=ewpsMKtCJrMNyW0M0Z3/nD4ZlVgNLsDlPmd7AHa6k4Uduai9F7Bq/Twm1FFT3T2DBjRVBtTgTmQp9auYs6X1uEs+GCdt1XzWQt9+/+fu5HDjWFTUp4GssH6scEk/Q+y9iptat9D51+1ankIGWMelorpJUdpruQm7z5ke7pGynp0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com; spf=pass smtp.mailfrom=rivosinc.com; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b=QHkR7Hqv; arc=none smtp.client-ip=209.85.219.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b="QHkR7Hqv" Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-dcd7c526cc0so428552276.1 for ; Wed, 27 Mar 2024 18:58:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1711591136; x=1712195936; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ixVd6sHhRte5be07PDHwpHq0YTAzRJfXqkR9VbnbXt0=; b=QHkR7Hqv63dY018Mcrn1ZXAxEeU1PFlPbKCAKcWmJHQqXcbhx+BE5RupFp/pGoKa2+ 05ZJnCe7n95N2mooj80s7KgWKJFT11zoVaZblbEN9OSpaodpgMjx6GbZ/ibmIkBq7Zu1 e8/iKYEE4V7WVugDg0Jb/mVWGpg5KyQNW/XyTHJ0KGxc8w1sWI+hvRIKxd6r2CaJ6xUf L2uxWokBPS3DsIDiMINb/aIlF/5EpGRwZsSNbzx6Ss+EuEftv9Zpj+s3yZxK7B93KRgg SDFFAkYB5pVBCZxByJ2PTCsbsxk2a3Rw7FKWov8JOixzLV/zJEseXs3lxlYWr1eSj97e rXPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711591136; x=1712195936; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ixVd6sHhRte5be07PDHwpHq0YTAzRJfXqkR9VbnbXt0=; b=M4nDir+nIB2CvkM7xcF7DpwjlanHLPDv8WCpeXxsoCTgV3aTjctb3Ngldk1+FeJlGQ I5VL8IkDXTUapeK5roIbogi7yuzBdQ42jTyRrmSsKmqVUW/HyI4R1833KSnG1SqGddRV n0USF4ajxh7f8qR0SYsXmmO5thgUbLKyTBQMldUkoSTosDFQNxyjzeXKkrHft0/ST5DT qHVpCi0nLz9rWzvP+WRUyr34ehpFUvxoiJEzNVkoWvJTpLVqczSkAxEq1tw2GyezbDK8 FIpOUVG9HxiEzHgqvGrJk2x3KcSCOwD/NcpnTnGtl+P1srU104gC/ZvBWfOQrJNEoDnZ aIMg== X-Forwarded-Encrypted: i=1; AJvYcCUeDY9EfXVHi+pJLki6IJYSB4Gm7dxB5W2fRIQIV00GPejgjNI9NawHfPr9j27sdrsgsIHTCEdUnIZjfNHpdjuq9GdzYHN+fTuixlys X-Gm-Message-State: AOJu0YzHIvLSsR27IVo1KUK5AMsZwQcU18Di1StDuzI68x1eN5BsG/mw 8g9KGHd6URGaFH2/sKsWJmS9WEPbyeD/cO/7B2zTFJYJXMgqCQfOJph2FhnWmtkAJ+mK1cKeXA+ DGRhLPfBO791oZgT9SG2NjWFz6k7zgbjq+OZcdw== X-Google-Smtp-Source: AGHT+IFVk742SrsLxx/xN8qOIT0jNnA3IKiDDXlmlpeVRfNvYaVFpDTr5g+tJ4iscdYuJ4oZ7FJJqUipXvjVYpIdzJk= X-Received: by 2002:a25:860b:0:b0:dc6:9c51:760f with SMTP id y11-20020a25860b000000b00dc69c51760fmr1468859ybk.56.1711591135824; Wed, 27 Mar 2024 18:58:55 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240319215915.832127-1-samuel.holland@sifive.com> <20240319215915.832127-6-samuel.holland@sifive.com> <40ab1ce5-8700-4a63-b182-1e864f6c9225@sifive.com> In-Reply-To: <40ab1ce5-8700-4a63-b182-1e864f6c9225@sifive.com> From: Deepak Gupta Date: Wed, 27 Mar 2024 18:58:45 -0700 Message-ID: Subject: Re: [RISC-V] [tech-j-ext] [RFC PATCH 5/9] riscv: Split per-CPU and per-thread envcfg bits To: Samuel Holland Cc: Palmer Dabbelt , linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, Catalin Marinas , linux-kernel@vger.kernel.org, tech-j-ext@lists.risc-v.org, Conor Dooley , kasan-dev@googlegroups.com, Evgenii Stepanov , Krzysztof Kozlowski , Rob Herring , Andrew Jones , Guo Ren , Heiko Stuebner , Paul Walmsley Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 19, 2024 at 7:21=E2=80=AFPM Samuel Holland wrote: > > > else > > regs->status |=3D SR_UXL_64; > > #endif > > + current->thread_info.envcfg =3D ENVCFG_BASE; > > } > > > > And instead of context switching in `_switch_to`, > > In `entry.S` pick up `envcfg` from `thread_info` and write it into CSR. > > The immediate reason is that writing envcfg in ret_from_exception() adds = cycles > to every IRQ and system call exit, even though most of them will not chan= ge the > envcfg value. This is especially the case when returning from an IRQ/exce= ption > back to S-mode, since envcfg has zero effect there. > A quick observation: So I tried this on my setup. When I put `senvcfg` writes in `__switch_to ` path, qemu suddenly just tanks and takes a lot of time to boot up as opposed to when `senvcfg` was in trap return path. In my case entire userspace (all processes) have cfi enabled for them via `senvcfg` and it gets context switched. Not sure it's specific to my setup. I don't think it should be an issue on actual hardware. Still debugging why it slows down my qemu drastically when same writes to same CSR are moved from `ret_from_exception` to `switch_to` 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 44DBFC47DD9 for ; Thu, 28 Mar 2024 01:59:08 +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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TlwIDf9KR2LbjEeWDEBytYyPCa20114eTqPNEllqr34=; b=IiMA1zxG/2Cg2s AqGXdL/DtFuCfC+7SYGJXmK6IsXyZMKmKkUyKm7aCdlsyhMv/FO6Mc5I3qoQOpYaxsW9WGITfBfsL NHlhuTyGvZbc9OoZ0OAevEjpuMWvsWtttWkhTDeOT29cMt6JCU4EwMKb3qLlgPpU1BeBImAxEvW+Z wbU5g045Cs9enEFArvNAJSpoUwX7bkr1lEghm11arOD/3IhTZDZQmn1iZZAOWBfItSjEoAvl2848D feJ4aHdqqaVtAt+8MvLWfFfpKe4CpMLmFzaVlJ9eV5C2m+V/ULRgg4QYnQp/CLUAXj0PvS8lch/oo phv0A1cuLWBwLRgSH+tg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpf2k-0000000C1w5-05d4; Thu, 28 Mar 2024 01:59:02 +0000 Received: from mail-yb1-xb2e.google.com ([2607:f8b0:4864:20::b2e]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpf2g-0000000C1vS-16fT for linux-riscv@lists.infradead.org; Thu, 28 Mar 2024 01:59:00 +0000 Received: by mail-yb1-xb2e.google.com with SMTP id 3f1490d57ef6-dcbd1d4904dso441442276.3 for ; Wed, 27 Mar 2024 18:58:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1711591136; x=1712195936; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ixVd6sHhRte5be07PDHwpHq0YTAzRJfXqkR9VbnbXt0=; b=h/k7MqaYr1y9x2RbXfxUMYQQVSPiB8qyxV15g97sOWP4R3iH6tNjBpYMdEL5wBZt3w 1BIHxGDaVIyjeicyqYtYC6B/AQyhdGJ1Lti+9r7Z4jZf7+oborXK243wg7jhO32GOoof FlXxPwZg+Pk2XVmgRmXYdelkKCQo8Cswooagz360Y/v8ePYd7ewyLVCqK8Y1u5t3JQ+U 8Sm231Njc06914C2j1WNEumlm0fplv8U7D/B4uYPCfSpmgCZmaJnSTnUQkMVXZrQE707 1ie/aln5S4lcqF/VLvPrJsmlmqI0agd89MSCSjzTVPCQLQp7ZOmSpIhB2QHtsDe7AT+Q aDXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711591136; x=1712195936; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ixVd6sHhRte5be07PDHwpHq0YTAzRJfXqkR9VbnbXt0=; b=s9S2M1Go12WyEBmpPC9IJiRfbY9n2pHL6KHfx0DYS2SHi2trHbEqpVDmwOCOmpi8R8 tfRc5xTbpPZsSFk2yCYIwYxpgcGe5EJhwnimSAkUyrDQadV9up2aoBtiaJnCPHt4zSt3 ovNzdl0XwYCYkmfu/pRydPIx0Hw5Uga03omQAN0R9YQMOiggXitchqvaz8BPqvWbFUCf hdl09dJpWuK5rLfJXRDEWmpJuk43GG32nHKSPZNe4Ytycvh7Oj0Q8VlFJLsWJOrjVBsa zbQSemjFKurQ5jrHEqajLaLaxmiAtYl0jBXZgZKMy/5r13c/bqRABi4xsUPK8/as+dIS Qiow== X-Forwarded-Encrypted: i=1; AJvYcCUxL4w7sl2BpZECWde9WU8EOIVVlDbIZQmFCiu8GDg4z5RTnfhhB6s4V3qdbmbq7EGPifQZLd5pEhfpeIDL0vs9FGHy292uSH8vuJTY1PJe X-Gm-Message-State: AOJu0Yyx9EDevhtydxG7xStQHB0dFgXG/WYsGGwk7NaC8hN9ar0/cjML S+4+8PX6Qe+RuIq0lKXsuAaeh5GsHub2b++5bICX9eQg6k1ww06gTiPVNUmqZUdnyQfTu8KoyWB S3RvEKreB8efcJLO+EGxrsNh6riyUYDUxprM8VA== X-Google-Smtp-Source: AGHT+IFVk742SrsLxx/xN8qOIT0jNnA3IKiDDXlmlpeVRfNvYaVFpDTr5g+tJ4iscdYuJ4oZ7FJJqUipXvjVYpIdzJk= X-Received: by 2002:a25:860b:0:b0:dc6:9c51:760f with SMTP id y11-20020a25860b000000b00dc69c51760fmr1468859ybk.56.1711591135824; Wed, 27 Mar 2024 18:58:55 -0700 (PDT) MIME-Version: 1.0 References: <20240319215915.832127-1-samuel.holland@sifive.com> <20240319215915.832127-6-samuel.holland@sifive.com> <40ab1ce5-8700-4a63-b182-1e864f6c9225@sifive.com> In-Reply-To: <40ab1ce5-8700-4a63-b182-1e864f6c9225@sifive.com> From: Deepak Gupta Date: Wed, 27 Mar 2024 18:58:45 -0700 Message-ID: Subject: Re: [RISC-V] [tech-j-ext] [RFC PATCH 5/9] riscv: Split per-CPU and per-thread envcfg bits To: Samuel Holland Cc: Palmer Dabbelt , linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, Catalin Marinas , linux-kernel@vger.kernel.org, tech-j-ext@lists.risc-v.org, Conor Dooley , kasan-dev@googlegroups.com, Evgenii Stepanov , Krzysztof Kozlowski , Rob Herring , Andrew Jones , Guo Ren , Heiko Stuebner , Paul Walmsley X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240327_185858_527577_4E0CB0DB X-CRM114-Status: GOOD ( 13.54 ) 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 T24gVHVlLCBNYXIgMTksIDIwMjQgYXQgNzoyMeKAr1BNIFNhbXVlbCBIb2xsYW5kCjxzYW11ZWwu aG9sbGFuZEBzaWZpdmUuY29tPiB3cm90ZToKPgo+ID4gICAgICAgICBlbHNlCj4gPiAgICAgICAg ICAgICAgICAgcmVncy0+c3RhdHVzIHw9IFNSX1VYTF82NDsKPiA+ICAjZW5kaWYKPiA+ICsgICAg ICAgY3VycmVudC0+dGhyZWFkX2luZm8uZW52Y2ZnID0gRU5WQ0ZHX0JBU0U7Cj4gPiAgfQo+ID4K PiA+IEFuZCBpbnN0ZWFkIG9mIGNvbnRleHQgc3dpdGNoaW5nIGluIGBfc3dpdGNoX3RvYCwKPiA+ IEluIGBlbnRyeS5TYCBwaWNrIHVwIGBlbnZjZmdgIGZyb20gYHRocmVhZF9pbmZvYCBhbmQgd3Jp dGUgaXQgaW50byBDU1IuCj4KPiBUaGUgaW1tZWRpYXRlIHJlYXNvbiBpcyB0aGF0IHdyaXRpbmcg ZW52Y2ZnIGluIHJldF9mcm9tX2V4Y2VwdGlvbigpIGFkZHMgY3ljbGVzCj4gdG8gZXZlcnkgSVJR IGFuZCBzeXN0ZW0gY2FsbCBleGl0LCBldmVuIHRob3VnaCBtb3N0IG9mIHRoZW0gd2lsbCBub3Qg Y2hhbmdlIHRoZQo+IGVudmNmZyB2YWx1ZS4gVGhpcyBpcyBlc3BlY2lhbGx5IHRoZSBjYXNlIHdo ZW4gcmV0dXJuaW5nIGZyb20gYW4gSVJRL2V4Y2VwdGlvbgo+IGJhY2sgdG8gUy1tb2RlLCBzaW5j ZSBlbnZjZmcgaGFzIHplcm8gZWZmZWN0IHRoZXJlLgo+CgpBIHF1aWNrIG9ic2VydmF0aW9uOgpT byBJIHRyaWVkIHRoaXMgb24gbXkgc2V0dXAuIFdoZW4gSSBwdXQgYHNlbnZjZmdgIHdyaXRlcyBp bgpgX19zd2l0Y2hfdG8gYCBwYXRoLCBxZW11IHN1ZGRlbmx5Cmp1c3QgdGFua3MgYW5kIHRha2Vz IGEgbG90IG9mIHRpbWUgdG8gYm9vdCB1cCBhcyBvcHBvc2VkIHRvIHdoZW4KYHNlbnZjZmdgIHdh cyBpbiB0cmFwIHJldHVybiBwYXRoLgpJbiBteSBjYXNlIGVudGlyZSB1c2Vyc3BhY2UgKGFsbCBw cm9jZXNzZXMpIGhhdmUgY2ZpIGVuYWJsZWQgZm9yIHRoZW0KdmlhIGBzZW52Y2ZnYCBhbmQgaXQg Z2V0cwpjb250ZXh0IHN3aXRjaGVkLiBOb3Qgc3VyZSBpdCdzIHNwZWNpZmljIHRvIG15IHNldHVw LiBJIGRvbid0IHRoaW5rIGl0CnNob3VsZCBiZSBhbiBpc3N1ZSBvbiBhY3R1YWwKaGFyZHdhcmUu CgpTdGlsbCBkZWJ1Z2dpbmcgd2h5IGl0IHNsb3dzIGRvd24gbXkgcWVtdSBkcmFzdGljYWxseSB3 aGVuIHNhbWUgd3JpdGVzCnRvIHNhbWUgQ1NSCmFyZSBtb3ZlZCBmcm9tIGByZXRfZnJvbV9leGNl cHRpb25gIHRvIGBzd2l0Y2hfdG9gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LXJpc2N2Cg==