From: Kumar Gala <galak@kernel.crashing.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org,
tglx@linutronix.de, linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 1/1] irq: Maintain user set affinity
Date: Thu, 6 Nov 2008 17:23:51 -0600 [thread overview]
Message-ID: <E490ECD9-DC1C-4BF6-A4FA-2EA4E80EB8D9@kernel.crashing.org> (raw)
In-Reply-To: <20081106133524.75588d96.akpm@linux-foundation.org>
On Nov 6, 2008, at 3:35 PM, Andrew Morton wrote:
> On Tue, 4 Nov 2008 10:31:05 -0600 (CST)
> Kumar Gala <galak@kernel.crashing.org> wrote:
>
>>> From 819ad3ed4660f4238e053728a8b5aa93d22b13d7 Mon Sep 17 00:00:00
>>> 2001
>> From: Kumar Gala <galak@kernel.crashing.org>
>> Date: Tue, 4 Nov 2008 10:13:53 -0600
>> Subject: [PATCH 1/1] irq: Maintain user set affinity
>>
>> This addresses a regression in that if a user specified an affinity
>> for an interrupt that affinity information would get reset between
>> a request_irq(), free_irq() and request_irq() for the same irq.
>>
>> On example of this is bringing up an ethernet interface, taking
>> it down and bringing it back up again.
>>
>> Instead of always using the irq_default_affinity we use the
>> previous setting of the IRQs affinity with the assumption that
>> at boot the IRQs affinity will be set to irq_default_affinity.
>>
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>> ---
>> kernel/irq/manage.c | 7 +++++--
>> 1 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
>> index c498a1b..ea7d11b 100644
>> --- a/kernel/irq/manage.c
>> +++ b/kernel/irq/manage.c
>> @@ -115,9 +115,12 @@ int irq_select_affinity(unsigned int irq)
>> if (!irq_can_set_affinity(irq))
>> return 0;
>>
>> - cpus_and(mask, cpu_online_map, irq_default_affinity);
>> -
>> desc = irq_to_desc(irq);
>> +
>> + mask = desc->affinity;
>> +
>> + cpus_and(mask, cpu_online_map, mask);
>> +
>> desc->affinity = mask;
>> desc->chip->set_affinity(irq, mask);
>>
>
> Are you able to identify when this regression occurred? It isn't
> immediately obvious to me.
>
> If the regression is present in 2.6.27 or earlier, do you think we
> should backport the fix? If so, a different patch would be needed due
> to the presence of
>
> commit 08678b0841267c1d00d771fe01548d86043d065e
> Author: Yinghai Lu <yhlu.kernel@gmail.com>
> Date: Tue Aug 19 20:50:05 2008 -0700
>
> generic: sparse irqs: use irq_desc() together with dyn_array,
> instead of irq_desc[]
It didn't creep in during 2.6.27. I will back port a patch to
2.6.27. Thomas has provided me a better patch that handles a few
critical issues that mine doesn't. I'll be testing it this evening
and will backport to 2.6.27 if it works out.
- k
next prev parent reply other threads:[~2008-11-06 23:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-04 16:31 Kumar Gala
2008-11-06 21:35 ` Andrew Morton
2008-11-06 23:23 ` Kumar Gala [this message]
2008-11-08 22:13 ` Yinghai Lu
2008-11-08 22:12 ` Yinghai Lu
2008-11-08 22:17 ` Benjamin Herrenschmidt
2008-11-09 0:01 ` Yinghai Lu
2008-11-09 2:17 ` Benjamin Herrenschmidt
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=E490ECD9-DC1C-4BF6-A4FA-2EA4E80EB8D9@kernel.crashing.org \
--to=galak@kernel.crashing.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®