Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-30 Thread Christoph Hellwig
On Thu, Jun 28, 2007 at 10:24:24PM -0700, Andrew Morton wrote: > > Really, it would be great if we could treat kmalloc() objects > > just like real pages. > > >From a high level, that seems like a bad idea. kmalloc() gives you a > virtual address and you really shouldn't be poking around at that

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-30 Thread Russell King
On Sat, Jun 30, 2007 at 12:11:38AM +0100, Alan Cox wrote: > > DMA to or from memory should be done via the DMA mapping API. If we're > > DMAing to/from a limited range within a page, either we should be using > > dma_map_single(), or dma_map_page() with an appropriate offset and size. > > If thos

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Alan Cox
> DMA to or from memory should be done via the DMA mapping API. If we're > DMAing to/from a limited range within a page, either we should be using > dma_map_single(), or dma_map_page() with an appropriate offset and size. If those ranges overlap a cache line then the dma mapping API will not save

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Alan Cox
On Fri, 29 Jun 2007 13:45:29 -0700 Andrew Morton <[EMAIL PROTECTED]> wrote: > On Fri, 29 Jun 2007 13:16:57 +0100 > Alan Cox <[EMAIL PROTECTED]> wrote: > > > > If those operations involve modifying that slab page's pageframe then what > > > stops concurrent dma'ers from stomping on each other's ch

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Russell King
On Fri, Jun 29, 2007 at 01:45:29PM -0700, Andrew Morton wrote: > On Fri, 29 Jun 2007 13:16:57 +0100 > Alan Cox <[EMAIL PROTECTED]> wrote: > > > > If those operations involve modifying that slab page's pageframe then what > > > stops concurrent dma'ers from stomping on each other's changes? As in:

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Andrew Morton
On Fri, 29 Jun 2007 13:16:57 +0100 Alan Cox <[EMAIL PROTECTED]> wrote: > > If those operations involve modifying that slab page's pageframe then what > > stops concurrent dma'ers from stomping on each other's changes? As in: > > why aren't we already buggy? > > Or DMA operations falling out with

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Christoph Lameter
On Fri, 29 Jun 2007, Hugh Dickins wrote: > I stand by my page_mapping patch, and the remark I made before, > that page_mapping(page) is the correct place to check this. What is > page_mapping(page) for? Precisely to return the struct address_space* > from page->mapping when that's what's in ther

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Hugh Dickins
On Thu, 28 Jun 2007, Christoph Lameter wrote: > I had a talk with James Bottomley last night and it seems that there is an > established way of using the page structs of slab objects in the block > layer. Drivers may use the DMA interfaces to issue control commands. In > that case they may allo

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Alan Cox
> If those operations involve modifying that slab page's pageframe then what > stops concurrent dma'ers from stomping on each other's changes? As in: > why aren't we already buggy? Or DMA operations falling out with CPU operations in the same memory area. Not all platforms have hardware consisten

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread David Miller
From: Christoph Lameter <[EMAIL PROTECTED]> Date: Fri, 29 Jun 2007 00:00:39 -0700 (PDT) > On Thu, 28 Jun 2007, David Miller wrote: > > > Really, it would be great if we could treat kmalloc() objects > > just like real pages. Everything wants to do I/O on pages > > but sometimes (like the network

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-29 Thread Christoph Lameter
On Thu, 28 Jun 2007, David Miller wrote: > Really, it would be great if we could treat kmalloc() objects > just like real pages. Everything wants to do I/O on pages > but sometimes (like the networking) you have a kmalloc > chunk which is technically just a part of a page. > > The fact that ther

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread Christoph Lameter
On Thu, 28 Jun 2007, Andrew Morton wrote: > If those operations _don't_ involve modifying the pageframe (hopes this is > true) then we're read-only and things become much easier? This is true right now. We are way off topic ... - To unsubscribe from this list: send the line "unsubscribe linux-ke

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread Christoph Lameter
On Thu, 28 Jun 2007, David Miller wrote: > From: Andrew Morton <[EMAIL PROTECTED]> > Date: Thu, 28 Jun 2007 22:24:24 -0700 > > > So what happens when two quite different threads of control are doing > > IO against two hunks of kmalloced memory which happen to come from the same > > page? Either

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread Andrew Morton
On Thu, 28 Jun 2007 22:37:34 -0700 (PDT) David Miller <[EMAIL PROTECTED]> wrote: > From: Andrew Morton <[EMAIL PROTECTED]> > Date: Thu, 28 Jun 2007 22:24:24 -0700 > > > So what happens when two quite different threads of control are doing > > IO against two hunks of kmalloced memory which happen

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread David Miller
From: Andrew Morton <[EMAIL PROTECTED]> Date: Thu, 28 Jun 2007 22:24:24 -0700 > So what happens when two quite different threads of control are doing > IO against two hunks of kmalloced memory which happen to come from the same > page? Either some (kernel-wide) locking is needed, or that pagefram

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread Andrew Morton
On Thu, 28 Jun 2007 22:06:06 -0700 (PDT) David Miller <[EMAIL PROTECTED]> wrote: > From: Christoph Lameter <[EMAIL PROTECTED]> > Date: Thu, 28 Jun 2007 21:39:01 -0700 (PDT) > > > H... Maybe we are creating more of a mess with this. Isnt there some > > other way to handle these object. > > T

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread David Miller
From: Christoph Lameter <[EMAIL PROTECTED]> Date: Thu, 28 Jun 2007 21:39:01 -0700 (PDT) > H... Maybe we are creating more of a mess with this. Isnt there some > other way to handle these object. That's where I was going with the silly idea to use another allocator :) Really, it would be gre

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread Christoph Lameter
On Thu, 28 Jun 2007, David Miller wrote: > > You can get such a reference and then the slab page will be in limbo if > > all objects are freed until that reference is given up. The reference > > method is also use by kmem_cache_vacate() (but that is slab internal). > > What about if someone kfr

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread David Miller
From: Christoph Lameter <[EMAIL PROTECTED]> Date: Thu, 28 Jun 2007 21:22:22 -0700 (PDT) > On Thu, 28 Jun 2007, David Miller wrote: > > > > Still a better solution would be to not use the slab allocator at all for > > > the objects that are used to send commands to the devices. These are not > >

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread Christoph Lameter
On Thu, 28 Jun 2007, David Miller wrote: > > Still a better solution would be to not use the slab allocator at all for > > the objects that are used to send commands to the devices. These are not > > permanent and grabbing a page from the pcp lists and putting it back is > > likely as fast as p

Re: [PATCH] Containment measures for slab objects on scatter gather lists

2007-06-28 Thread David Miller
From: Christoph Lameter <[EMAIL PROTECTED]> Date: Thu, 28 Jun 2007 21:01:36 -0700 (PDT) > Modify the functions in the affected arches to check for PageSlab() and > use a NULL mapping if such a page is encountered. This may only be > necessary for parisc and arm since sparc64 and xtensa do not sc