public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yinghai@kernel.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-tip-commits@vger.kernel.org, linux-kernel@vger.kernel.org,
	hpa@zytor.com, mingo@redhat.com, rusty@rustcorp.com.au,
	ebiederm@xmission.com, akpm@linux-foundation.org,
	tglx@linutronix.de
Subject: [PATCH 3/3] x86: Correct behaviour of irq affinity -v2
Date: Tue, 24 Mar 2009 14:42:40 -0700	[thread overview]
Message-ID: <49C953D0.5000104@kernel.org> (raw)
In-Reply-To: <20090324213458.GA29440@elte.hu>

From: Rusty Russell <rusty@rustcorp.com.au>

Impact: get correct smp_affinity as user requested

The effect of setting desc->affinity (ie. from userspace via sysfs) has varied
over time.  In 2.6.27, the 32-bit code anded the value with cpu_online_map,
and both 32 and 64-bit did that anding whenever a cpu was unplugged.

2.6.29 consolidated this into one routine (and fixed hotplug) but introduced
another variation: anding the affinity with cfg->domain.  Is this right, or
should we just set it to what the user said?  Or as now, indicate that we're
restricting it.

If we should change it, here's what the patch looks like against x86 tip
(cpu_mask_to_apicid_and already takes cpu_online_mask into account)

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>

---
 arch/x86/kernel/apic/io_apic.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Index: linux-2.6/arch/x86/kernel/apic/io_apic.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/apic/io_apic.c
+++ linux-2.6/arch/x86/kernel/apic/io_apic.c
@@ -594,9 +594,10 @@ set_desc_affinity(struct irq_desc *desc,
 
 	/* check that before desc->addinity get updated */
 	set_extra_move_desc(desc, mask);
-	cpumask_and(desc->affinity, cfg->domain, mask);
 
-	return apic->cpu_mask_to_apicid_and(desc->affinity, cpu_online_mask);
+	cpumask_copy(desc->affinity, mask);
+
+	return apic->cpu_mask_to_apicid_and(desc->affinity, cfg->domain);
 }
 
 static void

  reply	other threads:[~2009-03-24 21:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-24  5:49 [RFC] Correct behaviour of irq affinity? Rusty Russell
2009-03-24  7:21 ` Yinghai Lu
2009-03-24 12:52   ` Rusty Russell
2009-03-24 20:36     ` Yinghai Lu
2009-03-24 12:39 ` Eric W. Biederman
2009-03-24 19:49   ` Yinghai Lu
2009-03-24 20:23   ` [PATCH] x86: fix set_extra_move_desc calling Yinghai Lu
2009-03-24 21:15     ` [tip:x86/apic] " Yinghai Lu
2009-03-24 21:15     ` [PATCH 1/3] " Yinghai Lu
2009-03-24 21:16       ` [PATCH 2/3] x86: use default_cpu_mask_to_apicid for 64bit Yinghai Lu
2009-03-24 21:30         ` [tip:x86/apic] " Yinghai Lu
2009-03-24 21:34           ` Ingo Molnar
2009-03-24 21:42             ` Yinghai Lu [this message]
2009-03-24 21:17       ` [PATCH 3/3] x86: Correct behaviour of irq affinity Yinghai Lu
2009-03-24 21:30         ` [tip:x86/apic] " Rusty Russell
2009-03-25 17:51         ` Rusty Russell
2009-03-25  0:33   ` [RFC] Correct behaviour of irq affinity? Rusty Russell
2009-03-25  0:59     ` Rusty Russell
2009-03-25  1:03       ` Yinghai Lu

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=49C953D0.5000104@kernel.org \
    --to=yinghai@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=rusty@rustcorp.com.au \
    --cc=tglx@linutronix.de \
    /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