mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
To: "Martin J. Bligh" <mbligh@aracnet.com>,
	"Nakajima, Jun" <jun.nakajima@intel.com>,
	"Van Maren, Kevin" <kevin.vanmaren@unisys.com>,
	"William Lee Irwin III" <wli@holomorphy.com>,
	"Christoph Hellwig" <hch@infradead.org>,
	"James Cleverdon" <jamesclv@us.ibm.com>,
	"John Stultz" <johnstul@us.ibm.com>,
	"Mallick, Asit K" <asit.k.mallick@intel.com>,
	"Saxena, Sunil" <sunil.saxena@intel.com>,
	"Linux Kernel" <linux-kernel@vger.kernel.org>
Cc: "Protasevich, Natalie" <Natalie.Protasevich@unisys.com>
Subject: [PATCH][2.4]  generic support for systems with more than 8 CPUs (2/2)
Date: Sat, 21 Dec 2002 22:59:10 -0800	[thread overview]
Message-ID: <C8C38546F90ABF408A5961FC01FDBF1912E1B3@fmsmsx405.fm.intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 3202 bytes --]

2/2 : switching to physical mode APIC setup in case of more than 8 CPU system

Thanks,
-Venkatesh

diff -urN linux-2.4.21-pre2.org/Documentation/Configure.help linux-2.4.21-pre2/Documentation/Configure.help
--- linux-2.4.21-pre2.org/Documentation/Configure.help	2002-12-17 20:05:15.000000000 -0800
+++ linux-2.4.21-pre2/Documentation/Configure.help	2002-12-17 20:11:23.000000000 -0800
@@ -262,6 +262,13 @@
 
   If you don't have this computer, you may safely say N.
 
+Other more than 8 logical CPU system support
+CONFIG_X86_MANY_CPU
+  This option is required to support systems with more than 8 logical CPUs.
+
+  If you don't have such a computer, you may safely say N.
+  You dont have to choose this for IBM Summit/x440 systems.
+
 IO-APIC support on uniprocessors
 CONFIG_X86_UP_IOAPIC
   An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
diff -urN linux-2.4.21-pre2.org/arch/i386/config.in linux-2.4.21-pre2/arch/i386/config.in
--- linux-2.4.21-pre2.org/arch/i386/config.in	2002-12-17 20:05:15.000000000 -0800
+++ linux-2.4.21-pre2/arch/i386/config.in	2002-12-17 20:11:23.000000000 -0800
@@ -229,6 +229,10 @@
          define_bool CONFIG_X86_CLUSTERED_APIC y
       fi
    fi
+   bool 'Other more than 8 logical CPU system support' CONFIG_X86_MANY_CPU
+   if [ "$CONFIG_X86_MANY_CPU" = "y" ]; then
+      define_bool CONFIG_X86_CLUSTERED_APIC y
+   fi
 fi
 
 if [ "$CONFIG_X86_NUMA" != "y" ]; then
diff -urN linux-2.4.21-pre2.org/arch/i386/kernel/mpparse.c linux-2.4.21-pre2/arch/i386/kernel/mpparse.c
--- linux-2.4.21-pre2.org/arch/i386/kernel/mpparse.c	2002-12-17 20:12:21.000000000 -0800
+++ linux-2.4.21-pre2/arch/i386/kernel/mpparse.c	2002-12-17 20:11:23.000000000 -0800
@@ -590,15 +590,6 @@
 	}
 
 
-	printk("Enabling APIC mode: ");
-	if(clustered_apic_mode == CLUSTERED_APIC_NUMAQ)
-		printk("Clustered Logical.	");
-	else if(clustered_apic_mode == CLUSTERED_APIC_XAPIC)
-		printk("Physical.	");
-	else
-		printk("Flat.	");
-	printk("Using %d I/O APICs\n",nr_ioapics);
-
 	if (!num_processors)
 		printk(KERN_ERR "SMP mptable: no processors registered!\n");
 	return num_processors;
@@ -834,6 +825,33 @@
 
 	printk("Processors: %d\n", num_processors);
 	printk("xAPIC support %s present\n", (xapic_support?"is":"is not"));
+
+#ifdef CONFIG_X86_CLUSTERED_APIC
+	/*
+	 * Switch to Physical destination mode in case of generic
+	 * more than 8 CPU system, which has xAPIC support
+	 */
+#define FLAT_APIC_CPU_MAX	8
+	if ((clustered_apic_mode == CLUSTERED_APIC_NONE) &&
+	    (xapic_support) &&
+	    (num_processors > FLAT_APIC_CPU_MAX)) {
+		clustered_apic_mode = CLUSTERED_APIC_XAPIC;
+		apic_broadcast_id = APIC_BROADCAST_ID_XAPIC;
+		int_dest_addr_mode = APIC_DEST_PHYSICAL;
+		int_delivery_mode = dest_Fixed;
+		esr_disable = 1;
+	}
+#endif
+
+	printk("Enabling APIC mode: ");
+	if (clustered_apic_mode == CLUSTERED_APIC_NUMAQ)
+		printk("Clustered Logical.	");
+	else if (clustered_apic_mode == CLUSTERED_APIC_XAPIC)
+		printk("Physical.	");
+	else
+		printk("Flat.	");
+	printk("Using %d I/O APICs\n",nr_ioapics);
+
 	/*
 	 * Only use the first configuration found.
 	 */




