[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1703170147030.15347@chino.kir.corp.google.com>
Date: Fri, 17 Mar 2017 01:52:53 -0700 (PDT)
From: David Rientjes <rientjes@...gle.com>
To: "Huang, Ying" <ying.huang@...el.com>
cc: Andrew Morton <akpm@...ux-foundation.org>,
Andi Kleen <ak@...ux.intel.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Shaohua Li <shli@...nel.org>, Rik van Riel <riel@...hat.com>,
Johannes Weiner <hannes@...xchg.org>,
Michal Hocko <mhocko@...e.com>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Mel Gorman <mgorman@...hsingularity.net>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Jérôme Glisse <jglisse@...hat.com>,
Aaron Lu <aaron.lu@...el.com>, Hugh Dickins <hughd@...gle.com>,
Minchan Kim <minchan@...nel.org>,
Ingo Molnar <mingo@...nel.org>,
Vegard Nossum <vegard.nossum@...cle.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH 4/5] mm, swap: Try kzalloc before vzalloc
On Fri, 17 Mar 2017, Huang, Ying wrote:
> From: Huang Ying <ying.huang@...el.com>
>
> Now vzalloc() is used in swap code to allocate various data
> structures, such as swap cache, swap slots cache, cluster info, etc.
> Because the size may be too large on some system, so that normal
> kzalloc() may fail. But using kzalloc() has some advantages, for
> example, less memory fragmentation, less TLB pressure, etc. So change
> the data structure allocation in swap code to try to use kzalloc()
> firstly, and fallback to vzalloc() if kzalloc() failed.
>
I'm concerned about preferring kzalloc() with __GFP_RECLAIM since the page
allocator will try to do memory compaction for high-order allocations when
the vzalloc() would have succeeded immediately. Do we necessarily want to
spend time doing memory compaction and direct reclaim for contiguous
memory if it's not needed?
Powered by blists - more mailing lists