mm/hmm: remove the mask variable in hmm_vma_walk_hugetlb_entry
The pagewalk code already passes the value as the hmask parameter. Link: https://lore.kernel.org/r/20190806160554.14046-9-hch@lst.de Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
Родитель
7f08263d9b
Коммит
05c23af4a1
7
mm/hmm.c
7
mm/hmm.c
|
@ -778,19 +778,16 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask,
|
|||
struct mm_walk *walk)
|
||||
{
|
||||
#ifdef CONFIG_HUGETLB_PAGE
|
||||
unsigned long addr = start, i, pfn, mask;
|
||||
unsigned long addr = start, i, pfn;
|
||||
struct hmm_vma_walk *hmm_vma_walk = walk->private;
|
||||
struct hmm_range *range = hmm_vma_walk->range;
|
||||
struct vm_area_struct *vma = walk->vma;
|
||||
struct hstate *h = hstate_vma(vma);
|
||||
uint64_t orig_pfn, cpu_flags;
|
||||
bool fault, write_fault;
|
||||
spinlock_t *ptl;
|
||||
pte_t entry;
|
||||
int ret = 0;
|
||||
|
||||
mask = huge_page_size(h) - 1;
|
||||
|
||||
ptl = huge_pte_lock(hstate_vma(vma), walk->mm, pte);
|
||||
entry = huge_ptep_get(pte);
|
||||
|
||||
|
@ -806,7 +803,7 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask,
|
|||
goto unlock;
|
||||
}
|
||||
|
||||
pfn = pte_pfn(entry) + ((start & mask) >> PAGE_SHIFT);
|
||||
pfn = pte_pfn(entry) + ((start & ~hmask) >> PAGE_SHIFT);
|
||||
for (; addr < end; addr += PAGE_SIZE, i++, pfn++)
|
||||
range->pfns[i] = hmm_device_entry_from_pfn(range, pfn) |
|
||||
cpu_flags;
|
||||
|
|
Загрузка…
Ссылка в новой задаче