From patchwork Tue Apr 7 22:16:38 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 25694 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 6B16BDE0C1 for ; Wed, 8 Apr 2009 08:17:16 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755331AbZDGWQt (ORCPT ); Tue, 7 Apr 2009 18:16:49 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1760042AbZDGWQt (ORCPT ); Tue, 7 Apr 2009 18:16:49 -0400 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:37398 "EHLO sunset.davemloft.net" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1755331AbZDGWQs (ORCPT ); Tue, 7 Apr 2009 18:16:48 -0400 Received: from localhost (localhost [127.0.0.1]) by sunset.davemloft.net (Postfix) with ESMTP id D09DAC8D935; Tue, 7 Apr 2009 15:16:38 -0700 (PDT) Date: Tue, 07 Apr 2009 15:16:38 -0700 (PDT) Message-Id: <20090407.151638.93201206.davem@davemloft.net> To: dennis@ausil.us Cc: sparclinux@vger.kernel.org Subject: Re: kernel bug with CONFIG_KEYBOARD_ATKBD=y From: David Miller In-Reply-To: <200904071710.09685.dennis@ausil.us> References: <200904071001.19368.dennis@ausil.us> <20090407.145755.213806619.davem@davemloft.net> <200904071710.09685.dennis@ausil.us> X-Mailer: Mew version 6.2.51 on Emacs 22.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org From: Dennis Gilmore Date: Tue, 7 Apr 2009 17:10:08 -0500 > On Tuesday 07 April 2009 04:57:55 pm David Miller wrote: >> From: Dennis Gilmore >> 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 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 Signed-off-by: Chris Wright --- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html 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();