All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@techsingularity.net>
To: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Dave Hansen <dave.hansen@intel.com>,
	Balbir Singh <bsingharora@gmail.com>,
	linux-mm@kvack.org, Vlastimil Babka <vbabka@suse.cz>,
	Michal Hocko <mhocko@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	mahesh@linux.vnet.ibm.com
Subject: Re: [PATCH 2/2] fadump: Disable deferred page struct initialisation
Date: Thu, 4 Aug 2016 11:28:01 +0100	[thread overview]
Message-ID: <20160804102801.GJ2799@techsingularity.net> (raw)
In-Reply-To: <20160804051035.GA11268@linux.vnet.ibm.com>

On Thu, Aug 04, 2016 at 10:40:35AM +0530, Srikar Dronamraju wrote:
> * Dave Hansen <dave.hansen@intel.com> [2016-08-03 12:40:17]:
> 
> > On 08/02/2016 11:35 PM, Srikar Dronamraju wrote:
> > > On a regular kernel with CONFIG_FADUMP and fadump configured, 5% of the
> > > total memory is reserved for booting the kernel on crash.  On crash,
> > > fadump kernel reserves the 95% memory and boots into the 5% memory that
> > > was reserved for it. It then parses the reserved 95% memory to collect
> > > the dump.
> > > 
> > > The problem is not about the amount of memory thats reserved for fadump
> > > kernel. Even if we increase/decrease, we will still end up with the same
> > > issue.
> > 
> > Oh, and the dentry/inode caches are sized based on 100% of memory, not
> > the 5% that's left after the fadump reservation?
> 
> Yes, the dentry/inode caches are sized based on the 100% memory.
> 

By and large, I'm not a major fan of introducing an API to disable it for
a single feature that is arch-specific because it's very heavy handed.
There is no guarantee that the existence of fadump will cause a failure

If fadump is reserving memory and alloc_large_system_hash(HASH_EARLY)
does not know about then then would an arch-specific callback for
arch_reserved_kernel_pages() be more appropriate? fadump would need to
return how many pages it reserved there. That would shrink the size of
the inode and dentry hash tables when booting with 95% of memory
reserved.

That approach would limit the impact to ppc64 and would be less costly than
doing a memblock walk instead of using nr_kernel_pages for everyone else.

> > Is the deferred initialization kicked in progress at the time we do the
> > dentry/inode allocations?  Can waiting a bit let the allocation succeed?
> > 
> 
> Right now deferred initialisation kicks in after dentry/inode
> allocations.
> 
> Can we defer the cache allocations till deferred
> initialisation? I dont know.

Only by backing it with vmalloc memory.

-- 
Mel Gorman
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2016-08-04 10:28 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-02 13:19 [PATCH 0/0] Disable deferred struct page initialisation on Fadump Srikar Dronamraju
2016-08-02 13:19 ` Srikar Dronamraju
2016-08-02 13:19 ` [PATCH 1/2] mm: Allow disabling deferred struct page initialisation Srikar Dronamraju
2016-08-02 13:19   ` Srikar Dronamraju
2016-08-02 18:09   ` Dave Hansen
2016-08-02 18:09     ` Dave Hansen
2016-08-03  6:38     ` Srikar Dronamraju
2016-08-03  6:38       ` Srikar Dronamraju
2016-08-03 18:17       ` Dave Hansen
2016-08-03 18:17         ` Dave Hansen
2016-08-04  5:25         ` Srikar Dronamraju
2016-08-04  5:25           ` Srikar Dronamraju
2016-08-02 13:19 ` [PATCH 2/2] fadump: Disable deferred page struct initialisation Srikar Dronamraju
2016-08-02 13:19   ` Srikar Dronamraju
2016-08-03  5:20   ` Balbir Singh
2016-08-03  5:20     ` Balbir Singh
2016-08-03  6:07     ` Vlastimil Babka
2016-08-03  6:07       ` Vlastimil Babka
2016-08-03 11:34       ` Michael Ellerman
2016-08-03 11:34         ` Michael Ellerman
2016-08-03  6:35     ` Srikar Dronamraju
2016-08-03 19:40       ` Dave Hansen
2016-08-04  5:10         ` Srikar Dronamraju
2016-08-04 10:28           ` Mel Gorman [this message]
2016-08-04 13:54             ` Srikar Dronamraju

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=20160804102801.GJ2799@techsingularity.net \
    --to=mgorman@techsingularity.net \
    --cc=akpm@linux-foundation.org \
    --cc=bsingharora@gmail.com \
    --cc=dave.hansen@intel.com \
    --cc=linux-mm@kvack.org \
    --cc=mahesh@linux.vnet.ibm.com \
    --cc=mhocko@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=vbabka@suse.cz \
    /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.