u-boot/tools
Ahelenia Ziemiańska 7c665e1512 tools: copyfile: use 64k instead of 512 buffer
This is a trivial but significant optimization:
mkimage took >200ms (and 49489 writes (of which 49456 512)),
now it takes  110ms (and   419 writes (of which   386 64k)).

sendfile is much more appropriate for this and is done in one syscall,
but doesn't bring any significant speedups over 64k r/w
at the 13M size ranges, so there's no need to introduce
	#if __linux__
	while((size = sendfile(fd_dst, fd_src, NULL, 128 * 1024 * 1024)) > 0)
		;
	if(size != -1) {
		ret = 0;
		goto out;
	}
	#endif

Also extract the buffer size to a macro.

Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
2024-04-17 17:06:01 -06:00
..
binman tools: binman: ti_board_cfg: improve error message 2024-04-11 15:51:33 -06:00
buildman tools: buildman: fix non-existing SafeConfigParser in Python 3.12+ 2024-01-29 14:54:15 -05:00
docker CI: Move to latest container image 2024-03-15 08:18:54 -04:00
dtoc dtoc: avoid invalid escape sequence '\s' 2024-03-01 09:53:47 -05:00
env fw_env: autodetect NAND erase size and env sectors 2024-01-05 15:41:47 -05:00
gdb SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
kermit SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
libfdt libfdt: migrate fdt_ro.c to a wrapper of scripts/dtc/libfdt/fdt_ro.c 2020-04-26 14:23:39 -06:00
logos board: stm32f469-disco: add splash screen with stmicroelectronics logo 2023-12-15 15:41:23 +01:00
omap SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
patman patman: Properly document the patchwork_url setting 2024-03-21 07:36:54 +01:00
scripts tools: fix define2mk.sed to not add quotes around negative integers 2016-06-13 07:46:29 +09:00
u_boot_pylib tools: Move python tools to version 0.0.6 2023-12-13 18:39:06 -05:00
.gitignore tools: gitignore: Fix tools/generated path 2023-11-10 11:01:50 -05:00
Kconfig tools: mkimage: Add support for i.MXRT FlexSPI Header 2024-02-08 09:01:22 -03:00
Makefile tools: kwbimage: Allow disabling build on non-mvebu platforms 2024-01-11 22:09:11 -05:00
aisimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
aisimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
asn1_compiler.c WS cleanup: remove trailing white space 2021-09-30 08:08:56 -04:00
atmel_pmecc_params.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
atmelimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
bmp_logo.c bmp_logo: support CONFIG_DM_VIDEO 2019-07-29 00:20:31 +02:00
default_image.c crc32: Drop duplicates crc header includes 2023-08-08 17:41:52 -04:00
dumpimage.c tools: mkimage/dumpimage: Allow to use -l with -T 2022-02-28 10:33:11 -05:00
dumpimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
eficapsule.h tools: mkeficapsule: Add support to print capsule headers 2023-10-13 14:01:42 -06:00
efivar.py tools: efivar.py unused variable 2021-01-13 02:38:00 +01:00
endian-swap.py tools: add script for byte endianness swapping 2020-06-29 22:36:35 +02:00
envcrc.c env: Rework ENV_IS_EMBEDDED and related logic slightly 2022-12-22 10:31:47 -05:00
expo.py expo: Tidy up the expo.py tool and usage 2023-08-25 13:54:33 -04:00
fdt_add_pubkey.c tools: avoid implicit fallthrough in fdt_add_pubkey 2023-04-06 19:10:08 -04:00
fdt_host.h tools: Improve comments in signing functions 2022-01-26 08:50:43 -07:00
fdtgrep.c fdtgrep: Allow propagating properties up to supernodes 2023-12-31 07:21:02 -07:00
file2include.c tools/file2include: don't use malloc.h for malloc 2018-11-26 22:52:12 -05:00
fit_check_sign.c fit_check_sign: Update help to mention the key is in a dtb 2022-01-26 08:50:42 -07:00
fit_common.c tools: copyfile: use 64k instead of 512 buffer 2024-04-17 17:06:01 -06:00
fit_common.h tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
fit_image.c tools: open FIT image read-only 2024-04-10 09:34:53 -06:00
fit_info.c tools: use read-only mmap in fit_check_sign 2019-05-18 12:32:02 -04:00
gen_eth_addr.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gen_ethaddr_crc.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
getline.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
getline.h getline: split out for darwin systems 2010-01-26 00:07:13 +01:00
gpheader.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gpimage-common.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gpimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
ifdtool.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
ifdtool.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ifwitool.c ifwitool: Fix member access 2023-01-27 12:51:26 -05:00
image-host.c image-host: Fix error value paths and emit error messages to stderr. 2024-04-12 08:53:31 -06:00
image-sig-host.c rsa: adds rsa3072 algorithm 2022-01-28 17:58:41 -05:00
imagetool.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
imagetool.h tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
img2srec.c treewide: remove unneeded semicolons 2017-06-16 10:11:38 -04:00
imx8image.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
imx8m_image.sh tools: imx8m_image: Support ddr3 firmware 2021-10-21 13:59:26 +02:00
imx8mimage.c tools: mkimage: Add support for i.MXRT FlexSPI Header 2024-02-08 09:01:22 -03:00
imx9_image.sh tools: imx9_image: Reword warning message. 2024-03-04 08:18:13 -03:00
imx_cntr_image.sh tools: improve portability of imx_cntr_image.sh 2019-01-01 14:12:18 +01:00
imximage.c tools: mkimage: Add support for i.MXRT FlexSPI Header 2024-02-08 09:01:22 -03:00
iot2050-sign-fw.sh tools: iot2050-sign-fw.sh: Make localization of tools dir more robust 2023-10-09 15:24:31 -04:00
jtagconsole Blackfin: jtagconsole: disable output processing 2010-07-25 15:17:23 -04:00
key2dtsi.py tools: Add script for converting public key into device tree include 2023-03-29 11:58:26 -04:00
kwbimage.c tools: kwbimage: Add support for SATA images with non-512 byte block size 2023-04-13 11:34:47 +02:00
kwbimage.h tools: kwbimage: Add support for dumping extended and binary v0 headers 2022-02-17 14:17:07 +01:00
kwboot.c tools: kwboot: Add support for parsing SATA images with non-512 block size 2023-04-13 11:34:47 +02:00
lpc32xximage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
microcode-tool
microcode-tool.py microcode_tool: Convert to Python 3 2019-11-04 18:15:32 -07:00
mips-relocs.c linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
mkeficapsule.c global: Restrict use of '#include <linux/kconfig.h>' 2023-12-21 08:54:05 -05:00
mkenvimage.c tools: mkenvimage: Drop duplicate crc header include 2022-11-23 13:06:12 -05:00
mkexynosspl.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mkfwumdata.c tools: Add mkfwumdata tool for FWU metadata image 2023-06-09 13:52:40 -04:00
mkimage.c tools: fix build without LIBCRYPTO support 2024-01-11 22:09:11 -05:00
mkimage.h mkimage: Use PATH_MAX for path length 2023-06-23 14:38:16 -04:00
mksunxiboot.c tools: mksunxiboot: Use sunxi_image header directly 2021-10-25 14:49:58 +01:00
mtk_image.c tools: mtk_image: use uint32_t for ghf header magic and version 2023-08-03 09:40:50 -04:00
mtk_image.h tools: mtk_image: use uint32_t for ghf header magic and version 2023-08-03 09:40:50 -04:00
mtk_nand_headers.c tools: mtk_image: add support for nand headers used by newer chips 2022-09-23 15:09:16 -04:00
mtk_nand_headers.h tools: mtk_image: add support for nand headers used by newer chips 2022-09-23 15:09:16 -04:00
mxsboot.c tools: mxsboot: pre-fill buffer with 0xff, not 0 2023-12-13 15:33:57 -03:00
mxsimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
mxsimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ncb.c ncb: Check return value of write() 2009-04-28 01:16:46 +02:00
netconsole tools/netconsole: Add support for socat 2021-12-02 08:34:01 +02:00
omapimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
omapimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
os_support.c tools: Remove the out-of-date MinGW support codes 2020-04-24 10:51:56 -04:00
os_support.h tools: Remove the out-of-date MinGW support codes 2020-04-24 10:51:56 -04:00
pbl_crc32.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
pbl_crc32.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pblimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
pblimage.h tools: pblimage: fix image header verification function 2022-02-28 12:01:02 +05:30
prelink-riscv.c tools: prelink-riscv: Unmap the ELF image when done 2023-04-20 20:45:08 +08:00
prelink-riscv.inc tools: prelink-riscv: Cosmetic style fixes 2023-04-20 20:45:08 +08:00
printinitialenv.c u-boot-initial-env: rework make target 2022-12-08 09:29:02 -05:00
proftool.c trace: use dynamic string buffer in make_flamegraph() 2024-04-10 09:34:53 -06:00
qconfig.py qconfig: Rename the database file 2023-10-04 09:25:22 -06:00
relocate-rela.c tools: relocate-rela: Add M68K support 2023-09-06 13:28:29 +02:00
renesas_spkgimage.c mkimage: do not write incorrect error message 2023-11-20 19:06:22 +01:00
renesas_spkgimage.h tools: spkgimage: add Renesas SPKG format 2023-05-13 04:01:30 +02:00
rkcommon.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
rkcommon.h tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
rkimage.c rockchip: mkimage: fix wrong range of rc4 encoding for boot image 2019-12-27 15:17:07 +08:00
rkmux.py rkmux: Convert to Python 3 2019-11-04 18:15:32 -07:00
rksd.c rockchip: mkimage: support packing optional second level boot-loader 2019-12-27 15:17:07 +08:00
rkspi.c rockchip: mkimage: support packing optional second level boot-loader 2019-12-27 15:17:07 +08:00
rmboard.py patman: Move library functions into a library directory 2023-03-08 11:40:49 -08:00
sfspl.c tools: mkimage: fix sfspl_image_extract_subimage() 2023-10-30 15:32:49 -04:00
socfpgaimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
spl_size_limit.c imx: replace CONFIG_SECURE_BOOT with CONFIG_IMX_HAB 2019-10-08 16:36:37 +02:00
stm32image.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
sunxi-spl-image-builder.c tools: sunxi: avoid read after end of string 2017-05-05 16:45:57 -04:00
sunxi_egon.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
sunxi_toc0.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
termios_linux.h tools: termios_linux.h: Fix compilation on non-glibc systems 2022-09-13 06:38:08 +02:00
ublimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
ublimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
update_octeon_header.c mips: octeon: tools: Add update_octeon_header tool 2020-11-30 18:32:09 +01:00
vybridimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
zynqimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
zynqmp_pm_cfg_obj_convert.py tools/zynqmp_pm_cfg_obj_convert.py: fix build with Vivado 2021.x 2022-02-15 12:41:00 +01:00
zynqmp_psu_init_minimize.sh arm64: zynqmp: Switch to amd.com emails 2023-07-21 09:00:38 +02:00
zynqmpbif.c tools: zynqmpbif: Use compiler builtin instead of linux-specific __swab32 2019-10-28 13:32:51 -04:00
zynqmpimage.c tools: zynqmpimage: print partition names 2024-01-10 09:27:12 +01:00
zynqmpimage.h tools: zynqmpimage: print partition names 2024-01-10 09:27:12 +01:00