Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1360975

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

From Benjamin Herrenschmidt <benh@au1.ibm.com>
Newsgroups linux.kernel
Subject Re: [PATCH v8 3/6] cpufreq: powernv: Remove cpu_to_chip_id() from hot-path
Date 2016-03-18 23:40 +0100
Message-ID <rebdM-2ht-17@gated-at.bofh.it> (permalink)
References <qXP7A-7Ux-7@gated-at.bofh.it> <qXP7B-7Ux-15@gated-at.bofh.it> <rdTTz-se-1@gated-at.bofh.it>
Organization IBM Australia

Show all headers | View raw


On Fri, 2016-03-18 at 15:04 +1100, Michael Neuling wrote:
> 
>  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.

>         /* 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;
> _______________________________________________

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH v8 3/6] cpufreq: powernv: Remove cpu_to_chip_id() from  hot-path Michael Neuling <mikey@neuling.org> - 2016-03-18 05:10 +0100
  Re: [PATCH v8 3/6] cpufreq: powernv: Remove cpu_to_chip_id() from  hot-path Michael Neuling <mikey@neuling.org> - 2016-03-18 05:20 +0100
    Re: [PATCH v8 3/6] cpufreq: powernv: Remove cpu_to_chip_id() from hot-path "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-18 14:20 +0100
    [PATCH] cpufreq: powernv: Define per_cpu chip pointer to optimize hot-path Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> - 2016-03-18 16:00 +0100
      Re: [PATCH] cpufreq: powernv: Define per_cpu chip pointer to  optimize hot-path Viresh Kumar <viresh.kumar@linaro.org> - 2016-03-21 08:30 +0100
        Re: [PATCH] cpufreq: powernv: Define per_cpu chip pointer to optimize hot-path "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-03-21 15:20 +0100
  Re: [PATCH v8 3/6] cpufreq: powernv: Remove cpu_to_chip_id() from  hot-path Benjamin Herrenschmidt <benh@au1.ibm.com> - 2016-03-18 23:40 +0100
    Re: [PATCH v8 3/6] cpufreq: powernv: Remove cpu_to_chip_id() from  hot-path Michael Neuling <mikey@neuling.org> - 2016-03-19 00:30 +0100

csiph-web