aboutsummaryrefslogtreecommitdiffstats
path: root/mm/hmm.c
AgeCommit message (Expand)AuthorFilesLines
2023-08-21mm: enable page walking API to lock vmas during the walkSuren Baghdasaryan1-0/+1
2023-06-19mm: ptep_get() conversionRyan Roberts1-1/+1
2023-06-19mm/hmm: retry if pte_offset_map() failsHugh Dickins1-0/+2
2023-06-19mm: use pmdp_get_lockless() without surplus barrier()Hugh Dickins1-1/+1
2023-01-18mm/hugetlb: make walk_hugetlb_range() safe to pmd unsharePeter Xu1-1/+14
2022-12-15mm: Remove pointless barrier() after pmdp_get_lockless()Peter Zijlstra1-1/+0
2022-12-15mm: Rename pmd_read_atomic()Peter Zijlstra1-1/+1
2022-09-26mm/swap: add swp_offset_pfn() to fetch PFN from swap entryPeter Xu1-1/+1
2022-07-29mm/hmm: fault non-owner device private entriesRalph Campbell1-11/+8
2022-05-13mm: teach core mm about pte markersPeter Xu1-1/+1
2022-03-22mm/hmm.c: remove unneeded local variable retMiaohe Lin1-2/+1
2022-01-15mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_faultAlistair Popple1-2/+3
2021-09-08mm/hmm: bypass devmap pte when all pfn requested flags are fulfilledLi Zhijian1-1/+4
2021-07-01mm: device exclusive memory accessAlistair Popple1-0/+5
2021-07-01mm/swapops: rework swap entry manipulation codeAlistair Popple1-1/+1
2021-07-01mm: remove special swap entry functionsAlistair Popple1-3/+2
2020-08-12mm: do page fault accounting in handle_mm_faultPeter Xu1-1/+2
2020-08-12mm/hmm.c: delete duplicated wordRandy Dunlap1-1/+1
2020-07-10mm/hmm: provide the page mapping order in hmm_range_fault()Ralph Campbell1-3/+13
2020-06-09mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked()Michel Lespinasse1-1/+1
2020-05-11mm/hmm: remove the customizable pfn format from hmm_range_faultJason Gunthorpe1-84/+76
2020-05-11mm/hmm: remove HMM_PFN_SPECIALJason Gunthorpe1-1/+1
2020-05-11mm/hmm: make hmm_range_fault return 0 or -1Jason Gunthorpe1-16/+9
2020-03-30mm/hmm: return error for non-vma snapshotsJason Gunthorpe1-3/+5
2020-03-30mm/hmm: do not set pfns when returning an error codeJason Gunthorpe1-15/+3
2020-03-30mm/hmm: do not unconditionally set pfns when returning EBUSYJason Gunthorpe1-3/+4
2020-03-30mm/hmm: use device_private_entry_to_pfn()Jason Gunthorpe1-1/+1
2020-03-27mm/hmm: remove HMM_FAULT_SNAPSHOTJason Gunthorpe1-8/+9
2020-03-27mm/hmm: remove unused code and tidy commentsJason Gunthorpe1-7/+17
2020-03-27mm/hmm: return the fault type from hmm_pte_need_fault()Jason Gunthorpe1-102/+81
2020-03-27mm/hmm: remove pgmap checking for devmap pagesJason Gunthorpe1-48/+2
2020-03-26mm/hmm: check the device private page owner in hmm_range_fault()Christoph Hellwig1-1/+9
2020-03-26mm: simplify device private page handling in hmm_range_faultChristoph Hellwig1-20/+5
2020-03-26mm: merge hmm_vma_do_fault into into hmm_vma_walk_hole_Christoph Hellwig1-34/+16
2020-03-26mm/hmm: don't handle the non-fault case in hmm_vma_walk_hole_()Christoph Hellwig1-19/+18
2020-03-26mm/hmm: simplify hmm_vma_walk_hugetlb_entry()Christoph Hellwig1-10/+3
2020-03-26mm/hmm: remove the unused HMM_FAULT_ALLOW_RETRY flagChristoph Hellwig1-7/+0
2020-03-26mm/hmm: do not check pmd_protnone twice in hmm_vma_handle_pmd()Jason Gunthorpe1-1/+1
2020-03-26mm/hmm: add missing call to hmm_pte_need_fault in HMM_PFN_SPECIAL handlingJason Gunthorpe1-7/+12
2020-03-26mm/hmm: return -EFAULT when setting HMM_PFN_ERROR on requested valid pagesJason Gunthorpe1-17/+21
2020-03-26mm/hmm: reorganize how !pte_present is handled in hmm_vma_handle_pte()Jason Gunthorpe1-20/+15
2020-03-26mm/hmm: add missing call to hmm_range_need_fault() before returning EFAULTJason Gunthorpe1-11/+8
2020-03-26mm/hmm: add missing pfns set to hmm_vma_walk_pmd()Jason Gunthorpe1-1/+1
2020-03-26mm/hmm: do not call hmm_vma_walk_hole() while holding a spinlockJason Gunthorpe1-7/+7
2020-03-26mm/hmm: add missing unmaps of the ptep during hmm_vma_handle_pte()Jason Gunthorpe1-2/+6
2020-02-04mm: pagewalk: add 'depth' parameter to pte_holeSteven Price1-4/+4
2020-02-04mm: pagewalk: add p4d_entry() and pgd_entry()Steven Price1-26/+32
2019-11-23mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmapChristoph Hellwig1-147/+0
2019-11-23mm/hmm: make full use of walk_page_range()Ralph Campbell1-64/+56
2019-11-23mm/hmm: remove hmm_mirror and relatedJason Gunthorpe1-277/+8
2019-11-23mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirrorJason Gunthorpe1-6/+19
2019-10-29mm/hmm: allow snapshot of the special zero pageRalph Campbell1-2/+8
2019-09-07pagewalk: separate function pointers from iterator dataChristoph Hellwig1-12/+11
2019-09-07mm: split out a new pagewalk.h header from mm.hChristoph Hellwig1-1/+1
2019-08-27mm/hmm: hmm_range_fault() infinite loopRalph Campbell1-0/+3
2019-08-27mm/hmm: hmm_range_fault() NULL pointer bugRalph Campbell1-4/+9
2019-08-23mm/hmm: fix hmm_range_fault()'s handling of swapped out pagesYang, Philip1-0/+3
2019-08-20hmm: use mmu_notifier_get/put for 'struct hmm'Jason Gunthorpe1-93/+28
2019-08-07mm/hmm: cleanup the hmm_vma_walk_hugetlb_entry stubChristoph Hellwig1-4/+4
2019-08-07mm/hmm: cleanup the hmm_vma_handle_pmd stubChristoph Hellwig1-10/+8
2019-08-07mm/hmm: only define hmm_vma_walk_pud if neededChristoph Hellwig1-13/+16
2019-08-07mm/hmm: don't abuse pte_index() in hmm_vma_handle_pmdChristoph Hellwig1-1/+1
2019-08-07mm/hmm: remove the mask variable in hmm_vma_walk_hugetlb_entryChristoph Hellwig1-5/+2
2019-08-07mm/hmm: remove the page_shift member from struct hmm_rangeChristoph Hellwig1-33/+9
2019-08-07mm/hmm: remove superfluous arguments from hmm_range_registerChristoph Hellwig1-15/+5
2019-08-07mm/hmm: remove the unused vma argument to hmm_range_dma_unmapChristoph Hellwig1-2/+0
2019-07-26mm/hmm: remove hmm_range vmaRalph Campbell1-1/+0
2019-07-26mm/hmm: remove hugetlbfs check in hmm_vma_walk_pmdRalph Campbell1-3/+0
2019-07-26mm/hmm: merge hmm_range_snapshot into hmm_range_faultChristoph Hellwig1-83/+2
2019-07-26mm/hmm: replace the block argument to hmm_range_fault with a flags valueChristoph Hellwig1-37/+37
2019-07-26mm/hmm: a few more C style and comment clean upsRalph Campbell1-22/+17
2019-07-26mm/hmm: replace hmm_update with mmu_notifier_rangeRalph Campbell1-9/+4
2019-07-25mm/hmm: comment on VM_FAULT_RETRY semantics in handle_mm_faultJason Gunthorpe1-1/+3
2019-07-25mm/hmm: always return EBUSY for invalid ranges in hmm_range_{fault,snapshot}Christoph Hellwig1-6/+4
2019-07-14Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rd...Linus Torvalds1-456/+131
2019-07-02Merge branch 'hmm-devmem-cleanup.4' into rdma.git hmmJason Gunthorpe1-284/+0
2019-07-02Merge tag 'v5.2-rc7' into rdma.git hmmJason Gunthorpe1-11/+3
2019-07-02mm: remove the HMM config optionChristoph Hellwig1-2/+0
2019-07-02mm: remove hmm_devmem_addChristoph Hellwig1-110/+0
2019-07-02mm: remove hmm_vma_alloc_locked_pageChristoph Hellwig1-14/+0
2019-07-02memremap: replace the altmap_valid field with a PGMAP_ALTMAP_VALID flagChristoph Hellwig1-1/+0
2019-07-02memremap: remove the data field in struct dev_pagemapChristoph Hellwig1-4/+5
2019-07-02memremap: add a migrate_to_ram method to struct dev_pagemap_opsChristoph Hellwig1-8/+5
2019-07-02memremap: lift the devmap_enable manipulation into devm_memremap_pagesChristoph Hellwig1-2/+0
2019-07-02memremap: pass a struct dev_pagemap to ->kill and ->cleanupChristoph Hellwig1-5/+5
2019-07-02memremap: move dev_pagemap callbacks into a separate structureChristoph Hellwig1-3/+7
2019-07-02mm: factor out a devm_request_free_mem_region helperChristoph Hellwig1-29/+4
2019-07-02mm: don't clear ->mapping in hmm_devmem_freeChristoph Hellwig1-2/+0
2019-07-02mm: remove MEMORY_DEVICE_PUBLIC supportChristoph Hellwig1-52/+2
2019-07-02mm: remove the struct hmm_device infrastructureChristoph Hellwig1-80/+0
2019-06-27mm/hmm: Fix error flows in hmm_invalidate_range_startJason Gunthorpe1-29/+40
2019-06-24mm/hmm: Remove confusing comment and logic from hmm_releaseJason Gunthorpe1-19/+9
2019-06-24mm/hmm: Poison hmm_range during unregisterJason Gunthorpe1-6/+8
2019-06-24mm/hmm: Remove racy protection against double-unregistrationJason Gunthorpe1-7/+1
2019-06-18mm/hmm: Use lockdep instead of commentsJason Gunthorpe1-2/+2
2019-06-18mm/hmm: Hold on to the mmget for the lifetime of the rangeJason Gunthorpe1-21/+11
2019-06-18mm/hmm: Do not use list*_rcu() for hmm->rangesJason Gunthorpe1-2/+2
2019-06-18mm/hmm: Simplify hmm_get_or_create and make it reliableJason Gunthorpe1-47/+30
2019-06-13mm/devm_memremap_pages: fix final page put raceDan Williams1-11/+3
2019-06-10mm/hmm: Hold a mmgrab from hmm to mmJason Gunthorpe1-18/+4
2019-06-10mm/hmm: Use hmm_mirror not mm as an argument for hmm_range_registerJason Gunthorpe1-9/+4
2019-06-07mm/hmm: fix use after free with struct hmm in the mmu notifiersJason Gunthorpe1-6/+17
2019-06-06mm/hmm: Only set FAULT_FLAG_ALLOW_RETRY for non-blockingKuehling, Felix1-1/+1
2019-06-06mm/hmm: support automatic NUMA balancingPhilip Yang1-1/+1
2019-06-06mm/hmm: clean up some coding style and commentsRalph Campbell1-30/+32
2019-06-06mm/hmm.c: suppress compilation warnings when CONFIG_HUGETLB_PAGE is not setJason Gunthorpe1-7/+2
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157Thomas Gleixner1-10/+1
2019-05-14mm/mmu_notifier: convert user range->blockable to helper functionJérôme Glisse1-3/+3
2019-05-14mm/hmm: convert various hmm_pfn_* to device_entry which is a better nameJérôme Glisse1-8/+11
2019-05-14mm/hmm: add a helper function that fault pages and map them to a deviceJérôme Glisse1-0/+152
2019-05-14mm/hmm: allow to mirror vma of a file on a DAX backed filesystemJérôme Glisse1-21/+126
2019-05-14mm/hmm: mirror hugetlbfs (snapshoting, faulting and DMA mapping)Jérôme Glisse1-14/+109
2019-05-14mm/hmm: add default fault flags to avoid the need to pre-fill pfns arraysJérôme Glisse1-0/+12
2019-05-14mm/hmm: improve driver API to work and wait over a rangeJérôme Glisse1-274/+257
2019-05-14mm/hmm: improve and rename hmm_vma_fault() to hmm_range_fault()Jérôme Glisse1-52/+39
2019-05-14mm/hmm: improve and rename hmm_vma_get_pfns() to hmm_range_snapshot()Jérôme Glisse1-14/+17
2019-05-14mm/hmm: do not erase snapshot when a range is invalidatedJérôme Glisse1-6/+0
2019-05-14mm/hmm: use reference counting for HMM structJérôme Glisse1-68/+122
2019-03-12mm/hmm: convert to use vm_fault_tSouptick Joarder1-1/+1
2018-12-28mm/hmm: fix memremap.h, move dev_page_fault_t callback to hmmDan Williams1-2/+2
2018-12-28mm/mmu_notifier: use structure for invalidate_range_start/end callbackJérôme Glisse1-14/+9
2018-12-28mm/hmm.c: remove set but not used variable 'devmem'YueHaibing1-3/+0
2018-12-28mm, hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPLDan Williams1-2/+2
2018-12-28mm, hmm: replace hmm_devmem_pages_create() with devm_memremap_pages()Dan Williams1-170/+26
2018-12-28mm, hmm: use devm semantics for hmm_devmem_{add, remove}Dan Williams1-103/+24
2018-10-31mm/hmm: invalidate device page table at start of invalidationJérôme Glisse1-12/+15
2018-10-31mm/hmm: use a structure for update callback parametersJérôme Glisse1-11/+22
2018-10-31mm/hmm: properly handle migration pmdJérôme Glisse1-6/+34
2018-10-31mm/hmm: fix race between hmm_mirror_unregister() and mmu_notifier callbackRalph Campbell1-15/+21
2018-10-31mm/hmm: fix utf8 ...Jérôme Glisse1-1/+1
2018-10-26mm: defer ZONE_DEVICE page initialization to the point where we init pgmapAlexander Duyck1-5/+7
2018-08-25Merge tag 'libnvdimm-for-4.19_dax-memory-failure' of gitolite.kernel.org:pub/...Linus Torvalds1-0/+2
2018-08-22mm, oom: distinguish blockable mode for mmu notifiersMichal Hocko1-2/+5
2018-08-17mm/hmm.c: remove unused variables align_start and align_endColin Ian King1-4/+1
2018-08-17mm: convert return type of handle_mm_fault() caller to vm_fault_tSouptick Joarder1-4/+4
2018-08-17dax: remove VM_MIXEDMAP for fsdax and device daxDave Jiang1-2/+4
2018-07-23mm, dev_pagemap: Do not clear ->mapping on final putDan Williams1-0/+2
2018-05-22mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPSDan Williams1-11/+2
2018-04-11mm/hmm.c: remove superfluous RCU protection around radix tree lookupTejun Heo1-10/+2
2018-04-11mm/hmm: use device driver encoding for HMM pfnJérôme Glisse1-41/+58
2018-04-11mm/hmm: change hmm_vma_fault() to allow write fault on page basisJérôme Glisse1-33/+118
2018-04-11mm/hmm: factor out pte and pmd handling to simplify hmm_vma_walk_pmd()Jérôme Glisse1-72/+102
2018-04-11mm/hmm: move hmm_pfns_clear() closer to where it is usedJérôme Glisse1-8/+8
2018-04-11mm/hmm: rename HMM_PFN_DEVICE_UNADDRESSABLE to HMM_PFN_DEVICE_PRIVATEJérôme Glisse1-1/+1
2018-04-11mm/hmm: do not differentiate between empty entry or missing directoryJérôme Glisse1-30/+15
2018-04-11mm/hmm: cleanup special vma handling (VM_SPECIAL)Jérôme Glisse1-20/+20
2018-04-11mm/hmm: use uint64_t for HMM pfn instead of defining hmm_pfn_t to ulongJérôme Glisse1-13/+13
2018-04-11mm/hmm: remove HMM_PFN_READ flag and ignore peculiar architectureJérôme Glisse1-10/+34
2018-04-11mm/hmm: use struct for hmm_vma_fault(), hmm_vma_get_pfns() parametersJérôme Glisse1-50/+28
2018-04-11mm/hmm: hmm_pfns_bad() was accessing wrong structJérôme Glisse1-1/+2
2018-04-11mm/hmm: unregister mmu_notifier when last HMM client quitJérôme Glisse1-3/+35
2018-04-11mm/hmm: HMM should have a callback before MM is destroyedRalph Campbell1-1/+28
2018-02-06Merge tag 'libnvdimm-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-6/+7
2018-01-31mm/hmm: fix uninitialized use of 'entry' in hmm_vma_walk_pmd()Ralph Campbell1-3/+1
2018-01-08memremap: drop private struct page_mapLogan Gunthorpe1-1/+1
2018-01-08mm: pass the vmem_altmap to memmap_init_zoneChristoph Hellwig1-1/+1
2018-01-08mm: pass the vmem_altmap to arch_remove_memory and __remove_pagesChristoph Hellwig1-2/+2
2018-01-08mm: pass the vmem_altmap to arch_add_memory and __add_pagesChristoph Hellwig1-2/+3
2017-12-15Revert "mm: replace p??_write with pte_access_permitted in fault + gup paths"Linus Torvalds1-4/+4
2017-11-29mm: replace pte_write with pte_access_permitted in fault + gup pathsDan Williams1-2/+2
2017-11-29mm: replace pmd_write with pmd_access_permitted in fault + gup pathsDan Williams1-2/+2
2017-11-15mm/hmm: remove redundant variable align_endColin Ian King1-2/+1
2017-09-08mm/hmm: avoid bloating arch that do not make use of HMMJérôme Glisse1-4/+3
2017-09-08mm/hmm: add new helper to hotplug CDM memory regionJérôme Glisse1-5/+83
2017-09-08mm/device-public-memory: device memory cache coherent with CPUJérôme Glisse1-2/+2
2017-09-08mm/hmm/devmem: dummy HMM device for ZONE_DEVICE memoryJérôme Glisse1-0/+81
2017-09-08mm/hmm/devmem: device memory hotplug using ZONE_DEVICEJérôme Glisse1-1/+378
2017-09-08mm/ZONE_DEVICE: special case put_page() for device private pagesJérôme Glisse1-0/+8
2017-09-08mm/hmm/mirror: device page fault handlerJérôme Glisse1-12/+244
2017-09-08mm/hmm/mirror: helper to snapshot CPU page tableJérôme Glisse1-0/+285
2017-09-08mm/hmm/mirror: mirror process address space on device with HMM helpersJérôme Glisse1-15/+138
2017-09-08mm/hmm: heterogeneous memory management (HMM for short)Jérôme Glisse1-0/+74