[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOUHufbik3N9+K78=yGMZyERfD2o1o3kNgVoR73qKxWyQ2_3VQ@mail.gmail.com>
Date: Thu, 8 Jun 2023 16:13:44 -0600
From: Yu Zhao <yuzhao@...gle.com>
To: Chun-Tse Shao <ctshao@...gle.com>
Cc: linux-kernel@...r.kernel.org, oliver.upton@...ux.dev,
Marc Zyngier <maz@...nel.org>,
James Morse <james.morse@....com>,
Suzuki K Poulose <suzuki.poulose@....com>,
Zenghui Yu <yuzenghui@...wei.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, Ben Gardon <bgardon@...gle.com>,
Gavin Shan <gshan@...hat.com>,
linux-arm-kernel@...ts.infradead.org, kvmarm@...ts.linux.dev
Subject: Re: [PATCH v1 1/3] KVM: arm64: Consistently use free_removed_table()
for stage-2
On Thu, Jun 8, 2023 at 4:06 PM Chun-Tse Shao <ctshao@...gle.com> wrote:
>
> From: Oliver Upton <oliver.upton@...ux.dev>
>
> free_removed_table() is essential to the RCU-protected parallel walking
> scheme, as behind the scenes the cleanup is deferred until an RCU grace
> period. Nonetheless, the stage-2 unmap path calls put_page() directly,
> which leads to table memory being freed inline with the table walk.
>
> This is safe for the time being, as the stage-2 unmap walker is called
> while holding the write lock. A future change to KVM will further relax
> the locking mechanics around the stage-2 page tables to allow lock-free
> walkers protected only by RCU. As such, switch to the RCU-safe mechanism
> for freeing table memory.
>
> Signed-off-by: Oliver Upton <oliver.upton@...ux.dev>
> Signed-off-by: Chun-Tse Shao <ctshao@...gle.com>
Acked-by: Yu Zhao <yuzhao@...gle.com>
Powered by blists - more mailing lists