All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Olof Johansson <olof@lixom.net>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [GIT PULL] DT/core: cpu_ofnode updates for v3.12
Date: Wed, 14 Aug 2013 14:21:44 +0100	[thread overview]
Message-ID: <520B8468.7050307@arm.com> (raw)
In-Reply-To: <1376480227.4255.66.camel@pasglop>

On 14/08/13 12:37, Benjamin Herrenschmidt wrote:
> On Wed, 2013-08-14 at 11:01 +0100, Sudeep KarkadaNagesha wrote:
>> Yes this doesn't cover the historical "ibm,ppc-interrupt-server#s",
>> for
>> which we can have PPC specific wrapper above the generic one i.e. get
>> the cpu node and then parse for thread id under custom property.
> 
> A wrapper is wrong. I don't want to have to have all ppc callers to use
> a different function.
Ok.

On the side note the main intention of this patch series[1] is to avoid
calling of_get_cpu_node function once CPU devices are registered. It
initialises the of_node in all the cpu devices using this function when
registering the CPU device. It can be retrieved from cpu_dev->of_node.
So direct users of of_get_cpu_node can be reduced to avoid unnecessary
parsing of DT to find cpu node.

> 
> As I said, just make a generic one that returns a thread ID, ie, same
> signature as the powerpc one. Make it weak, we can override it in
> powerpc-land,
IMO, making generic definition which adhere to the ePAPR specification
as weak is not so clean.

> or we can move the ibm,ppc-interrupt-server#s handling
> into the generic one, it won't hurt, but leave the thread_id return
> there, it doesn't hurt it will come in handy in a few cases without
> causing code duplication.
> 

IMO moving of handling ibm,ppc-interrupt-server#s to generic code under
#ifdef CONFIG_PPC seems to be cleaner approach than weak definitation.

As per my understanding each thread is a different logical cpu.
Each logical cpu is mapped to unique physical id(either present in reg
field or legacy ibm,ppc-interrupt-server#s field). So given a logical
cpu id we can get the cpu node corresponding to it.
Looking @ smp_setup_cpu_maps in arch/powerpc/kernel/setup-common.c
and the comment in the same file: "This implementation only supports
power of 2 number of threads.." the thread id id is implicit in the
logical cpu id. Do we need to fetch that from DT ?

Regards,
Sudeep

[1] https://lkml.org/lkml/2013/7/22/219


WARNING: multiple messages have this Message-ID (diff)
From: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Olof Johansson <olof@lixom.net>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [GIT PULL] DT/core: cpu_ofnode updates for v3.12
Date: Wed, 14 Aug 2013 14:21:44 +0100	[thread overview]
Message-ID: <520B8468.7050307@arm.com> (raw)
In-Reply-To: <1376480227.4255.66.camel@pasglop>

On 14/08/13 12:37, Benjamin Herrenschmidt wrote:
> On Wed, 2013-08-14 at 11:01 +0100, Sudeep KarkadaNagesha wrote:
>> Yes this doesn't cover the historical "ibm,ppc-interrupt-server#s",
>> for
>> which we can have PPC specific wrapper above the generic one i.e. get
>> the cpu node and then parse for thread id under custom property.
>=20
> A wrapper is wrong. I don't want to have to have all ppc callers to use
> a different function.
Ok.

On the side note the main intention of this patch series[1] is to avoid
calling of_get_cpu_node function once CPU devices are registered. It
initialises the of_node in all the cpu devices using this function when
registering the CPU device. It can be retrieved from cpu_dev->of_node.
So direct users of of_get_cpu_node can be reduced to avoid unnecessary
parsing of DT to find cpu node.

>=20
> As I said, just make a generic one that returns a thread ID, ie, same
> signature as the powerpc one. Make it weak, we can override it in
> powerpc-land,
IMO, making generic definition which adhere to the ePAPR specification
as weak is not so clean.

> or we can move the ibm,ppc-interrupt-server#s handling
> into the generic one, it won't hurt, but leave the thread_id return
> there, it doesn't hurt it will come in handy in a few cases without
> causing code duplication.
>=20

IMO moving of handling ibm,ppc-interrupt-server#s to generic code under
#ifdef CONFIG_PPC seems to be cleaner approach than weak definitation.

As per my understanding each thread is a different logical cpu.
Each logical cpu is mapped to unique physical id(either present in reg
field or legacy ibm,ppc-interrupt-server#s field). So given a logical
cpu id we can get the cpu node corresponding to it.
Looking @ smp_setup_cpu_maps in arch/powerpc/kernel/setup-common.c
and the comment in the same file: "This implementation only supports
power of 2 number of threads.." the thread id id is implicit in the
logical cpu id. Do we need to fetch that from DT ?

Regards,
Sudeep

[1] https://lkml.org/lkml/2013/7/22/219

WARNING: multiple messages have this Message-ID (diff)
From: Sudeep.KarkadaNagesha@arm.com (Sudeep KarkadaNagesha)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] DT/core: cpu_ofnode updates for v3.12
Date: Wed, 14 Aug 2013 14:21:44 +0100	[thread overview]
Message-ID: <520B8468.7050307@arm.com> (raw)
In-Reply-To: <1376480227.4255.66.camel@pasglop>

On 14/08/13 12:37, Benjamin Herrenschmidt wrote:
> On Wed, 2013-08-14 at 11:01 +0100, Sudeep KarkadaNagesha wrote:
>> Yes this doesn't cover the historical "ibm,ppc-interrupt-server#s",
>> for
>> which we can have PPC specific wrapper above the generic one i.e. get
>> the cpu node and then parse for thread id under custom property.
> 
> A wrapper is wrong. I don't want to have to have all ppc callers to use
> a different function.
Ok.

On the side note the main intention of this patch series[1] is to avoid
calling of_get_cpu_node function once CPU devices are registered. It
initialises the of_node in all the cpu devices using this function when
registering the CPU device. It can be retrieved from cpu_dev->of_node.
So direct users of of_get_cpu_node can be reduced to avoid unnecessary
parsing of DT to find cpu node.

> 
> As I said, just make a generic one that returns a thread ID, ie, same
> signature as the powerpc one. Make it weak, we can override it in
> powerpc-land,
IMO, making generic definition which adhere to the ePAPR specification
as weak is not so clean.

> or we can move the ibm,ppc-interrupt-server#s handling
> into the generic one, it won't hurt, but leave the thread_id return
> there, it doesn't hurt it will come in handy in a few cases without
> causing code duplication.
> 

IMO moving of handling ibm,ppc-interrupt-server#s to generic code under
#ifdef CONFIG_PPC seems to be cleaner approach than weak definitation.

As per my understanding each thread is a different logical cpu.
Each logical cpu is mapped to unique physical id(either present in reg
field or legacy ibm,ppc-interrupt-server#s field). So given a logical
cpu id we can get the cpu node corresponding to it.
Looking @ smp_setup_cpu_maps in arch/powerpc/kernel/setup-common.c
and the comment in the same file: "This implementation only supports
power of 2 number of threads.." the thread id id is implicit in the
logical cpu id. Do we need to fetch that from DT ?

Regards,
Sudeep

[1] https://lkml.org/lkml/2013/7/22/219

  reply	other threads:[~2013-08-14 13:21 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-12 13:27 [GIT PULL] DT/core: cpu_ofnode updates for v3.12 Sudeep KarkadaNagesha
2013-08-12 13:27 ` Sudeep KarkadaNagesha
2013-08-13 13:00 ` Rafael J. Wysocki
2013-08-13 13:00   ` Rafael J. Wysocki
2013-08-13 15:40   ` Sudeep KarkadaNagesha
2013-08-13 15:40     ` Sudeep KarkadaNagesha
2013-08-13 15:40     ` Sudeep KarkadaNagesha
2013-08-13 18:29     ` Sudeep KarkadaNagesha
2013-08-13 18:29       ` Sudeep KarkadaNagesha
2013-08-13 18:29       ` Sudeep KarkadaNagesha
2013-08-13 21:07       ` Benjamin Herrenschmidt
2013-08-13 21:07         ` Benjamin Herrenschmidt
2013-08-13 21:07         ` Benjamin Herrenschmidt
2013-08-14 10:01         ` Sudeep KarkadaNagesha
2013-08-14 10:01           ` Sudeep KarkadaNagesha
2013-08-14 10:01           ` Sudeep KarkadaNagesha
2013-08-14 11:37           ` Benjamin Herrenschmidt
2013-08-14 11:37             ` Benjamin Herrenschmidt
2013-08-14 11:37             ` Benjamin Herrenschmidt
2013-08-14 13:21             ` Sudeep KarkadaNagesha [this message]
2013-08-14 13:21               ` Sudeep KarkadaNagesha
2013-08-14 13:21               ` Sudeep KarkadaNagesha
2013-08-14 22:57               ` Benjamin Herrenschmidt
2013-08-14 22:57                 ` Benjamin Herrenschmidt
2013-08-14 22:57                 ` Benjamin Herrenschmidt
2013-08-14 12:53           ` Rob Herring
2013-08-14 12:53             ` Rob Herring
2013-08-14 12:53             ` Rob Herring
2013-08-14 13:27             ` Sudeep KarkadaNagesha
2013-08-14 13:27               ` Sudeep KarkadaNagesha
2013-08-14 13:27               ` Sudeep KarkadaNagesha
2013-08-13 18:37     ` Michal Simek
2013-08-13 18:37       ` Michal Simek
2013-08-13 18:37       ` Michal Simek
2013-08-14  8:41       ` Sudeep KarkadaNagesha
2013-08-14  8:41         ` Sudeep KarkadaNagesha
2013-08-14  8:41         ` Sudeep KarkadaNagesha
2013-08-13 18:44     ` Rob Herring
2013-08-13 18:44       ` Rob Herring
2013-08-13 18:44       ` Rob Herring
2013-08-13 19:45       ` Rafael J. Wysocki
2013-08-13 19:45         ` Rafael J. Wysocki
2013-08-13 19:45         ` Rafael J. Wysocki
2013-08-13 21:09         ` Benjamin Herrenschmidt
2013-08-13 21:09           ` Benjamin Herrenschmidt
2013-08-13 21:09           ` Benjamin Herrenschmidt
2013-08-13 21:09           ` Benjamin Herrenschmidt
2013-08-14  9:23         ` Sudeep KarkadaNagesha
2013-08-14  9:23           ` Sudeep KarkadaNagesha
2013-08-14  9:23           ` Sudeep KarkadaNagesha
2013-08-13 21:08       ` Benjamin Herrenschmidt
2013-08-13 21:08         ` Benjamin Herrenschmidt
2013-08-13 21:08         ` Benjamin Herrenschmidt
2013-08-13 21:03     ` Benjamin Herrenschmidt
2013-08-13 21:03       ` Benjamin Herrenschmidt
2013-08-13 21:03       ` Benjamin Herrenschmidt
  -- strict thread matches above, loose matches on Subject: below --
2013-08-06 16:11 Sudeep KarkadaNagesha
2013-08-08 14:43 ` Sudeep KarkadaNagesha
2013-08-08 15:27   ` Rob Herring
2013-08-08 15:49     ` Sudeep KarkadaNagesha
2013-08-12  8:54       ` Sudeep KarkadaNagesha
2013-08-12  9:03         ` Viresh Kumar
2013-08-12 11:51           ` Rafael J. Wysocki
2013-08-12 12:41             ` Sudeep KarkadaNagesha
2013-08-12 13:13               ` Rafael J. Wysocki
2013-08-12 13:06                 ` Sudeep KarkadaNagesha

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=520B8468.7050307@arm.com \
    --to=sudeep.karkadanagesha@arm.com \
    --cc=benh@kernel.crashing.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=olof@lixom.net \
    --cc=rjw@sisk.pl \
    --cc=rob.herring@calxeda.com \
    --cc=viresh.kumar@linaro.org \
    /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 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.