Re: [PATCH 1/5] ioremap: Rework pXd_free_pYd_page() API

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

 



On Wed, 2018-09-12 at 11:26 +0100, Will Deacon wrote:
> The recently merged API for ensuring break-before-make on page-table
> entries when installing huge mappings in the vmalloc/ioremap region is
> fairly counter-intuitive, resulting in the arch freeing functions
> (e.g. pmd_free_pte_page()) being called even on entries that aren't
> present. This resulted in a minor bug in the arm64 implementation, giving
> rise to spurious VM_WARN messages.
> 
> This patch moves the pXd_present() checks out into the core code,
> refactoring the callsites at the same time so that we avoid the complex
> conjunctions when determining whether or not we can put down a huge
> mapping.
> 
> Cc: Chintan Pandya <cpandya@xxxxxxxxxxxxxx>
> Cc: Toshi Kani <toshi.kani@xxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Michal Hocko <mhocko@xxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Will Deacon <will.deacon@xxxxxxx>

Yes, this looks nicer.

Reviewed-by: Toshi Kani <toshi.kani@xxxxxxx>

Thanks,
-Toshi




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux