[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Yyy7qPXmIrL2TraY@smile.fi.intel.com>
Date: Thu, 22 Sep 2022 22:46:48 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Yury Norov <yury.norov@...il.com>, linux-kernel@...r.kernel.org
Cc: Rasmus Villemoes <linux@...musvillemoes.dk>,
Phil Auld <pauld@...hat.com>
Subject: Re: [PATCH v1 1/1] cpumask: Don't waste memory for sysfs cpulist
nodes
On Thu, Sep 22, 2022 at 10:34:47PM +0300, Andy Shevchenko wrote:
> Currently the approximation is used which wastes the more memory
> the more CPUs are present on the system. Proposed change calculates
> the exact maximum needed in the worst case:
>
> NR_CPUS old new
> ------- --- ---
> 1 .. 1860 4096 4096
> ... ... ...
> 2*4096 28672 19925
> 4*4096 57344 43597
> 8*4096 114688 92749
> 16*4096 229376 191053
> 32*4096 458752 403197
> 64*4096 917504 861949
> 128*4096 1835008 1779453
> 256*4096 3670016 3670016
>
> Under the hood the reccurent formula is being used:
> (5 - 0) * 2 +
> (50 - 5) * 3 +
> (500 - 50) * 4 +
> (5000 - 500) * 5 +
> ...
> (X[i] - X[i-1]) * i
>
> which allows to count the exact maximum length in the worst case,
> i.e. when each second CPU is being listed. For less than 1861 and
> more than 1 million CPUs the old is being used.
Scratch this because for the range 1171..1860 the new is better,
I'll update commit message and comment in v2 sending soon.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists