----- On Oct 14, 2021, at 9:11 AM, Yafang Shao laoar.shao(a)gmail.com wrote:
On Thu, Oct 14, 2021 at 9:09 PM Mathieu Desnoyers
> ----- On Oct 14, 2021, at 9:05 AM, Yafang Shao laoar.shao(a)gmail.com wrote:
> >> If it happens that this ABI break is noticed by more than an in-tree test
> >> program, then
> >> the kernel's ABI rules will require that this trace field size stays
> >> This brings
> >> up once more the whole topic of "Tracepoints ABI" which has been
> >> repeatedly in
> >> the past.
> > I will check if any other in-tree tools depends on TASK_COMM_LEN.
> That's a start, but given this is a userspace ABI, out-of-tree userland
> tools which depend of this to be fixed-size are also relevant.
TASK_COMM_LEN isn't defined in include/uapi/ directory, so it seems
that it isn't the uerspace ABI?
One case where this 16 bytes size is expected by userspace is prctl(2) PR_GET_NAME
The other case I am referring to is with ftrace and perf:
mount -t tracefs nodev /sys/kernel/tracing
field:char prev_comm; offset:8; size:16; signed:1;
field:char next_comm; offset:40; size:16; signed:1;
Both of those fields expose a fixed-size of 16 bytes.
AFAIK Steven's intent was that by parsing this file, trace viewers could adapt to
changes in the event field layout. Unfortunately, there have been cases where
trace viewers had a hard expectation on the field layout. Hopefully those have
all been fixed a while ago.