On Thu, 11 May 2017, Stephen Rothwell wrote: > Hi, > > On Wed, 10 May 2017 14:09:53 +0200 (CEST) Thomas Gleixner > <t...@linutronix.de> wrote: > > > > > +static void nest_change_cpu_context(int old_cpu, int new_cpu) > > > +{ > > > + int i; > > > + > > > + for (i = 0; > > > + (per_nest_pmu_arr[i] != NULL) && (i < IMC_MAX_PMUS); i++) > > > + perf_pmu_migrate_context(&per_nest_pmu_arr[i]->pmu, > > > + old_cpu, new_cpu); > > > > Bah, this is horrible to read. > > > > struct imc_pmu **pn = per_nest_pmu_arr; > > int i; > > > > for (i = 0; *pn && i < IMC_MAX_PMUS; i++, pn++) > > perf_pmu_migrate_context(&(*pn)->pmu, old_cpu, new_cpu); > > (Just a bit of bike shedding ...) > > Or even (since "i" is not used any more): > > struct imc_pmu **pn; > > for (pn = per_nest_pmu_arr; > pn < &per_nest_pmu_arr[IMC_MAX_PMUS] && *pn; > pn++) > perf_pmu_migrate_context(&(*pn)->pmu, old_cpu, new_cpu);
Which is equally unreadable as the original code I complained about. Is that a corporate preference? Thanks, tglx