Messages in this thread |  | | Date | Mon, 3 Feb 2020 14:21:54 -0500 | From | Peter Xu <> | Subject | Re: [PATCH V4] sched/isolation: isolate from handling managed interrupt |
| |
On Wed, Jan 22, 2020 at 02:25:38PM +0100, Thomas Gleixner wrote: > Ming, > > Ming Lei <ming.lei@redhat.com> writes: > > > > +static bool hk_should_isolate(struct irq_data *data, > > + const struct cpumask *affinity, unsigned int cpu) > > +{ > > the *affinity argument is unused. > > I'll remove it myself.
Hi, Ming, Thomas,
The new "managed_irq" works for us, thanks for both of your work!
However I just noticed that this new sub-parameter might break users if applied incorrectly to old kernels, because iiuc "isolcpus=" parameter will not apply at all when there's unknown sub-parameters:
static int __init housekeeping_isolcpus_setup(char *str) { unsigned int flags = 0;
while (isalpha(*str)) { ... pr_warn("isolcpus: Error, unknown flag\n"); return 0; } ... }
Then the same kernel parameter will break isolcpus= if the user reboots and switches to an older kernel.
A solution to this could be that we introduce an isolated parameter for "managed_irq", then on the old kernels only the new parameter will be ignored rather than the whole "isolcpus=" parameter, so nothing will break.
I'm not sure whether it's already too late for this, or if there's any better alternative. Just raise this question up to see whether we still have chance to fix this up.
Thanks,
-- Peter Xu
|  |