Re: [PATCH 0/3] Use arch_make_folio_accessible() everywhere

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

 



On Fri, 15 Sep 2023 18:28:25 +0100
"Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> wrote:

> We introduced arch_make_folio_accessible() a couple of years
> ago, and it's in use in the page writeback path.  GUP still uses
> arch_make_page_accessible(), which means that we can succeed in making
> a single page of a folio accessible, then fail to make the rest of the
> folio accessible when it comes time to do writeback and it's too late
> to do anything about it.  I'm not sure how much of a real problem this is.
> 
> Switching everything around to arch_make_folio_accessible() also lets
> us switch the page flag to be per-folio instead of per-page, which is
> a good step towards dynamically allocated folios.
> 
> Build-tested only.
> 
> Matthew Wilcox (Oracle) (3):
>   mm: Use arch_make_folio_accessible() in gup_pte_range()
>   mm: Convert follow_page_pte() to use a folio
>   s390: Convert arch_make_page_accessible() to
>     arch_make_folio_accessible()
> 
>  arch/s390/include/asm/page.h |  5 ++--
>  arch/s390/kernel/uv.c        | 46 +++++++++++++++++++++++-------------
>  arch/s390/mm/fault.c         | 15 ++++++------
>  include/linux/mm.h           | 20 ++--------------
>  mm/gup.c                     | 22 +++++++++--------
>  5 files changed, 54 insertions(+), 54 deletions(-)
> 

if I understand correctly, this will as a matter of fact move the
security property from pages to folios.

this means that trying to access a page will (try to) make the whole
folio accessible, even though that might be counterproductive.... 

and there is no way to simply split a folio

I don't like this

there are also other reasons, but I don't have time to go into the
details on a Friday evening (will elaborate more on Monday)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux