All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [BUG] asm-ppc/pgtable.h breakage from 2.6.7-rc1-bk4
@ 2004-06-06 11:17 Mikael Pettersson
  2004-06-06 20:48 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 8+ messages in thread
From: Mikael Pettersson @ 2004-06-06 11:17 UTC (permalink / raw)
  To: benh; +Cc: linux-kernel, linuxppc-dev, paulus

On Sat, 05 Jun 2004 20:50:41 -0500, Benjamin Herrenschmidt wrote:
>> That (see below) also works and allows 2.6.7-rc2 to
>> boot on my PM4400.
>
>Ok, that's not normal though, as we are only relaxing permissions,
>so we must be missing something in the DSI handler or such. Can you
>try to look at what the CPU is doing when hitting that loop ? It must
>be taking the same exception over and over again...

According to Alt-SysRq, the current process is rc.sysinit,
its kernel-side is in __switch_to(), and the kernel is at
various points in page-fault/mm-fault handling.
So it's not hanging, but it's not making progress either.

/Mikael

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: [BUG] asm-ppc/pgtable.h breakage from 2.6.7-rc1-bk4
@ 2004-06-06 23:26 Mikael Pettersson
  0 siblings, 0 replies; 8+ messages in thread
From: Mikael Pettersson @ 2004-06-06 23:26 UTC (permalink / raw)
  To: benh; +Cc: linux-kernel, linuxppc-dev, paulus

On Sun, 06 Jun 2004 15:48:01 -0500, Benjamin Herrenschmidt wrote:
>Ok, please  tell me if this patch works, I don't have a machine
>to test here. If it's ok, I'll send it to andrew/linus.

Yes, this (actually the two patches you already sent to Linus
and Andrew) fixes the problem on my 603.

/Mikael

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: [BUG] asm-ppc/pgtable.h breakage from 2.6.7-rc1-bk4
@ 2004-06-06  1:39 Mikael Pettersson
  2004-06-06  1:50 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 8+ messages in thread
From: Mikael Pettersson @ 2004-06-06  1:39 UTC (permalink / raw)
  To: benh; +Cc: linux-kernel, linuxppc-dev, paulus

On Sat, 05 Jun 2004 17:29:23 -0500, Benjamin Herrenschmidt wrote:
>On Sat, 2004-06-05 at 14:56, Mikael Pettersson wrote:
>> The current 2.6.7-rc2 kernel hangs after starting INIT
>> on my PowerMac 4400. I traced the problem to the
>> ptep_set_access_flags() patch in 2.6.7-rc1-bk4, which
>> replaces ptep_establish()'s set_pte();flush_tlb_page()
>> sequence with a single pte_update() in two places in
>> mm/memory.c.
>> 
>> The patch below disables this change on ppc32, and
>> allows my 603ev-based PM4400 to finally boot 2.6.7-rc2.
>
>Can you try just adding the flush_tlb_page() to
>ptep_set_access_flags() and let me know if that helps ?

That (see below) also works and allows 2.6.7-rc2 to
boot on my PM4400.

/Mikael

--- linux-2.6.7-rc2/include/asm-ppc/pgtable.h.~1~	2004-06-06 03:17:36.000000000 +0200
+++ linux-2.6.7-rc2/include/asm-ppc/pgtable.h	2004-06-06 03:19:59.000000000 +0200
@@ -556,7 +556,10 @@
 	pte_update(ptep, 0, bits);
 }
 #define  ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \
-        __ptep_set_access_flags(__ptep, __entry, __dirty)
+do { \
+        __ptep_set_access_flags(__ptep, __entry, __dirty); \
+	flush_tlb_page(__vma, __address); \
+} while(0)
 
 /*
  * Macro to mark a page protection value as "uncacheable".

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [BUG] asm-ppc/pgtable.h breakage from 2.6.7-rc1-bk4
@ 2004-06-05 19:56 Mikael Pettersson
  2004-06-05 22:29 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 8+ messages in thread
From: Mikael Pettersson @ 2004-06-05 19:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: linuxppc-dev, paulus

The current 2.6.7-rc2 kernel hangs after starting INIT
on my PowerMac 4400. I traced the problem to the
ptep_set_access_flags() patch in 2.6.7-rc1-bk4, which
replaces ptep_establish()'s set_pte();flush_tlb_page()
sequence with a single pte_update() in two places in
mm/memory.c.

The patch below disables this change on ppc32, and
allows my 603ev-based PM4400 to finally boot 2.6.7-rc2.

/Mikael

diff -ruN linux-2.6.7-rc2/include/asm-ppc/pgtable.h linux-2.6.7-rc2.ppc-pgtable-fix/include/asm-ppc/pgtable.h
--- linux-2.6.7-rc2/include/asm-ppc/pgtable.h	2004-06-05 19:56:55.000000000 +0200
+++ linux-2.6.7-rc2.ppc-pgtable-fix/include/asm-ppc/pgtable.h	2004-06-05 19:58:43.000000000 +0200
@@ -548,6 +548,7 @@
 	pte_update(ptep, 0, _PAGE_DIRTY);
 }
 
+#if 0
 #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS
 static inline void __ptep_set_access_flags(pte_t *ptep, pte_t entry, int dirty)
 {
@@ -557,6 +558,7 @@
 }
 #define  ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \
         __ptep_set_access_flags(__ptep, __entry, __dirty)
+#endif
 
 /*
  * Macro to mark a page protection value as "uncacheable".

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

end of thread, other threads:[~2004-06-06 23:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-06 11:17 [BUG] asm-ppc/pgtable.h breakage from 2.6.7-rc1-bk4 Mikael Pettersson
2004-06-06 20:48 ` Benjamin Herrenschmidt
2004-06-06 21:05   ` Benjamin Herrenschmidt
  -- strict thread matches above, loose matches on Subject: below --
2004-06-06 23:26 Mikael Pettersson
2004-06-06  1:39 Mikael Pettersson
2004-06-06  1:50 ` Benjamin Herrenschmidt
2004-06-05 19:56 Mikael Pettersson
2004-06-05 22:29 ` Benjamin Herrenschmidt

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.