From nobody Sun Feb 8 06:49:47 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A51FC77B7A for ; Mon, 12 Jun 2023 03:08:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234321AbjFLDI1 (ORCPT ); Sun, 11 Jun 2023 23:08:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233094AbjFLDIR (ORCPT ); Sun, 11 Jun 2023 23:08:17 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70AB4E5F; Sun, 11 Jun 2023 20:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=kYsaDINwgGyBkCQoDFNAkvO4v5df2UfOXAdRONE+VsA=; b=cuhGQNGphwJUwp0UMhVoYyu2tM H9F7lOZDO201p3qw3R1q8bQtHyuWu0Ww+eKkYHBp2SnCKuOjfD6kgi6m69yXk4p8uoAisA9qsHuMv NZ+EO4hMOMVyYXlSs63l3oG5dPiJ78trxjJexR5Sfy8VX8lTb2HSP6n5JCMPs1BrMk2t353Ht4z7y ajHHQh6qV3BcUH7Np9z/Hyh/VfcsEyJLb2dEfJQ7sbKUTpS2sgvFs+l5wj+LyR9ojtmX1GZtq1CuV 93PdN6DAikYuO8xL+WRqN403rR53yreatar8GTfojD5i+4Meicwk0sy7/jFlbJgYm2fwuoD1f6VgC oUxdexdQ==; Received: from [2601:1c2:980:9ec0::2764] (helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1q8Xuf-002P78-1j; Mon, 12 Jun 2023 03:08:13 +0000 From: Randy Dunlap To: linux-kernel@vger.kernel.org Cc: Randy Dunlap , Suraj Jitindar Singh , Paolo Bonzini , Sean Christopherson , kvm@vger.kernel.org, Jonathan Corbet , linux-doc@vger.kernel.org Subject: [PATCH 1/4] Documentation: KVM: make corrections to halt-polling.rst Date: Sun, 11 Jun 2023 20:08:07 -0700 Message-ID: <20230612030810.23376-2-rdunlap@infradead.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230612030810.23376-1-rdunlap@infradead.org> References: <20230612030810.23376-1-rdunlap@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Module parameters are in sysfs, not debugfs, so change that. Remove superfluous "that" following "Note:". Hyphenate "system-wide" values. Hyphenate "trade-off". Don't treat "denial of service" as a verb. Signed-off-by: Randy Dunlap Cc: Suraj Jitindar Singh Cc: Paolo Bonzini Cc: Sean Christopherson Cc: kvm@vger.kernel.org Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org --- Documentation/virt/kvm/halt-polling.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff -- a/Documentation/virt/kvm/halt-polling.rst b/Documentation/virt/kvm/= halt-polling.rst --- a/Documentation/virt/kvm/halt-polling.rst +++ b/Documentation/virt/kvm/halt-polling.rst @@ -112,11 +112,11 @@ powerpc kvm-hv case. | | function. | | +-----------------------+---------------------------+---------------------= ----+ =20 -These module parameters can be set from the debugfs files in: +These module parameters can be set from the sysfs files in: =20 /sys/module/kvm/parameters/ =20 -Note: that these module parameters are system wide values and are not able= to +Note: these module parameters are system-wide values and are not able to be tuned on a per vm basis. =20 Any changes to these parameters will be picked up by new and existing vCPU= s the @@ -142,12 +142,12 @@ Further Notes global max polling interval (halt_poll_ns) then the host will always pol= l for the entire block time and thus cpu utilisation will go to 100%. =20 -- Halt polling essentially presents a trade off between power usage and la= tency and +- Halt polling essentially presents a trade-off between power usage and la= tency and the module parameters should be used to tune the affinity for this. Idle= cpu time is essentially converted to host kernel time with the aim of decreasing lat= ency when entering the guest. =20 - Halt polling will only be conducted by the host when no other tasks are = runnable on that cpu, otherwise the polling will cease immediately and schedule will= be invoked to - allow that other task to run. Thus this doesn't allow a guest to denial = of service the - cpu. + allow that other task to run. Thus this doesn't allow a guest to cause d= enial of service + of the cpu. From nobody Sun Feb 8 06:49:47 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D093CC7EE23 for ; Mon, 12 Jun 2023 03:08:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234363AbjFLDIj (ORCPT ); Sun, 11 Jun 2023 23:08:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233318AbjFLDIR (ORCPT ); Sun, 11 Jun 2023 23:08:17 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 710E3E62; Sun, 11 Jun 2023 20:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=V5veyfA2KKdGawPZUrWbJWEmsvc+vf30GCw8DAtjIos=; b=TIJfE/QEphsK3LIjhTNK9jlRrX 6NYuvunBk9ad9NfKeNCIe6/RAC6TibowZIQY48PJD5w/2wBTDwN4lwlOJvBktSMhd/66Hk9opcrQw z59i0BVg4wz10n5LG8CgzJoMpCoSJZ46xHtOXQG08brjfmJ9YcY6avmP2RuQewetROFQsf8kzuu36 ouySaslQkrvCrEhhPAwch4C2N96DIp0Rnzgce2zIgmz5EOVtCuSJtzYNz+0t7AtW05wc93y/wYTll foJ+dUGzsmMBM95sJ+YBh0niUUJUNun/XYLt2b04ls3Qalu2r8jSXONQYlMVxDuIL6Tx3fGLbm/Q6 L78Qwgqw==; Received: from [2601:1c2:980:9ec0::2764] (helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1q8Xuf-002P78-34; Mon, 12 Jun 2023 03:08:14 +0000 From: Randy Dunlap To: linux-kernel@vger.kernel.org Cc: Randy Dunlap , Sean Christopherson , Paolo Bonzini , kvm@vger.kernel.org, Jonathan Corbet , linux-doc@vger.kernel.org Subject: [PATCH 2/4] Documentation: KVM: make corrections to locking.rst Date: Sun, 11 Jun 2023 20:08:08 -0700 Message-ID: <20230612030810.23376-3-rdunlap@infradead.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230612030810.23376-1-rdunlap@infradead.org> References: <20230612030810.23376-1-rdunlap@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Correct grammar and punctuation. Use "read-only" for consistency. Signed-off-by: Randy Dunlap Cc: Sean Christopherson Cc: Paolo Bonzini Cc: kvm@vger.kernel.org Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org --- Q: What is spte.HOST_WRITEABLE supposed to be? It is not used anywhere else in the kernel source tree. Documentation/virt/kvm/locking.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff -- a/Documentation/virt/kvm/locking.rst b/Documentation/virt/kvm/locki= ng.rst --- a/Documentation/virt/kvm/locking.rst +++ b/Documentation/virt/kvm/locking.rst @@ -67,7 +67,7 @@ following two cases: 2. Write-Protection: The SPTE is present and the fault is caused by write-protect. That means we just need to change the W bit of the spte. =20 -What we use to avoid all the race is the Host-writable bit and MMU-writabl= e bit +What we use to avoid all the races is the Host-writable bit and MMU-writab= le bit on the spte: =20 - Host-writable means the gfn is writable in the host kernel page tables a= nd in @@ -130,7 +130,7 @@ to gfn. For indirect sp, we disabled fa A solution for indirect sp could be to pin the gfn, for example via kvm_vcpu_gfn_to_pfn_atomic, before the cmpxchg. After the pinning: =20 -- We have held the refcount of pfn that means the pfn can not be freed and +- We have held the refcount of pfn; that means the pfn can not be freed and be reused for another gfn. - The pfn is writable and therefore it cannot be shared between different = gfns by KSM. @@ -186,22 +186,22 @@ writable between reading spte and updati The Dirty bit is lost in this case. =20 In order to avoid this kind of issue, we always treat the spte as "volatil= e" -if it can be updated out of mmu-lock, see spte_has_volatile_bits(), it mea= ns, +if it can be updated out of mmu-lock [see spte_has_volatile_bits()]; it me= ans the spte is always atomically updated in this case. =20 3) flush tlbs due to spte updated =20 -If the spte is updated from writable to readonly, we should flush all TLBs, +If the spte is updated from writable to read-only, we should flush all TLB= s, otherwise rmap_write_protect will find a read-only spte, even though the writable spte might be cached on a CPU's TLB. =20 As mentioned before, the spte can be updated to writable out of mmu-lock on -fast page fault path, in order to easily audit the path, we see if TLBs ne= ed -be flushed caused by this reason in mmu_spte_update() since this is a comm= on +fast page fault path. In order to easily audit the path, we see if TLBs ne= eding +to be flushed caused this reason in mmu_spte_update() since this is a comm= on function to update spte (present -> present). =20 Since the spte is "volatile" if it can be updated out of mmu-lock, we alwa= ys -atomically update the spte, the race caused by fast page fault can be avoi= ded, +atomically update the spte and the race caused by fast page fault can be a= voided. See the comments in spte_has_volatile_bits() and mmu_spte_update(). =20 Lockless Access Tracking: @@ -283,9 +283,9 @@ time it will be set using the Dirty trac :Arch: x86 :Protects: wakeup_vcpus_on_cpu :Comment: This is a per-CPU lock and it is used for VT-d posted-interrupts. - When VT-d posted-interrupts is supported and the VM has assigned + When VT-d posted-interrupts are supported and the VM has assigned devices, we put the blocked vCPU on the list blocked_vcpu_on_cpu - protected by blocked_vcpu_on_cpu_lock, when VT-d hardware issues + protected by blocked_vcpu_on_cpu_lock. When VT-d hardware issues wakeup notification event since external interrupts from the assigned devices happens, we will find the vCPU on the list to wakeup. From nobody Sun Feb 8 06:49:47 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5CAAFC77B7A for ; Mon, 12 Jun 2023 03:08:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234274AbjFLDIq (ORCPT ); Sun, 11 Jun 2023 23:08:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233497AbjFLDIR (ORCPT ); Sun, 11 Jun 2023 23:08:17 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B90B3E63; Sun, 11 Jun 2023 20:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=FhgBJ6qPJJSAgmnpesfTh4Obq9q8c5qykQgTTJwa4a0=; b=RLTfSAUxEScxwkSLdojIsTYxp9 zTd8cESj3uhLnFAv2s8sSZZln6PNf43BinTkjGB8r+KeQCy8lSCy3DxgOkEIS+IN7FF6alJPVqlGM 5fWeR1kP0QlrNj6oiIMrlGe3krvNS1NtRnKtaLp0daOg0F429rTk87bftA/fraJhS3oELVl7heOEa t5HD0WdCZK5gK+aP3zgk8XLuQEZ3g0/ffoyUppr5iOmkiF+4YF11IwNAqpNBME4ynvqU5iSSSHDS6 PnRzeSccYxxW6F8ViXsPKKVWHQMKybjGwo/FJK70eLaE/mQpxa0vYXqqMENkO71slLppzQrGtU1vL C71/UKfQ==; Received: from [2601:1c2:980:9ec0::2764] (helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1q8Xug-002P78-1C; Mon, 12 Jun 2023 03:08:14 +0000 From: Randy Dunlap To: linux-kernel@vger.kernel.org Cc: Randy Dunlap , Paolo Bonzini , Sean Christopherson , kvm@vger.kernel.org, Alexander Graf , Jonathan Corbet , linux-doc@vger.kernel.org Subject: [PATCH 3/4] Documentation: KVM: make corrections to ppc-pv.rst Date: Sun, 11 Jun 2023 20:08:09 -0700 Message-ID: <20230612030810.23376-4-rdunlap@infradead.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230612030810.23376-1-rdunlap@infradead.org> References: <20230612030810.23376-1-rdunlap@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Correct the path of a header file. Change "guest to ... guest" to "guest to ... host" in one place. Hyphenate "32-bit" systems. Add a comma at one parenthetical phrase. Signed-off-by: Randy Dunlap Cc: Paolo Bonzini Cc: Sean Christopherson Cc: kvm@vger.kernel.org Cc: Alexander Graf Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org --- Documentation/virt/kvm/ppc-pv.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff -- a/Documentation/virt/kvm/ppc-pv.rst b/Documentation/virt/kvm/ppc-pv= .rst --- a/Documentation/virt/kvm/ppc-pv.rst +++ b/Documentation/virt/kvm/ppc-pv.rst @@ -89,7 +89,7 @@ also define a new hypercall feature to i registers. Only if the host supports the additional features, make use of = them. =20 The magic page layout is described by struct kvm_vcpu_arch_shared -in arch/powerpc/include/asm/kvm_para.h. +in arch/powerpc/include/uapi/asm/kvm_para.h. =20 Magic page features =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D @@ -112,7 +112,7 @@ Magic page flags =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 In addition to features that indicate whether a host is capable of a parti= cular -feature we also have a channel for a guest to tell the guest whether it's = capable +feature we also have a channel for a guest to tell the host whether it's c= apable of something. This is what we call "flags". =20 Flags are passed to the host in the low 12 bits of the Effective Address. @@ -139,7 +139,7 @@ Patched instructions =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 The "ld" and "std" instructions are transformed to "lwz" and "stw" instruc= tions -respectively on 32 bit systems with an added offset of 4 to accommodate fo= r big +respectively on 32-bit systems with an added offset of 4 to accommodate fo= r big endianness. =20 The following is a list of mapping the Linux kernel performs when running = as @@ -210,7 +210,7 @@ available on all targets. 2) PAPR hypercalls =20 PAPR hypercalls are needed to run server PowerPC PAPR guests (-M pseries i= n QEMU). -These are the same hypercalls that pHyp, the POWER hypervisor implements. = Some of +These are the same hypercalls that pHyp, the POWER hypervisor, implements.= Some of them are handled in the kernel, some are handled in user space. This is on= ly available on book3s_64. From nobody Sun Feb 8 06:49:47 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1EC47C77B7A for ; Mon, 12 Jun 2023 03:08:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234416AbjFLDIv (ORCPT ); Sun, 11 Jun 2023 23:08:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233567AbjFLDIR (ORCPT ); Sun, 11 Jun 2023 23:08:17 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3C9C9E68; Sun, 11 Jun 2023 20:08:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=fOE6Ra8njD0psF8yweu+6OMqM09Aiea1FRmZ+yo9rtc=; b=LZsIqmVCqBomAQFE39iASpfFOt CM38Ky0Ly+ZCS3U2b0+G7kY6yDed/sgKixwmb66WOEZ/mtIUIuteGq1QXzuvUPi6ocyhXWwd1MjKn p+3o6x4wA7zkGWFjGGqZ/b66SZBJUiiWme3MPXPsuop5bl9VqA3N5jfnFRJSaB8PQi0DhIWUq7uak KYL6owcb0nwL5wkTT10qvsYRKyoknOs+huuLmrPdOmnjMAquvXrXMcdRBIgH0jCZS5P4MJuaP/Vr6 NFhwJQYO9IinRb2Id/Yi7cgwDjMs1fIHKAFwClHuPUDaxTPrkFfjTGJnzFGKbd7jG7PvaxDS75lcC 9qHE2iMA==; Received: from [2601:1c2:980:9ec0::2764] (helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1q8Xug-002P78-2c; Mon, 12 Jun 2023 03:08:14 +0000 From: Randy Dunlap To: linux-kernel@vger.kernel.org Cc: Randy Dunlap , Paolo Bonzini , Sean Christopherson , Andrew Jones , Christoffer Dall , kvm@vger.kernel.org, Jonathan Corbet , linux-doc@vger.kernel.org Subject: [PATCH 4/4] Documentation: KVM: make corrections to vcpu-requests.rst Date: Sun, 11 Jun 2023 20:08:10 -0700 Message-ID: <20230612030810.23376-5-rdunlap@infradead.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230612030810.23376-1-rdunlap@infradead.org> References: <20230612030810.23376-1-rdunlap@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Make corrections to punctuation and grammar. Signed-off-by: Randy Dunlap Cc: Paolo Bonzini Cc: Sean Christopherson Cc: Andrew Jones Cc: Christoffer Dall Cc: kvm@vger.kernel.org Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org --- Documentation/virt/kvm/vcpu-requests.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff -- a/Documentation/virt/kvm/vcpu-requests.rst b/Documentation/virt/kvm= /vcpu-requests.rst --- a/Documentation/virt/kvm/vcpu-requests.rst +++ b/Documentation/virt/kvm/vcpu-requests.rst @@ -101,7 +101,7 @@ also be used, e.g. :: =20 However, VCPU request users should refrain from doing so, as it would break the abstraction. The first 8 bits are reserved for architecture -independent requests, all additional bits are available for architecture +independent requests; all additional bits are available for architecture dependent requests. =20 Architecture Independent Requests @@ -151,8 +151,8 @@ KVM_REQUEST_NO_WAKEUP =20 This flag is applied to requests that only need immediate attention from VCPUs running in guest mode. That is, sleeping VCPUs do not need - to be awaken for these requests. Sleeping VCPUs will handle the - requests when they are awaken later for some other reason. + to be awakened for these requests. Sleeping VCPUs will handle the + requests when they are awakened later for some other reason. =20 KVM_REQUEST_WAIT