UPSTREAM: mm/damon/vaddr: remove swap_ranges() and replace it with swap()
Remove 'swap_ranges()' and replace it with the macro 'swap()' defined in 'include/linux/minmax.h' to simplify code and improve efficiency Link: https://lkml.kernel.org/r/20211111115355.2808-1-hanyihao@vivo.com Signed-off-by: Yihao Han <hanyihao@vivo.com> Reviewed-by: SeongJae Park <sj@kernel.org> Reviewed-by: Muchun Song <songmuchun@bytedance.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 8bd0b9da03c9154e279b1a502636103887b9fbed) Bug: 228223814 Signed-off-by: Hailong Tu <tuhailong@oppo.com> Change-Id: Icf565b52a7642fb830ae004764ca496986aed82a
This commit is contained in:
@@ -97,16 +97,6 @@ static unsigned long sz_range(struct damon_addr_range *r)
|
|||||||
return r->end - r->start;
|
return r->end - r->start;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void swap_ranges(struct damon_addr_range *r1,
|
|
||||||
struct damon_addr_range *r2)
|
|
||||||
{
|
|
||||||
struct damon_addr_range tmp;
|
|
||||||
|
|
||||||
tmp = *r1;
|
|
||||||
*r1 = *r2;
|
|
||||||
*r2 = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Find three regions separated by two biggest unmapped regions
|
* Find three regions separated by two biggest unmapped regions
|
||||||
*
|
*
|
||||||
@@ -145,9 +135,9 @@ static int __damon_va_three_regions(struct vm_area_struct *vma,
|
|||||||
gap.start = last_vma->vm_end;
|
gap.start = last_vma->vm_end;
|
||||||
gap.end = vma->vm_start;
|
gap.end = vma->vm_start;
|
||||||
if (sz_range(&gap) > sz_range(&second_gap)) {
|
if (sz_range(&gap) > sz_range(&second_gap)) {
|
||||||
swap_ranges(&gap, &second_gap);
|
swap(gap, second_gap);
|
||||||
if (sz_range(&second_gap) > sz_range(&first_gap))
|
if (sz_range(&second_gap) > sz_range(&first_gap))
|
||||||
swap_ranges(&second_gap, &first_gap);
|
swap(second_gap, first_gap);
|
||||||
}
|
}
|
||||||
next:
|
next:
|
||||||
last_vma = vma;
|
last_vma = vma;
|
||||||
@@ -158,7 +148,7 @@ next:
|
|||||||
|
|
||||||
/* Sort the two biggest gaps by address */
|
/* Sort the two biggest gaps by address */
|
||||||
if (first_gap.start > second_gap.start)
|
if (first_gap.start > second_gap.start)
|
||||||
swap_ranges(&first_gap, &second_gap);
|
swap(first_gap, second_gap);
|
||||||
|
|
||||||
/* Store the result */
|
/* Store the result */
|
||||||
regions[0].start = ALIGN(start, DAMON_MIN_REGION);
|
regions[0].start = ALIGN(start, DAMON_MIN_REGION);
|
||||||
|
Reference in New Issue
Block a user