busybox/networking
Bartosz Golaszewski 8d75d794ea libbb: use sendfile() to copy data between file descriptors
Busybox already uses sendfile in httpd. This patch proposes to use it
globally to copy data between file descriptors.

It speeds up the copying on slow systems a lot - below are the times needed
to copy a 450Mb file with and without this option enabled on a BeagleBone
Black:

sendfile:
user    0m0.000s
sys     0m8.170s

read/write 4k:
user    0m0.470s
sys     0m16.300s

function                                             old     new   delta
bb_full_fd_action                                    394     474     +80

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-11-27 23:31:58 +01:00
..
libiproute iproute: support onelink route option and print route flags 2014-11-17 19:35:41 +01:00
ssl_helper networking/ssl_helper: experimental matrixssl-based ssl helper 2014-02-23 23:31:13 +01:00
udhcp udhcpd: if a lease from lease file coincides with a static one, ignore it 2014-11-25 18:49:14 +01:00
arp.c Use unsigned printf/scanf conversion where more appropriate 2013-11-29 16:45:45 +01:00
arping.c *: remove "Options:" string from help texts 2011-06-05 03:58:28 +02:00
brctl.c whitespace cleanup. no code changes 2013-01-14 15:57:44 +01:00
Config.src libbb: use sendfile() to copy data between file descriptors 2014-11-27 23:31:58 +01:00
dnsd.c typo fixes 2011-07-08 05:47:49 +02:00
ether-wake.c ether-wake: shorten help text, reduce packet buffer size 2013-10-14 19:04:20 +02:00
ftpd.c ftpd: make LIST command show dotfiles too 2014-09-15 23:35:58 +02:00
ftpgetput.c ftp{get,put}: tweak help text 2012-03-19 12:22:57 +01:00
hostname.c hostname: do not use gethostbyname() for "hostname -s" 2013-12-17 19:13:45 +01:00
httpd_indexcgi.c httpd_indexcgi.c: fix compile failure 2012-09-03 12:20:10 +02:00
httpd_post_upload.txt httpd_post_upload.txt example: handle binary files too 2009-11-13 09:37:50 +01:00
httpd_ssi.c whitespace fixes. no code changes 2013-01-14 01:34:48 +01:00
httpd.c libbb: use sendfile() to copy data between file descriptors 2014-11-27 23:31:58 +01:00
ifconfig.c fix build error with musl libc due to if_slip.h 2013-08-15 09:54:51 +02:00
ifenslave.c whitespace cleanup. no code changes 2013-01-14 15:57:44 +01:00
ifplugd.c ifplugd: code shrink 2014-02-10 09:51:03 +01:00
ifupdown.c libbb: rename execable -> executable. No code changes 2014-05-02 17:15:58 +02:00
inetd.c CONFIG_PID_FILE_PATH: new configuration option for pidfile paths 2012-12-19 15:53:33 -05:00
interface.c networking: fix potential overflow in ife_print6() 2013-08-14 17:43:05 +02:00
ip.c iproute: fix help text 2011-12-06 18:59:55 +01:00
ipcalc.c *: remove "Options:" string from help texts 2011-06-05 03:58:28 +02:00
isrv_identd.c fakeidentd: simplify ndelay manipulations 2014-01-10 17:12:54 +01:00
isrv.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
isrv.h fixlet for the previous commit #2 2014-01-09 20:09:43 +01:00
Kbuild.src ping: add -t TTL option 2010-11-28 23:01:18 +01:00
nameif.c nameif: fix use-after-free in ENABLE_FEATURE_CLEAN_UP code 2013-02-28 10:31:54 +01:00
nbd-client.c mass removal of underscores from _BB_DIR_foo and _BB_SUID_foo 2011-01-18 13:58:01 +01:00
nc_bloaty.c nc: fix option bit positions. Closes 6926 2014-02-26 13:58:59 +01:00
nc.c nc: use symbolic SHUT_WR instead of literal 1 2013-07-28 21:08:37 +02:00
netstat.c Use unsigned printf/scanf conversion where more appropriate 2013-11-29 16:45:45 +01:00
nslookup.c nslookup: set default DNS server again. Hopefully helps with 675 2013-06-27 01:09:51 +02:00
ntpd_simple.c use [s]rand(), not [s]random() 2014-03-05 18:58:15 +01:00
ntpd.c ntpd: calculate offset to jitter ratio before updating jitter 2014-10-05 03:11:53 +02:00
ping.c ping: add -p to specify data pattern 2014-08-27 16:01:25 +02:00
pscan.c Use unsigned printf/scanf conversion where more appropriate 2013-11-29 16:45:45 +01:00
route.c libbb: use a wrapper around sysconf(_SC_CLK_TCK) to save a few bytes 2014-06-22 14:01:13 +02:00
slattach.c *: remove "Options:" string from help texts 2011-06-05 03:58:28 +02:00
tc.c fix assorted unused code and wrong format specs found by cppchekc (bug 6716) 2013-11-29 16:43:33 +01:00
tcpudp_perhost.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
tcpudp_perhost.h *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
tcpudp.c tcpudp: simplify help text 2011-07-25 16:35:44 +02:00
telnet.c telnet: code shrink 2013-05-12 02:13:24 +02:00
telnetd.c telnet: convert CR -> CR LF, not CR -> CR NUL when sending data to server 2012-09-13 13:00:49 +02:00
telnetd.ctrlSQ.patch *: mass renaming of USE_XXXX to IF_XXXX 2009-04-21 11:09:40 +00:00
tftp.c tftpd: tweak HP PA-RISC firmware bug compatibility 2014-09-04 12:24:03 +02:00
traceroute.c fix assorted unused code and wrong format specs found by cppchekc (bug 6716) 2013-11-29 16:43:33 +01:00
tunctl.c *: remove "Options:" string from help texts 2011-06-05 03:58:28 +02:00
vconfig.c vconfig: fix help text; small code shrink. Closes 4658 2012-01-16 04:00:37 +01:00
wget.c wget: fix a case where progress bar isn't updated if writes are very slow 2014-03-27 16:50:29 +01:00
whois.c *: remove "Options:" string from help texts 2011-06-05 03:58:28 +02:00
zcip.c zcip: Add environment variable for overriding log functionality 2014-11-04 12:19:04 +01:00