aboutsummaryrefslogtreecommitdiffstats
path: root/mm/sparse.c
AgeCommit message (Expand)AuthorFilesLines
2024-02-21mm/memory_hotplug: introduce MEM_PREPARE_ONLINE/MEM_FINISH_OFFLINE notifiersSumanth Korikkar1-1/+2
2023-12-29mm/sparsemem: fix race in accessing memory_section->usageCharan Teja Kalla1-8/+9
2023-08-18mm/sparse: remove redundant judgments from macro for_each_present_section_nrliuq1-2/+1
2023-06-28Merge tag 'mm-nonmm-stable-2023-06-24-19-23' of git://git.kernel.org/pub/scm/...Linus Torvalds1-1/+1
2023-06-19mm/sparse: remove unused parameters in sparse_remove_section()Yajun Deng1-3/+7
2023-06-09mm: sparse: mark populate_section_memmap() staticArnd Bergmann1-1/+1
2023-04-21sparse: remove unnecessary 0 values from rcLi zeming1-1/+1
2023-02-02mm/sparse: fix "unused function 'pgdat_to_phys'" warningMike Rapoport1-1/+1
2022-11-08mm/hwpoison: introduce per-memory_block hwpoison counterNaoya Horiguchi1-2/+0
2022-07-03mm: memory_hotplug: enumerate all supported section flagsMuchun Song1-1/+1
2022-05-13mm/memory-failure.c: move clear_hwpoisoned_pageszhenwei pi1-27/+0
2022-04-28mm/sparse-vmemmap: add a pgmap argument to section activationJoao Martins1-10/+16
2022-03-22mm/sparse: make mminit_validate_memmodel_limits() staticMiaohe Lin1-1/+1
2022-01-06bootmem: Use page->index instead of page->freelistMatthew Wilcox (Oracle)1-1/+1
2021-11-06memblock: use memblock_free for freeing virtual pointersMike Rapoport1-1/+1
2021-11-06memblock: rename memblock_free to memblock_phys_freeMike Rapoport1-1/+1
2021-11-06memblock: drop memblock_free_early_nid() and memblock_free_early()Mike Rapoport1-1/+1
2021-09-03mm: introduce memmap_alloc() to unify memory map allocationMike Rapoport1-4/+2
2021-09-03mm/sparse: clarify pgdat_to_physMiles Chen1-1/+2
2021-09-03include/linux/mmzone.h: avoid a warning in sparse memory supportMatthew Wilcox1-1/+1
2021-09-03mm: sparse: remove __section_nr() functionOhhoon Kwon1-26/+0
2021-09-03mm: sparse: pass section_nr to section_mark_presentOhhoon Kwon1-5/+4
2021-06-30mm: memory_hotplug: factor out bootmem core functions to bootmem_info.cMuchun Song1-0/+1
2021-06-29mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMAMike Rapoport1-1/+1
2021-06-16mm/sparse: fix check_usemap_section_nr warningsMiles Chen1-2/+11
2021-05-05mm/mempool: minor coding style tweaksZhiyuan Dai1-1/+1
2021-05-05mm,memory_hotplug: allocate memmap from the added memory rangeOscar Salvador1-2/+0
2021-04-30mm/sparse: add the missing sparse_buffer_fini() in error branchWang Wensheng1-0/+1
2020-10-16mm/memory_hotplug: guard more declarations by CONFIG_MEMORY_HOTPLUGDavid Hildenbrand1-0/+2
2020-10-13arch, mm: replace for_each_memblock() with for_each_mem_pfn_range()Mike Rapoport1-6/+4
2020-08-07mm/sparse: cleanup the code surrounding memory_present()Mike Rapoport1-8/+12
2020-08-07mm/sparse: never partially remove memmap for early sectionWei Yang1-3/+7
2020-08-07mm: remove unneeded includes of <asm/pgalloc.h>Mike Rapoport1-1/+0
2020-06-09mm: don't include asm/pgtable.h if linux/mm.h is already includedMike Rapoport1-1/+0
2020-06-04mm/sparse: fix a typo in comment "convienence"->"convenience"Ethon Paul1-1/+1
2020-04-07mm/sparse.c: move subsection_map related functions togetherBaoquan He1-57/+53
2020-04-07mm/sparse.c: add note about only VMEMMAP supporting sub-section hotplugBaoquan He1-17/+21
2020-04-07mm/sparse.c: only use subsection map in VMEMMAP caseBaoquan He1-0/+25
2020-04-07mm/sparse.c: introduce a new function clear_subsection_map()Baoquan He1-8/+23
2020-04-07mm/sparse.c: introduce new function fill_subsection_map()Baoquan He1-11/+21
2020-04-02mm/sparse.c: allocate memmap preferring the given nodeBaoquan He1-2/+2
2020-04-02mm/sparse.c: use kvmalloc/kvfree to alloc/free memmap for the classic sparseBaoquan He1-24/+3
2020-04-02mm/sparsemem: get address to page struct instead of address to pfnWei Yang1-1/+1
2020-03-29mm/sparse: fix kernel crash with pfn_section_valid checkAneesh Kumar K.V1-0/+6
2020-03-21mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP caseBaoquan He1-2/+6
2020-02-21mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEMWei Yang1-1/+1
2020-02-04mm: factor out next_present_section_nr()David Hildenbrand1-10/+0
2020-01-31mm/sparse.c: reset section's mem_map when fully deactivatedPingfan Liu1-1/+1
2020-01-13mm/memory_hotplug: don't free usage map when removing a re-added early sectionDavid Hildenbrand1-1/+8
2019-12-01mm: support memblock alloc on the exact node for sparse_buffer_init()Yunfeng Ye1-1/+1
2019-12-01mm/sparse.c: do not waste pre allocated memmap spaceMichal Hocko1-6/+8
2019-12-01mm/sparse.c: mark populate_section_memmap as __meminitIlya Leoshkevich1-2/+2
2019-12-01mm/sparse: consistently do not zero memmapVincent Whitchurch1-1/+1
2019-10-07mm: fix -Wmissing-prototypes warningsYi Wang1-1/+1
2019-09-24mm/sparse.c: remove NULL check in clear_hwpoisoned_pages()Alastair D'Silva1-3/+0
2019-09-24mm/sparse.c: don't manually decrement num_poisoned_pagesAlastair D'Silva1-1/+3
2019-09-24mm/sparse.c: use __nr_to_section(section_nr) to get mem_sectionWei Yang1-1/+1
2019-09-24mm/sparse.c: fix ALIGN() without power of 2 in sparse_buffer_alloc()Lecopzer Chen1-1/+1
2019-09-24mm/sparse.c: fix memory leak of sparsemap_buf in aligned memoryLecopzer Chen1-2/+12
2019-07-18mm/sparsemem: cleanup 'section number' data typesDan Williams1-4/+4
2019-07-18mm/sparsemem: support sub-section hotplugDan Williams1-71/+135
2019-07-18mm/sparsemem: prepare for sub-section rangesDan Williams1-9/+7
2019-07-18mm/sparsemem: convert kmalloc_section_memmap() to populate_section_memmap()Dan Williams1-23/+27
2019-07-18mm/sparsemem: add helpers track active portions of a section at bootDan Williams1-0/+35
2019-07-18mm/sparsemem: introduce a SECTION_IS_EARLY flagDan Williams1-11/+9
2019-07-18mm/sparsemem: introduce struct mem_section_usageDan Williams1-41/+40
2019-07-18mm: section numbers use the type "unsigned long"David Hildenbrand1-6/+6
2019-07-18mm/sparse.c: set section nid for hot-add memoryWei Yang1-0/+1
2019-07-18mm/memory_hotplug: remove "zone" parameter from sparse_remove_one_sectionDavid Hildenbrand1-2/+2
2019-07-18mm/memory_hotplug: allow arch_remove_memory() without CONFIG_MEMORY_HOTREMOVEDavid Hildenbrand1-6/+0
2019-05-14mm/sparse.c: clean up obsolete code commentBaoquan He1-4/+12
2019-03-29mm/hotplug: fix offline undo_isolate_page_range()Qian Cai1-1/+1
2019-03-12memblock: drop memblock_alloc_*_nopanic() variantsMike Rapoport1-4/+2
2019-03-12treewide: add checks for the return value of memblock_alloc*()Mike Rapoport1-4/+17
2019-03-05mm/sparse: fix a bad comparisonQian Cai1-1/+1
2018-12-28mm, sparse: pass nid instead of pgdat to sparse_add_one_section()Wei Yang1-4/+4
2018-12-28mm, sparse: drop pgdat_resize_lock in sparse_add/remove_one_section()Wei Yang1-8/+1
2018-12-28mm/hotplug: optimize clear_hwpoisoned_pages()Balbir Singh1-0/+9
2018-12-14mm/sparse: add common helper to mark all memblocks presentLogan Gunthorpe1-0/+16
2018-10-31memblock: stop using implicit alignment to SMP_CACHE_BYTESMike Rapoport1-1/+2
2018-10-31mm: remove include/linux/bootmem.hMike Rapoport1-1/+0
2018-10-31memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variantsMike Rapoport1-2/+3
2018-10-31memblock: add align parameter to memblock_alloc_node()Mike Rapoport1-1/+1
2018-10-31memblock: remove _virt from APIs returning virtual addressMike Rapoport1-6/+6
2018-10-26mm: provide kernel parameter to allow disabling page init poisoningAlexander Duyck1-3/+1
2018-08-17mm/sparse: delete old sparse_init and enable new onePavel Tatashin1-236/+1
2018-08-17mm/sparse: add new sparse_init_nid() and sparse_init()Pavel Tatashin1-0/+85
2018-08-17mm/sparse: move buffer init/fini to the common placePavel Tatashin1-7/+7
2018-08-17mm/sparse: use the new sparse buffer functions in non-vmemmapPavel Tatashin1-27/+14
2018-08-17mm/sparse: abstract sparse buffer allocationsPavel Tatashin1-1/+44
2018-08-17mm/sparse: optimize memmap allocation during sparse_init()Baoquan He1-9/+37
2018-08-17mm/sparse.c: add a new parameter 'data_unit_size' for alloc_usemap_and_memmapBaoquan He1-3/+7
2018-08-17mm/sparsemem.c: defer the ms->section_mem_map clearingBaoquan He1-4/+8
2018-08-17mm/sparse.c: add a static variable nr_present_sectionsBaoquan He1-0/+7
2018-08-17mm/sparse.c: make sparse_init_one_section void and remove checkOscar Salvador1-9/+4
2018-06-07mm/sparse.c: pass the __highest_present_section_nr + 1 to alloc_func()Wei Yang1-1/+1
2018-06-07mm/sparse.c: check __highest_present_section_nr only for a present sectionWei Yang1-3/+1
2018-05-11mm: sections are not offlined during memory hotremovePavel Tatashin1-1/+1
2018-04-05mm/memory_hotplug: optimize memory hotplugPavel Tatashin1-1/+7
2018-04-02Merge tag 'arch-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/arn...Linus Torvalds1-15/+0
2018-03-27x86/mm/32: Remove unused node_memmap_size_bytes() & CONFIG_NEED_NODE_MEMMAP_S...David Rientjes1-22/+0
2018-03-16mm: remove obsolete alloc_remap()Arnd Bergmann1-15/+0
2018-02-06Merge tag 'libnvdimm-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-18/+25
2018-02-03Merge branch 'for-4.16/nfit' into libnvdimm-for-nextRoss Zwisler1-1/+1
2018-01-31include/linux/mmzone.h: fix explanation of lower bits in the SPARSEMEM mem_ma...Petr Tesarik1-1/+5
2018-01-08mm: pass the vmem_altmap to vmemmap_freeChristoph Hellwig1-10/+13
2018-01-08mm: pass the vmem_altmap to vmemmap_populateChristoph Hellwig1-8/+12
2018-01-04mm/sparse.c: wrong allocation for mem_sectionBaoquan He1-1/+1
2017-11-15mm: stop zeroing memory during allocation in vmemmapPavel Tatashin1-3/+3
2017-11-10Merge branch 'x86/mm' into x86/asm, to merge branchesIngo Molnar1-0/+10
2017-11-07mm/sparsemem: Fix ARM64 boot crash when CONFIG_SPARSEMEM_EXTREME=yKirill A. Shutemov1-0/+10
2017-11-07Merge branch 'linus' into x86/asm, to pick up fixes and resolve conflictsIngo Molnar1-0/+1
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-20mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=yKirill A. Shutemov1-6/+11
2017-09-08mm/sparse.c: fix typo in online_mem_sectionsMichal Hocko1-1/+1
2017-09-06mm, sparse, page_ext: drop ugly N_HIGH_MEMORY branches for allocationsMichal Hocko1-7/+3
2017-07-06mm, memory_hotplug: do not associate hotadded memory to zones until onlineMichal Hocko1-2/+1
2017-07-06mm: consider zone which is not fully populated to have holesMichal Hocko1-1/+44
2017-07-06mm, sparsemem: break out of loops earlyDave Hansen1-14/+46
2017-05-03mm/sparse: refine usemap_size() a littleWei Yang1-4/+1
2017-02-22mm/memory_hotplug: set magic number to page->freelist instead of page->lru.nextYasuaki Ishimatsu1-1/+1
2017-02-22mm/sparse: use page_private() to get page->private valueYasuaki Ishimatsu1-1/+1
2016-08-02treewide: replace obsolete _refok by __refFabian Frederick1-1/+1
2016-07-28make __section_nr() more efficientZhou Chengming1-5/+7
2016-03-17mm: convert printk(KERN_<LEVEL> to pr_<level>Joe Perches1-10/+7
2016-03-17mm: coalesce split stringsJoe Perches1-4/+4
2016-01-15x86, mm: introduce vmem_altmap to augment vmemmap_populate()Dan Williams1-3/+5
2014-04-07mm: use macros from compiler.h instead of __attribute__((...))Gideon Israel Dsouza1-1/+3
2014-04-02sparse: fix commentLi Zhong1-1/+1
2014-01-21mm/sparse: use memblock apis for early memory allocationsSantosh Shilimkar1-12/+15
2013-11-13mm/sparsemem: fix a bug in free_map_bootmem when CONFIG_SPARSEMEM_VMEMMAPZhang Yanfei1-11/+9
2013-11-13mm/sparsemem: use PAGES_PER_SECTION to remove redundant nr_pages parameterZhang Yanfei1-18/+15
2013-09-11mm/sparse: introduce alloc_usemap_and_memmapWanpeng Li1-76/+57
2013-07-09mm/sparse.c: put clear_hwpoisoned_pages within CONFIG_MEMORY_HOTREMOVEZhang Yanfei1-1/+1
2013-07-04Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jik...Linus Torvalds1-2/+1
2013-07-03sparsemem: add BUILD_BUG_ON when sizeof mem_section is non-power-of-2Cody P Schafer1-0/+3
2013-05-28mm/sparse: Remove unused ret in sparse_index_initZhang Yanfei1-2/+1
2013-04-29mm, hotplug: avoid compiling memory hotremove functions when disabledDavid Rientjes1-33/+39
2013-04-29sparse-vmemmap: specify vmemmap population range in bytesJohannes Weiner1-2/+8
2013-02-23memory-failure: use num_poisoned_pages instead of mce_bad_pagesXishi Qiu1-1/+1
2013-02-23memory-hotplug: consider compound pages when free memmapWen Congyang1-1/+1
2013-02-23memory-hotplug: remove memmap of sparse-vmemmapTang Chen1-1/+2
2013-02-23memory-hotplug: move pgdat_resize_lock into sparse_remove_one_section()Tang Chen1-1/+4
2012-12-11memory-hotplug, mm/sparse.c: clear the memory to store struct pageWen Congyang1-1/+2
2012-12-11memory-hotplug: update mce_bad_pages when removing the memoryWen Congyang1-0/+22
2012-11-30mm/vmemmap: fix wrong use of virt_to_pageJianguo Wu1-6/+4
2012-07-31mm/sparse: remove index_init_lockGavin Shan1-13/+1
2012-07-31mm/sparse: more checks on mem_section numberGavin Shan1-0/+2
2012-07-31mm/sparse: optimize sparse_index_allocGavin Shan1-6/+4
2012-07-31mm: setup pageblock_order before it's used by sparsememXishi Qiu1-0/+3
2012-07-11mm: sparse: fix usemap allocation above node descriptor sectionYinghai Lu1-5/+13
2012-07-11mm: sparse: fix section usemap placement calculationYinghai Lu1-1/+1
2012-05-29mm: remove sparsemem allocation details from the bootmem allocatorJohannes Weiner1-13/+12
2012-03-21bootmem/sparsemem: remove limit constraint in alloc_bootmem_sectionNishanth Aravamudan1-19/+11
2011-10-31mm: Map most files to use export.h instead of module.hPaul Gortmaker1-1/+1
2011-07-25mm: make some struct page's constIan Campbell1-1/+1
2011-03-31Fix common misspellingsLucas De Marchi1-1/+1
2011-01-13thp: remove PG_buddyAndrea Arcangeli1-2/+2
2010-05-25sparsemem: on no vmemmap path put mem_map on node high tooYinghai Lu1-3/+6
2010-03-30include cleanup: Update gfp.h and slab.h includes to prepare for breaking imp...Tejun Heo1-0/+1
2010-03-01sparsemem: Fix compilation on PowerPCYinghai Lu1-4/+7
2010-02-12sparsemem: Put mem map for one node together.Yinghai Lu1-1/+110
2010-02-12sparsemem: Put usemap for one node togetherYinghai Lu1-18/+66
2009-09-22memory hotplug: alloc page from other node in memory onlineShaohua Li1-3/+6
2009-04-01mm: mminit_validate_memmodel_limits(): remove redundant testCyrill Gorcunov1-3/+1
2008-11-30meminit section warningsAl Viro1-1/+1
2008-08-12mm/sparse.c: removed duplicated includeHuang Weiyi1-1/+0
2008-07-26make mm/sparse.c: make a function staticAdrian Bunk1-1/+1
2008-07-24memory hotplug: allocate usemap on the section with pgdatYasunori Goto1-1/+77
2008-07-24mm: make defensive checks around PFN values registered for memory usageMel Gorman1-8/+29
2008-04-30revert "memory hotplug: allocate usemap on the section with pgdat"Andrew Morton1-13/+2
2008-04-30mm: remove remaining __FUNCTION__ occurrencesHarvey Harrison1-2/+2
2008-04-28memory hotplug: free memmaps allocated by bootmemYasunori Goto1-4/+47
2008-04-28memory hotplug: allocate usemap on the section with pgdatYasunori Goto1-2/+13
2008-04-28memory hotplug: align memmap to page sizeYasunori Goto1-2/+2
2008-04-28memory hotplug: register section/node id to freeYasunori Goto1-2/+1
2008-04-28hotplug memory remove: generic __remove_pages() supportBadari Pulavarty1-3/+42
2008-04-26x86_64/mm: check and print vmemmap allocation continuousYinghai Lu1-0/+5
2008-04-26mm: make mem_map allocation continuousYinghai Lu1-3/+29
2008-04-15mm: sparsemem memory_present() fixIngo Molnar1-0/+10
2008-02-05mm: fix section mismatch warning in sparse.cSam Ravnborg1-1/+1
2008-02-05is_vmalloc_addr(): Check if an address is within the vmalloc boundariesChristoph Lameter1-9/+1
2007-12-17mm/sparse.c: improve the error handling for sparse_add_one_section()WANG Cong1-6/+12
2007-12-17mm/sparse.c: check the return value of sparse_index_alloc()WANG Cong1-0/+2
2007-10-29Revert "x86_64: allocate sparsemem memmap above 4G"Linus Torvalds1-11/+0
2007-10-16memory hotplug: Hot-add with sparsemem-vmemmapYasunori Goto1-3/+22
2007-10-16Fix corruption of memmap on IA64 SPARSEMEM when mem_section is not a power of 2Mel Gorman1-3/+51
2007-10-16Generic Virtual Memmap support for SPARSEMEMChristoph Lameter1-4/+17
2007-10-16sparsemem: record when a section has a valid mem_mapAndy Whitcroft1-4/+5
2007-10-16sparsemem: clean up spelling error in commentsAndy Whitcroft1-1/+1
2007-08-22sparsemem: ensure we initialise the node mapping for SPARSEMEM_STATICAndy Whitcroft1-4/+10
2007-07-22x86_64: fix section mismatch warning in init.cSam Ravnborg1-1/+1
2007-06-08Move three functions that are only needed for CONFIG_MEMORY_HOTPLUGStephen Rothwell1-21/+21
2007-06-01x86_64: allocate sparsemem memmap above 4GZou Nan hai1-0/+11
2007-05-19mm: fix section mismatch warningsSam Ravnborg1-1/+1
2007-05-08Add white list into modpost.c for memory hotplug code and ia64's machvec sectionYasunori Goto1-1/+1
2007-05-08Fix section mismatch of memory hotplug related code.Yasunori Goto1-4/+6
2007-05-06[MM]: sparse_init() should be __init.David S. Miller1-1/+1
2006-12-07[PATCH] numa node ids are int, page_to_nid and zone_to_nid should return intAndy Whitcroft1-1/+1
2006-12-07[PATCH] Get rid of zone_table[]Christoph Lameter1-0/+23