Re: [PATCH 13/13 -next] tracing: Remove the extra 4 bytes of paddingin events

From: Arjan van de Ven
Date: Mon Jan 21 2013 - 18:13:04 EST


On 1/21/2013 1:14 PM, Steven Rostedt wrote:
From: Steven Rostedt <srostedt@xxxxxxxxxx>

Due to a userspace issue with PowerTop v1, which hardcoded
the offset of event fields that it was using, it broke when
we removed the Big Kernel Lock counter from the event header.

(commit e6e1e2593 "tracing: Remove lock_depth from event entry")

Because this broke userspace, it was determined that we must
keep those 4 bytes around.

(commit a3a4a5acd "Regression: partial revert "tracing: Remove lock_depth from event entry"")

This unfortunately wastes space in the ring buffer. 4 bytes per
event, where a lot of events are just 24 bytes. That's 16% of the
buffer wasted. A million events will add 4 megs of white space
into the buffer.

It was later noticed that PowerTop v1 could not work on systems
where the kernel was 64 bit but the userspace was 32 bits.
The reason was because the offsets are different between the
two and the hard coded offset of one would not work with the other.

With PowerTop v2, it implemented the same interface that both
perf and trace-cmd use. That is, it reads the format file of
the event to find the offsets of the fields it needs. This fixes
the problem with running powertop on a 32 bit userspace running
on a 64 bit kernel. It also no longer requires the 4 byte padding.

As PowerTop v2 has been out for a while, and is included in all
major distributions, it is time that we can safely remove the
4 bytes of padding. Users of PowerTop v1 should upgrade to
PowerTop v2.

Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>

this only impacts the users of the 2.0beta series (which, while arguably staying around for too long, is now very very obsolete and
replaced by the final in all distros that I'm aware of)


Acked-By: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/