On Thu, Jan 07, 2021 at 03:18:47PM +0100, Peter Zijlstra wrote: > On Wed, Jan 06, 2021 at 01:16:50PM -0800, Yury Norov wrote: > > On Wed, Jan 6, 2021 at 1:50 AM Peter Zijlstra <pet...@infradead.org> wrote: > > > > Aside from the comments Yury made, on how all this is better in > > > bitmap_parselist(), how about doing s/last/N/ here? For me something > > > like: "4-N" reads much saner than "4-last". > > > > > > Also, it might make sense to teach all this about core/node topology, > > > but that's going to be messy. Imagine something like "Core1-CoreN" or > > > "Nore1-NodeN" to mean the mask all/{Core,Node}0. > > > > If you just want to teach bitmap_parselist() to "s/Core0/0-4", I think > > it's doable if we add a hook to a proper subsystem in bitmap_parselist(). > > > > > And that is another feature that seems to be missing from parselist, > > > all/except. > > > > We already support groups in a range. I think it partially covers the > > proposed all/except. > > > > Can you share examples on what you miss? > > The obvious one is the "all/Core0" example above, which would be > equivalent to "Core1-CoreN". > > Another case that I don't think we can do today is something like, give > me SMT0 of each core. > > I don't really see the use of the ranges thing, CPU enumeration just > isn't sane like that.
Ranges are useful on many systems. Users of systems with insane CPU enumeration are of course free to provide comma-separated lists of numbers for their cpumask boot parameters, avoiding use of minus signs. Thanx, Paul