All of lore.kernel.org
 help / color / mirror / Atom feed
* [sparc32] Copy full soft PMD in fault handler
@ 2004-02-02  9:43 Keith M Wesolowski
  2004-02-02 18:22 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Keith M Wesolowski @ 2004-02-02  9:43 UTC (permalink / raw)
  To: sparclinux

sparc_do_fault assumes that pmd_val(*pmd) = pmd_val(*pmd_k) will
duplicate a PMD entry.  With large soft-PMDs this doesn't work.

Is this ok?  Specifically I'm wondering whether it's necessary to use
swap here is in pmd_set.  The comment in the i386 handler "Do _not_
use "tsk" here. We might be inside an interrupt in the middle of a
task switch.." doesn't make me feel too good about this function's
health and well-being either, since we use tsk.

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1551  -> 1.1552 
#	arch/sparc/mm/fault.c	1.15    -> 1.16   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 04/02/02	wesolows@foobazco.org	1.1552
# Copy all 16 sub-pmd-entries, not just the first one.
# --------------------------------------------
#
diff -Nru a/arch/sparc/mm/fault.c b/arch/sparc/mm/fault.c
--- a/arch/sparc/mm/fault.c	Mon Feb  2 01:25:54 2004
+++ b/arch/sparc/mm/fault.c	Mon Feb  2 01:25:54 2004
@@ -392,7 +392,7 @@
 
 		if (pmd_present(*pmd) || !pmd_present(*pmd_k))
 			goto bad_area_nosemaphore;
-		pmd_val(*pmd) = pmd_val(*pmd_k);
+		*pmd = *pmd_k;
 		return;
 	}
 }


-- 
Keith M Wesolowski

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

* Re: [sparc32] Copy full soft PMD in fault handler
  2004-02-02  9:43 [sparc32] Copy full soft PMD in fault handler Keith M Wesolowski
@ 2004-02-02 18:22 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2004-02-02 18:22 UTC (permalink / raw)
  To: sparclinux

On Mon, 2 Feb 2004 01:43:47 -0800
Keith M Wesolowski <wesolows@foobazco.org> wrote:

> sparc_do_fault assumes that pmd_val(*pmd) = pmd_val(*pmd_k) will
> duplicate a PMD entry.  With large soft-PMDs this doesn't work.
> 
> Is this ok?

I think this patch is just fine.

> The comment in the i386 handler "Do _not_
> use "tsk" here. We might be inside an interrupt in the middle of a
> task switch.." doesn't make me feel too good about this function's
> health and well-being either, since we use tsk.

I think it does not apply to sparc, on sparc we disable interrupts during
the context switch so that it "appears" atomic.  But actually you should
change it over to use init_mm.pgd just like other platforms merely for
consistency.


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

end of thread, other threads:[~2004-02-02 18:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-02  9:43 [sparc32] Copy full soft PMD in fault handler Keith M Wesolowski
2004-02-02 18:22 ` David S. Miller

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.