All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kip Walker" <kwalker@broadcom.com>
To: linux-mips@linux-mips.org
Cc: "Ralf Baechle" <ralf@linux-mips.org>
Subject: Re: [PATCH]: load_mmu for SMP systems
Date: Fri, 25 Apr 2003 11:28:31 -0700	[thread overview]
Message-ID: <3EA97E4F.42C2441F@broadcom.com> (raw)
In-Reply-To: 3EA97D54.6910D49E@broadcom.com

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


OK, I'll add some declarations make it tidier.

Kip

Kip Walker wrote:
> 
> In SMP systems, each CPU needs to set up "current_cpu_data.tlbsize".
> Some CPUs do this initialization in cpu_probe, which is called both by
> init_arch and start_secondary.  However, some CPUs do this in their TLB
> setup code, which is called via load_mmu.  The SMP boot code doesn't
> currently call load_mmu() for the secondary CPUs.  Here's a simple fix
> for the 2.4 tree.
> 
> TLB flush routines that have loops running up to tlbsize will lose if
> it's not set properly on all CPUs!

[-- Attachment #2: loadmmu.diff --]
[-- Type: text/plain, Size: 1507 bytes --]

Index: arch/mips/kernel/smp.c
===================================================================
RCS file: /home/cvs/linux/arch/mips/kernel/smp.c,v
retrieving revision 1.10.2.24
diff -u -r1.10.2.24 smp.c
--- arch/mips/kernel/smp.c	23 Apr 2003 20:10:49 -0000	1.10.2.24
+++ arch/mips/kernel/smp.c	25 Apr 2003 18:27:05 -0000
@@ -39,6 +39,9 @@
 #include <asm/mmu_context.h>
 #include <asm/smp.h>
 
+extern void load_mmu(void);
+extern void per_cpu_trap_init(void);
+
 /* The 'big kernel lock' */
 spinlock_t kernel_flag __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED;
 int smp_threads_ready;	/* Not used */
@@ -99,6 +102,7 @@
 	unsigned int cpu = smp_processor_id();
 
 	cpu_probe();
+	load_mmu();
 	prom_init_secondary();
 	per_cpu_trap_init();
 
Index: arch/mips64/kernel/smp.c
===================================================================
RCS file: /home/cvs/linux/arch/mips64/kernel/smp.c,v
retrieving revision 1.26.2.22
diff -u -r1.26.2.22 smp.c
--- arch/mips64/kernel/smp.c	23 Apr 2003 20:10:49 -0000	1.26.2.22
+++ arch/mips64/kernel/smp.c	25 Apr 2003 18:27:05 -0000
@@ -39,6 +39,9 @@
 #include <asm/mmu_context.h>
 #include <asm/smp.h>
 
+extern void load_mmu(void);
+extern void per_cpu_trap_init(void);      
+
 /* The 'big kernel lock' */
 spinlock_t kernel_flag __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED;
 int smp_threads_ready;	/* Not used */
@@ -103,6 +106,7 @@
 	unsigned int cpu = smp_processor_id();
 
 	cpu_probe();
+	load_mmu();
 	prom_init_secondary();
 	per_cpu_trap_init();
 

  reply	other threads:[~2003-04-25 18:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-25 18:24 [PATCH]: load_mmu for SMP systems Kip Walker
2003-04-25 18:28 ` Kip Walker [this message]
2003-04-28  0:56 ` Ralf Baechle
2003-04-28 14:43   ` Kip Walker

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=3EA97E4F.42C2441F@broadcom.com \
    --to=kwalker@broadcom.com \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.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.