lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 7 May 2010 06:49:16 +0200 From: Frederic Weisbecker <fweisbec@...il.com> To: Steven Rostedt <rostedt@...dmis.org> Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>, Andrew Morton <akpm@...ux-foundation.org>, Thomas Gleixner <tglx@...utronix.de>, Peter Zijlstra <peterz@...radead.org>, Arnaldo Carvalho de Melo <acme@...hat.com>, Mathieu Desnoyers <compudj@...stal.dyndns.org>, Lai Jiangshan <laijs@...fujitsu.com>, Li Zefan <lizf@...fujitsu.com>, Masami Hiramatsu <mhiramat@...hat.com>, Christoph Hellwig <hch@....de>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>, Tom Zanussi <tzanussi@...il.com> Subject: Re: [PATCH 4/9 - v2][RFC] tracing: Move fields from event to class structure On Mon, May 03, 2010 at 11:40:49PM -0400, Steven Rostedt wrote: > From: Steven Rostedt <srostedt@...hat.com> > > Move the defined fields from the event to the class structure. > Since the fields of the event are defined by the class they belong > to, it makes sense to have the class hold the information instead > of the individual events. The events of the same class would just > hold duplicate information. > > After this change the size of the kernel dropped another 8K: > > text data bss dec hex filename > 5788186 1337252 9351592 16477030 fb6b66 vmlinux.orig > 5774316 1306580 9351592 16432488 fabd68 vmlinux.reg > 5774503 1297492 9351592 16423587 fa9aa3 vmlinux.fields > > Although the text increased, this was mainly due to the C files > having to adapt to the change. This is a constant increase, where > new tracepoints will not increase the Text. But the big drop is > in the data size (as well as needed allocations to hold the fields). > This will give even more savings as more tracepoints are created. > > Note, if just TRACE_EVENT()s are used and not DECLARE_EVENT_CLASS() > with several DEFINE_EVENT()s, then the savings will be lost. But > we are pushing developers to consolidate events with DEFINE_EVENT() > so this should not be an issue. > > The kprobes define a unique class to every new event, but are dynamic > so it should not be a issue. > > The syscalls however have a single class but the fields for the individual > events are different. The syscalls use a metadata to define the > fields. I moved the fields list from the event to the metadata and > added a "get_fields()" function to the class. This function is used > to find the fields. For normal events and kprobes, get_fields() just > returns a pointer to the fields list_head in the class. For syscall > events, it returns the fields list_head in the metadata for the event. > > v2: Fixed the syscall fields. The syscall metadata needs a list > of fields for both enter and exit. > > Cc: Mathieu Desnoyers <mathieu.desnoyers@...icios.com> > Cc: Masami Hiramatsu <mhiramat@...hat.com> > Cc: Tom Zanussi <tzanussi@...il.com> > Cc: Peter Zijlstra <peterz@...radead.org> > Signed-off-by: Steven Rostedt <rostedt@...dmis.org> Acked-by: Frederic Weisbecker <fweisbec@...il.com> Now I need to recover from my CPP headache before reviewing this set further ;) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists