Re: [PATCH] MIPS: fix pmd_mkinvalid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 12, 2022 at 06:01:08PM +0800, Hongchen Zhang wrote:
> On 2022/7/7 下午7:12, Hongchen Zhang wrote:
> > On 2022/7/7 下午5:22, Thomas Bogendoerfer wrote:
> > > On Thu, Jul 07, 2022 at 04:11:35PM +0800, Hongchen Zhang wrote:
> > > > When a pmd entry is invalidated by pmd_mkinvalid,pmd_present should
> > > > return true.
> > > > So introduce a _PMD_PRESENT_INVALID_SHIFT bit to check if a pmd is
> > > > present but invalidated by pmd_mkinvalid.
> > > 
> > > What problem are you trying to fix ? What are the symptoms ?
> > > 
> > > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > > 
> > > the test robot showed problems with your last version of the patch,
> > > which hasn't been integrated into at least the MIPS tree, so no
> > > need to that.
> > > 
> > > Thomas.
> > > 
> > 
> > Hi Thomas,
> >    The idea come from the commit:
> >    b65399f6111b(arm64/mm: Change THP helpers to comply with generic MM
> >  semantics).
> >    There is an problem now:
> >          CPU 0        CPU 1
> >      pmdp_invalidate        do_page_fault
> >      ...              __handle_mm_fault
> >                      is_swap_pmd == true
> >                      trigger VM_BUG_ON() ?
> >      set_pmd_at
> >    the reason is that pmd_present return true,after this commit
> >    pmd_present will return false,and the VM_BUG_ON will not be triggered.
> >    Like arm64 does,we can introduce a new bit to fix this.
> > 
> > Thanks.
> Hi Thomas,
>  Is there problem of this patch? What's your opinion of this patch?

I haven't dig deeper into it, but needing more page bits is a pain
for 32bit kernel and would make it nearly impossible to get huge
page support there. And the description you gave me, needs to be
in the commit description.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux