diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-11-06 14:08:17 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-11-06 14:08:17 -0700 | 
| commit | 512b7931ad0561ffe14265f9ff554a3c081b476b (patch) | |
| tree | a94450d08468e094d2d92a495de4650faab09c1f /init | |
| parent | fe91c4725aeed35023ba4f7a1e1adfebb6878c23 (diff) | |
| parent | 658f9ae761b5965893727dd4edcdad56e5a439bb (diff) | |
| download | linux-512b7931ad0561ffe14265f9ff554a3c081b476b.tar.bz2 | |
Merge branch 'akpm' (patches from Andrew)
Merge misc updates from Andrew Morton:
 "257 patches.
  Subsystems affected by this patch series: scripts, ocfs2, vfs, and
  mm (slab-generic, slab, slub, kconfig, dax, kasan, debug, pagecache,
  gup, swap, memcg, pagemap, mprotect, mremap, iomap, tracing, vmalloc,
  pagealloc, memory-failure, hugetlb, userfaultfd, vmscan, tools,
  memblock, oom-kill, hugetlbfs, migration, thp, readahead, nommu, ksm,
  vmstat, madvise, memory-hotplug, rmap, zsmalloc, highmem, zram,
  cleanups, kfence, and damon)"
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (257 commits)
  mm/damon: remove return value from before_terminate callback
  mm/damon: fix a few spelling mistakes in comments and a pr_debug message
  mm/damon: simplify stop mechanism
  Docs/admin-guide/mm/pagemap: wordsmith page flags descriptions
  Docs/admin-guide/mm/damon/start: simplify the content
  Docs/admin-guide/mm/damon/start: fix a wrong link
  Docs/admin-guide/mm/damon/start: fix wrong example commands
  mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on
  mm/damon: remove unnecessary variable initialization
  Documentation/admin-guide/mm/damon: add a document for DAMON_RECLAIM
  mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM)
  selftests/damon: support watermarks
  mm/damon/dbgfs: support watermarks
  mm/damon/schemes: activate schemes based on a watermarks mechanism
  tools/selftests/damon: update for regions prioritization of schemes
  mm/damon/dbgfs: support prioritization weights
  mm/damon/vaddr,paddr: support pageout prioritization
  mm/damon/schemes: prioritize regions within the quotas
  mm/damon/selftests: support schemes quotas
  mm/damon/dbgfs: support quotas of schemes
  ...
Diffstat (limited to 'init')
| -rw-r--r-- | init/Kconfig | 2 | ||||
| -rw-r--r-- | init/initramfs.c | 2 | ||||
| -rw-r--r-- | init/main.c | 6 | 
3 files changed, 6 insertions, 4 deletions
diff --git a/init/Kconfig b/init/Kconfig index 11f8a845f259..21b1f4870c80 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -901,7 +901,7 @@ config NUMA_BALANCING  	bool "Memory placement aware NUMA scheduler"  	depends on ARCH_SUPPORTS_NUMA_BALANCING  	depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY -	depends on SMP && NUMA && MIGRATION +	depends on SMP && NUMA && MIGRATION && !PREEMPT_RT  	help  	  This option adds support for automatic NUMA aware memory/task placement.  	  The mechanism is quite primitive and is based on migrating memory when diff --git a/init/initramfs.c b/init/initramfs.c index a842c0544745..2f3d96dc3db6 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -607,7 +607,7 @@ void __weak __init free_initrd_mem(unsigned long start, unsigned long end)  	unsigned long aligned_start = ALIGN_DOWN(start, PAGE_SIZE);  	unsigned long aligned_end = ALIGN(end, PAGE_SIZE); -	memblock_free(__pa(aligned_start), aligned_end - aligned_start); +	memblock_free((void *)aligned_start, aligned_end - aligned_start);  #endif  	free_reserved_area((void *)start, (void *)end, POISON_FREE_INITMEM, diff --git a/init/main.c b/init/main.c index 183f861707e5..0c4a6e0d8234 100644 --- a/init/main.c +++ b/init/main.c @@ -381,7 +381,7 @@ static char * __init xbc_make_cmdline(const char *key)  	ret = xbc_snprint_cmdline(new_cmdline, len + 1, root);  	if (ret < 0 || ret > len) {  		pr_err("Failed to print extra kernel cmdline.\n"); -		memblock_free_ptr(new_cmdline, len + 1); +		memblock_free(new_cmdline, len + 1);  		return NULL;  	} @@ -916,7 +916,7 @@ static void __init print_unknown_bootoptions(void)  		end += sprintf(end, " %s", *p);  	pr_notice("Unknown command line parameters:%s\n", unknown_options); -	memblock_free_ptr(unknown_options, len); +	memblock_free(unknown_options, len);  }  asmlinkage __visible void __init __no_sanitize_address start_kernel(void) @@ -1497,6 +1497,8 @@ static int __ref kernel_init(void *unused)  	kernel_init_freeable();  	/* need to finish all async __init code before freeing the memory */  	async_synchronize_full(); + +	system_state = SYSTEM_FREEING_INITMEM;  	kprobe_free_init_mem();  	ftrace_free_init_mem();  	kgdb_free_init_mem();  |