Re: [PATCH v4 0/8] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag
On Tue, Jan 26, 2021 at 03:28:22PM -0800, Hugh Dickins wrote: > On Tue, 26 Jan 2021, Will Deacon wrote: > > On Wed, Jan 20, 2021 at 05:36:04PM +, Will Deacon wrote: > > > Hi all, > > > > > > This is version four of the patches I previously posted here: > > > > > > v1: https://lore.kernel.org/r/20201209163950.8494-1-w...@kernel.org > > > v2: https://lore.kernel.org/r/20210108171517.5290-1-w...@kernel.org > > > v3: https://lore.kernel.org/r/20210114175934.13070-1-w...@kernel.org > > > > > > The patches allow architectures to opt-in at runtime for faultaround > > > mappings to be created as 'old' instead of 'young'. Although there have > > > been previous attempts at this, they failed either because the decision > > > was deferred to userspace [1] or because it was done unconditionally and > > > shown to regress benchmarks for particular architectures [2]. > > > > > > The big change since v3 is that the immutable fields of 'struct vm_fault' > > > now live in a 'const' anonymous struct. Although Clang will silently > > > accept modifications to these fields [3], GCC emits an error. The > > > resulting diffstat is _considerably_ more manageable with this approach. > > > > The only changes I have pending against this series are cosmetic (commit > > logs). Can I go ahead and queue this in the arm64 tree so that it can sit > > in linux-next for a bit? (positive or negative feedback appreciated!). > > That would be fine by me: I ran v3 on rc3, then the nicer smaller v4 > on rc4, and saw no problems when running either of them (x86_64 only). Thanks, Hugh. I'll stick these into -next later today and we'll see how we get on. Will
Re: [PATCH v4 0/8] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag
On Wed, Jan 20, 2021 at 05:36:04PM +, Will Deacon wrote: > Hi all, > > This is version four of the patches I previously posted here: > > v1: https://lore.kernel.org/r/20201209163950.8494-1-w...@kernel.org > v2: https://lore.kernel.org/r/20210108171517.5290-1-w...@kernel.org > v3: https://lore.kernel.org/r/20210114175934.13070-1-w...@kernel.org > > The patches allow architectures to opt-in at runtime for faultaround > mappings to be created as 'old' instead of 'young'. Although there have > been previous attempts at this, they failed either because the decision > was deferred to userspace [1] or because it was done unconditionally and > shown to regress benchmarks for particular architectures [2]. > > The big change since v3 is that the immutable fields of 'struct vm_fault' > now live in a 'const' anonymous struct. Although Clang will silently > accept modifications to these fields [3], GCC emits an error. The > resulting diffstat is _considerably_ more manageable with this approach. The only changes I have pending against this series are cosmetic (commit logs). Can I go ahead and queue this in the arm64 tree so that it can sit in linux-next for a bit? (positive or negative feedback appreciated!). Thanks, Will
Re: [PATCH v4 0/8] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag
On Tue, 26 Jan 2021, Will Deacon wrote: > On Wed, Jan 20, 2021 at 05:36:04PM +, Will Deacon wrote: > > Hi all, > > > > This is version four of the patches I previously posted here: > > > > v1: https://lore.kernel.org/r/20201209163950.8494-1-w...@kernel.org > > v2: https://lore.kernel.org/r/20210108171517.5290-1-w...@kernel.org > > v3: https://lore.kernel.org/r/20210114175934.13070-1-w...@kernel.org > > > > The patches allow architectures to opt-in at runtime for faultaround > > mappings to be created as 'old' instead of 'young'. Although there have > > been previous attempts at this, they failed either because the decision > > was deferred to userspace [1] or because it was done unconditionally and > > shown to regress benchmarks for particular architectures [2]. > > > > The big change since v3 is that the immutable fields of 'struct vm_fault' > > now live in a 'const' anonymous struct. Although Clang will silently > > accept modifications to these fields [3], GCC emits an error. The > > resulting diffstat is _considerably_ more manageable with this approach. > > The only changes I have pending against this series are cosmetic (commit > logs). Can I go ahead and queue this in the arm64 tree so that it can sit > in linux-next for a bit? (positive or negative feedback appreciated!). That would be fine by me: I ran v3 on rc3, then the nicer smaller v4 on rc4, and saw no problems when running either of them (x86_64 only). Hugh