mm/hmm: convert various hmm_pfn_* to device_entry which is a better name
Convert hmm_pfn_* to device_entry_* as here we are dealing with device driver specific entry format and hmm provide helpers to allow differents components (including HMM) to create/parse device entry. We keep wrapper with the old name so that we can convert driver to use the new API in stages in each device driver tree. This will get remove once all driver are converted. Link: http://lkml.kernel.org/r/20190403193318.16478-13-jglisse@redhat.com Signed-off-by: Jérôme Glisse <jglisse@redhat.com> Cc: Ralph Campbell <rcampbell@nvidia.com> Cc: John Hubbard <jhubbard@nvidia.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Ira Weiny <ira.weiny@intel.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Balbir Singh <bsingharora@gmail.com> Cc: Dan Carpenter <dan.carpenter@oracle.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Souptick Joarder <jrdr.linux@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Linus Torvalds

ebeveyn
55c0ece82a
işleme
391aab11e9
19
mm/hmm.c
19
mm/hmm.c
@@ -543,7 +543,7 @@ static int hmm_vma_handle_pmd(struct mm_walk *walk,
|
||||
if (unlikely(!hmm_vma_walk->pgmap))
|
||||
return -EBUSY;
|
||||
}
|
||||
pfns[i] = hmm_pfn_from_pfn(range, pfn) | cpu_flags;
|
||||
pfns[i] = hmm_device_entry_from_pfn(range, pfn) | cpu_flags;
|
||||
}
|
||||
if (hmm_vma_walk->pgmap) {
|
||||
put_dev_pagemap(hmm_vma_walk->pgmap);
|
||||
@@ -611,7 +611,8 @@ static int hmm_vma_handle_pte(struct mm_walk *walk, unsigned long addr,
|
||||
&fault, &write_fault);
|
||||
if (fault || write_fault)
|
||||
goto fault;
|
||||
*pfn = hmm_pfn_from_pfn(range, swp_offset(entry));
|
||||
*pfn = hmm_device_entry_from_pfn(range,
|
||||
swp_offset(entry));
|
||||
*pfn |= cpu_flags;
|
||||
return 0;
|
||||
}
|
||||
@@ -649,7 +650,7 @@ static int hmm_vma_handle_pte(struct mm_walk *walk, unsigned long addr,
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
*pfn = hmm_pfn_from_pfn(range, pte_pfn(pte)) | cpu_flags;
|
||||
*pfn = hmm_device_entry_from_pfn(range, pte_pfn(pte)) | cpu_flags;
|
||||
return 0;
|
||||
|
||||
fault:
|
||||
@@ -803,7 +804,8 @@ again:
|
||||
hmm_vma_walk->pgmap);
|
||||
if (unlikely(!hmm_vma_walk->pgmap))
|
||||
return -EBUSY;
|
||||
pfns[i] = hmm_pfn_from_pfn(range, pfn) | cpu_flags;
|
||||
pfns[i] = hmm_device_entry_from_pfn(range, pfn) |
|
||||
cpu_flags;
|
||||
}
|
||||
if (hmm_vma_walk->pgmap) {
|
||||
put_dev_pagemap(hmm_vma_walk->pgmap);
|
||||
@@ -879,7 +881,8 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask,
|
||||
|
||||
pfn = pte_pfn(entry) + ((start & mask) >> range->page_shift);
|
||||
for (; addr < end; addr += size, i++, pfn += pfn_inc)
|
||||
range->pfns[i] = hmm_pfn_from_pfn(range, pfn) | cpu_flags;
|
||||
range->pfns[i] = hmm_device_entry_from_pfn(range, pfn) |
|
||||
cpu_flags;
|
||||
hmm_vma_walk->last = end;
|
||||
|
||||
unlock:
|
||||
@@ -1222,7 +1225,7 @@ long hmm_range_dma_map(struct hmm_range *range,
|
||||
*/
|
||||
daddrs[i] = 0;
|
||||
|
||||
page = hmm_pfn_to_page(range, range->pfns[i]);
|
||||
page = hmm_device_entry_to_page(range, range->pfns[i]);
|
||||
if (page == NULL)
|
||||
continue;
|
||||
|
||||
@@ -1252,7 +1255,7 @@ unmap:
|
||||
enum dma_data_direction dir = DMA_TO_DEVICE;
|
||||
struct page *page;
|
||||
|
||||
page = hmm_pfn_to_page(range, range->pfns[i]);
|
||||
page = hmm_device_entry_to_page(range, range->pfns[i]);
|
||||
if (page == NULL)
|
||||
continue;
|
||||
|
||||
@@ -1307,7 +1310,7 @@ long hmm_range_dma_unmap(struct hmm_range *range,
|
||||
enum dma_data_direction dir = DMA_TO_DEVICE;
|
||||
struct page *page;
|
||||
|
||||
page = hmm_pfn_to_page(range, range->pfns[i]);
|
||||
page = hmm_device_entry_to_page(range, range->pfns[i]);
|
||||
if (page == NULL)
|
||||
continue;
|
||||
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle