From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752851AbYIFGuo (ORCPT ); Sat, 6 Sep 2008 02:50:44 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751436AbYIFGug (ORCPT ); Sat, 6 Sep 2008 02:50:36 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:44486 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751239AbYIFGuf (ORCPT ); Sat, 6 Sep 2008 02:50:35 -0400 Date: Fri, 5 Sep 2008 23:50:14 -0700 From: Andrew Morton To: Krzysztof Helt Cc: linux-kernel@vger.kernel.org, Nick Piggin , Dave Airlie , Rusty Russell Subject: Re: 2.6.27-rc5-mm1: 3 WARN_ON dumps during boot (acpi + vmap_pte_range) Message-Id: <20080905235014.fc31b2b0.akpm@linux-foundation.org> In-Reply-To: <20080906084558.dff614d4.krzysztof.h1@poczta.fm> References: <20080906084558.dff614d4.krzysztof.h1@poczta.fm> X-Mailer: Sylpheed 2.4.8 (GTK+ 2.12.5; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 6 Sep 2008 08:45:58 +0200 Krzysztof Helt wrote: > Hi, > > There is a dmesg dump below from my Compaq AP550 workstation. > It has 3 WARN_ON() dumps: 1 from acpi layer and 2 from vmap_pte_range() > There is no such thing in 2.6.27-rc4 which I use daily so I assume > it is something in the -mm tree. > yup thanks. The acpi guys and Rusty are still scratching each others heads over the acpi procfs one. > Intel 82802 RNG detected > Linux agpgart interface v0.103 > agpgart-intel 0000:00:00.0: Intel i840 Chipset > ------------[ cut here ]------------ > WARNING: at mm/vmalloc.c:105 vmap_pte_range+0xcb/0x100() > Modules linked in: > Pid: 1, comm: swapper Tainted: G W 2.6.27-rc5-mm1 #1 > [] warn_on_slowpath+0x5f/0x90 > [] fbcon_clear+0x13e/0x1a0 > [] xapic_wait_icr_idle+0x11/0x20 > [] generic_exec_single+0x9c/0xa0 > [] read_tsc+0x6/0x30 > [] getnstimeofday+0x38/0x150 > [] buffered_rmqueue+0x12c/0x210 > [] update_curr+0x4c/0x70 > [] vmap_pte_range+0xcb/0x100 > [] vmap_pmd_range+0x2d/0x40 > [] vmap_pud_range+0x2d/0x40 > [] vmap_page_range+0x66/0x90 > [] map_vm_area+0x2f/0x50 > [] __vmalloc_area_node+0xb6/0x110 > [] __vmalloc_node+0x85/0xb0 > [] agp_backend_initialize+0x82/0x230 > [] vmalloc+0x21/0x30 > [] agp_backend_initialize+0x82/0x230 > [] agp_backend_initialize+0x82/0x230 > [] __driver_attach+0x0/0xc0 > [] agp_add_bridge+0x55/0x1a0 > [] pci_call_probe+0xa/0x10 > [] __pci_device_probe+0x4e/0x60 > [] pci_device_probe+0x26/0x60 > [] really_probe+0x9b/0x130 > [] pci_match_device+0x10/0xb0 > [] driver_probe_device+0x3f/0x60 > [] __driver_attach+0x89/0xc0 > [] bus_for_each_dev+0x39/0x60 > [] driver_attach+0x16/0x20 > [] __driver_attach+0x0/0xc0 > [] bus_add_driver+0x109/0x1a0 > [] kset_find_obj+0x2d/0x60 > [] pci_device_shutdown+0x0/0x20 > [] pci_device_shutdown+0x0/0x20 > [] driver_register+0x3f/0xd0 > [] printk+0x17/0x20 > [] agp_intel_init+0x0/0x20 > [] __pci_register_driver+0x47/0x80 > [] agp_intel_init+0x0/0x20 > [] _stext+0x32/0x180 > [] xapic_wait_icr_idle+0x11/0x20 > [] resched_task+0x54/0x60 > [] try_to_wake_up+0x12e/0x140 > [] __create_workqueue_key+0x131/0x150 > [] do_initcalls+0x53/0xd0 > [] kernel_init+0x0/0xb0 > [] kernel_init+0x55/0xb0 > [] kernel_thread_helper+0x7/0x1c > ======================= > ---[ end trace 4eaa2a86a8e2da22 ]--- > agpgart-intel 0000:00:00.0: can't allocate memory for key lists > agpgart-intel 0000:00:00.0: agp_backend_initialize() failed > agpgart-intel: probe of 0000:00:00.0 failed with error -12 This one I reported to Nick and Dave yesterday - no response as yet. > ------------[ cut here ]------------ > WARNING: at mm/vmalloc.c:105 vmap_pte_range+0xcb/0x100() > Modules linked in: > Pid: 776, comm: modprobe Tainted: G W 2.6.27-rc5-mm1 #1 > [] warn_on_slowpath+0x5f/0x90 > [] handle_mm_fault+0x1d9/0x210 > [] ext3_get_block+0x0/0x100 > [] do_page_fault+0x12b/0x4f0 > [] do_IRQ+0x7e/0xd0 > [] __alloc_pages_internal+0x94/0x410 > [] do_page_fault+0x0/0x4f0 > [] error_code+0x72/0x78 > [] buffered_rmqueue+0x12c/0x210 > [] find_get_page+0x2b/0xa0 > [] vmap_pte_range+0xcb/0x100 > [] vmap_pmd_range+0x2d/0x40 > [] vmap_pud_range+0x2d/0x40 > [] vmap_page_range+0x66/0x90 > [] map_vm_area+0x2f/0x50 > [] __vmalloc_area_node+0xb6/0x110 > [] __vmalloc_node+0x85/0xb0 > [] load_module+0x89/0xd90 > [] vmalloc+0x21/0x30 > [] load_module+0x89/0xd90 > [] load_module+0x89/0xd90 > [] autoremove_wake_function+0x0/0x50 > [] vfs_read+0x90/0x150 > [] sys_init_module+0x44/0x1a0 > [] sys_read+0x41/0x70 > [] syscall_call+0x7/0xb > ======================= > ---[ end trace 4eaa2a86a8e2da22 ]--- > Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17 > Intel ICH 0000:00:1f.5: setting latency timer to 64 That's coming out of the module loader and is a new one. It's the same warning as the agp one: : static int vmap_pte_range(pmd_t *pmd, unsigned long addr, : unsigned long end, pgprot_t prot, struct page **pages, int *nr) : { : pte_t *pte; : : /* : * nr is a running index into the array which helps higher level : * callers keep track of where we're up to. : */ : : pte = pte_alloc_kernel(pmd, addr); : if (!pte) : return -ENOMEM; : do { : struct page *page = pages[*nr]; : : -->> if (WARN_ON(!pte_none(*pte))) : return -EBUSY; : if (WARN_ON(!page)) : return -ENOMEM; : set_pte_at(&init_mm, addr, pte, mk_pte(page, prot)); : (*nr)++; : } while (pte++, addr += PAGE_SIZE, addr != end); : return 0; : } : I'm suspecting an overactive assertion in the new vmap code?