[-- Attachment #2: physapic_2.4.21-pre2.patch --]
[-- Type: application/octet-stream, Size: 3008 bytes --]

diff -urN linux-2.4.21-pre2.org/Documentation/Configure.help linux-2.4.21-pre2/Documentation/Configure.help
--- linux-2.4.21-pre2.org/Documentation/Configure.help	2002-12-17 20:05:15.000000000 -0800
+++ linux-2.4.21-pre2/Documentation/Configure.help	2002-12-17 20:11:23.000000000 -0800
@@ -262,6 +262,13 @@
 
   If you don't have this computer, you may safely say N.
 
+Other more than 8 logical CPU system support
+CONFIG_X86_MANY_CPU
+  This option is required to support systems with more than 8 logical CPUs.
+
+  If you don't have such a computer, you may safely say N.
+  You dont have to choose this for IBM Summit/x440 systems.
+
 IO-APIC support on uniprocessors
 CONFIG_X86_UP_IOAPIC
   An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
diff -urN linux-2.4.21-pre2.org/arch/i386/config.in linux-2.4.21-pre2/arch/i386/config.in
--- linux-2.4.21-pre2.org/arch/i386/config.in	2002-12-17 20:05:15.000000000 -0800
+++ linux-2.4.21-pre2/arch/i386/config.in	2002-12-17 20:11:23.000000000 -0800
@@ -229,6 +229,10 @@
          define_bool CONFIG_X86_CLUSTERED_APIC y
       fi
    fi
+   bool 'Other more than 8 logical CPU system support' CONFIG_X86_MANY_CPU
+   if [ "$CONFIG_X86_MANY_CPU" = "y" ]; then
+      define_bool CONFIG_X86_CLUSTERED_APIC y
+   fi
 fi
 
 if [ "$CONFIG_X86_NUMA" != "y" ]; then
diff -urN linux-2.4.21-pre2.org/arch/i386/kernel/mpparse.c linux-2.4.21-pre2/arch/i386/kernel/mpparse.c
--- linux-2.4.21-pre2.org/arch/i386/kernel/mpparse.c	2002-12-17 20:12:21.000000000 -0800
+++ linux-2.4.21-pre2/arch/i386/kernel/mpparse.c	2002-12-17 20:11:23.000000000 -0800
@@ -590,15 +590,6 @@
 	}
 
 
-	printk("Enabling APIC mode: ");
-	if(clustered_apic_mode == CLUSTERED_APIC_NUMAQ)
-		printk("Clustered Logical.	");
-	else if(clustered_apic_mode == CLUSTERED_APIC_XAPIC)
-		printk("Physical.	");
-	else
-		printk("Flat.	");
-	printk("Using %d I/O APICs\n",nr_ioapics);
-
 	if (!num_processors)
 		printk(KERN_ERR "SMP mptable: no processors registered!\n");
 	return num_processors;
@@ -834,6 +825,33 @@
 
 	printk("Processors: %d\n", num_processors);
 	printk("xAPIC support %s present\n", (xapic_support?"is":"is not"));
+
+#ifdef CONFIG_X86_CLUSTERED_APIC
+	/*
+	 * Switch to Physical destination mode in case of generic
+	 * more than 8 CPU system, which has xAPIC support
+	 */
+#define FLAT_APIC_CPU_MAX	8
+	if ((clustered_apic_mode == CLUSTERED_APIC_NONE) &&
+	    (xapic_support) &&
+	    (num_processors > FLAT_APIC_CPU_MAX)) {
+		clustered_apic_mode = CLUSTERED_APIC_XAPIC;
+		apic_broadcast_id = APIC_BROADCAST_ID_XAPIC;
+		int_dest_addr_mode = APIC_DEST_PHYSICAL;
+		int_delivery_mode = dest_Fixed;
+		esr_disable = 1;
+	}
+#endif
+
+	printk("Enabling APIC mode: ");
+	if (clustered_apic_mode == CLUSTERED_APIC_NUMAQ)
+		printk("Clustered Logical.	");
+	else if (clustered_apic_mode == CLUSTERED_APIC_XAPIC)
+		printk("Physical.	");
+	else
+		printk("Flat.	");
+	printk("Using %d I/O APICs\n",nr_ioapics);
+
 	/*
 	 * Only use the first configuration found.
 	 */

             reply	other threads:[~2002-12-22  6:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-22  6:59 Pallipadi, Venkatesh [this message]
2002-12-22 12:17 ` William Lee Irwin III
2002-12-22 17:47   ` Martin J. Bligh
2002-12-22 22:23     ` William Lee Irwin III
2002-12-22 17:43 ` Martin J. Bligh
2002-12-23  1:36 Pallipadi, Venkatesh

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=C8C38546F90ABF408A5961FC01FDBF1912E1B3@fmsmsx405.fm.intel.com \
    --to=venkatesh.pallipadi@intel.com \
    --cc=Natalie.Protasevich@unisys.com \
    --cc=asit.k.mallick@intel.com \
    --cc=hch@infradead.org \
    --cc=jamesclv@us.ibm.com \
    --cc=johnstul@us.ibm.com \
    --cc=jun.nakajima@intel.com \
    --cc=kevin.vanmaren@unisys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@aracnet.com \
    --cc=sunil.saxena@intel.com \
    --cc=wli@holomorphy.com \
    /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®