freebsd-dev/bin
Ivan Voras e9cbc9a770 Teach cat(1) and cp(1) to use a larger buffer if enough memory is present
in the system. A simple heuristics is used to detect what is "enough"
memory: if number of physmem pages is greater than 32k (equalling 128 MB
on machines with 4 kB pages).

Typical immediate result of these changes is reduction in context switches
and the goal is to increase efficiency by using large buffers:
before: /usr/bin/time -hlp cat file1 > file2
...
       163  voluntary context switches
     11194  involuntary context switches
after: /usr/bin/time -hlp ./cat file1 > file2
...
       417  voluntary context switches
       272  involuntary context switches

Reviewed by:    hackers@ (no objections to earlier version of cat patch)
Approved by:    gnn (mentor)
MFC after:      4 months
2008-10-30 14:05:57 +00:00
..
cat Teach cat(1) and cp(1) to use a larger buffer if enough memory is present 2008-10-30 14:05:57 +00:00
chflags Make chflags(1) more chmod(1)-like (and more feature complete): 2008-03-09 12:10:24 +00:00
chio Don't specify SRCS= when it can be obtained from PROGS= 2005-01-27 13:25:09 +00:00
chmod - Mention umask(2) when first referring to it. 2006-12-22 07:28:38 +00:00
cp Teach cat(1) and cp(1) to use a larger buffer if enough memory is present 2008-10-30 14:05:57 +00:00
csh Work around a vendor issue that was causing the builtin malloc to be 2007-05-16 21:22:38 +00:00
date Don't reset DST computed by strptime() (when e.g. setting the 2008-02-07 16:04:24 +00:00
dd More inactive maintainers. 2006-07-09 21:47:37 +00:00
df Significantly reduce the memory leak as noted in BUGS section for 2007-07-04 00:00:41 +00:00
domainname Use a standard section name. 2006-12-18 15:45:01 +00:00
echo Mark functions as __dead2 in order to help the LLVM static checker 2008-08-04 01:25:48 +00:00
ed Move WARNS as ed(1) also is only WARNS = 2 clean in the !DES case. 2007-12-09 00:14:27 +00:00
expr Fix markup. 2007-03-04 19:52:07 +00:00
getfacl Use owner name and owning group name instead of uid and gid 2007-09-19 02:04:47 +00:00
hostname Style(9) fixes, thanks to Ruslan. 2006-12-08 07:47:08 +00:00
kenv -mdoc sweep. 2005-11-17 12:15:23 +00:00
kill Fix markup. 2007-03-04 09:15:12 +00:00
ln Unbreak last commit to ln for amd64. 2008-06-07 09:37:30 +00:00
ls Turn a tab into a space. This fixes a misalignment for ls -l. 2008-04-05 21:26:25 +00:00
mkdir More markup fixes. 2006-12-27 11:28:00 +00:00
mv Staticify symbols that will not be used in other 2008-07-19 00:13:26 +00:00
pax Remove unnecessary free argument casts. 2007-05-25 17:53:38 +00:00
pkill Improve the `pkill -t' handling, which I changed in my previous commit. 2008-09-30 17:30:39 +00:00
ps Remove unnessasary cast 2008-07-18 14:55:22 +00:00
pwd Sync program's usage() with manpage's SYNOPSIS. 2005-02-09 17:37:39 +00:00
rcp Remove superfluous va_end which was left there in rev 1.38. 2008-10-28 17:15:46 +00:00
realpath Enhance realpath(1) in a number of ways: 2008-03-09 12:46:39 +00:00
rm Give a hint to the reader as to what the "whiteout" actually means. 2006-12-26 13:57:40 +00:00
rmail Remove kludges intended to support src trees with partial obj trees. 2005-06-10 06:12:53 +00:00
rmdir Fix markup. 2006-12-27 12:14:56 +00:00
setfacl Fix double free in setfacl(1). Description from the author: 2008-09-06 13:17:35 +00:00
sh Document the ulimit -p option in the sh(1) manual page. 2008-08-30 22:35:21 +00:00
sleep Fix a comment. 2005-08-07 09:11:38 +00:00
stty Make stty(1) use tab0 and tab3 to handle tab completion. 2008-08-23 13:28:55 +00:00
sync /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
test Simplify some markup. 2006-12-14 10:42:46 +00:00
uuidgen uuidgen has been repo-copied from usr.bin/ to bin/ to match its "new" 2008-03-13 17:38:06 +00:00
Makefile pkill(1) first appeared in /usr/bin, but later it was moved to /bin 2008-08-31 14:27:59 +00:00
Makefile.inc Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00