From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: lenb@kernel.org, linux-pm@vger.kernel.org,
linux-acpi@vger.kernel.org, patches@linaro.org,
linaro-dev@lists.linaro.org, pdeschrijver@nvidia.com,
lorenzo.pieralisi@arm.com
Subject: Re: [PATCH 2/6] acpi : move cpuidle_device field out of the acpi_processor_power structure
Date: Tue, 11 Sep 2012 22:32:23 +0200 [thread overview]
Message-ID: <201209112232.24130.rjw@sisk.pl> (raw)
In-Reply-To: <504F2CA2.8010902@linaro.org>
On Tuesday, September 11, 2012, Daniel Lezcano wrote:
> On 09/08/2012 12:06 AM, Rafael J. Wysocki wrote:
> > On Friday, September 07, 2012, Rafael J. Wysocki wrote:
> >> On Friday, September 07, 2012, Rafael J. Wysocki wrote:
> >>> On Friday, September 07, 2012, Daniel Lezcano wrote:
> >>>> Currently we have the cpuidle_device field in the acpi_processor_power structure.
> >>>> This adds a dependency in processor.h for cpuidle.h.
> >>>>
> >>>> In order to be consistent with the rest of the drivers and for the per cpu states
> >>>> coming right after this patch, this one move out of the acpi_processor_power
> >>>> structure the cpuidle_device field.
> >>>>
> >>>> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> >>>> Acked-by: Peter De Schrijver <pdeschrijver@nvidia.com>
> >>>> Tested-by: Peter De Schrijver <pdeschrijver@nvidia.com>
> >>>> ---
> >>>> drivers/acpi/processor_idle.c | 25 ++++++++++++++++++-------
> >>>> include/acpi/processor.h | 2 --
> >>>> 2 files changed, 18 insertions(+), 9 deletions(-)
> >>>>
> >>>> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
> >>>> index de89624..084b1d2 100644
> >>>> --- a/drivers/acpi/processor_idle.c
> >>>> +++ b/drivers/acpi/processor_idle.c
> >>>> @@ -79,6 +79,8 @@ module_param(bm_check_disable, uint, 0000);
> >>>> static unsigned int latency_factor __read_mostly = 2;
> >>>> module_param(latency_factor, uint, 0644);
> >>>>
> >>>> +static DEFINE_PER_CPU(struct cpuidle_device, acpi_cpuidle_device);
> >>>> +
> >>>
> >>> Well. Why are you moving that thing into the percpu memory? It doesn't
> >>> have to be per-CPU and storing it there just wastes the room.
> >>
> >> Sorry, it is per-CPU already, scratch that.
> >
> > Well, no, it isn't. So I was right originally (boy, that code _is_ confusing).
> >
> > So originally you had per-CPU pointers called 'processors' that each pointed
> > to a struct acpi_processor object created by acpi_processor_add() in slab
> > memory. Your patch doesn't touch those pointers, so they are still there.
>
> Yes, the purpose of this patch is the same as the other patches which is
> separate the cpuidle code from the rest of the acpi code. It is part of
> the cleanup.
>
> > In addition to them it creates a number of static per-CPU objects that
> > previously were stored in those struct acpi_processor object mentioned above.
> > These things need not be stored in percpu memory.
>
> Agreed, this patch makes the cpuidle driver to consume more per cpu
> memory. Is it acceptable to create a per cpu pointer for the cpuidle
> devices which will be allocated in the processor_driver init function
> like the intel_idle driver ? We keep the same memory consumption while
> we are moving the cpuidle specific code the C file.
I'm not really sure what you mean hear, care to elaborate?
> By the way, most of the cpuidle drivers for ARM are defining a static
> cpuidle device structure per cpu. I guess your remark for acpi applies
> to them too.
Yes, it does. Percpu memory is limited and should only be used for things
that really need to be stored there.
> Not easy to make all these drivers to converge to the same code scheme ...
I agree, but then I'm not sure it's a problem if they are slightly different.
Thanks,
Rafael
next prev parent reply other threads:[~2012-09-11 20:26 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-07 10:19 [PATCH 0/6] cpuidle : per cpu latencies Daniel Lezcano
2012-09-07 10:19 ` [PATCH 1/6] acpi : move the acpi_idle_driver variable declaration Daniel Lezcano
2012-09-07 21:19 ` Rafael J. Wysocki
2012-09-11 11:14 ` Daniel Lezcano
2012-09-11 20:28 ` Rafael J. Wysocki
2012-09-07 10:19 ` [PATCH 2/6] acpi : move cpuidle_device field out of the acpi_processor_power structure Daniel Lezcano
2012-09-07 11:03 ` Amit Kucheria
2012-09-07 21:40 ` Rafael J. Wysocki
2012-09-07 21:54 ` Rafael J. Wysocki
2012-09-07 22:06 ` Rafael J. Wysocki
2012-09-11 12:20 ` Daniel Lezcano
2012-09-11 20:32 ` Rafael J. Wysocki [this message]
2012-09-07 10:19 ` [PATCH 3/6] acpi : remove pointless cpuidle device state_count init Daniel Lezcano
2012-09-07 11:01 ` Amit Kucheria
2012-09-07 21:50 ` Rafael J. Wysocki
2012-09-16 20:38 ` Daniel Lezcano
[not found] ` <505638D9.80302-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-09-16 21:02 ` Rafael J. Wysocki
2012-09-07 10:19 ` [PATCH 4/6] cpuidle : add a pointer for cpuidle_state in the cpuidle_device Daniel Lezcano
[not found] ` <1347013172-12465-1-git-send-email-daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-09-07 10:19 ` [PATCH 5/6] cpuidle : use per cpuidle device cpu states Daniel Lezcano
2012-09-07 10:19 ` [PATCH 6/6] cpuidle : add cpuidle_register_states function Daniel Lezcano
2012-09-07 11:04 ` [PATCH 0/6] cpuidle : per cpu latencies Amit Kucheria
2012-09-07 12:02 ` Daniel Lezcano
2012-09-07 22:17 ` Rafael J. Wysocki
2012-09-17 8:03 ` Daniel Lezcano
2012-09-17 20:50 ` Rafael J. Wysocki
2012-09-17 21:35 ` Daniel Lezcano
2012-09-18 9:52 ` Lorenzo Pieralisi
2012-09-18 21:10 ` Rafael J. Wysocki
2012-09-18 11:19 ` Peter De Schrijver
2012-09-18 21:05 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201209112232.24130.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=daniel.lezcano@linaro.org \
--cc=lenb@kernel.org \
--cc=linaro-dev@lists.linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=patches@linaro.org \
--cc=pdeschrijver@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).