public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] SGI Altix cross partition functionality
@ 2004-06-16 16:33 Dean Nelson
  2004-06-16 16:39 ` Christoph Hellwig
                   ` (24 more replies)
  0 siblings, 25 replies; 28+ messages in thread
From: Dean Nelson @ 2004-06-16 16:33 UTC (permalink / raw)
  To: linux-ia64

This patch exports the symbols needed by XP[C|NET].


Index: linux/arch/ia64/kernel/sal.c
=================================--- linux.orig/arch/ia64/kernel/sal.c	Thu Jun 10 14:47:44 2004
+++ linux/arch/ia64/kernel/sal.c	Thu Jun 10 16:31:55 2004
@@ -12,12 +12,15 @@
 #include <linux/init.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
+#include <linux/module.h>
 
 #include <asm/page.h>
 #include <asm/sal.h>
 #include <asm/pal.h>
 
 spinlock_t sal_lock __cacheline_aligned = SPIN_LOCK_UNLOCKED;
+EXPORT_SYMBOL(sal_lock);
+
 unsigned long sal_platform_features;
 
 unsigned short sal_revision;
@@ -38,6 +41,8 @@ default_handler (void)
 }
 
 ia64_sal_handler ia64_sal = (ia64_sal_handler) default_handler;
+EXPORT_SYMBOL(ia64_sal);
+
 ia64_sal_desc_ptc_t *ia64_ptc_domain_info;
 
 const char *
Index: linux/arch/ia64/kernel/smpboot.c
=================================--- linux.orig/arch/ia64/kernel/smpboot.c	Thu Jun 10 14:47:53 2004
+++ linux/arch/ia64/kernel/smpboot.c	Thu Jun 10 16:31:55 2004
@@ -498,6 +498,7 @@ u8 cpu_to_node_map[NR_CPUS] __cacheline_
 EXPORT_SYMBOL(cpu_to_node_map);
 /* which logical CPUs are on which nodes */
 cpumask_t node_to_cpu_mask[MAX_NUMNODES] __cacheline_aligned;
+EXPORT_SYMBOL(node_to_cpu_mask);
 
 /*
  * Build cpu to node mapping and initialize the per node cpu masks.
Index: linux/arch/ia64/sn/kernel/bte.c
=================================--- linux.orig/arch/ia64/sn/kernel/bte.c	Mon May 10 12:32:38 2004
+++ linux/arch/ia64/sn/kernel/bte.c	Thu Jun 10 16:31:55 2004
@@ -7,6 +7,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/module.h>
 #include <asm/sn/sgi.h>
 #include <asm/sn/nodepda.h>
 #include <asm/sn/addrs.h>
@@ -169,6 +170,7 @@ bte_copy(u64 src, u64 dest, u64 len, u64
 
 	return bte_status;
 }
+EXPORT_SYMBOL(bte_copy);
 
 
 /*
@@ -405,7 +407,7 @@ void
 bte_init_cpu(void)
 {
 	/* Called by setup.c as each cpu is being added to the nodepda */
