2023-01-27 12:38:02

by Ojaswin Mujoo

[permalink] [raw]
Subject: [RFC 01/11] ext4: mballoc: Remove useless setting of ac_criteria

There will be changes coming in future patches which will introduce a new
criteria for block allocation. This removes the useless setting of ac_criteria.
AFAIU, this might be only used to differentiate between whether a preallocated
blocks was allocated or was regular allocator called for allocating blocks.
Hence this also adds the debug prints to identify what type of block allocation
was done in ext4_mb_show_ac().

Signed-off-by: Ritesh Harjani (IBM) <[email protected]>
Signed-off-by: Ojaswin Mujoo <[email protected]>
---
fs/ext4/mballoc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 5b2ae37a8b80..572e79a698d4 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -4391,7 +4391,6 @@ ext4_mb_use_preallocated(struct ext4_allocation_context *ac)
atomic_inc(&pa->pa_count);
ext4_mb_use_inode_pa(ac, pa);
spin_unlock(&pa->pa_lock);
- ac->ac_criteria = 10;
rcu_read_unlock();
return true;
}
@@ -4434,7 +4433,6 @@ ext4_mb_use_preallocated(struct ext4_allocation_context *ac)
}
if (cpa) {
ext4_mb_use_group_pa(ac, cpa);
- ac->ac_criteria = 20;
return true;
}
return false;
@@ -5131,6 +5129,10 @@ static void ext4_mb_show_ac(struct ext4_allocation_context *ac)
(unsigned long)ac->ac_b_ex.fe_logical,
(int)ac->ac_criteria);
mb_debug(sb, "%u found", ac->ac_found);
+ mb_debug(sb, "used pa: %s, ", ac->ac_pa ? "yes" : "no");
+ if (ac->ac_pa)
+ mb_debug(sb, "pa_type %s\n", ac->ac_pa->pa_type == MB_GROUP_PA ?
+ "group pa" : "inode pa");
ext4_mb_show_pa(sb);
}
#else
--
2.31.1



2023-03-09 11:36:50

by Jan Kara

[permalink] [raw]
Subject: Re: [RFC 01/11] ext4: mballoc: Remove useless setting of ac_criteria

On Fri 27-01-23 18:07:28, Ojaswin Mujoo wrote:
> There will be changes coming in future patches which will introduce a new
> criteria for block allocation. This removes the useless setting of ac_criteria.
> AFAIU, this might be only used to differentiate between whether a preallocated
> blocks was allocated or was regular allocator called for allocating blocks.
> Hence this also adds the debug prints to identify what type of block allocation
> was done in ext4_mb_show_ac().
>
> Signed-off-by: Ritesh Harjani (IBM) <[email protected]>
> Signed-off-by: Ojaswin Mujoo <[email protected]>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> fs/ext4/mballoc.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index 5b2ae37a8b80..572e79a698d4 100644
> --- a/fs/ext4/mballoc.c
> +++ b/fs/ext4/mballoc.c
> @@ -4391,7 +4391,6 @@ ext4_mb_use_preallocated(struct ext4_allocation_context *ac)
> atomic_inc(&pa->pa_count);
> ext4_mb_use_inode_pa(ac, pa);
> spin_unlock(&pa->pa_lock);
> - ac->ac_criteria = 10;
> rcu_read_unlock();
> return true;
> }
> @@ -4434,7 +4433,6 @@ ext4_mb_use_preallocated(struct ext4_allocation_context *ac)
> }
> if (cpa) {
> ext4_mb_use_group_pa(ac, cpa);
> - ac->ac_criteria = 20;
> return true;
> }
> return false;
> @@ -5131,6 +5129,10 @@ static void ext4_mb_show_ac(struct ext4_allocation_context *ac)
> (unsigned long)ac->ac_b_ex.fe_logical,
> (int)ac->ac_criteria);
> mb_debug(sb, "%u found", ac->ac_found);
> + mb_debug(sb, "used pa: %s, ", ac->ac_pa ? "yes" : "no");
> + if (ac->ac_pa)
> + mb_debug(sb, "pa_type %s\n", ac->ac_pa->pa_type == MB_GROUP_PA ?
> + "group pa" : "inode pa");
> ext4_mb_show_pa(sb);
> }
> #else
> --
> 2.31.1
>
--
Jan Kara <[email protected]>
SUSE Labs, CR