Re: [PATCH 10/10] mm, treewide: Redefine MAX_ORDER sanely

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

 



On Thu, Mar 16, 2023 at 11:15:47AM -0700, Mike Kravetz wrote:
> On 03/15/23 14:31, Kirill A. Shutemov wrote:
> > MAX_ORDER currently defined as number of orders page allocator supports:
> > user can ask buddy allocator for page order between 0 and MAX_ORDER-1.
> > 
> > This definition is counter-intuitive and lead to number of bugs all over
> > the kernel.
> > 
> > Change the definition of MAX_ORDER to be inclusive: the range of orders
> > user can ask from buddy allocator is 0..MAX_ORDER now.
> > 
> > --- a/arch/arc/Kconfig
> > +++ b/arch/arc/Kconfig
> > @@ -556,7 +556,7 @@ endmenu	 # "ARC Architecture Configuration"
> >  
> >  config ARCH_FORCE_MAX_ORDER
> >  	int "Maximum zone order"
> > -	default "12" if ARC_HUGEPAGE_16M
> > -	default "11"
> > +	default "11" if ARC_HUGEPAGE_16M
> > +	default "10"
> 
> Is this Kconfig file wrong (off by 1) today?  It seems like it wants MAX_ORDER
> to be sufficiently large to allocate 16M if ARC_HUGEPAGE_16M.  So, seems like
> it should be 13 today?

+Vineet.

Hm. I think it is okay as long as CONFIG_ARC_PAGE_SIZE_8K=y which is
default, but breaks for other PAGE_SIZE.

Looks like ARCH_FORCE_MAX_ORDER calculation should involve selected page
size.

-- 
  Kiryl Shutsemau / Kirill A. Shutemov




[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