From: darrick.wong@oracle.com (Darrick J. Wong)
Subject: [LSF/MM TOPIC] few MM topics
Date: Wed, 31 Jan 2018 11:21:04 -0800 [thread overview]
Message-ID: <20180131192104.GD4841@magnolia> (raw)
In-Reply-To: <20180124092649.GC21134@dhcp22.suse.cz>
On Wed, Jan 24, 2018@10:26:49AM +0100, Michal Hocko wrote:
> Hi,
> I would like to propose the following few topics for further discussion
> at LSF/MM this year. MM track would be the most appropriate one but
> there is some overlap with FS and NVDIM
> - memcg OOM behavior has changed around 3.12 as a result of OOM
> deadlocks when the memcg OOM killer was triggered from the charge
> path. We simply fail the charge and unroll to a safe place to
> trigger the OOM killer. This is only done from the #PF path and any
> g-u-p or kmem accounted allocation can just fail in that case leading
> to unexpected ENOMEM to userspace. I believe we can return to the
> original OOM handling now that we have the oom reaper and guranteed
> forward progress of the OOM path.
> Discussion http://lkml.kernel.org/r/20171010142434.bpiqmsbb7gttrlcb at dhcp22.suse.cz
> - It seems there is some demand for large (> MAX_ORDER) allocations.
> We have that alloc_contig_range which was originally used for CMA and
> later (ab)used for Giga hugetlb pages. The API is less than optimal
> and we should probably think about how to make it more generic.
> - we have grown a new get_user_pages_longterm. It is an ugly API and
> I think we really need to have a decent page pinning one with the
> accounting and limiting.
> - memory hotplug has seen quite some surgery last year and it seems that
> DAX/nvdim and HMM have some interest in using it as well. I am mostly
> interested in struct page self hosting which is already done for NVDIM
> AFAIU. It would be great if we can unify that for the regular mem
> hotplug as well.
> - I would be very interested to talk about memory softofflining
> (HWPoison) with somebody familiar with this area because I find the
> development in that area as more or less random without any design in
> mind. The resulting code is chaotic and stuffed to "random" places.
> - I would also love to talk to some FS people and convince them to move
> away from GFP_NOFS in favor of the new scope API. I know this just
> means to send patches but the existing code is quite complex and it
> really requires somebody familiar with the specific FS to do that
> work.
Hm, are you talking about setting PF_MEMALLOC_NOFS instead of passing
*_NOFS to allocation functions and whatnot? Right now XFS will set it
on any thread which has a transaction open, but that doesn't help for
fs operations that don't have transactions (e.g. reading metadata,
opening files). I suppose we could just set the flag any time someone
stumbles into the fs code from userspace, though you're right that seems
daunting.
--D
> --
> Michal Hocko
> SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: lsf-pc@lists.linux-foundation.org, linux-mm@kvack.org,
linux-nvme@lists.infradead.org, linux-fsdevel@vger.kernel.org,
Johannes Weiner <hannes@cmpxchg.org>,
Rik van Riel <riel@surriel.com>
Subject: Re: [LSF/MM TOPIC] few MM topics
Date: Wed, 31 Jan 2018 11:21:04 -0800 [thread overview]
Message-ID: <20180131192104.GD4841@magnolia> (raw)
In-Reply-To: <20180124092649.GC21134@dhcp22.suse.cz>
On Wed, Jan 24, 2018 at 10:26:49AM +0100, Michal Hocko wrote:
> Hi,
> I would like to propose the following few topics for further discussion
> at LSF/MM this year. MM track would be the most appropriate one but
> there is some overlap with FS and NVDIM
> - memcg OOM behavior has changed around 3.12 as a result of OOM
> deadlocks when the memcg OOM killer was triggered from the charge
> path. We simply fail the charge and unroll to a safe place to
> trigger the OOM killer. This is only done from the #PF path and any
> g-u-p or kmem accounted allocation can just fail in that case leading
> to unexpected ENOMEM to userspace. I believe we can return to the
> original OOM handling now that we have the oom reaper and guranteed
> forward progress of the OOM path.
> Discussion http://lkml.kernel.org/r/20171010142434.bpiqmsbb7gttrlcb@dhcp22.suse.cz
> - It seems there is some demand for large (> MAX_ORDER) allocations.
> We have that alloc_contig_range which was originally used for CMA and
> later (ab)used for Giga hugetlb pages. The API is less than optimal
> and we should probably think about how to make it more generic.
> - we have grown a new get_user_pages_longterm. It is an ugly API and
> I think we really need to have a decent page pinning one with the
> accounting and limiting.
> - memory hotplug has seen quite some surgery last year and it seems that
> DAX/nvdim and HMM have some interest in using it as well. I am mostly
> interested in struct page self hosting which is already done for NVDIM
> AFAIU. It would be great if we can unify that for the regular mem
> hotplug as well.
> - I would be very interested to talk about memory softofflining
> (HWPoison) with somebody familiar with this area because I find the
> development in that area as more or less random without any design in
> mind. The resulting code is chaotic and stuffed to "random" places.
> - I would also love to talk to some FS people and convince them to move
> away from GFP_NOFS in favor of the new scope API. I know this just
> means to send patches but the existing code is quite complex and it
> really requires somebody familiar with the specific FS to do that
> work.
Hm, are you talking about setting PF_MEMALLOC_NOFS instead of passing
*_NOFS to allocation functions and whatnot? Right now XFS will set it
on any thread which has a transaction open, but that doesn't help for
fs operations that don't have transactions (e.g. reading metadata,
opening files). I suppose we could just set the flag any time someone
stumbles into the fs code from userspace, though you're right that seems
daunting.
--D
> --
> Michal Hocko
> 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>
next prev parent reply other threads:[~2018-01-31 19:21 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-24 9:26 [LSF/MM TOPIC] few MM topics Michal Hocko
2018-01-24 9:26 ` Michal Hocko
2018-01-24 18:23 ` Mike Kravetz
2018-01-24 18:23 ` Mike Kravetz
2018-01-25 10:02 ` Michal Hocko
2018-01-25 10:02 ` Michal Hocko
2018-01-25 9:37 ` Jan Kara
2018-01-25 9:37 ` Jan Kara
2018-01-31 19:21 ` Darrick J. Wong [this message]
2018-01-31 19:21 ` Darrick J. Wong
2018-01-31 20:24 ` Michal Hocko
2018-01-31 20:24 ` Michal Hocko
2018-01-31 23:41 ` Dave Chinner
2018-01-31 23:41 ` Dave Chinner
2018-02-01 15:46 ` [Lsf-pc] " Michal Hocko
2018-02-01 15:46 ` Michal Hocko
2018-02-01 22:47 ` Dave Chinner
2018-02-01 22:47 ` Dave Chinner
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=20180131192104.GD4841@magnolia \
--to=darrick.wong@oracle.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.