From: Igor Stoppa <igor.stoppa@huawei.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Joonsoo Kim <js1304@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Rik van Riel <riel@redhat.com>,
Johannes Weiner <hannes@cmpxchg.org>,
mgorman@techsingularity.net, Laura Abbott <lauraa@codeaurora.org>,
Minchan Kim <minchan@kernel.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Michal Nazarewicz <mina86@mina86.com>,
"Aneesh Kumar K . V" <aneesh.kumar@linux.vnet.ibm.com>,
Vlastimil Babka <vbabka@suse.cz>,
Russell King <linux@armlinux.org.uk>,
Will Deacon <will.deacon@arm.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
kernel-team@lge.com
Subject: Re: Generic approach to customizable zones - was: Re: [PATCH v7 0/7] Introduce ZONE_CMA
Date: Fri, 28 Apr 2017 12:04:03 +0300 [thread overview]
Message-ID: <94c6467f-39a8-9819-9a57-8229cefd7971@huawei.com> (raw)
In-Reply-To: <20170428083625.GG8143@dhcp22.suse.cz>
On 28/04/17 11:36, Michal Hocko wrote:
> I didn't read this thoughly yet because I will be travelling shortly
ok, thanks for bearing with me =)
> but
> this point alone just made ask, because it seems there is some
> misunderstanding
It is possible, so far I did some changes, but I have not completed the
whole conversion.
> On Fri 28-04-17 11:04:27, Igor Stoppa wrote:
> [...]
>> * if one is happy to have a 64bits type, allow for as many zones as
>> it's possible to fit, or anyway more than what is possible with
>> the 32 bit mask.
>
> zones are currently placed in struct page::flags. And that already is
> 64b size on 64b arches.
Ok, the issues I had so fare were related to the enum for zones being
treated as 32b.
> And we do not really have any room spare there.
> We encode page flags, zone id, numa_nid/sparse section_nr there. How can
> you add more without enlarging the struct page itself or using external
> means to store the same information (page_ext comes to mind)?
Then I'll be conservative and assume I can't, unless I can prove otherwise.
There is still the possibility I mentioned of loosely coupling DMA,
DMA32 and HIGHMEM with the bits currently reserved for them, right?
If my system doesn't use those zones as such, because it doesn't
have/need them, those bits are wasted for me. Otoh someone else is
probably not interested in what I'm after but needs one or more of those
zones.
Making the meaning of the bits configurable should still be a viable
option. It's not altering their amount, just their purpose on a specific
build.
> Even if
> the later would be possible then note thatpage_zone() is used in many
> performance sensitive paths and making it perform well with special
> casing would be far from trivial.
If the solution I propose is acceptable, I'm willing to bite the bullet
and go for implementing the conversion.
In my case I really would like to be able to use kmalloc, because it
would provide an easy path to convert also other portions of the kernel,
besides SE Linux.
I suspect I would encounter overall far less resistance if the type of
change I propose is limited to:
s/GFP_KERNEL/GFP_LOCKABLE/
And if I can guarrantee that GFP_LOCKABLE falls back to GFP_KERNEL when
the "lockable" feature is not enabled.
--
thanks, igor
--
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:[~2017-04-28 9:05 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-11 3:17 js1304
2017-04-11 3:17 ` [PATCH v7 1/7] mm/page_alloc: don't reserve ZONE_HIGHMEM for ZONE_MOVABLE request js1304
2017-04-17 7:38 ` Minchan Kim
2017-04-21 1:32 ` Joonsoo Kim
2017-04-11 3:17 ` [PATCH v7 2/7] mm/cma: introduce new zone, ZONE_CMA js1304
2017-04-11 3:17 ` [PATCH v7 3/7] mm/cma: populate ZONE_CMA js1304
2017-04-11 3:17 ` [PATCH v7 4/7] mm/cma: remove ALLOC_CMA js1304
2017-04-11 3:17 ` [PATCH v7 5/7] mm/cma: remove MIGRATE_CMA js1304
2017-04-11 3:17 ` [PATCH v7 6/7] mm/cma: remove per zone CMA stat js1304
2017-04-11 3:17 ` [PATCH v7 7/7] ARM: CMA: avoid re-mapping CMA region if CONFIG_HIGHMEM js1304
2017-04-11 18:15 ` [PATCH v7 0/7] Introduce ZONE_CMA Michal Hocko
2017-04-12 1:35 ` Joonsoo Kim
2017-04-13 11:56 ` Michal Hocko
2017-04-17 2:02 ` Joonsoo Kim
2017-04-21 1:35 ` Joonsoo Kim
2017-04-21 6:54 ` Michal Hocko
2017-04-24 13:09 ` Michal Hocko
2017-04-25 3:42 ` Joonsoo Kim
2017-04-27 15:06 ` Michal Hocko
2017-04-28 8:04 ` Generic approach to customizable zones - was: " Igor Stoppa
2017-04-28 8:36 ` Michal Hocko
2017-04-28 9:04 ` Igor Stoppa [this message]
2017-05-02 4:01 ` Joonsoo Kim
2017-05-02 13:32 ` Michal Hocko
2017-05-11 2:12 ` Joonsoo Kim
2017-05-11 9:13 ` Michal Hocko
2017-05-12 2:00 ` Joonsoo Kim
2017-05-12 6:38 ` Michal Hocko
2017-05-15 3:57 ` Joonsoo Kim
2017-05-16 8:47 ` Michal Hocko
2017-05-17 7:44 ` Joonsoo Kim
2017-05-02 8:06 ` Vlastimil Babka
2017-05-02 13:03 ` Michal Hocko
2017-05-02 13:41 ` Igor Stoppa
2017-05-04 12:33 ` Vlastimil Babka
2017-05-04 12:46 ` Michal Hocko
2017-05-11 8:51 ` Vlastimil Babka
2017-04-12 1:39 ` Joonsoo Kim
2017-04-24 4:08 ` Bob Liu
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=94c6467f-39a8-9819-9a57-8229cefd7971@huawei.com \
--to=igor.stoppa@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=hannes@cmpxchg.org \
--cc=js1304@gmail.com \
--cc=kernel-team@lge.com \
--cc=lauraa@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@armlinux.org.uk \
--cc=m.szyprowski@samsung.com \
--cc=mgorman@techsingularity.net \
--cc=mhocko@kernel.org \
--cc=mina86@mina86.com \
--cc=minchan@kernel.org \
--cc=riel@redhat.com \
--cc=vbabka@suse.cz \
--cc=will.deacon@arm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox