[Bug 252358] cp(1) of large files is causing 100% CPU utilization and poor transfer of ~168M/minute
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Jan 3 01:02:21 UTC 2021
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252358
--- Comment #2 from commit-hook at FreeBSD.org ---
A commit in branch main references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=c98a764c681f8b70812a9f13a6e61c96aa1a69d2
commit c98a764c681f8b70812a9f13a6e61c96aa1a69d2
Author: Rick Macklem <rmacklem at FreeBSD.org>
AuthorDate: 2021-01-03 00:58:43 +0000
Commit: Rick Macklem <rmacklem at FreeBSD.org>
CommitDate: 2021-01-03 00:58:43 +0000
cp(1): fix performance issue for large non-sparse file copies
PR252358 reported a serious performance problem when
copying a large non-sparse file on a UFS file system.
This problem seems to have been caused by a large
number of SEEK_HOLE operations, with one done
for each copy_file_range(2) call.
This patch modifies cp(1) to use a large (SSIZE_MAX)
len argument, reducing the number of system calls
and resolving the performance issue.
While here, convert the type of the "rcount" from "int"
to "ssize_t" so that it is consistent with that returned
by both read(2) and copy_file_range(2).
PR: 252358
Reviewed by: asomers
Differential Revision: https://reviews.freebsd.org/D27937
bin/cp/utils.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list