Thread (25 messages) 25 messages, 7 authors, 2016-03-21

Re: [PATCH v8 3/6] cpufreq: powernv: Remove cpu_to_chip_id() from hot-path

From: Benjamin Herrenschmidt <hidden>
Date: 2016-03-18 22:38:25
Also in: linux-pm, lkml

On Fri, 2016-03-18 at 15:04 +1100, Michael Neuling wrote:
quoted hunk ↗ jump to hunk
 static int nr_chips;
+static DEFINE_PER_CPU(unsigned int, chip_id);
 
 /*
  * Note: The set of pstates consists of contiguous integers, the
@@ -317,9 +318,7 @@ static void powernv_cpufreq_throttle_check(void
*data)
 
        pmsr = get_pmspr(SPRN_PMSR);
 
-       for (i = 0; i < nr_chips; i++)
-               if (chips[i].id == cpu_to_chip_id(cpu))
-                       break;
+       i = this_cpu_read(chip_id);
Except it's not a chip_id, so your patch confused me for a good 2mn ...
Call it chip_idx maybe ? ie, index.

Cheers,
Ben.
quoted hunk ↗ jump to hunk
        /* Check for Pmax Capping */
        pmsr_pmax = (s8)PMSR_MAX(pmsr);
@@ -560,6 +559,7 @@ static int init_chip_info(void)
        for_each_possible_cpu(cpu) {
                unsigned int id = cpu_to_chip_id(cpu);
 
+               per_cpu(chip_id, cpu) = nr_chips;
                if (prev_chip_id != id) {
                        prev_chip_id = id;
                        chip[nr_chips++] = id;
_______________________________________________
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help