All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@gmail.com>
To: mingo@redhat.com
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jirislaby@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH 2/4] x86_32: apic/es7000_32, cpu_mask_to_apicid cleanup
Date: Thu, 26 Feb 2009 22:45:30 +0100	[thread overview]
Message-ID: <1235684732-5991-2-git-send-email-jirislaby@gmail.com> (raw)
In-Reply-To: <1235684732-5991-1-git-send-email-jirislaby@gmail.com>

Remove es7000_cpu_mask_to_apicid_cluster completely, because it's
almost the same as es7000_cpu_mask_to_apicid except 2 code paths.
One of them is about to be removed soon, the another should be
BAD_APICID (it's a fail path).

The _cluster one was not invoked on apic->cpu_mask_to_apicid_and
anyway, since there was no _cluster_and variant.

Also use newer cpumask functions.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/kernel/apic/es7000_32.c |   46 ++-----------------------------------
 1 files changed, 3 insertions(+), 43 deletions(-)

diff --git a/arch/x86/kernel/apic/es7000_32.c b/arch/x86/kernel/apic/es7000_32.c
index 320f2d2..6c15126 100644
--- a/arch/x86/kernel/apic/es7000_32.c
+++ b/arch/x86/kernel/apic/es7000_32.c
@@ -565,25 +565,21 @@ static int es7000_check_phys_apicid_present(int cpu_physical_apicid)
 	return 1;
 }
 
-static unsigned int
-es7000_cpu_mask_to_apicid_cluster(const struct cpumask *cpumask)
+static unsigned int es7000_cpu_mask_to_apicid(const cpumask_t *cpumask)
 {
-	int cpus_found = 0;
-	int num_bits_set;
+	unsigned int cpu, num_bits_set, cpus_found = 0;
 	int apicid;
-	int cpu;
 
 	num_bits_set = cpumask_weight(cpumask);
 	/* Return id to all */
 	if (num_bits_set == nr_cpu_ids)
-		return 0xFF;
+		return es7000_cpu_to_logical_apicid(0);
 	/*
 	 * The cpus in the mask must all be on the apic cluster.  If are not
 	 * on the same apicid cluster return default value of target_cpus():
 	 */
 	cpu = cpumask_first(cpumask);
 	apicid = es7000_cpu_to_logical_apicid(cpu);
-
 	while (cpus_found < num_bits_set) {
 		if (cpumask_test_cpu(cpu, cpumask)) {
 			int new_apicid = es7000_cpu_to_logical_apicid(cpu);
@@ -591,40 +587,6 @@ es7000_cpu_mask_to_apicid_cluster(const struct cpumask *cpumask)
 			if (APIC_CLUSTER(apicid) != APIC_CLUSTER(new_apicid)) {
 				WARN(1, "Not a valid mask!");
 
-				return 0xFF;
-			}
-			apicid = new_apicid;
-			cpus_found++;
-		}
-		cpu++;
-	}
-	return apicid;
-}
-
-static unsigned int es7000_cpu_mask_to_apicid(const cpumask_t *cpumask)
-{
-	int cpus_found = 0;
-	int num_bits_set;
-	int apicid;
-	int cpu;
-
-	num_bits_set = cpus_weight(*cpumask);
-	/* Return id to all */
-	if (num_bits_set == nr_cpu_ids)
-		return es7000_cpu_to_logical_apicid(0);
-	/*
-	 * The cpus in the mask must all be on the apic cluster.  If are not
-	 * on the same apicid cluster return default value of target_cpus():
-	 */
-	cpu = first_cpu(*cpumask);
-	apicid = es7000_cpu_to_logical_apicid(cpu);
-	while (cpus_found < num_bits_set) {
-		if (cpu_isset(cpu, *cpumask)) {
-			int new_apicid = es7000_cpu_to_logical_apicid(cpu);
-
-			if (APIC_CLUSTER(apicid) != APIC_CLUSTER(new_apicid)) {
-				printk("%s: Not a valid mask!\n", __func__);
-
 				return es7000_cpu_to_logical_apicid(0);
 			}
 			apicid = new_apicid;
@@ -667,8 +629,6 @@ void __init es7000_update_apic_to_cluster(void)
 	apic->irq_dest_mode = 1;
 
 	apic->init_apic_ldr = es7000_init_apic_ldr_cluster;
-
-	apic->cpu_mask_to_apicid = es7000_cpu_mask_to_apicid_cluster;
 }
 
 static int probe_es7000(void)
-- 
1.6.1.3


  reply	other threads:[~2009-02-26 21:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-24 17:38 [PATCH 1/2] x86_32: summit_32, use BAD_APICID jirislaby
2009-02-24 17:38 ` [PATCH 2/2] x86_32: summit_32, de-inline functions jirislaby
2009-02-24 17:55 ` [PATCH 1/2] x86_32: summit_32, use BAD_APICID Ingo Molnar
2009-02-24 20:41   ` [PATCH v2 " Jiri Slaby
2009-02-24 20:41     ` [PATCH v2 2/2] x86_32: summit_32, de-inline functions Jiri Slaby
2009-02-25 11:00     ` [PATCH v2 1/2] x86_32: summit_32, use BAD_APICID Jiri Slaby
2009-02-25 11:10       ` Ingo Molnar
2009-02-26 21:45         ` [PATCH 1/4] x86_32: apic/bigsmp_32, de-inline functions Jiri Slaby
2009-02-26 21:45           ` Jiri Slaby [this message]
2009-02-26 21:45             ` [PATCH 3/4] x86_32: apic/es7000_32, fix cpu_mask_to_apicid Jiri Slaby
2009-02-26 21:45               ` [PATCH 4/4] x86_32: apic/summit_32, " Jiri Slaby
2009-02-26 21:50               ` [PATCH v2 3/4] x86_32: apic/es7000_32, " Jiri Slaby
2009-02-26 22:00         ` [PATCH v2 1/2] x86_32: summit_32, use BAD_APICID Jiri Slaby
2009-02-28  8:21           ` Ingo Molnar
2009-03-02  9:53             ` [PATCH 1/4] x86_32: apic/bigsmp_32, de-inline functions Jiri Slaby
2009-03-02  9:53               ` [PATCH 2/4] x86_32: apic/es7000_32, cpu_mask_to_apicid cleanup Jiri Slaby
2009-03-02  9:53                 ` [PATCH 3/4] x86_32: apic/es7000_32, fix cpu_mask_to_apicid Jiri Slaby
2009-03-02  9:53                   ` [PATCH 4/4] x86_32: apic/summit_32, " Jiri Slaby
2009-03-08 17:00             ` [PATCH v2 1/2] x86_32: summit_32, use BAD_APICID Jiri Slaby
2009-03-11  8:45               ` cpu_mask_to_apicid: Not a valid mask! [was: x86_32: summit_32, use BAD_APICID] Jiri Slaby

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=1235684732-5991-2-git-send-email-jirislaby@gmail.com \
    --to=jirislaby@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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.