On 2024/7/2 7:49, Steven Rostedt wrote:
On Wed, 12 Jun 2024 09:11:56 +0800
Hongbo Li <lihongbo22@xxxxxxxxxx> wrote:
@@ -934,6 +943,12 @@ static int hugetlbfs_setattr(struct mnt_idmap *idmap,
if (error)
return error;
+ trace_hugetlbfs_setattr(inode, dentry->d_name.len, dentry->d_name.name,
+ attr->ia_valid, attr->ia_mode,
+ from_kuid(&init_user_ns, attr->ia_uid),
+ from_kgid(&init_user_ns, attr->ia_gid),
+ inode->i_size, attr->ia_size);
+
That's a lot of parameters to pass to a tracepoint. Why not just pass the
dentry and attr and do the above in the TP_fast_assign() logic? That would
put less pressure on the icache for the code part.
Thanks for reviewing!
Some logic such as kuid_t --> uid_t might be reasonable obtained in
filesystem layer. Passing the dentry and attr will let trace know the
meaning of structure, perhaps tracepoint should not be aware of the
members of these structures as much as possible.
Thanks,
Hongbo
-- Steve