* [PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support
@ 2014-04-08 12:48 Magnus Damm
2014-04-10 19:28 ` Geert Uytterhoeven
2014-04-11 5:51 ` Magnus Damm
0 siblings, 2 replies; 3+ messages in thread
From: Magnus Damm @ 2014-04-08 12:48 UTC (permalink / raw)
To: linux-sh
From: Magnus Damm <damm@opensource.se>
Allow APMU multicluster operation when enabled via
the kernel command line. Default is still single
cluster operation. Use together with appropriate
scheduler modifcations or static CPU affinity.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies on top of renesas-devel-v3.14-20140408
arch/arm/mach-shmobile/platsmp-apmu.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
--- 0001/arch/arm/mach-shmobile/platsmp-apmu.c
+++ work/arch/arm/mach-shmobile/platsmp-apmu.c 2014-04-08 19:01:55.000000000 +0900
@@ -18,6 +18,19 @@
#include <asm/smp_plat.h>
#include <mach/common.h>
+/* only enable the cluster that includes the boot CPU by default */
+static bool enable_multicluster = false;
+
+static __init int apmu_setup(char *opt)
+{
+ if (!opt)
+ return -EINVAL;
+ if (!strncmp(opt, "multicluster", 12))
+ enable_multicluster = true;
+ return 0;
+}
+early_param("apmu", apmu_setup);
+
static struct {
void __iomem *iomem;
int bit;
@@ -100,8 +113,7 @@ static void apmu_parse_cfg(void (*fn)(st
bool is_allowed;
for (k = 0; k < ARRAY_SIZE(apmu_config); k++) {
- /* only enable the cluster that includes the boot CPU */
- is_allowed = false;
+ is_allowed = enable_multicluster;
for (bit = 0; bit < ARRAY_SIZE(apmu_config[k].cpus); bit++) {
id = apmu_config[k].cpus[bit];
if (id >= 0) {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support
2014-04-08 12:48 [PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support Magnus Damm
@ 2014-04-10 19:28 ` Geert Uytterhoeven
2014-04-11 5:51 ` Magnus Damm
1 sibling, 0 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2014-04-10 19:28 UTC (permalink / raw)
To: linux-sh
Hi Magnus,
On Tue, Apr 8, 2014 at 2:48 PM, Magnus Damm <magnus.damm@gmail.com> wrote:
> +++ work/arch/arm/mach-shmobile/platsmp-apmu.c 2014-04-08 19:01:55.000000000 +0900
> @@ -18,6 +18,19 @@
> #include <asm/smp_plat.h>
> #include <mach/common.h>
>
> +/* only enable the cluster that includes the boot CPU by default */
> +static bool enable_multicluster = false;
> +
> +static __init int apmu_setup(char *opt)
> +{
> + if (!opt)
> + return -EINVAL;
> + if (!strncmp(opt, "multicluster", 12))
Why do you ignore the characters after "multicluster", i.e. why not
simply "!strcmp(opt, "multicluster)"?
> + enable_multicluster = true;
> + return 0;
> +}
> +early_param("apmu", apmu_setup);
This can use some documentation under Documentation/.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support
2014-04-08 12:48 [PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support Magnus Damm
2014-04-10 19:28 ` Geert Uytterhoeven
@ 2014-04-11 5:51 ` Magnus Damm
1 sibling, 0 replies; 3+ messages in thread
From: Magnus Damm @ 2014-04-11 5:51 UTC (permalink / raw)
To: linux-sh
Hi Geert,
On Fri, Apr 11, 2014 at 4:28 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Magnus,
>
> On Tue, Apr 8, 2014 at 2:48 PM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> +++ work/arch/arm/mach-shmobile/platsmp-apmu.c 2014-04-08 19:01:55.000000000 +0900
>> @@ -18,6 +18,19 @@
>> #include <asm/smp_plat.h>
>> #include <mach/common.h>
>>
>> +/* only enable the cluster that includes the boot CPU by default */
>> +static bool enable_multicluster = false;
>> +
>> +static __init int apmu_setup(char *opt)
>> +{
>> + if (!opt)
>> + return -EINVAL;
>> + if (!strncmp(opt, "multicluster", 12))
>
> Why do you ignore the characters after "multicluster", i.e. why not
> simply "!strcmp(opt, "multicluster)"?
Good point, thanks.
>> + enable_multicluster = true;
>> + return 0;
>> +}
>> +early_param("apmu", apmu_setup);
>
> This can use some documentation under Documentation/.
If this was destined for upstream merge I totally agree, but in this
particular case it is just prototype-level code. The proper solution
involves upstream scheduler modifications and perhaps also MCPM once
we care about cluster-level power management.
Cheers,
/ magnus
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-04-11 5:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-08 12:48 [PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support Magnus Damm
2014-04-10 19:28 ` Geert Uytterhoeven
2014-04-11 5:51 ` Magnus Damm
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.