diff options
author | Oleg Drokin <[email protected]> | 2016-06-08 15:33:59 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2016-06-09 14:23:11 -0700 |
commit | 18aba41cbfbcd138e9f6d8d446427d8b7691c194 (patch) | |
tree | c75be3a413a4fca8c2e0058d75df06a2c22610fa /tools/perf/util/trace-event-scripting.c | |
parent | f3a932baa7f65072434f1c04c02c8a4d2746fcfc (diff) |
mm/fadvise.c: do not discard partial pages with POSIX_FADV_DONTNEED
I noticed that the logic in the fadvise64_64 syscall is incorrect for
partial pages. While first page of the region is correctly skipped if
it is partial, the last page of the region is mistakenly discarded.
This leads to problems for applications that read data in
non-page-aligned chunks discarding already processed data between the
reads.
A somewhat misguided application that does something like write(XX bytes
(non-page-alligned)); drop the data it just wrote; repeat gets a
significant penalty in performance as a result.
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Oleg Drokin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions