All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Matthew Wilcox <willy@infradead.org>
Cc: Robin Murphy <robin.murphy@arm.com>,
	Michal Hocko <mhocko@suse.com>, Will Deacon <will.deacon@arm.com>,
	Levin Alexander <Alexander.Levin@microsoft.com>,
	linux-mm@kvack.org, Christopher Lameter <cl@linux.com>,
	Nicolas Boichat <drinkcat@chromium.org>,
	Huaisheng Ye <yehs1@lenovo.com>,
	David Rientjes <rientjes@google.com>,
	yingjoe.chen@mediatek.com, Vlastimil Babka <vbabka@suse.cz>,
	Tomasz Figa <tfiga@google.com>,
	Mike Rapoport <rppt@linux.vnet.ibm.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Pekka Enberg <penberg@kernel.org>,
	iommu@lists.linux-foundation.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Mel Gorman <mgorman@techsingularity.net>
Subject: Re: [PATCH v2 0/3] iommu/io-pgtable-arm-v7s: Use DMA32 zone for page tables
Date: Thu, 22 Nov 2018 00:26:02 -0800	[thread overview]
Message-ID: <20181122082602.GB2049@infradead.org> (raw)
In-Reply-To: <20181122023558.GO3065@bombadil.infradead.org>

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.

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
To: Matthew Wilcox <willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Pekka Enberg <penberg-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Mike Rapoport
	<rppt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Michal Hocko <mhocko-IBi9RG/b67k@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	Huaisheng Ye <yehs1-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>,
	Tomasz Figa <tfiga-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Mel Gorman
	<mgorman-3eNAlZScCAx27rWaFMvyedHuzzzSOjJt@public.gmane.org>,
	Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Levin Alexander
	<Alexander.Levin-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>,
	linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	Nicolas Boichat
	<drinkcat-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	David Rientjes <rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Matthias Brugger
	<matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	Christopher Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>,
	Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>,
	Joonsoo Kim <iamjoonsoo.kim-Hm3cg6mZ9cc@public.gmane.org>,
	Vlastimil Babka <vbabka-AlSwsSmVLrQ@public.gmane.org>
Subject: Re: [PATCH v2 0/3] iommu/io-pgtable-arm-v7s: Use DMA32 zone for page tables
Date: Thu, 22 Nov 2018 00:26:02 -0800	[thread overview]
Message-ID: <20181122082602.GB2049@infradead.org> (raw)
In-Reply-To: <20181122023558.GO3065-PfSpb0PWhxZc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>

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.

