* [davidhildenbrand:hotplug_vmemmap 14/14] mm/sparse-vmemmap.c:756:31: warning: unused variable 'section_nr'
@ 2026-03-08 10:31 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-03-08 10:31 UTC (permalink / raw)
To: David Hildenbrand (Arm); +Cc: oe-kbuild-all
tree: https://github.com/davidhildenbrand/linux hotplug_vmemmap
head: 58d0ede3533299d5c6ec069fd491a115558f7c6c
commit: 58d0ede3533299d5c6ec069fd491a115558f7c6c [14/14] mm/sparse: move memory hotplug bits to sparse-vmemmap.c
config: s390-randconfig-001-20260308 (https://download.01.org/0day-ci/archive/20260308/202603081805.ulEmbVAI-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260308/202603081805.ulEmbVAI-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603081805.ulEmbVAI-lkp@intel.com/
All warnings (new ones prefixed by >>):
mm/sparse-vmemmap.c: In function 'section_deactivate':
>> mm/sparse-vmemmap.c:756:31: warning: unused variable 'section_nr' [-Wunused-variable]
756 | unsigned long section_nr = pfn_to_section_nr(pfn);
| ^~~~~~~~~~
vim +/section_nr +756 mm/sparse-vmemmap.c
726
727 /*
728 * To deactivate a memory region, there are 3 cases to handle across
729 * two configurations (SPARSEMEM_VMEMMAP={y,n}):
730 *
731 * 1. deactivation of a partial hot-added section (only possible in
732 * the SPARSEMEM_VMEMMAP=y case).
733 * a) section was present at memory init.
734 * b) section was hot-added post memory init.
735 * 2. deactivation of a complete hot-added section.
736 * 3. deactivation of a complete section from memory init.
737 *
738 * For 1, when subsection_map does not empty we will not be freeing the
739 * usage map, but still need to free the vmemmap range.
740 *
741 * For 2 and 3, the SPARSEMEM_VMEMMAP={y,n} cases are unified
742 */
743 static void section_deactivate(unsigned long pfn, unsigned long nr_pages,
744 struct vmem_altmap *altmap)
745 {
746 struct mem_section *ms = __pfn_to_section(pfn);
747 bool section_is_early = early_section(ms);
748 struct page *memmap = NULL;
749 bool empty;
750
751 if (clear_subsection_map(pfn, nr_pages))
752 return;
753
754 empty = is_subsection_map_empty(ms);
755 if (empty) {
> 756 unsigned long section_nr = pfn_to_section_nr(pfn);
757
758 /*
759 * Mark the section invalid so that valid_section()
760 * return false. This prevents code from dereferencing
761 * ms->usage array.
762 */
763 ms->section_mem_map &= ~SECTION_HAS_MEM_MAP;
764
765 /*
766 * When removing an early section, the usage map is kept (as the
767 * usage maps of other sections fall into the same page). It
768 * will be re-used when re-adding the section - which is then no
769 * longer an early section. If the usage map is PageReserved, it
770 * was allocated during boot.
771 */
772 if (!PageReserved(virt_to_page(ms->usage))) {
773 kfree_rcu(ms->usage, rcu);
774 WRITE_ONCE(ms->usage, NULL);
775 }
776 memmap = pfn_to_page(SECTION_ALIGN_DOWN(pfn));
777 }
778
779 /*
780 * The memmap of early sections is always fully populated. See
781 * section_activate() and pfn_valid() .
782 */
783 if (!section_is_early) {
784 memmap_pages_add(-1L * (DIV_ROUND_UP(nr_pages * sizeof(struct page), PAGE_SIZE)));
785 depopulate_section_memmap(pfn, nr_pages, altmap);
786 } else if (memmap) {
787 memmap_boot_pages_add(-1L * (DIV_ROUND_UP(nr_pages * sizeof(struct page),
788 PAGE_SIZE)));
789 free_map_bootmem(memmap);
790 }
791
792 if (empty)
793 ms->section_mem_map = (unsigned long)NULL;
794 }
795
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-03-08 10:32 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-08 10:31 [davidhildenbrand:hotplug_vmemmap 14/14] mm/sparse-vmemmap.c:756:31: warning: unused variable 'section_nr' kernel test robot
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.