[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1182370132.21117.84.camel@twins>
Date: Wed, 20 Jun 2007 22:08:51 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Arjan van de Ven <arjan@...ux.intel.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@...el.com>,
"Keshavamurthy, Anil S" <anil.s.keshavamurthy@...el.com>,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
ak@...e.de, gregkh@...e.de, muli@...ibm.com, ashok.raj@...el.com,
davem@...emloft.net, clameter@....com
Subject: Re: [Intel IOMMU 06/10] Avoid memory allocation failures
in dma map api calls
On Wed, 2007-06-20 at 12:14 -0700, Arjan van de Ven wrote:
> Peter Zijlstra wrote:
> > So a reclaim context (kswapd and direct reclaim) set PF_MEMALLOC to
> > ensure they themselves will not block on a memory allocation. And it is
> > understood that these code paths have a bounded memory footprint.
>
>
> that's a too simplistic view though; what happens is that kswapd will
> queue the IO, but the irq context will then take the IO from the queue
> and do the DMA mapping... which needs the memory.....
Right, but who stops some unrelated interrupt handler from completely
depleting memory?
What I'm saying is that there should be some coupling between the
reclaim context and the irq context doing work on its behalf.
For instance, you know how many pages are in the queue, and which queue.
So you could preallocate enough memory to handle that many pages from
irq context and couple that reserve to the queue object. Then irq
context can use that memory to do the work.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists