Re: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-24 Thread Catalin Marinas
On Tue, Sep 24, 2019 at 11:29:07PM +0800, Jia He wrote: > On 2019/9/24 18:33, Catalin Marinas wrote: > > On Tue, Sep 24, 2019 at 06:43:06AM +, Justin He (Arm Technology China) > > wrote: > > > Catalin Marinas wrote: > > > > On Sat, Sep 21, 2019 at 09:50:54PM +0800, Jia He wrote: > > > > >

Re: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-24 Thread Jia He
Hi Catalin On 2019/9/24 18:33, Catalin Marinas wrote: On Tue, Sep 24, 2019 at 06:43:06AM +, Justin He (Arm Technology China) wrote: Catalin Marinas wrote: On Sat, Sep 21, 2019 at 09:50:54PM +0800, Jia He wrote: @@ -2151,21 +2163,53 @@ static inline void cow_user_page(struct page *dst,

Re: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-24 Thread Kirill A. Shutemov
On Tue, Sep 24, 2019 at 11:33:25AM +0100, Catalin Marinas wrote: > On Tue, Sep 24, 2019 at 06:43:06AM +, Justin He (Arm Technology China) > wrote: > > Catalin Marinas wrote: > > > On Sat, Sep 21, 2019 at 09:50:54PM +0800, Jia He wrote: > > > > @@ -2151,21 +2163,53 @@ static inline void

Re: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-24 Thread Catalin Marinas
On Tue, Sep 24, 2019 at 06:43:06AM +, Justin He (Arm Technology China) wrote: > Catalin Marinas wrote: > > On Sat, Sep 21, 2019 at 09:50:54PM +0800, Jia He wrote: > > > @@ -2151,21 +2163,53 @@ static inline void cow_user_page(struct page > > > *dst, struct page *src, unsigned lo > > >*

RE: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-24 Thread Justin He (Arm Technology China)
Hi Catalin Please see an important comment inline, thanks > -Original Message- > From: Catalin Marinas > Sent: 2019年9月24日 1:05 > To: Justin He (Arm Technology China) > Cc: Will Deacon ; Mark Rutland > ; James Morse ; Marc > Zyngier ; Matthew Wilcox ; Kirill A. > Shutemov ; linux-arm- >

Re: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-23 Thread Catalin Marinas
On Sat, Sep 21, 2019 at 09:50:54PM +0800, Jia He wrote: > @@ -2151,21 +2163,53 @@ static inline void cow_user_page(struct page *dst, > struct page *src, unsigned lo >* fails, we just zero-fill it. Live with it. >*/ > if (unlikely(!src)) { > - void *kaddr =

Re: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-23 Thread Kirill A. Shutemov
On Sat, Sep 21, 2019 at 09:50:54PM +0800, Jia He wrote: > When we tested pmdk unit test [1] vmmalloc_fork TEST1 in arm64 guest, there > will be a double page fault in __copy_from_user_inatomic of cow_user_page. > > Below call trace is from arm64 do_page_fault for debugging purpose > [

Re: [PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-21 Thread Matthew Wilcox
On Sat, Sep 21, 2019 at 09:50:54PM +0800, Jia He wrote: > When we tested pmdk unit test [1] vmmalloc_fork TEST1 in arm64 guest, there > will be a double page fault in __copy_from_user_inatomic of cow_user_page. > > Below call trace is from arm64 do_page_fault for debugging purpose > [

[PATCH v8 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-21 Thread Jia He
When we tested pmdk unit test [1] vmmalloc_fork TEST1 in arm64 guest, there will be a double page fault in __copy_from_user_inatomic of cow_user_page. Below call trace is from arm64 do_page_fault for debugging purpose [ 110.016195] Call trace: [ 110.016826] do_page_fault+0x5a4/0x690 [