All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: sparclinux@vger.kernel.org
Subject: Re: kernel bug with CONFIG_KEYBOARD_ATKBD=y
Date: Tue, 07 Apr 2009 22:16:38 +0000	[thread overview]
Message-ID: <20090407.151638.93201206.davem@davemloft.net> (raw)
In-Reply-To: <200904071001.19368.dennis@ausil.us>

From: Dennis Gilmore <dennis@ausil.us>
Date: Tue, 7 Apr 2009 17:10:08 -0500

> On Tuesday 07 April 2009 04:57:55 pm David Miller wrote:
>> From: Dennis Gilmore <dennis@ausil.us>
>> Date: Tue, 7 Apr 2009 10:01:17 -0500
>>
>> > Initalizing network drop monitor service
>> > kernel BUG at
>> > /builddir/build/BUILD/kernel-2.6.29/linux-2.6.29.sparc64/arch/sparc/inclu
>> >de/asm/tlb_64.h:48!
>>
>> What kernel is this tree based upon?  2.6.29.1?
> yeah 2.6.29.1

A sparc64 fix I put into 2.6.29.1 is likely the cause.  It's possible
I put in a version without a particular issue cured.

I'm going to work on figuring out what the problem is, but for now you
can just revert the patch below.  Your problem had absolutely nothing
to do with turning KEYBOARD_ATKBD on, any kernel configuration would
hit this when running the X server.

commit b6816b706138c3870f03115071872cad824f90b4
Author: David S. Miller <davem@davemloft.net>
Date:   Thu Mar 26 01:28:53 2009 -0700

    sparc64: Flush TLB before releasing pages.
    
    [ Upstream commit a552a42cfa91ab653128dff89a70c8dde7fed042 ]
    
    tlb_flush_mmu() needs to flush pending TLB entries before
    processing the mmu_gather ->pages list.
    
    Noticed by Benjamin Herrenschmidt.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>

diff --git a/arch/sparc/include/asm/tlb_64.h b/arch/sparc/include/asm/tlb_64.h
index ec81cde..0aaa086 100644
--- a/arch/sparc/include/asm/tlb_64.h
+++ b/arch/sparc/include/asm/tlb_64.h
@@ -58,6 +58,8 @@ static inline struct mmu_gather *tlb_gather_mmu(struct mm_struct *mm, unsigned i
 static inline void tlb_flush_mmu(struct mmu_gather *mp)
 {
 	if (mp->need_flush) {
+		if (!mp->fullmm)
+			flush_tlb_pending();
 		free_pages_and_swap_cache(mp->pages, mp->pages_nr);
 		mp->pages_nr = 0;
 		mp->need_flush = 0;
@@ -78,8 +80,6 @@ static inline void tlb_finish_mmu(struct mmu_gather *mp, unsigned long start, un
 
 	if (mp->fullmm)
 		mp->fullmm = 0;
-	else
-		flush_tlb_pending();
 
 	/* keep the page table cache within bounds */
 	check_pgt_cache();

  parent reply	other threads:[~2009-04-07 22:16 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-07 15:01 kernel bug with CONFIG_KEYBOARD_ATKBD=y Dennis Gilmore
2009-04-07 16:02 ` Dennis Gilmore
2009-04-07 21:57 ` David Miller
2009-04-07 22:10 ` Dennis Gilmore
2009-04-07 22:16 ` David Miller [this message]
2009-04-07 22:24 ` David Miller
2009-04-08  5:29 ` Dennis Gilmore

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=20090407.151638.93201206.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=sparclinux@vger.kernel.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.