[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181122151632.GP3065@bombadil.infradead.org>
Date: Thu, 22 Nov 2018 07:16:32 -0800
From: Matthew Wilcox <willy@...radead.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: Robin Murphy <robin.murphy@....com>,
Michal Hocko <mhocko@...e.com>,
Will Deacon <will.deacon@....com>,
Levin Alexander <Alexander.Levin@...rosoft.com>,
linux-mm@...ck.org, Christopher Lameter <cl@...ux.com>,
Nicolas Boichat <drinkcat@...omium.org>,
Huaisheng Ye <yehs1@...ovo.com>,
David Rientjes <rientjes@...gle.com>,
yingjoe.chen@...iatek.com, Vlastimil Babka <vbabka@...e.cz>,
Tomasz Figa <tfiga@...gle.com>,
Mike Rapoport <rppt@...ux.vnet.ibm.com>,
Matthias Brugger <matthias.bgg@...il.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Pekka Enberg <penberg@...nel.org>,
iommu@...ts.linux-foundation.org,
Andrew Morton <akpm@...ux-foundation.org>,
Mel Gorman <mgorman@...hsingularity.net>
Subject: Re: [PATCH v2 0/3] iommu/io-pgtable-arm-v7s: Use DMA32 zone for page
tables
On Thu, Nov 22, 2018 at 12:26:02AM -0800, Christoph Hellwig wrote:
> On Wed, Nov 21, 2018 at 06:35:58PM -0800, Matthew Wilcox wrote:
> > I think you should look at using the page_frag allocator here. You can
> > use whatever GFP_DMA flags you like.
>
> So I actually tries to use page_frag to solve the XFS unaligned kmalloc
> allocations problem, and I don't think it is the right hammer for this
> nail (or any other nail outside of networking).
>
> The problem with the page_frag allocator is that it never reuses
> fragments returned to the page, but only only frees the page once all
> fragments are freed. This means that if you have some long(er) term
> allocations you are effectively creating memory leaks.
Yes, your allocations from the page_frag allocator have to have similar
lifetimes. I thought that would be ideal for XFS though; as I understood
the problem, these were per-IO allocations, and IOs to the same filesystem
tend to take roughly the same amount of time. Sure, in an error case,
some IOs will take a long time before timing out, but it should be OK
to have pages unavailable during that time in these rare situations.
What am I missing?
Powered by blists - more mailing lists