search for: split_huge_pmd

Displaying 12 results from an estimated 12 matches for "split_huge_pmd".

2020 Jun 22
2
[PATCH 13/16] mm: support THP migration to device private memory
..., you might need to guard it either statically or dynamically in case CONFIG_DEVICE_PRIVATE is disabled. Potentially, you would like to make sure a system without CONFIG_DEVICE_PRIVATE will not see is_device_private_entry() == true and give errors when it does. > >> Do we need to support split_huge_pmd() if a page is migrated to device? Any new code >> needed in split_huge_pmd()? > > I was thinking that any CPU usage of the device private page would cause it to be > migrated back to system memory as a whole PMD/PUD page but I'll double check. > At least there should be a che...
2020 Jun 21
2
[PATCH 13/16] mm: support THP migration to device private memory
...de behind thp_migration_supported()? It seems that you just need pmd swap entry not pmd migration entry. Also the condition is not consistent with the code in __handle_mm_fault(), in which you handle is_device_private_entry() directly without checking thp_migration_support(). Do we need to support split_huge_pmd() if a page is migrated to device? Any new code needed in split_huge_pmd()? > + } else { > + VM_BUG_ON(!is_pmd_migration_entry(orig_pmd)); > + page = pfn_to_page(swp_offset(entry)); > + is_anon = PageAnon(page); > + } > flush_needed = 0; > } else >...
2020 Jun 22
2
[PATCH 13/16] mm: support THP migration to device private memory
...t >> CONFIG_DEVICE_PRIVATE will not see is_device_private_entry() == true and give errors when it does. > > I have compiled and run with CONFIG_DEVICE_PRIVATE off but I can test more combinations of > config settings. Thanks. > >>> >>>> Do we need to support split_huge_pmd() if a page is migrated to device? Any new code >>>> needed in split_huge_pmd()? >>> >>> I was thinking that any CPU usage of the device private page would cause it to be >>> migrated back to system memory as a whole PMD/PUD page but I'll double check. &gt...
2020 Jun 22
0
[PATCH 13/16] mm: support THP migration to device private memory
...supported())" should be "else if (is_pmd_migration_entry(orig_pmd))" since if the PMD *is* a device private or migration entry, then it should be handled and the VM_BUG_ON() should be that thp_migration_supported() is true (or maybe remove the VM_BUG_ON?). > Do we need to support split_huge_pmd() if a page is migrated to device? Any new code > needed in split_huge_pmd()? I was thinking that any CPU usage of the device private page would cause it to be migrated back to system memory as a whole PMD/PUD page but I'll double check. At least there should be a check that the page isn...
2020 Jun 22
0
[PATCH 13/16] mm: support THP migration to device private memory
...would like to make sure a system without > CONFIG_DEVICE_PRIVATE will not see is_device_private_entry() == true and give errors when it does. I have compiled and run with CONFIG_DEVICE_PRIVATE off but I can test more combinations of config settings. >> >>> Do we need to support split_huge_pmd() if a page is migrated to device? Any new code >>> needed in split_huge_pmd()? >> >> I was thinking that any CPU usage of the device private page would cause it to be >> migrated back to system memory as a whole PMD/PUD page but I'll double check. >> At least t...
2020 Jun 22
0
[PATCH 13/16] mm: support THP migration to device private memory
...ee is_device_private_entry() == true and give errors when it does. > > > > I have compiled and run with CONFIG_DEVICE_PRIVATE off but I can test more combinations of > > config settings. > > Thanks. > > > > >>> > >>>> Do we need to support split_huge_pmd() if a page is migrated to device? Any new code > >>>> needed in split_huge_pmd()? > >>> > >>> I was thinking that any CPU usage of the device private page would cause it to be > >>> migrated back to system memory as a whole PMD/PUD page but I'...
2020 Jun 22
2
[PATCH 13/16] mm: support THP migration to device private memory
...errors when it does. > > > > > > I have compiled and run with CONFIG_DEVICE_PRIVATE off but I can test more combinations of > > > config settings. > > > > Thanks. > > > > > > > >>> > > >>>> Do we need to support split_huge_pmd() if a page is migrated to device? Any new code > > >>>> needed in split_huge_pmd()? > > >>> > > >>> I was thinking that any CPU usage of the device private page would cause it to be > > >>> migrated back to system memory as a whole PMD...
2020 Jun 19
0
[PATCH 13/16] mm: support THP migration to device private memory
...urn migrate_vma_collect_hole(start, end, -1, + walk); + } + if (pmd_write(*pmdp)) + write = MIGRATE_PFN_WRITE; + } else if (!pmd_present(*pmdp)) { + swp_entry_t entry = pmd_to_swp_entry(*pmdp); - page = pmd_page(*pmdp); - if (is_huge_zero_page(page)) { - spin_unlock(ptl); - split_huge_pmd(vma, pmdp, addr); - if (pmd_trans_unstable(pmdp)) + if (!is_device_private_entry(entry)) { + spin_unlock(ptl); return migrate_vma_collect_skip(start, end, walk); + } + page = device_private_entry_to_page(entry); + if (is_write_device_private_entry(entry)) + write = MIG...
2020 Jun 19
22
[PATCH 00/16] mm/hmm/nouveau: THP mapping and migration
These patches apply to linux-5.8.0-rc1. Patches 1-3 should probably go into 5.8, the others can be queued for 5.9. Patches 4-6 improve the HMM self tests. Patch 7-8 prepare nouveau for the meat of this series which adds support and testing for compound page mapping of system memory (patches 9-11) and compound page migration to device private memory (patches 12-16). Since these changes are split
2020 Nov 06
0
[PATCH v3 3/6] mm: support THP migration to device private memory
...N_PAGE(is_huge_zero_page(head), head); + VM_BUG_ON_PAGE(!PageLocked(head), head); + VM_BUG_ON_PAGE(!PageHead(head), head); + VM_BUG_ON_PAGE(PageWriteback(head), head); + VM_BUG_ON_PAGE(PageLRU(head), head); + VM_BUG_ON_PAGE(compound_mapcount(head), head); + + ptl = pmd_lock(vma->vm_mm, pmd); + __split_huge_pmd_locked(vma, pmd, address, false); + spin_unlock(ptl); + + return __split_huge_page_to_list(head, NULL, false); +} + void free_transhuge_page(struct page *page) { struct deferred_split *ds_queue = get_deferred_split_queue(page); @@ -2766,9 +2836,11 @@ void free_transhuge_page(struct page *page)...
2020 Nov 06
12
[PATCH v3 0/6] mm/hmm/nouveau: add THP migration to migrate_vma_*
...]. The patches apply cleanly to the linux-mm 5.10.0-rc2 tree. There are a lot of other THP patches being posted. I don't think there are any semantic conflicts but there may be some merge conflicts depending on the order Andrew applies these. Changes in v3: Sent the patch ("mm/thp: fix __split_huge_pmd_locked() for migration PMD") as a separate patch from this series. Rebased to linux-mm 5.10.0-rc2. Changes in v2: Added splitting a THP midway in the migration process: i.e., in migrate_vma_pages(). [1] https://lore.kernel.org/linux-mm/20200619215649.32297-1-rcampbell at nvidia.com [2] http...
2020 Sep 02
10
[PATCH v2 0/7] mm/hmm/nouveau: add THP migration to migrate_vma_*
...d drivers/gpu/drm/nouveau/nouveau_dmem.c, it might be easiest if Andrew could take these through the linux-mm tree assuming that's OK with other maintainers like Ben Skeggs. [1] https://lore.kernel.org/linux-mm/20200619215649.32297-1-rcampbell at nvidia.com Ralph Campbell (7): mm/thp: fix __split_huge_pmd_locked() for migration PMD mm/migrate: move migrate_vma_collect_skip() mm: support THP migration to device private memory mm/thp: add prep_transhuge_device_private_page() mm/thp: add THP allocation helper mm/hmm/test: add self tests for THP migration nouveau: support THP migration to pr...