WARNING: multiple messages have this Message-ID (diff)
From: hch@infradead.org (Christoph Hellwig)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/3] iommu/io-pgtable-arm-v7s: Use DMA32 zone for page tables
Date: Thu, 22 Nov 2018 00:26:02 -0800	[thread overview]
Message-ID: <20181122082602.GB2049@infradead.org> (raw)
In-Reply-To: <20181122023558.GO3065@bombadil.infradead.org>

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.

  parent reply	other threads:[~2018-11-22  8:26 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-11  9:03 [PATCH v2 0/3] iommu/io-pgtable-arm-v7s: Use DMA32 zone for page tables Nicolas Boichat
2018-11-11  9:03 ` Nicolas Boichat
2018-11-11  9:03 ` Nicolas Boichat
2018-11-11  9:03 ` [PATCH v2 1/3] mm: slab/slub: Add check_slab_flags function to check for valid flags Nicolas Boichat
2018-11-11  9:03   ` Nicolas Boichat
2018-11-11  9:03   ` Nicolas Boichat
2018-11-11  9:03 ` [PATCH v2 2/3] mm: Add support for SLAB_CACHE_DMA32 Nicolas Boichat
2018-11-11  9:03   ` Nicolas Boichat
2018-11-11  9:03   ` Nicolas Boichat
2018-11-21 18:32   ` Christopher Lameter
2018-11-21 18:32     ` Christopher Lameter
2018-11-22  0:52     ` Nicolas Boichat
2018-11-22  0:52       ` Nicolas Boichat
2018-11-22  0:52       ` Nicolas Boichat
2018-11-11  9:03 ` [PATCH v2 3/3] iommu/io-pgtable-arm-v7s: Request DMA32 memory, and improve debugging Nicolas Boichat
2018-11-11  9:03   ` Nicolas Boichat
2018-11-11  9:03   ` Nicolas Boichat
2018-11-21 16:46   ` Will Deacon
2018-11-21 16:46     ` Will Deacon
2018-11-21 17:38     ` Christopher Lameter
2018-11-21 17:38       ` Christopher Lameter
2018-11-21 17:43       ` Robin Murphy
2018-11-21 17:43         ` Robin Murphy
2018-11-21 18:18         ` Christopher Lameter
2018-11-21 18:18           ` Christopher Lameter
2018-11-21 18:02     ` Michal Hocko
2018-11-21 18:02       ` Michal Hocko
2018-11-22  1:20       ` Nicolas Boichat
2018-11-22  1:20         ` Nicolas Boichat
2018-11-22  1:20         ` Nicolas Boichat
2018-11-23 12:15         ` Vlastimil Babka
2018-11-23 12:15           ` Vlastimil Babka
2018-11-21 18:20 ` [PATCH v2 0/3] iommu/io-pgtable-arm-v7s: Use DMA32 zone for page tables Christopher Lameter
2018-11-21 18:20   ` Christopher Lameter
2018-11-21 21:38   ` Matthew Wilcox
2018-11-21 21:38     ` Matthew Wilcox
2018-11-21 21:38     ` Matthew Wilcox
2018-11-21 22:26     ` Robin Murphy
2018-11-21 22:26       ` Robin Murphy
2018-11-21 22:26       ` Robin Murphy
2018-11-22  1:05       ` Nicolas Boichat
2018-11-22  1:05         ` Nicolas Boichat
2018-11-22  1:05         ` Nicolas Boichat
2018-11-22  2:35       ` Matthew Wilcox
2018-11-22  2:35         ` Matthew Wilcox
2018-11-22  2:35         ` Matthew Wilcox
2018-11-22  5:56         ` Nicolas Boichat
2018-11-22  5:56           ` Nicolas Boichat
2018-11-22  5:56           ` Nicolas Boichat
2018-11-22  8:26         ` Christoph Hellwig [this message]
2018-11-22  8:26           ` Christoph Hellwig
2018-11-22  8:26           ` Christoph Hellwig
2018-11-22 15:16           ` Matthew Wilcox
2018-11-22 15:16             ` Matthew Wilcox
2018-11-22 15:16             ` Matthew Wilcox
2018-11-22 15:19             ` Christoph Hellwig
2018-11-22 15:19               ` Christoph Hellwig
2018-11-22 15:19               ` Christoph Hellwig
2018-11-22  8:23       ` Christoph Hellwig
2018-11-22  8:23         ` Christoph Hellwig
2018-11-22  8:23         ` Christoph Hellwig
2018-11-23  3:04         ` Nicolas Boichat
2018-11-23  3:04           ` Nicolas Boichat
2018-11-23  3:04           ` Nicolas Boichat
2018-11-23  5:37           ` Nicolas Boichat
2018-11-23  5:37             ` Nicolas Boichat
2018-11-23  5:37             ` Nicolas Boichat
2018-11-23 12:23         ` Vlastimil Babka
2018-11-23 12:23           ` Vlastimil Babka
2018-11-23 12:23           ` Vlastimil Babka
2018-11-23 12:30           ` Michal Hocko
2018-11-23 12:30             ` Michal Hocko
2018-11-23 12:30             ` Michal Hocko
2018-11-26  8:02           ` Christoph Hellwig
2018-11-26  8:02             ` Christoph Hellwig
2018-11-26  8:02             ` Christoph Hellwig
2018-11-28  8:55             ` Nicolas Boichat
2018-11-28  8:55               ` Nicolas Boichat
2018-11-28  8:55               ` Nicolas Boichat
2018-12-04  9:37 ` Nicolas Boichat
2018-12-04  9:37   ` Nicolas Boichat
2018-12-04 14:35   ` Vlastimil Babka
2018-12-04 14:35     ` Vlastimil Babka
2018-12-04 14:35     ` Vlastimil Babka
2018-12-05  2:04     ` Nicolas Boichat
2018-12-05  2:04       ` Nicolas Boichat
2018-12-05  2:04       ` Nicolas Boichat
2018-12-05  5:51       ` Nicolas Boichat
2018-12-05  5:51         ` Nicolas Boichat
2018-12-05  5:51         ` Nicolas Boichat
2018-12-05 14:41       ` Will Deacon
2018-12-05 14:41         ` Will Deacon
2018-12-05 14:41         ` Will Deacon
2018-12-04 16:28   ` Will Deacon
2018-12-04 16:28     ` Will Deacon
2018-12-04 16:28     ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181122082602.GB2049@infradead.org \
    --to=hch@infradead.org \
    --cc=Alexander.Levin@microsoft.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=drinkcat@chromium.org \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mgorman@techsingularity.net \
    --cc=mhocko@suse.com \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.com \
    --cc=robin.murphy@arm.com \
    --cc=rppt@linux.vnet.ibm.com \
    --cc=tfiga@google.com \
    --cc=vbabka@suse.cz \
    --cc=will.deacon@arm.com \
    --cc=willy@infradead.org \
    --cc=yehs1@lenovo.com \
    --cc=yingjoe.chen@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.