[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DB7PR08MB3082F91F6502337231EDC63FF7840@DB7PR08MB3082.eurprd08.prod.outlook.com>
Date: Tue, 24 Sep 2019 02:17:49 +0000
From: "Justin He (Arm Technology China)" <Justin.He@....com>
To: Catalin Marinas <Catalin.Marinas@....com>
CC: Will Deacon <will@...nel.org>, Mark Rutland <Mark.Rutland@....com>,
James Morse <James.Morse@....com>,
Marc Zyngier <maz@...nel.org>,
Matthew Wilcox <willy@...radead.org>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
Suzuki Poulose <Suzuki.Poulose@....com>,
Punit Agrawal <punitagrawal@...il.com>,
Anshuman Khandual <Anshuman.Khandual@....com>,
Alex Van Brunt <avanbrunt@...dia.com>,
Robin Murphy <Robin.Murphy@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Jérôme Glisse <jglisse@...hat.com>,
Ralph Campbell <rcampbell@...dia.com>,
"hejianet@...il.com" <hejianet@...il.com>,
"Kaly Xin (Arm Technology China)" <Kaly.Xin@....com>,
nd <nd@....com>
Subject: RE: [PATCH v8 2/3] arm64: mm: implement arch_faults_on_old_pte() on
arm64
> -----Original Message-----
> From: Catalin Marinas <catalin.marinas@....com>
> Sent: 2019年9月24日 0:18
> To: Justin He (Arm Technology China) <Justin.He@....com>
> Cc: Will Deacon <will@...nel.org>; Mark Rutland
> <Mark.Rutland@....com>; James Morse <James.Morse@....com>; Marc
> Zyngier <maz@...nel.org>; Matthew Wilcox <willy@...radead.org>; Kirill A.
> Shutemov <kirill.shutemov@...ux.intel.com>; linux-arm-
> kernel@...ts.infradead.org; linux-kernel@...r.kernel.org; linux-
> mm@...ck.org; Suzuki Poulose <Suzuki.Poulose@....com>; Punit
> Agrawal <punitagrawal@...il.com>; Anshuman Khandual
> <Anshuman.Khandual@....com>; Alex Van Brunt
> <avanbrunt@...dia.com>; Robin Murphy <Robin.Murphy@....com>;
> Thomas Gleixner <tglx@...utronix.de>; Andrew Morton <akpm@...ux-
> foundation.org>; Jérôme Glisse <jglisse@...hat.com>; Ralph Campbell
> <rcampbell@...dia.com>; hejianet@...il.com; Kaly Xin (Arm Technology
> China) <Kaly.Xin@....com>; nd <nd@....com>
> Subject: Re: [PATCH v8 2/3] arm64: mm: implement
> arch_faults_on_old_pte() on arm64
>
> On Sat, Sep 21, 2019 at 09:50:53PM +0800, Jia He wrote:
> > diff --git a/arch/arm64/include/asm/pgtable.h
> b/arch/arm64/include/asm/pgtable.h
> > index e09760ece844..4a9939615e41 100644
> > --- a/arch/arm64/include/asm/pgtable.h
> > +++ b/arch/arm64/include/asm/pgtable.h
> > @@ -868,6 +868,18 @@ static inline void update_mmu_cache(struct
> vm_area_struct *vma,
> > #define phys_to_ttbr(addr) (addr)
> > #endif
> >
> > +/*
> > + * On arm64 without hardware Access Flag, copying fromuser will fail
> because
> ^^^^^^^^
> from user
>
Ok
> > + * the pte is old and cannot be marked young. So we always end up with
> zeroed
> > + * page after fork() + CoW for pfn mappings. we don't always have a
> ^^
> We
>
Ok
> > + * hardware-managed access flag on arm64.
> > + */
> > +static inline bool arch_faults_on_old_pte(void)
> > +{
> > + return !cpu_has_hw_af();
>
> I saw an early incarnation of your patch having a
> WARN_ON(preemptible()). I think we need this back just in case this
> function will be used elsewhere in the future.
Okay
--
Cheers,
Justin (Jia He)
>
> > +}
> > +#define arch_faults_on_old_pte arch_faults_on_old_pte
>
> Otherwise,
>
> Reviewed-by: Catalin Marinas <catalin.marinas@....com>
Powered by blists - more mailing lists