-	if (local_node_data->active_cpu_count & 0x1) {
+	if (get_slice() = 0) {
 		pda->cpu_bte_if[0] = &(nodepda->bte_if[0]);
 		pda->cpu_bte_if[1] = &(nodepda->bte_if[1]);
 	} else {
Index: linux/arch/ia64/sn/kernel/setup.c
=================================--- linux.orig/arch/ia64/sn/kernel/setup.c	Thu Jun 10 16:29:44 2004
+++ linux/arch/ia64/sn/kernel/setup.c	Thu Jun 10 16:31:55 2004
@@ -50,6 +50,7 @@
 #include <asm/sn/sn2/shub.h>
 
 DEFINE_PER_CPU(struct pda_s, pda_percpu);
+EXPORT_SYMBOL(per_cpu__pda_percpu);
 
 #define MAX_PHYS_MEMORY		(1UL << 49)     /* 1 TB */
 
@@ -68,8 +69,11 @@ unsigned long sn_rtc_cycles_per_second; 
 EXPORT_SYMBOL(sn_rtc_cycles_per_second);
 
 partid_t sn_partid = -1;
+EXPORT_SYMBOL(sn_partid);
 char sn_system_serial_number_string[128];
+EXPORT_SYMBOL(sn_system_serial_number_string);
 u64 sn_partition_serial_number;
+EXPORT_SYMBOL(sn_partition_serial_number);
 
 short physical_node_map[MAX_PHYSNODE_ID];
 
Index: linux/include/asm-ia64/sn/sn_sal.h
=================================--- linux.orig/include/asm-ia64/sn/sn_sal.h	Mon May 10 12:33:21 2004
+++ linux/include/asm-ia64/sn/sn_sal.h	Thu Jun 10 16:31:55 2004
@@ -13,6 +13,7 @@
 
 
 #include <linux/config.h>
+#include <asm/sn/sgi.h>
 #include <asm/sal.h>
 #include <asm/sn/sn_cpuid.h>
 #include <asm/sn/arch.h>
Index: linux/kernel/exit.c
=================================--- linux.orig/kernel/exit.c	Thu Jun 10 15:04:09 2004
+++ linux/kernel/exit.c	Thu Jun 10 16:31:55 2004
@@ -1184,6 +1184,7 @@ end_wait4:
 	remove_wait_queue(&current->wait_chldexit,&wait);
 	return retval;
 }
+EXPORT_SYMBOL(sys_wait4);
 
 #ifdef __ARCH_WANT_SYS_WAITPID
 
Index: linux/kernel/sched.c
=================================--- linux.orig/kernel/sched.c	Thu Jun 10 16:30:39 2004
+++ linux/kernel/sched.c	Thu Jun 10 16:31:55 2004
@@ -2814,6 +2814,7 @@ asmlinkage long sys_sched_setscheduler(p
 {
 	return setscheduler(pid, policy, param);
 }
+EXPORT_SYMBOL(sys_sched_setscheduler);
 
 /**
  * sys_sched_setparam - set/change the RT priority of a thread
Index: linux/mm/page_alloc.c
=================================--- linux.orig/mm/page_alloc.c	Thu Jun 10 14:47:51 2004
+++ linux/mm/page_alloc.c	Thu Jun 10 16:31:55 2004
@@ -40,6 +40,7 @@ unsigned long totalram_pages;
 unsigned long totalhigh_pages;
 int nr_swap_pages;
 int numnodes = 1;
+EXPORT_SYMBOL(numnodes);
 int sysctl_lower_zone_protection = 0;
 
 EXPORT_SYMBOL(totalram_pages);

^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 0/4] SGI Altix cross partition functionality (1st
@ 2004-08-24 18:00 Dean Nelson
  2004-08-24 18:22 ` [PATCH 1/4] SGI Altix cross partition functionality (1st revision) Dean Nelson
  0 siblings, 1 reply; 28+ messages in thread
From: Dean Nelson @ 2004-08-24 18:00 UTC (permalink / raw)
  To: netdev, linux-ia64

    Terminology

The term 'partition', adopted by the SGI hardware designers and which
perculated up into the software, is used in reference to a single SSI
when multiple SSIs are running on a single Altix. An Altix running
multiple SSIs is said to be 'partitioned', whereas one that is running
only a single SSI is said to be 'unpartitioned'.

The term '[a]cross partition' refers to a functionality that spans between
two SSIs on a multi-SSI Altix. ('XP' is its abbreviation.)


    Introduction

This feature provides cross partition functionality when running multiple
partitions on a single SGI Altix.

This functionality includes such things as a pseudo-ethernet driver and
memory sharing, which are provided by functional support modules that sit
on top of a low-level communication module.

The communication module provides channels for point-to-point communication
between the partitions. There is support for eight channels between any
two partitions (currently only two channels are in use, the remainder are
available for possible future expansion). A functional support module uses
the same channel number for all of its cross partition communication across
the entire Altix.

There is a shim module that acts as an interface between the functional
support modules and the communication module. Its sole purpose is to allow
for the communication module to be rmmod'd/insmod'd without 'disturbing'
the functional support modules and the user processes utilizing them. The
shim module has also proven itself to be invaluable for debugging.

This feature is being submitted as four separate quilt patches:

    exports  - symbols that need to be exported for XP[C|NET]
    XP       - shim module
    XPC      - cross partition (low-level) communication module
    XPNET    - cross partition pseudo-ethernet driver functional support module

The XPC patch is dependent on the SGI fetchop driver patch to be applied
first. The SGI fetchop driver patch is being pushed out to the community
separately by Robin Holt.

The XPC patch is also dependent on bte_copy(). This function activates
the SGI Altix's Block Transfer Engine (BTE).

[ The netdev folks only need to review the XPNET patch. ]

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2004-10-21 11:01 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-16 16:33 [PATCH 1/4] SGI Altix cross partition functionality Dean Nelson
2004-06-16 16:39 ` Christoph Hellwig
2004-06-16 17:20 ` Jesse Barnes
2004-06-16 17:28 ` Christoph Hellwig
2004-06-16 17:40 ` Robin Holt
2004-06-16 17:43 ` Christoph Hellwig
2004-06-16 19:36 ` Robin Holt
2004-07-14 16:01 ` Dean Nelson
2004-07-14 16:04 ` Dean Nelson
2004-07-15 12:47 ` Dean Nelson
2004-07-15 20:58 ` Christoph Hellwig
2004-07-15 21:00 ` Christoph Hellwig
2004-07-15 21:16 ` Jack Steiner
2004-07-29 16:10 ` Dean Nelson
2004-07-30 22:15 ` Luck, Tony
2004-07-31 12:46 ` Robin Holt
2004-08-10 19:54 ` Dean Nelson
2004-08-12 15:10 ` Dean Nelson
2004-08-23 16:50 ` Dean Nelson
2004-08-23 17:10 ` Dean Nelson
2004-08-23 17:51 ` Christoph Hellwig
2004-08-23 17:52 ` Christoph Hellwig
2004-08-23 19:16 ` Dean Nelson
2004-09-14 18:58 ` [PATCH 1/4] SGI Altix cross partition functionality (1st revision) Dean Nelson
2004-10-21  8:59 ` Christoph Hellwig
2004-10-21 11:01 ` Dean Nelson
  -- strict thread matches above, loose matches on Subject: below --
2004-08-24 18:00 [PATCH 0/4] SGI Altix cross partition functionality (1st Dean Nelson
2004-08-24 18:22 ` [PATCH 1/4] SGI Altix cross partition functionality (1st revision) Dean Nelson
2004-08-24 19:13   ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox