remove_pagetable() should only be called when CONFIG_MEMORY_HOTPLUG
is enabled to clean up the page table entries created when memory
was hot-added.
Change-Id: I38cf42673a7637dac62d13a3083b0963c8a435b3
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Before killing a process first try to see if there are any offlined
memory blocks, if there are try to online one of them.
Change-Id: Ie97c8b69f0ba173c202a891a38a5c914869ddaae
Signed-off-by: Liam Mark <lmark@codeaurora.org>
[isaacm@codeaurora.org: Update walk_memory_range to walk_memory_blocks]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Currently On arm64, memory section size is hard-coded to 1G.
Make this configurable if memory-hotplug is enabled, to support
more finer granularity for hotplug-able memory.
Change-Id: Id889f93537df8ae7e72094b552cff735d31048e6
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: Remove unnecessary config dependency]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
When onlining memory blocks, this option helps to add the target
memory block to ZONE_MOVABLE zone type. For successful offlining,
these memory blocks should belong to 'ZONE_MOVABLE' since it carries
only movable pages. When this option is not set, the default zone
policy is to add the blocks to 'ZONE_NORMAL' which may pin pages.
Change-Id: I7f38a07d3c6817141ec8cce3a910fa7d7d91712d
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[isaacm@codeaurora.org: Use IS_ENABLED() for checking configs]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
To guarantee successful hot-plugging of memory blocks, these blocks
should belong to ZONE_MOVABLE which has migratable pages. Linux kernel
during boot initializes all the available memory blocks to ZONE_DMA and
ZONE_NORMAL. Hence, boot the system with less memory whose percentage
is given by mem-offline DT property 'mem-percent' and override any memory
limit imposed by kernel boot params and let mem-offline driver initialize
the remaining with ZONE_MOVABLE. The memory blocks in this zone are
applicable for memory offlining.
Change-Id: Ia7b804522fe9425101ee83d1ee354ed09483df13
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
This is a snapshot of the mem-offline driver as of msm-4.19
commit ef9b421ba16b ("sched: walt: Improve the scheduler").
Change-Id: I81be12ce85033d5d5ab6be8b10aa76a2685d5720
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Add configuration changes in lahaina to support tsens driver.
Change-Id: Ib6f6a1684bb62355741e826419e179b159cb3d31
Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
Add new slave driver to support NFC over I3C interface.
I2C driver is a refactored driver. The base for this is
'commit dea45e3d54b5 ("NFC: Add support for eSE cold reset")'.
Change-Id: I58eaee72bd2bc07e855acd294b9659038e2357f3
Signed-off-by: Karthik Poosa <kpoosa2@codeaurora.org>
Enable CPUFREQ-HW for enabling cpu frequency scaling.
Change-Id: Ieb299b5e253070b6c5ff18c65547f9ead429cb37
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
Section mapping is good for TLB. But sometimes, when
system is low on physically continuous memory, this can
cause memory allocation failures. Add a fallback option to
allocate vmemmap pages from discontinuous pages.
Change-Id: Ide921c36c1e8980a8af047e2c991310405804858
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: resolve build errors due to API changes]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>