u-boot/tools/binman/etype
Marek Vasut 109dbdf042 binman: Increase default fitImage data section resize step from 1k to 64k
Currently the fitImage data area is resized in 1 kiB steps. This works
when bundling smaller images below some 1 MiB, but when bundling large
images into the fitImage, this make binman spend extreme amount of time
and CPU just spinning in pylibfdt FdtSw.check_space() until the size
grows enough for the large image to fit into the data area. Increase
the default step to 64 kiB, which is a reasonable compromise -- the
U-Boot blobs are somewhere in the 64kiB...1MiB range, DT blob are just
short of 64 kiB, and so are the other blobs. This reduces binman runtime
with 32 MiB blob from 2.3 minutes to 5 seconds.

The following can be used to trigger the problem if rand.bin is some 32 MiB.
"
/ {
  itb {
    fit {
      images {
        test {
          compression = "none";
          description = "none";
          type = "flat_dt";

          blob {
            filename = "rand.bin";
            type = "blob-ext";
          };
        };
      };
    };
  };

  configurations {
    binman_configuration: config {
      loadables = "test";
    };
  };
};
"

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2022-07-26 02:30:56 -06:00
..
_testing.py binman: Collect bintools for images when replacing entries 2022-04-25 10:11:05 -04:00
atf_bl31.py binman: Correct the comment for ATF entry type 2021-05-19 17:01:49 +08:00
atf_fip.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
blob.py binman: Allow mkimage to use a non-zero fake-blob size 2022-03-18 19:24:25 -06:00
blob_dtb.py binman: Correct pylint errors 2022-03-02 10:28:12 -05:00
blob_ext.py binman: add support for creating dummy files for external blobs 2022-01-07 12:10:55 -05:00
blob_ext_list.py binman: Change how faked blobs are created 2022-03-18 19:24:25 -06:00
blob_named_by_arg.py binman: Allow entry args to be required 2020-09-22 12:50:43 -06:00
blob_phase.py binman: Rename ExpandEntries to gen_entries 2022-03-18 19:24:25 -06:00
cbfs.py binman: Correct pylint errors 2022-03-02 10:28:12 -05:00
collection.py binman: Use bytearray instead of string 2021-07-21 10:27:35 -06:00
cros_ec_rw.py binman: Allow entry args to be required 2020-09-22 12:50:43 -06:00
fdtmap.py binman: Correct pylint errors 2022-03-02 10:28:12 -05:00
files.py binman: Rename ExpandEntries to gen_entries 2022-03-18 19:24:25 -06:00
fill.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
fit.py binman: Increase default fitImage data section resize step from 1k to 64k 2022-07-26 02:30:56 -06:00
fmap.py patman: Convert camel case in tout.py 2022-02-09 12:30:13 -07:00
gbb.py binman: Rename tools parameter to btools 2022-03-18 19:24:25 -06:00
image_header.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
intel_cmc.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_descriptor.py binman: Allow missing Intel blobs 2020-07-25 14:46:57 -06:00
intel_fit.py binman: Convert existing binary blobs to blob_ext 2020-07-25 14:46:57 -06:00
intel_fit_ptr.py binman: Convert existing binary blobs to blob_ext 2020-07-25 14:46:57 -06:00
intel_fsp.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_fsp_m.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_fsp_s.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_fsp_t.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_ifwi.py binman: Rename tools parameter to btools 2022-03-18 19:24:25 -06:00
intel_me.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_mrc.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_refcode.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_vbt.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
intel_vga.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
mkimage.py binman: Allow mkimage to use a non-zero fake-blob size 2022-03-18 19:24:25 -06:00
opensbi.py binman: Add support for RISC-V OpenSBI fw_dynamic blob 2021-05-19 17:01:49 +08:00
powerpc_mpc85xx_bootpg_resetvec.py binman: Convert existing binary blobs to blob_ext 2020-07-25 14:46:57 -06:00
pre_load.py tools: binman: add support for pre-load header 2022-03-31 14:12:23 -04:00
scp.py binman: Drop repetitive heading for each entry 2021-03-26 17:03:10 +13:00
section.py binman: Refuse to replace sections for now 2022-04-25 10:11:05 -04:00
tee_os.py binman: Add support for TEE BL32 2022-02-22 10:05:44 -07:00
text.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
u_boot.py binman: Allow disabling expanding an entry 2021-03-27 16:26:48 +13:00
u_boot_dtb.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_dtb_with_ucode.py binman: Correct pylint errors 2022-03-02 10:28:12 -05:00
u_boot_elf.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
u_boot_env.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
u_boot_expanded.py binman: Automatically expand phase binaries into sections 2021-03-26 17:03:09 +13:00
u_boot_img.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_nodtb.py binman: Automatically expand phase binaries into sections 2021-03-26 17:03:09 +13:00
u_boot_spl.py binman: Allow disabling expanding an entry 2021-03-27 16:26:48 +13:00
u_boot_spl_bss_pad.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
u_boot_spl_dtb.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_spl_elf.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_spl_expanded.py patman: Convert camel case in tout.py 2022-02-09 12:30:13 -07:00
u_boot_spl_nodtb.py binman: Automatically expand phase binaries into sections 2021-03-26 17:03:09 +13:00
u_boot_spl_with_ucode_ptr.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_tpl.py binman: Allow disabling expanding an entry 2021-03-27 16:26:48 +13:00
u_boot_tpl_bss_pad.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
u_boot_tpl_dtb.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_tpl_dtb_with_ucode.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_tpl_elf.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_tpl_expanded.py patman: Convert camel case in tout.py 2022-02-09 12:30:13 -07:00
u_boot_tpl_nodtb.py binman: Automatically expand phase binaries into sections 2021-03-26 17:03:09 +13:00
u_boot_tpl_with_ucode_ptr.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
u_boot_ucode.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
u_boot_with_ucode_ptr.py patman: Convert camel case in tools.py 2022-02-09 12:26:12 -07:00
vblock.py binman: Correct Chromium OS entry types 2022-04-06 14:01:42 -04:00
x86_reset16.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
x86_reset16_spl.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
x86_reset16_tpl.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
x86_start16.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
x86_start16_spl.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00
x86_start16_tpl.py binman: Use super() instead of specifying parent type 2020-07-25 14:46:57 -06:00