Re: [PATCH] lib/bitmap.c: enhance map pattern

From: Ben Hutchings
Date: Sat Jul 16 2016 - 08:10:22 EST

On Sat, 2016-07-16 at 10:57 +0300, Noam Camus wrote:
> From: Noam Camus <noamca@xxxxxxxxxxxx>
> Today there are platforms with many CPUs (up to 4K).
> Trying to boot only part of the CPUs may result in too long string.
> For example lets take NPS platform that is part of arch/arc.
> This platform have SMP system with 256 cores each with
> 16 HW threads (SMT machine) where HW thread appears as CPU to the kernel.
> In this example there is total of 4K CPUs.
> When one tries to boot only part of the HW threads from each core the
> string representing the map may be long...
> For example if for sake of performance we decided to boot only first half
> of HW threads of each core the map will look like:
> 0-7,16-23,32,39,...,4080-4087
> This patch introduce new format to accommodate with such use case.
> I added an optional postfix to a range of CPUs which will choose
> according to given modulo the desired range of reminders i.e.:
> %modulo=

This is a fairly awful syntax, and I question whether it belongs in
this generic code.

> + * Optionally each range can be postfixed to denote that only parts of it
> + * should be set. The parts are the range of reminders modulo some value.
> + * i.e. range%mod=rem_range e.g. 0-1023%256=0-2 ==> 0,1,256,257,512,513,768,769

This example seems to be wrong - did you mean '=0-1'?



Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

Attachment: signature.asc
Description: This is a digitally signed message part