Re: [PATCH 3/4] tracing: Annotate event field-defining functions with __init

2013-03-01 Thread Steven Rostedt
On Thu, 2013-02-21 at 10:33 +0800, Li Zefan wrote:
> Those functions are called either during kernel boot or module init.
> 
> Before:
> 
> $ dmesg | grep 'Freeing unused kernel memory'
> Freeing unused kernel memory: 1208k freed
> Freeing unused kernel memory: 1360k freed
> Freeing unused kernel memory: 1960k freed
> 
> After:
> 
> $ dmesg | grep 'Freeing unused kernel memory'
> Freeing unused kernel memory: 1236k freed
> Freeing unused kernel memory: 1388k freed
> Freeing unused kernel memory: 1960k freed

Also nice :-)

Here's my numbers (again with lots of debug enabled):

old:
[0.027087] Freeing SMP alternatives: 12k freed
[6.835298] Freeing initrd memory: 8004k freed
[   18.820837] Freeing unused kernel memory: 1092k freed
[   18.838487] Freeing unused kernel memory: 1456k freed
[   18.850665] Freeing unused kernel memory: 1544k freed

new:
[0.025087] Freeing SMP alternatives: 12k freed
[6.775349] Freeing initrd memory: 8004k freed
[   18.753519] Freeing unused kernel memory: 1144k freed
[   18.771447] Freeing unused kernel memory: 1508k freed
[   18.783637] Freeing unused kernel memory: 1544k freed

Lets hope these pass all my tests.

-- Steve



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


Re: [PATCH 3/4] tracing: Annotate event field-defining functions with __init

2013-03-01 Thread Steven Rostedt
On Thu, 2013-02-21 at 10:33 +0800, Li Zefan wrote:
 Those functions are called either during kernel boot or module init.
 
 Before:
 
 $ dmesg | grep 'Freeing unused kernel memory'
 Freeing unused kernel memory: 1208k freed
 Freeing unused kernel memory: 1360k freed
 Freeing unused kernel memory: 1960k freed
 
 After:
 
 $ dmesg | grep 'Freeing unused kernel memory'
 Freeing unused kernel memory: 1236k freed
 Freeing unused kernel memory: 1388k freed
 Freeing unused kernel memory: 1960k freed

Also nice :-)

Here's my numbers (again with lots of debug enabled):

old:
[0.027087] Freeing SMP alternatives: 12k freed
[6.835298] Freeing initrd memory: 8004k freed
[   18.820837] Freeing unused kernel memory: 1092k freed
[   18.838487] Freeing unused kernel memory: 1456k freed
[   18.850665] Freeing unused kernel memory: 1544k freed

new:
[0.025087] Freeing SMP alternatives: 12k freed
[6.775349] Freeing initrd memory: 8004k freed
[   18.753519] Freeing unused kernel memory: 1144k freed
[   18.771447] Freeing unused kernel memory: 1508k freed
[   18.783637] Freeing unused kernel memory: 1544k freed

Lets hope these pass all my tests.

-- Steve



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


[PATCH 3/4] tracing: Annotate event field-defining functions with __init

2013-02-20 Thread Li Zefan
Those functions are called either during kernel boot or module init.

Before:

$ dmesg | grep 'Freeing unused kernel memory'
Freeing unused kernel memory: 1208k freed
Freeing unused kernel memory: 1360k freed
Freeing unused kernel memory: 1960k freed

After:

$ dmesg | grep 'Freeing unused kernel memory'
Freeing unused kernel memory: 1236k freed
Freeing unused kernel memory: 1388k freed
Freeing unused kernel memory: 1960k freed

Signed-off-by: Li Zefan 
---
 include/trace/ftrace.h  | 2 +-
 kernel/trace/trace_export.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
index 20b6005..dc18af3 100644
--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -324,7 +324,7 @@ static struct trace_event_functions 
ftrace_event_type_funcs_##call = {  \
 
 #undef DECLARE_EVENT_CLASS
 #define DECLARE_EVENT_CLASS(call, proto, args, tstruct, func, print)   \
-static int notrace \
+static int notrace __init  \
 ftrace_define_fields_##call(struct ftrace_event_call *event_call)  \
 {  \
struct ftrace_raw_##call field; \
diff --git a/kernel/trace/trace_export.c b/kernel/trace/trace_export.c
index e039906..4f6a91c 100644
--- a/kernel/trace/trace_export.c
+++ b/kernel/trace/trace_export.c
@@ -129,7 +129,7 @@ static void __always_unused ftrace_check_##name(void)   
\
 
 #undef FTRACE_ENTRY
 #define FTRACE_ENTRY(name, struct_name, id, tstruct, print, filter)\
-int\
+static int __init  \
 ftrace_define_fields_##name(struct ftrace_event_call *event_call)  \
 {  \
struct struct_name field;   \
-- 
1.8.0.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/4] tracing: Annotate event field-defining functions with __init

2013-02-20 Thread Li Zefan
Those functions are called either during kernel boot or module init.

Before:

$ dmesg | grep 'Freeing unused kernel memory'
Freeing unused kernel memory: 1208k freed
Freeing unused kernel memory: 1360k freed
Freeing unused kernel memory: 1960k freed

After:

$ dmesg | grep 'Freeing unused kernel memory'
Freeing unused kernel memory: 1236k freed
Freeing unused kernel memory: 1388k freed
Freeing unused kernel memory: 1960k freed

Signed-off-by: Li Zefan lize...@huawei.com
---
 include/trace/ftrace.h  | 2 +-
 kernel/trace/trace_export.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
index 20b6005..dc18af3 100644
--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -324,7 +324,7 @@ static struct trace_event_functions 
ftrace_event_type_funcs_##call = {  \
 
 #undef DECLARE_EVENT_CLASS
 #define DECLARE_EVENT_CLASS(call, proto, args, tstruct, func, print)   \
-static int notrace \
+static int notrace __init  \
 ftrace_define_fields_##call(struct ftrace_event_call *event_call)  \
 {  \
struct ftrace_raw_##call field; \
diff --git a/kernel/trace/trace_export.c b/kernel/trace/trace_export.c
index e039906..4f6a91c 100644
--- a/kernel/trace/trace_export.c
+++ b/kernel/trace/trace_export.c
@@ -129,7 +129,7 @@ static void __always_unused ftrace_check_##name(void)   
\
 
 #undef FTRACE_ENTRY
 #define FTRACE_ENTRY(name, struct_name, id, tstruct, print, filter)\
-int\
+static int __init  \
 ftrace_define_fields_##name(struct ftrace_event_call *event_call)  \
 {  \
struct struct_name field;   \
-- 
1.8.0.2
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/