In kernel, we can use abs(a - b) to get the absolute value, So there is no need to redefine a new one.
Unified · Split
| @@ -750,8 +750,6 @@ static void damon_merge_two_regions(struct damon_target *t, · 749 unmodified lines | |||
| 750 | damon_destroy_region(r, t); | 750 | damon_destroy_region(r, t); |
| 751 | } | 751 | } |
| 752 | 752 | ||
| 753 | #define diff_of(a, b) (a > b ? a - b : b - a) | ||
| 754 | |||
| 755 | /* | 753 | /* |
| 756 | * Merge adjacent regions having similar access frequencies | 754 | * Merge adjacent regions having similar access frequencies |
| 757 | * | 755 | * |
| @@ -765,13 +763,13 @@ static void damon_merge_regions_of(struct damon_target *t, unsigned int thres, · 7 unmodified lines | |||
| 765 | struct damon_region *r, *prev = NULL, *next; | 763 | struct damon_region *r, *prev = NULL, *next; |
| 766 | 764 | ||
| 767 | damon_for_each_region_safe(r, next, t) { | 765 | damon_for_each_region_safe(r, next, t) { |
| 768 | if (diff_of(r->nr_accesses, r->last_nr_accesses) > thres) | 766 | if (abs(r->nr_accesses - r->last_nr_accesses) > thres) |
| 769 | r->age = 0; | 767 | r->age = 0; |
| 770 | else | 768 | else |
| 771 | r->age++; | 769 | r->age++; |
| 772 | 770 | ||
| 773 | if (prev && prev->ar.end == r->ar.start && | 771 | if (prev && prev->ar.end == r->ar.start && |
| 774 | diff_of(prev->nr_accesses, r->nr_accesses) <= thres && | 772 | abs(prev->nr_accesses - r->nr_accesses) <= thres && |
| 775 | sz_damon_region(prev) + sz_damon_region(r) <= sz_limit) | 773 | sz_damon_region(prev) + sz_damon_region(r) <= sz_limit) |
| 776 | damon_merge_two_regions(t, prev, r); | 774 | damon_merge_two_regions(t, prev, r); |
| 777 | else | 775 | else |