Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754674AbXFVHBf (ORCPT ); Fri, 22 Jun 2007 03:01:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751772AbXFVHB0 (ORCPT ); Fri, 22 Jun 2007 03:01:26 -0400 Received: from caramon.arm.linux.org.uk ([217.147.92.249]:4666 "EHLO caramon.arm.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751962AbXFVHBZ (ORCPT ); Fri, 22 Jun 2007 03:01:25 -0400 Date: Fri, 22 Jun 2007 08:00:41 +0100 From: Russell King To: Hugh Dickins Cc: Christoph Lameter , Nicolas Ferre , ARM Linux Mailing List , Linux Kernel list , Marc Pignat , Andrew Victor , Pierre Ossman , Andrew Morton , Linus Torvalds Subject: Re: Oops in a driver while using SLUB as a SLAB allocator Message-ID: <20070622070041.GA18997@flint.arm.linux.org.uk> References: <467A4532.40301@rfo.atmel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1301 Lines: 33 On Fri, Jun 22, 2007 at 05:26:33AM +0100, Hugh Dickins wrote: > On Thu, 21 Jun 2007, Christoph Lameter wrote: > > On Thu, 21 Jun 2007, Hugh Dickins wrote: > > > > > > The oops seems to occur after a page unmapping using dma_unmap_page() followed > > > > by a flush_dcache_page() (in at91mci_post_dma_read()). > > > > Was the page allocated using slab calls? > > You've found yes (in the ARM case). > > > Well one may be better off allocating pages using the page allocator > > instead of the slab allocator. I removed these things from i386 but I did > > not check ARM. > > They may or may not be: I think that's a matter to discuss with rmk. The coherent case on ARM is broken in more ways, not only because it uses kmalloc, but it also takes no notice of the DMA mask. However, AT91 isn't a coherent ARM architecture, so arch_is_coherent() should be false. Therefore, we should never be allocating pages for DMA from SLAB/SLUB for AT91 platforms. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/