[{"id":3676558,"web_url":"http://patchwork.ozlabs.org/comment/3676558/","msgid":"<ww52l2gs7ddtsuz3xzhw3ud2ljjy445gypirrzegqm3z3gtbq5@jevysrhrmgte>","list_archive_url":null,"date":"2026-04-13T08:37:12","subject":"Re: [PATCH] ext4: make mballoc max prealloc size configurable","submitter":{"id":363,"url":"http://patchwork.ozlabs.org/api/people/363/","name":"Jan Kara","email":"jack@suse.cz"},"content":"On Fri 10-04-26 11:56:35, guzebing wrote:\n> From: Guzebing <guzebing@bytedance.com>\n> \n> Add per-superblock sysfs knob mb_max_prealloc_kb (min 8MiB, roundup\n> pow2) and use it in request normalization.\n> \n> When multiple tasks write to different files on the same filesystem\n> concurrently, each file ends up with 8 MiB extents. If the preallocation\n> size is increased, the resulting extent size grows accordingly. Due\n> to the readahead mechanism on NVMe SSDs, files with larger extents\n> achieve higher sequential read throughput.\n> \n> On an ext4 filesystem on an NVMe Gen4 data drive, dd read throughput\n> for a file with 8 MiB extents is 455 MB/s, while for a file with\n> 32 MiB extents it reaches 702 MB/s.\n\nHum, I think you are not speaking about general Linux readahead code here..\n\n> Steps to reproduce:\n> 1.Configure the maximum preallocation size to 8 MiB or 32 MiB:\n> echo 8192 > /sys/fs/ext4/nvme13n1/mb_max_prealloc_kb\n> echo 32768 > /sys/fs/ext4/nvme13n1/mb_max_prealloc_kb\n> \n> 2.Run the following commands simultaneously so that the extents of\n> the two files are physically interleaved, resulting in 8 MiB or 32 MiB\n> extents:\n> dd if=/dev/zero of=/mnt/store1/501.txt bs=128K count=80K oflag=direct\n> dd if=/dev/zero of=/mnt/store1/502.txt bs=128K count=80K oflag=direct\n> \n> 3.Read back the file and measure the read throughput:\n> dd if=/mnt/store1/501.txt of=/dev/null bs=128K count=80K iflag=direct\n\nOK, seeing that you are using direct IO here you are likely speaking about\nsome internal mechanism within the SSD that is happier when the IO is more\ncontiguous in the LBA space?\n\nIn general I find the example you show with dd not very performance\nrelevant. If you care about performance, then you should be running\nmultiple direct IO requests in parallel (either with AIO/DIO or with\niouring). Or you should be using buffered IO to do this for you behind the\nscenes. So do you have a more realistic usecase where the extent allocation\nsize matters so much or is this mostly a benchmarking exercise?\n\n\t\t\t\t\t\t\t\tHonza\n> \n> Signed-off-by: Guzebing <guzebing@bytedance.com>\n> ---\n>  Documentation/ABI/testing/sysfs-fs-ext4 |  8 +++++++\n>  fs/ext4/ext4.h                          |  1 +\n>  fs/ext4/mballoc.c                       |  2 +-\n>  fs/ext4/super.c                         |  1 +\n>  fs/ext4/sysfs.c                         | 28 ++++++++++++++++++++++++-\n>  5 files changed, 38 insertions(+), 2 deletions(-)\n> \n> diff --git a/Documentation/ABI/testing/sysfs-fs-ext4 b/Documentation/ABI/testing/sysfs-fs-ext4\n> index 2edd0a6672d3a..316ae1d1ec18b 100644\n> --- a/Documentation/ABI/testing/sysfs-fs-ext4\n> +++ b/Documentation/ABI/testing/sysfs-fs-ext4\n> @@ -48,6 +48,14 @@ Description:\n>  \t\twill have its blocks allocated out of its own unique\n>  \t\tpreallocation pool.\n>  \n> +What:\t\t/sys/fs/ext4/<disk>/mb_max_prealloc_kb\n> +Date:\t\tApril 2026\n> +Contact:\t\"Linux Ext4 Development List\" <linux-ext4@vger.kernel.org>\n> +Description:\n> +\t\tMaximum size (in kilobytes) used by the multiblock allocator's\n> +\t\tnormalized request preallocation heuristic. Values are rounded\n> +\t\tup to a power of two and clamped to a minimum of 8192 (8MiB).\n> +\n>  What:\t\t/sys/fs/ext4/<disk>/inode_readahead_blks\n>  Date:\t\tMarch 2008\n>  Contact:\t\"Theodore Ts'o\" <tytso@mit.edu>\n> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h\n> index 7617e2d454ea5..bce99740740f5 100644\n> --- a/fs/ext4/ext4.h\n> +++ b/fs/ext4/ext4.h\n> @@ -1634,6 +1634,7 @@ struct ext4_sb_info {\n>  \tunsigned int s_mb_best_avail_max_trim_order;\n>  \tunsigned int s_sb_update_sec;\n>  \tunsigned int s_sb_update_kb;\n> +\tunsigned int s_mb_max_prealloc_kb;\n>  \n>  \t/* where last allocation was done - for stream allocation */\n>  \text4_group_t *s_mb_last_groups;\n> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c\n> index bb58eafb87bcd..f5f63c56fcdac 100644\n> --- a/fs/ext4/mballoc.c\n> +++ b/fs/ext4/mballoc.c\n> @@ -4589,7 +4589,7 @@ ext4_mb_normalize_request(struct ext4_allocation_context *ac,\n>  \t\t\t\t\t(8<<20)>>bsbits, max, 8 * 1024)) {\n>  \t\tstart_off = ((loff_t)ac->ac_o_ex.fe_logical >>\n>  \t\t\t\t\t\t\t(23 - bsbits)) << 23;\n> -\t\tsize = 8 * 1024 * 1024;\n> +\t\tsize = (loff_t)sbi->s_mb_max_prealloc_kb << 10;\n>  \t} else {\n>  \t\tstart_off = (loff_t) ac->ac_o_ex.fe_logical << bsbits;\n>  \t\tsize\t  = (loff_t) EXT4_C2B(sbi,\n> diff --git a/fs/ext4/super.c b/fs/ext4/super.c\n> index a34efb44e73d7..f815e31657cc9 100644\n> --- a/fs/ext4/super.c\n> +++ b/fs/ext4/super.c\n> @@ -5447,6 +5447,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)\n>  \t\tsbi->s_stripe = 0;\n>  \t}\n>  \tsbi->s_extent_max_zeroout_kb = 32;\n> +\tsbi->s_mb_max_prealloc_kb = 8 * 1024;\n>  \n>  \t/*\n>  \t * set up enough so that it can read an inode\n> diff --git a/fs/ext4/sysfs.c b/fs/ext4/sysfs.c\n> index 923b375e017fa..6339492eb2fa7 100644\n> --- a/fs/ext4/sysfs.c\n> +++ b/fs/ext4/sysfs.c\n> @@ -10,6 +10,8 @@\n>  \n>  #include <linux/time.h>\n>  #include <linux/fs.h>\n> +#include <linux/log2.h>\n> +#include <linux/limits.h>\n>  #include <linux/seq_file.h>\n>  #include <linux/slab.h>\n>  #include <linux/proc_fs.h>\n> @@ -41,6 +43,7 @@ typedef enum {\n>  \tattr_pointer_atomic,\n>  \tattr_journal_task,\n>  \tattr_err_report_sec,\n> +\tattr_mb_max_prealloc_kb,\n>  } attr_id_t;\n>  \n>  typedef enum {\n> @@ -115,6 +118,25 @@ static ssize_t reserved_clusters_store(struct ext4_sb_info *sbi,\n>  \treturn count;\n>  }\n>  \n> +static ssize_t mb_max_prealloc_kb_store(struct ext4_sb_info *sbi,\n> +\t\t\t\t\tconst char *buf, size_t count)\n> +{\n> +\tunsigned int v;\n> +\tint ret;\n> +\tunsigned long rounded;\n> +\n> +\tret = kstrtouint(skip_spaces(buf), 0, &v);\n> +\tif (ret)\n> +\t\treturn ret;\n> +\tif (v < 8192)\n> +\t\tv = 8192;\n> +\trounded = roundup_pow_of_two((unsigned long)v);\n> +\tif (rounded > UINT_MAX)\n> +\t\treturn -EINVAL;\n> +\tsbi->s_mb_max_prealloc_kb = (unsigned int)rounded;\n> +\treturn count;\n> +}\n> +\n>  static ssize_t trigger_test_error(struct ext4_sb_info *sbi,\n>  \t\t\t\t  const char *buf, size_t count)\n>  {\n> @@ -288,6 +310,7 @@ EXT4_RW_ATTR_SBI_UI(mb_prefetch_limit, s_mb_prefetch_limit);\n>  EXT4_RW_ATTR_SBI_UL(last_trim_minblks, s_last_trim_minblks);\n>  EXT4_RW_ATTR_SBI_UI(sb_update_sec, s_sb_update_sec);\n>  EXT4_RW_ATTR_SBI_UI(sb_update_kb, s_sb_update_kb);\n> +EXT4_ATTR_OFFSET(mb_max_prealloc_kb, 0644, mb_max_prealloc_kb, ext4_sb_info, s_mb_max_prealloc_kb);\n>  \n>  static unsigned int old_bump_val = 128;\n>  EXT4_ATTR_PTR(max_writeback_mb_bump, 0444, pointer_ui, &old_bump_val);\n> @@ -341,6 +364,7 @@ static struct attribute *ext4_attrs[] = {\n>  \tATTR_LIST(last_trim_minblks),\n>  \tATTR_LIST(sb_update_sec),\n>  \tATTR_LIST(sb_update_kb),\n> +\tATTR_LIST(mb_max_prealloc_kb),\n>  \tATTR_LIST(err_report_sec),\n>  \tNULL,\n>  };\n> @@ -431,6 +455,7 @@ static ssize_t ext4_generic_attr_show(struct ext4_attr *a,\n>  \tcase attr_mb_order:\n>  \tcase attr_pointer_pi:\n>  \tcase attr_pointer_ui:\n> +\tcase attr_mb_max_prealloc_kb:\n>  \t\tif (a->attr_ptr == ptr_ext4_super_block_offset)\n>  \t\t\treturn sysfs_emit(buf, \"%u\\n\", le32_to_cpup(ptr));\n>  \t\treturn sysfs_emit(buf, \"%u\\n\", *((unsigned int *) ptr));\n> @@ -557,6 +582,8 @@ static ssize_t ext4_attr_store(struct kobject *kobj,\n>  \t\treturn reserved_clusters_store(sbi, buf, len);\n>  \tcase attr_inode_readahead:\n>  \t\treturn inode_readahead_blks_store(sbi, buf, len);\n> +\tcase attr_mb_max_prealloc_kb:\n> +\t\treturn mb_max_prealloc_kb_store(sbi, buf, len);\n>  \tcase attr_trigger_test_error:\n>  \t\treturn trigger_test_error(sbi, buf, len);\n>  \tcase attr_err_report_sec:\n> @@ -695,4 +722,3 @@ void ext4_exit_sysfs(void)\n>  \tremove_proc_entry(proc_dirname, NULL);\n>  \text4_proc_root = NULL;\n>  }\n> -\n> -- \n> 2.20.1\n>","headers":{"Return-Path":"\n <SRS0=B99w=CM=vger.kernel.org=linux-ext4+bounces-15805-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=0rNN1GR2;\n\tdkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=QIDKGrV5;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=vhbQE5iY;\n\tdkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=Cf4xPT7z;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=b99w=cm=vger.kernel.org=linux-ext4+bounces-15805-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.105.105.114 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=suse.cz","gandalf.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=0rNN1GR2;\n\tdkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=QIDKGrV5;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=vhbQE5iY;\n\tdkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=Cf4xPT7z;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15805-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"0rNN1GR2\";\n\tdkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"QIDKGrV5\";\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"vhbQE5iY\";\n\tdkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"Cf4xPT7z\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=195.135.223.130","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=suse.cz","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=suse.cz","smtp-out1.suse.de;\n\tnone"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvLPt6rpPz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 18:37:37 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fvLPs3xklz4wG9\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 18:37:37 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4fvLPs3ryWz4w1Y; Mon, 13 Apr 2026 18:37:37 +1000 (AEST)","from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4fvLPm667Fz4wG9\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 13 Apr 2026 18:37:32 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 907D53013845\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 13 Apr 2026 08:37:21 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 789382264A9;\n\tMon, 13 Apr 2026 08:37:18 +0000 (UTC)","from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id DEE593AC0FB\n\tfor <linux-ext4@vger.kernel.org>; Mon, 13 Apr 2026 08:37:14 +0000 (UTC)","from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby smtp-out1.suse.de (Postfix) with ESMTPS id E608A6A895;\n\tMon, 13 Apr 2026 08:37:12 +0000 (UTC)","from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D7F964ADC1;\n\tMon, 13 Apr 2026 08:37:12 +0000 (UTC)","from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n\tby imap1.dmz-prg2.suse.org with ESMTPSA\n\tid 442uNDir3GnDGAAAD6G6ig\n\t(envelope-from <jack@suse.cz>); Mon, 13 Apr 2026 08:37:12 +0000","by quack3.suse.cz (Postfix, from userid 1000)\n\tid 99F06A0AFF; Mon, 13 Apr 2026 10:37:12 +0200 (CEST)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776069457; cv=pass;\n\tb=YMBzXA7jtd+qJ40ZJnT8PrN4b56dmG35+oAT0UWXgqdq/ZZA7N01cUufd6BErms5ncg2DnhaKNBZDfAwHUvYmiQ/IPorXKYifS/1y32VE6D9ij+SyE7+yNFvj80tHjxv+bb2ZmTVL9TvL7IgLdqgLWDtpevkODh/F2aEjhAh1FIypljKqvQn5RxxBMPtcnt0wW48khvKl1B6UKJb6STZY9XKK8MwNSZqQ6Hmjaphu35Buw692EAs1Hl6jkNuNuaf9uGVzY0mdTvusoMVxpXylKygD9u3Z5ZsTS9rF5r31cAaVVJ9dAV2V+Vdjhke2n0k7DV8HTbISg9BoTi4dP21mQ==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776069438; cv=none;\n b=BOzhSP0IWzgh/LS6IpnG3oEA3PNJXczG9btlLXQ3wS0TPl/ywmOtGxIR1WKgng+XYK6EIUIXNi3Mo9Gyx1yMWFosTt8vqpTq2pyTqBS4kAusFp0RjMVAk5hxhtjIfx5kgVxDX7Z/hlThae4wsxPOMRplJHJMUlKFkvm+eKNo3KU="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776069457; c=relaxed/relaxed;\n\tbh=KysSLphccvMOluji1k4q2wryqMpXWkiFK+wkqX537Uc=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=so41w7e4oSeZyl5JKbkashHGUvG+U4VuAv6Vdskul5Zil78fujbVlY34BmxODwyTWu0ntDNOxN9sRpAiNU74ttvDxrdVDE00fyA4arWoyCuYfAbNaBL12PKxdI1Xbv2lnLwsojU4TCmoNdYe7nyz2qHHR+yVe+N9bLN3dAVC/L45rANxop4PLqzpyVr14sOoS/qLCv8+SgAOn0SSKSi+DOVCOmvwQkpc6r2gyuN0zxp5jVwYHq6Jqm2j3yTT9xOSzHd/WhEFIsv17w9GJc+GfLQQI7RDCY1gfK9JmBTc4xt0fAPZS1Hm/IvLePynOQZSJhNx/f7hDVp5sLafezsZqQ==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776069438; c=relaxed/simple;\n\tbh=OUTQED68C9rs9t0mYnPiCB5SItQkdbfRZew5KCAWem0=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=qJv7YvxVFHxUOWT8ppCCw5PSZvBrF7OzsUtN80C40EXwji2oO6wQt5aXvyRickSzPsC/pZQu+tfaBpffTuMi1hBTfLjJQ9iTWgXBbUiQt3vNk2W7mhoZSbuXSxS80bMqEE+Ml8ReNsNKNRMrR0pdHHl9YxR6iIVYaNR/sdUrnjI="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=suse.cz; dkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=0rNN1GR2;\n dkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=QIDKGrV5;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=vhbQE5iY;\n dkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=Cf4xPT7z; dkim-atps=neutral;\n spf=pass (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15805-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=suse.cz;\n spf=pass smtp.mailfrom=suse.cz;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=0rNN1GR2;\n dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=QIDKGrV5;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=vhbQE5iY;\n dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=Cf4xPT7z; arc=none smtp.client-ip=195.135.223.130"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n\tt=1776069433;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=KysSLphccvMOluji1k4q2wryqMpXWkiFK+wkqX537Uc=;\n\tb=0rNN1GR22IvrXl6CdNPHH2E0Zl+rLoT5Zegxbjscy8Pd9eXyIDSPtYYPFtKa73JEpk8ZYA\n\tQPO58yEwC3uKqVcqSgF5anyMJiNfaOw1ROEv/mnA6r1gOCh9jOIuwMBLOJbhaIv0ozcY4U\n\tiN/WZfX+msWixxKNX8WIEP3ODy8suEU=","v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n\ts=susede2_ed25519; t=1776069433;\n\th=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=KysSLphccvMOluji1k4q2wryqMpXWkiFK+wkqX537Uc=;\n\tb=QIDKGrV5nKp7tF64XkVtU5zatzLDg6QsuwwBPsGYIa+CfmSyfIk99ElQAk/Uq/dbmhx+ou\n\tKm6S4OvDnSeThrAw==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n\tt=1776069432;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=KysSLphccvMOluji1k4q2wryqMpXWkiFK+wkqX537Uc=;\n\tb=vhbQE5iYZwi3z3rhsNcg1AWIfd4l0+PTx9SsKRJBNf9cyTIeWhqlesibmeHhtitWBy3Ari\n\tUNunS88kwPNSHQZdZISDBpChsdJ6d9Z5Ntm2rmr7mImbBbHurFNXAb/nLo/f2jBi3oDylK\n\tp0WWlB5+U5E48J4nOyYOmkMmbFsnCYE=","v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n\ts=susede2_ed25519; t=1776069432;\n\th=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=KysSLphccvMOluji1k4q2wryqMpXWkiFK+wkqX537Uc=;\n\tb=Cf4xPT7zoSLfw5FILDwcHpSzNXfF1HupriFp+IaBtPOynoXlxFz85tac9Odl7ynHTe23rK\n\tJpIXPfFP1xKYrRDQ=="],"Date":"Mon, 13 Apr 2026 10:37:12 +0200","From":"Jan Kara <jack@suse.cz>","To":"guzebing <guzebing1612@gmail.com>","Cc":"tytso@mit.edu, adilger.kernel@dilger.ca, libaokun@linux.alibaba.com,\n\tjack@suse.cz, ojaswin@linux.ibm.com, ritesh.list@gmail.com,\n\tyi.zhang@huawei.com, guzebing@bytedance.com, linux-kernel@vger.kernel.org,\n\tlinux-ext4@vger.kernel.org","Subject":"Re: [PATCH] ext4: make mballoc max prealloc size configurable","Message-ID":"<ww52l2gs7ddtsuz3xzhw3ud2ljjy445gypirrzegqm3z3gtbq5@jevysrhrmgte>","References":"<20260410035635.1381920-1-guzebing1612@gmail.com>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260410035635.1381920-1-guzebing1612@gmail.com>","X-Spamd-Result":"default: False [-2.30 / 50.00];\n\tBAYES_HAM(-3.00)[100.00%];\n\tSUSPICIOUS_RECIPS(1.50)[];\n\tNEURAL_HAM_LONG(-1.00)[-1.000];\n\tMID_RHS_NOT_FQDN(0.50)[];\n\tNEURAL_HAM_SHORT(-0.20)[-1.000];\n\tMIME_GOOD(-0.10)[text/plain];\n\tTAGGED_RCPT(0.00)[];\n\tFUZZY_RATELIMITED(0.00)[rspamd.com];\n\tARC_NA(0.00)[];\n\tFREEMAIL_TO(0.00)[gmail.com];\n\tRCVD_VIA_SMTP_AUTH(0.00)[];\n\tMIME_TRACE(0.00)[0:+];\n\tMISSING_XM_UA(0.00)[];\n\tRCPT_COUNT_SEVEN(0.00)[11];\n\tFREEMAIL_ENVRCPT(0.00)[gmail.com];\n\tTO_DN_SOME(0.00)[];\n\tFROM_HAS_DN(0.00)[];\n\tFREEMAIL_CC(0.00)[mit.edu,dilger.ca,linux.alibaba.com,suse.cz,linux.ibm.com,gmail.com,huawei.com,bytedance.com,vger.kernel.org];\n\tRCVD_COUNT_THREE(0.00)[3];\n\tFROM_EQ_ENVFROM(0.00)[];\n\tRCVD_TLS_LAST(0.00)[];\n\tTO_MATCH_ENVRCPT_ALL(0.00)[];\n\tDKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];\n\tDBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email]","X-Spam-Score":"-2.30","X-Spam-Level":"","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_MISSING,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}}]