mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
mm/mmu_notifier: use structure for invalidate_range_start/end calls v2
To avoid having to change many call sites everytime we want to add a parameter use a structure to group all parameters for the mmu_notifier invalidate_range_start/end cakks. No functional changes with this patch. [akpm@linux-foundation.org: coding style fixes] Link: http://lkml.kernel.org/r/20181205053628.3210-3-jglisse@redhat.com Signed-off-by: Jérôme Glisse <jglisse@redhat.com> Acked-by: Christian König <christian.koenig@amd.com> Acked-by: Jan Kara <jack@suse.cz> Cc: Matthew Wilcox <mawilcox@microsoft.com> Cc: Ross Zwisler <zwisler@kernel.org> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krcmar <rkrcmar@redhat.com> Cc: Michal Hocko <mhocko@kernel.org> Cc: Felix Kuehling <felix.kuehling@amd.com> Cc: Ralph Campbell <rcampbell@nvidia.com> Cc: John Hubbard <jhubbard@nvidia.com> From: Jérôme Glisse <jglisse@redhat.com> Subject: mm/mmu_notifier: use structure for invalidate_range_start/end calls v3 fix build warning in migrate.c when CONFIG_MMU_NOTIFIER=n Link: http://lkml.kernel.org/r/20181213171330.8489-3-jglisse@redhat.com Signed-off-by: Jérôme Glisse <jglisse@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
5d6527a784
commit
ac46d4f3c4
@@ -167,11 +167,12 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma,
|
||||
pgprot_t newprot, int dirty_accountable, int prot_numa)
|
||||
{
|
||||
pmd_t *pmd;
|
||||
struct mm_struct *mm = vma->vm_mm;
|
||||
unsigned long next;
|
||||
unsigned long pages = 0;
|
||||
unsigned long nr_huge_updates = 0;
|
||||
unsigned long mni_start = 0;
|
||||
struct mmu_notifier_range range;
|
||||
|
||||
range.start = 0;
|
||||
|
||||
pmd = pmd_offset(pud, addr);
|
||||
do {
|
||||
@@ -183,9 +184,9 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma,
|
||||
goto next;
|
||||
|
||||
/* invoke the mmu notifier if the pmd is populated */
|
||||
if (!mni_start) {
|
||||
mni_start = addr;
|
||||
mmu_notifier_invalidate_range_start(mm, mni_start, end);
|
||||
if (!range.start) {
|
||||
mmu_notifier_range_init(&range, vma->vm_mm, addr, end);
|
||||
mmu_notifier_invalidate_range_start(&range);
|
||||
}
|
||||
|
||||
if (is_swap_pmd(*pmd) || pmd_trans_huge(*pmd) || pmd_devmap(*pmd)) {
|
||||
@@ -214,8 +215,8 @@ next:
|
||||
cond_resched();
|
||||
} while (pmd++, addr = next, addr != end);
|
||||
|
||||
if (mni_start)
|
||||
mmu_notifier_invalidate_range_end(mm, mni_start, end);
|
||||
if (range.start)
|
||||
mmu_notifier_invalidate_range_end(&range);
|
||||
|
||||
if (nr_huge_updates)
|
||||
count_vm_numa_events(NUMA_HUGE_PTE_UPDATES, nr_huge_updates);
|
||||
|
Reference in New Issue
Block a user