Message ID | 20250310172318.653630-5-sj@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/madvise: batch tlb flushes for MADV_DONTNEED and MADV_FREE | expand |
On Mon, Mar 10, 2025 at 10:23:13AM -0700, SeongJae Park wrote: > Because madise_should_skip() logic is factored out, making > madvise_do_behavior() calculates 'len' on its own rather then receiving > it as a parameter makes code simpler. Remove the parameter. > > Signed-off-by: SeongJae Park <sj@kernel.org> LGTM, so: Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> > --- > mm/madvise.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/mm/madvise.c b/mm/madvise.c > index 764ec1f2475b..469c25690a0e 100644 > --- a/mm/madvise.c > +++ b/mm/madvise.c > @@ -1673,7 +1673,7 @@ static bool is_madvise_populate(int behavior) > } > > static int madvise_do_behavior(struct mm_struct *mm, > - unsigned long start, size_t len_in, size_t len, int behavior) > + unsigned long start, size_t len_in, int behavior) > { > struct blk_plug plug; > unsigned long end; > @@ -1682,7 +1682,7 @@ static int madvise_do_behavior(struct mm_struct *mm, > if (is_memory_failure(behavior)) > return madvise_inject_error(behavior, start, start + len_in); > start = untagged_addr_remote(mm, start); > - end = start + len; > + end = start + PAGE_ALIGN(len_in); > > blk_start_plug(&plug); > if (is_madvise_populate(behavior)) > @@ -1775,8 +1775,7 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh > error = madvise_lock(mm, behavior); > if (error) > return error; > - error = madvise_do_behavior(mm, start, len_in, PAGE_ALIGN(len_in), > - behavior); > + error = madvise_do_behavior(mm, start, len_in, behavior); > madvise_unlock(mm, behavior); > > return error; > @@ -1808,8 +1807,7 @@ static ssize_t vector_madvise(struct mm_struct *mm, struct iov_iter *iter, > if (madvise_should_skip(start, len_in, behavior, &error)) > ret = error; > else > - ret = madvise_do_behavior(mm, start, len_in, > - PAGE_ALIGN(len_in), behavior); > + ret = madvise_do_behavior(mm, start, len_in, behavior); > /* > * An madvise operation is attempting to restart the syscall, > * but we cannot proceed as it would not be correct to repeat > -- > 2.39.5
diff --git a/mm/madvise.c b/mm/madvise.c index 764ec1f2475b..469c25690a0e 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -1673,7 +1673,7 @@ static bool is_madvise_populate(int behavior) } static int madvise_do_behavior(struct mm_struct *mm, - unsigned long start, size_t len_in, size_t len, int behavior) + unsigned long start, size_t len_in, int behavior) { struct blk_plug plug; unsigned long end; @@ -1682,7 +1682,7 @@ static int madvise_do_behavior(struct mm_struct *mm, if (is_memory_failure(behavior)) return madvise_inject_error(behavior, start, start + len_in); start = untagged_addr_remote(mm, start); - end = start + len; + end = start + PAGE_ALIGN(len_in); blk_start_plug(&plug); if (is_madvise_populate(behavior)) @@ -1775,8 +1775,7 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh error = madvise_lock(mm, behavior); if (error) return error; - error = madvise_do_behavior(mm, start, len_in, PAGE_ALIGN(len_in), - behavior); + error = madvise_do_behavior(mm, start, len_in, behavior); madvise_unlock(mm, behavior); return error; @@ -1808,8 +1807,7 @@ static ssize_t vector_madvise(struct mm_struct *mm, struct iov_iter *iter, if (madvise_should_skip(start, len_in, behavior, &error)) ret = error; else - ret = madvise_do_behavior(mm, start, len_in, - PAGE_ALIGN(len_in), behavior); + ret = madvise_do_behavior(mm, start, len_in, behavior); /* * An madvise operation is attempting to restart the syscall, * but we cannot proceed as it would not be correct to repeat
Because madise_should_skip() logic is factored out, making madvise_do_behavior() calculates 'len' on its own rather then receiving it as a parameter makes code simpler. Remove the parameter. Signed-off-by: SeongJae Park <sj@kernel.org> --- mm/madvise.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)