linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc: Remove tlb batching hack for nighthawk
@ 2012-09-21  8:08 Michael Ellerman
  2012-09-23 21:04 ` Anton Blanchard
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Ellerman @ 2012-09-21  8:08 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Anton Blanchard

In hpte_init_native() we call tlb_batching_enabled() to decide if we
should setup ppc_md.flush_hash_range.

tlb_batching_enabled() checks the _unflattened_ device tree, to see
if we are running on a nighthawk.

Since commit a223535 ("dont allow pSeries_probe to succeed without
initialising MMU", Dec 2006), hpte_init_native() has been called from
pSeries_probe() - at which point we have not yet unflattened the
device tree.

This means tlb_batching_enabled() will always return true, so the hack
has effectively been disabled since Dec 2006. Ergo, I think we can
drop it.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
---
 arch/powerpc/mm/hash_native_64.c |   26 +-------------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/arch/powerpc/mm/hash_native_64.c b/arch/powerpc/mm/hash_native_64.c
index f21e8ce..60c21a8 100644
--- a/arch/powerpc/mm/hash_native_64.c
+++ b/arch/powerpc/mm/hash_native_64.c
@@ -539,29 +539,6 @@ static void native_flush_hash_range(unsigned long number, int local)
 	local_irq_restore(flags);
 }
 
-#ifdef CONFIG_PPC_PSERIES
-/* Disable TLB batching on nighthawk */
-static inline int tlb_batching_enabled(void)
-{
-	struct device_node *root = of_find_node_by_path("/");
-	int enabled = 1;
-
-	if (root) {
-		const char *model = of_get_property(root, "model", NULL);
-		if (model && !strcmp(model, "IBM,9076-N81"))
-			enabled = 0;
-		of_node_put(root);
-	}
-
-	return enabled;
-}
-#else
-static inline int tlb_batching_enabled(void)
-{
-	return 1;
-}
-#endif
-
 void __init hpte_init_native(void)
 {
 	ppc_md.hpte_invalidate	= native_hpte_invalidate;
@@ -570,6 +547,5 @@ void __init hpte_init_native(void)
 	ppc_md.hpte_insert	= native_hpte_insert;
 	ppc_md.hpte_remove	= native_hpte_remove;
 	ppc_md.hpte_clear_all	= native_hpte_clear;
-	if (tlb_batching_enabled())
-		ppc_md.flush_hash_range = native_flush_hash_range;
+	ppc_md.flush_hash_range = native_flush_hash_range;
 }
-- 
1.7.9.5

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

* Re: [PATCH] powerpc: Remove tlb batching hack for nighthawk
  2012-09-21  8:08 [PATCH] powerpc: Remove tlb batching hack for nighthawk Michael Ellerman
@ 2012-09-23 21:04 ` Anton Blanchard
  0 siblings, 0 replies; 2+ messages in thread
From: Anton Blanchard @ 2012-09-23 21:04 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev

On Fri, 21 Sep 2012 18:08:28 +1000
Michael Ellerman <michael@ellerman.id.au> wrote:

> In hpte_init_native() we call tlb_batching_enabled() to decide if we
> should setup ppc_md.flush_hash_range.
> 
> tlb_batching_enabled() checks the _unflattened_ device tree, to see
> if we are running on a nighthawk.
> 
> Since commit a223535 ("dont allow pSeries_probe to succeed without
> initialising MMU", Dec 2006), hpte_init_native() has been called from
> pSeries_probe() - at which point we have not yet unflattened the
> device tree.
> 
> This means tlb_batching_enabled() will always return true, so the hack
> has effectively been disabled since Dec 2006. Ergo, I think we can
> drop it.

Ouch. We probably had the last nighthawk in existence and we crushed it
years ago. So:

Acked-by: Anton Blanchard <anton@samba.org>

Anton

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

end of thread, other threads:[~2012-09-23 21:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-21  8:08 [PATCH] powerpc: Remove tlb batching hack for nighthawk Michael Ellerman
2012-09-23 21:04 ` Anton Blanchard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).