Messages in this thread | | | Subject | Re: [PATCH v3] mm/page_owner: fix for deferred struct page init | From | Qian Cai <> | Date | Thu, 3 Jan 2019 14:53:47 -0500 |
| |
On 1/3/19 2:07 PM, Michal Hocko wrote> So can we make the revert with an explanation that the patch was wrong? > If we want to make hacks to catch more objects to be tracked then it > would be great to have some numbers in hands.
Well, those numbers are subject to change depends on future start_kernel() order. Right now, there are many functions could be caught earlier by page owner.
kmemleak_init(); debug_objects_mem_init(); setup_per_cpu_pageset(); numa_policy_init(); acpi_early_init(); if (late_time_init) late_time_init(); sched_clock_init(); calibrate_delay(); pid_idr_init(); anon_vma_init(); #ifdef CONFIG_X86 if (efi_enabled(EFI_RUNTIME_SERVICES)) efi_enter_virtual_mode(); #endif thread_stack_cache_init(); cred_init(); fork_init(); proc_caches_init(); uts_ns_init(); buffer_init(); key_init(); security_init(); dbg_late_init(); vfs_caches_init(); pagecache_init(); signals_init(); seq_file_init(); proc_root_init(); nsfs_init(); cpuset_init(); cgroup_init(); taskstats_init_early(); delayacct_init();
check_bugs();
acpi_subsystem_init(); arch_post_acpi_subsys_init(); sfi_init_late();
if (efi_enabled(EFI_RUNTIME_SERVICES)) { efi_free_boot_services();
rcu_scheduler_starting(); /* * Wait until kthreadd is all set-up. */ wait_for_completion(&kthreadd_done);
/* Now the scheduler is fully set up and can do blocking allocations */ gfp_allowed_mask = __GFP_BITS_MASK;
/* * init can allocate pages on any node */ set_mems_allowed(node_states[N_MEMORY]);
cad_pid = task_pid(current);
smp_prepare_cpus(setup_max_cpus);
workqueue_init();
init_mm_internals();
do_pre_smp_initcalls(); lockup_detector_init();
smp_init(); sched_init_smp();
| |