All of lore.kernel.org
 help / color / mirror / Atom feed
From: Milton Miller <miltonm@bga.com>
To: mohan@in.ibm.com
Cc: ppcdev <linuxppc-dev@ozlabs.org>,
	Paul Mackerras <paulus@samba.org>,
	Anton Blanchard <anton@samba.org>,
	fastboot@lists.osdl.org
Subject: Re: [PATCH] Fix interrupt distribution in ppc970
Date: Thu, 26 Apr 2007 09:42:50 -0500	[thread overview]
Message-ID: <4cb567d635b4ac3333e6b4b2c27c12f2@bga.com> (raw)
In-Reply-To: <20070426092455.GA4144@in.ibm.com>

On Apr 26, 2007, at 4:24 AM, Mohan Kumar M wrote:
> On Fri, Apr 20, 2007 at 12:45:15AM -0500, Milton Miller wrote:
[snip]
> Milton, I hope this patch meets all your requirements.

Closer, much better.
> Cc: Milton Miller <miltonm@bga.com>,
>     Michael Ellerman <michael@ellerman.id.au>
> Signed-off-by: Mohan Kumar M <mohan@in.ibm.com>
> ---
>  arch/powerpc/platforms/pseries/xics.c |   39 
> ++++++++++++++++++++--------------
>  1 file changed, 24 insertions(+), 15 deletions(-)
>
> Index: linux-2.6.21-rc4/arch/powerpc/platforms/pseries/xics.c
> ===================================================================
> --- linux-2.6.21-rc4.orig/arch/powerpc/platforms/pseries/xics.c
> +++ linux-2.6.21-rc4/arch/powerpc/platforms/pseries/xics.c
> @@ -156,9 +156,9 @@ static inline void lpar_qirr_info(int n_
[snipping]
> +	if (!cpus_equal(cpumask, CPU_MASK_ALL)) {
>  		cpus_and(tmp, cpu_online_map, cpumask);
>
> +		server = first_cpu(tmp);
> +
> +		if (server < NR_CPUS)
> +			return get_hard_smp_processor_id(server);
> +		else {
> +			if(strict_check)
> +				return (-1);

No parens around the return value.  That is, use return -1;

> +			else
> +				return default_distrib_server;
> +		}
...

> @@ -415,7 +421,10 @@ static void xics_set_affinity(unsigned i
>
>  	/* For the moment only implement delivery to all cpus or one cpu */
>  	if (cpus_equal(cpumask, CPU_MASK_ALL)) {
> -		newmask = default_distrib_server;
> +		if (cpus_equal(cpu_online_map, cpu_present_map))
> +			newmask = default_distrib_server;
> +		else
> +			newmask = default_server;
>  	} else {
>  		cpus_and(tmp, cpu_online_map, cpumask);
>  		if (cpus_empty(tmp))
>
>
> ===================
>> ...
>>> @@ -415,7 +419,10 @@ static void xics_set_affinity(unsigned i
>> ...
>>> 	/* For the moment only implement delivery to all cpus or one cpu */
>>> 	if (cpus_equal(cpumask, CPU_MASK_ALL)) {
>>> -		newmask = default_distrib_server;
>>> +		if (cpus_equal(cpu_online_map, cpu_present_map))
>>>
>>
>> this was supposed to be the call with strict = 1
>
> Do you mean to use 'strict_check' argument in xics_set_affinity?
> set_affinity call is declared in linux/irq.h, so if modifying
> xics_set_affinity will affect other arch's set_affinity also.

Yes.   The whole point of
> -static int get_irq_server(unsigned int virq)
> +static int get_irq_server(unsigned int virq, unsigned int 
> strict_check)
was to factor out the common code in this function.

I wasn't trying to change the prototype of xics_set_affinity.

Looking at the code a bit, I think part of the confusion is that newmask
is horribly misnamed.   Please rename it to server or irqserver.
Obtain its value by calling get_irq_server.  If the server returned
is -1 (in strict mode), don't call rtas (just return like today).
I guess a printk could be in order since the function is void, and
only root can request the change.

milton

  reply	other threads:[~2007-04-26 14:43 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-08  4:55 [PATCH] Fix interrupt distribution in ppc970 Mohan Kumar M
2006-12-18  4:37 ` Paul Mackerras
2006-12-18  5:14   ` Mohan Kumar M
2006-12-18 10:57   ` Mohan Kumar M
2007-01-02 11:42     ` [Fastboot] " Mohan Kumar M
2007-01-02 15:07       ` Doug Maxey
2007-03-06 13:57     ` Mohan Kumar M
2007-03-06 14:16       ` Michael Ellerman
2007-03-06 16:55         ` Mohan Kumar M
2007-03-06 17:37           ` Michael Ellerman
2007-03-07  4:53             ` Mohan Kumar M
2007-03-07 10:52               ` Michael Ellerman
2007-04-09  8:57                 ` Mohan Kumar M
2007-04-10  7:06                   ` Michael Ellerman
2007-04-10 12:54                     ` Mohan Kumar M
2007-04-10 16:59                     ` Milton Miller
2007-04-11  1:16                       ` Michael Ellerman
2007-04-19 11:52                         ` Mohan Kumar M
2007-04-20  5:45                           ` Milton Miller
2007-04-26  9:24                             ` Mohan Kumar M
2007-04-26 14:42                               ` Milton Miller [this message]
2007-05-03 14:47                                 ` Mohan Kumar M
2007-05-03 14:47                                   ` Mohan Kumar M
2007-05-06  6:52                                   ` Milton Miller
2007-05-06  6:52                                     ` Milton Miller
2007-06-04 10:54                                     ` Mohan Kumar M
2007-06-04 10:54                                       ` Mohan Kumar M
2007-06-06  9:43                                       ` Milton Miller
2007-06-06  9:43                                         ` Milton Miller
2007-06-06 11:31                                         ` Mohan Kumar M
2007-06-06 11:31                                           ` Mohan Kumar M
2007-06-11  1:58                                           ` Milton Miller
2007-06-11  1:58                                             ` Milton Miller
2007-06-11 18:07                                             ` Mohan Kumar M
2007-06-11 18:07                                               ` Mohan Kumar M
2007-06-12 14:51                                             ` Mohan Kumar M
2007-06-12 14:51                                               ` Mohan Kumar M
2007-06-15 16:35                                               ` Milton Miller
2007-06-15 16:35                                                 ` Milton Miller
2007-03-07  6:06         ` [Fastboot] " Vivek Goyal
2007-03-07 10:46           ` Michael Ellerman
2007-03-06 22:05       ` Nathan Lynch
2007-03-07  5:01         ` Mohan Kumar M
2007-03-07  8:52         ` Benjamin Herrenschmidt
2007-03-07  9:10           ` Mohan Kumar M

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=4cb567d635b4ac3333e6b4b2c27c12f2@bga.com \
    --to=miltonm@bga.com \
    --cc=anton@samba.org \
    --cc=fastboot@lists.osdl.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mohan@in.ibm.com \
    --cc=paulus@samba.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.