* [PATCH 0/2] oprofile cleanups
@ 2011-03-16 17:58 Robert Richter
2011-03-16 17:58 ` [PATCH 1/2] oprofile, s390: Cleanups Robert Richter
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Robert Richter @ 2011-03-16 17:58 UTC (permalink / raw)
To: Ingo Molnar; +Cc: LKML, oprofile-list, Heinz Graalfs
These 2 patches contain some cleanups I made while reviewing oprofile
s390 code. I already applied them to my oprofile git tree, but please
take a look at it anyway.
Ingo, since the patches are cleanups, I think it is ok to add them to
my oprofile pull request for .39 for you that I will send out soon.
All other patches are already in linux-next for several weeks. Is this
ok for you too?
Thanks,
-Robert
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] oprofile, s390: Cleanups
2011-03-16 17:58 [PATCH 0/2] oprofile cleanups Robert Richter
@ 2011-03-16 17:58 ` Robert Richter
2011-03-16 17:58 ` [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions Robert Richter
2011-03-17 8:09 ` [PATCH 0/2] oprofile cleanups Ingo Molnar
2 siblings, 0 replies; 7+ messages in thread
From: Robert Richter @ 2011-03-16 17:58 UTC (permalink / raw)
To: Ingo Molnar; +Cc: LKML, oprofile-list, Heinz Graalfs, Robert Richter
Remove unused HAVE_HWSAMPLER config option. It is not used anymore,
removing it.
Also make some functions static and some coding style fixes.
Signed-off-by: Robert Richter <robert.richter@amd.com>
---
arch/Kconfig | 3 ---
arch/s390/Kconfig | 1 -
arch/s390/oprofile/init.c | 6 +++---
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index 43abf3c..f78c2be 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -30,9 +30,6 @@ config OPROFILE_EVENT_MULTIPLEX
config HAVE_OPROFILE
bool
-config HAVE_HWSAMPLER
- bool
-
config KPROBES
bool "Kprobes"
depends on MODULES
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 0cf20ad..ff19efd 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -115,7 +115,6 @@ config S390
select ARCH_INLINE_WRITE_UNLOCK_BH
select ARCH_INLINE_WRITE_UNLOCK_IRQ
select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
- select HAVE_HWSAMPLER
config SCHED_OMIT_FRAME_POINTER
def_bool y
diff --git a/arch/s390/oprofile/init.c b/arch/s390/oprofile/init.c
index 0e38a5b..16c76de 100644
--- a/arch/s390/oprofile/init.c
+++ b/arch/s390/oprofile/init.c
@@ -133,7 +133,7 @@ static int oprofile_create_hwsampling_files(struct super_block *sb,
return 0;
}
-int oprofile_hwsampler_init(struct oprofile_operations* ops)
+static int oprofile_hwsampler_init(struct oprofile_operations *ops)
{
if (hwsampler_setup())
return -ENODEV;
@@ -166,13 +166,13 @@ int oprofile_hwsampler_init(struct oprofile_operations* ops)
return 0;
}
-void oprofile_hwsampler_exit(void)
+static void oprofile_hwsampler_exit(void)
{
oprofile_timer_exit();
hwsampler_shutdown();
}
-int __init oprofile_arch_init(struct oprofile_operations* ops)
+int __init oprofile_arch_init(struct oprofile_operations *ops)
{
ops->backtrace = s390_backtrace;
--
1.7.3.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions
2011-03-16 17:58 [PATCH 0/2] oprofile cleanups Robert Richter
2011-03-16 17:58 ` [PATCH 1/2] oprofile, s390: Cleanups Robert Richter
@ 2011-03-16 17:58 ` Robert Richter
2011-03-16 20:15 ` Mike Frysinger
2011-03-17 8:09 ` [PATCH 0/2] oprofile cleanups Ingo Molnar
2 siblings, 1 reply; 7+ messages in thread
From: Robert Richter @ 2011-03-16 17:58 UTC (permalink / raw)
To: Ingo Molnar; +Cc: LKML, oprofile-list, Heinz Graalfs, Robert Richter
After
979048e oprofile: don't call arch exit code from init code on failure
we may add __exit attibutes to oprofile_arch_exit() functions.
Signed-off-by: Robert Richter <robert.richter@amd.com>
---
arch/alpha/oprofile/common.c | 5 +----
arch/avr32/oprofile/op_model_avr32.c | 5 +----
arch/blackfin/oprofile/bfin_oprofile.c | 4 +---
arch/ia64/oprofile/init.c | 2 +-
arch/m32r/oprofile/init.c | 4 +---
arch/microblaze/oprofile/microblaze_oprofile.c | 4 +---
arch/mips/oprofile/common.c | 2 +-
arch/mn10300/oprofile/op_model_null.c | 5 +----
arch/parisc/oprofile/init.c | 4 +---
arch/powerpc/oprofile/common.c | 4 +---
arch/s390/oprofile/init.c | 2 +-
arch/sparc/oprofile/init.c | 4 +---
arch/x86/oprofile/init.c | 2 +-
13 files changed, 13 insertions(+), 34 deletions(-)
diff --git a/arch/alpha/oprofile/common.c b/arch/alpha/oprofile/common.c
index bd8ac53..49b7246 100644
--- a/arch/alpha/oprofile/common.c
+++ b/arch/alpha/oprofile/common.c
@@ -183,7 +183,4 @@ oprofile_arch_init(struct oprofile_operations *ops)
}
-void
-oprofile_arch_exit(void)
-{
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/avr32/oprofile/op_model_avr32.c b/arch/avr32/oprofile/op_model_avr32.c
index a3e9b3c..93feba4 100644
--- a/arch/avr32/oprofile/op_model_avr32.c
+++ b/arch/avr32/oprofile/op_model_avr32.c
@@ -232,7 +232,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return 0;
}
-void oprofile_arch_exit(void)
-{
-
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/blackfin/oprofile/bfin_oprofile.c b/arch/blackfin/oprofile/bfin_oprofile.c
index c3b9713..7dcac13 100644
--- a/arch/blackfin/oprofile/bfin_oprofile.c
+++ b/arch/blackfin/oprofile/bfin_oprofile.c
@@ -13,6 +13,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return -1;
}
-void oprofile_arch_exit(void)
-{
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/ia64/oprofile/init.c b/arch/ia64/oprofile/init.c
index 31b545c..a28feac 100644
--- a/arch/ia64/oprofile/init.c
+++ b/arch/ia64/oprofile/init.c
@@ -30,7 +30,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
}
-void oprofile_arch_exit(void)
+void __exit oprofile_arch_exit(void)
{
#ifdef CONFIG_PERFMON
perfmon_exit();
diff --git a/arch/m32r/oprofile/init.c b/arch/m32r/oprofile/init.c
index fa56860..a7e063e 100644
--- a/arch/m32r/oprofile/init.c
+++ b/arch/m32r/oprofile/init.c
@@ -17,6 +17,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return -ENODEV;
}
-void oprofile_arch_exit(void)
-{
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/microblaze/oprofile/microblaze_oprofile.c b/arch/microblaze/oprofile/microblaze_oprofile.c
index def17e5..23c108d 100644
--- a/arch/microblaze/oprofile/microblaze_oprofile.c
+++ b/arch/microblaze/oprofile/microblaze_oprofile.c
@@ -17,6 +17,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return -1;
}
-void oprofile_arch_exit(void)
-{
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/mips/oprofile/common.c b/arch/mips/oprofile/common.c
index f9eb1ab..fff011a 100644
--- a/arch/mips/oprofile/common.c
+++ b/arch/mips/oprofile/common.c
@@ -122,7 +122,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return 0;
}
-void oprofile_arch_exit(void)
+void __exit oprofile_arch_exit(void)
{
if (model)
model->exit();
diff --git a/arch/mn10300/oprofile/op_model_null.c b/arch/mn10300/oprofile/op_model_null.c
index cd4ab374..d308d13 100644
--- a/arch/mn10300/oprofile/op_model_null.c
+++ b/arch/mn10300/oprofile/op_model_null.c
@@ -16,7 +16,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return -ENODEV;
}
-void oprofile_arch_exit(void)
-{
-}
-
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/parisc/oprofile/init.c b/arch/parisc/oprofile/init.c
index 026cba2..86cd3a5 100644
--- a/arch/parisc/oprofile/init.c
+++ b/arch/parisc/oprofile/init.c
@@ -18,6 +18,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
}
-void oprofile_arch_exit(void)
-{
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/powerpc/oprofile/common.c b/arch/powerpc/oprofile/common.c
index d65e68f..c090951 100644
--- a/arch/powerpc/oprofile/common.c
+++ b/arch/powerpc/oprofile/common.c
@@ -249,6 +249,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return 0;
}
-void oprofile_arch_exit(void)
-{
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/s390/oprofile/init.c b/arch/s390/oprofile/init.c
index 16c76de..f4383ab 100644
--- a/arch/s390/oprofile/init.c
+++ b/arch/s390/oprofile/init.c
@@ -179,7 +179,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return oprofile_hwsampler_init(ops);
}
-void oprofile_arch_exit(void)
+void __exit oprofile_arch_exit(void)
{
oprofile_hwsampler_exit();
}
diff --git a/arch/sparc/oprofile/init.c b/arch/sparc/oprofile/init.c
index f9024bc..315c932 100644
--- a/arch/sparc/oprofile/init.c
+++ b/arch/sparc/oprofile/init.c
@@ -82,6 +82,4 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
return ret;
}
-void oprofile_arch_exit(void)
-{
-}
+void __exit oprofile_arch_exit(void) { }
diff --git a/arch/x86/oprofile/init.c b/arch/x86/oprofile/init.c
index cdfe4c5..085d952 100644
--- a/arch/x86/oprofile/init.c
+++ b/arch/x86/oprofile/init.c
@@ -41,7 +41,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
}
-void oprofile_arch_exit(void)
+void __exit oprofile_arch_exit(void)
{
#ifdef CONFIG_X86_LOCAL_APIC
op_nmi_exit();
--
1.7.3.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions
2011-03-16 17:58 ` [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions Robert Richter
@ 2011-03-16 20:15 ` Mike Frysinger
2011-03-17 11:41 ` Robert Richter
0 siblings, 1 reply; 7+ messages in thread
From: Mike Frysinger @ 2011-03-16 20:15 UTC (permalink / raw)
To: Robert Richter; +Cc: Ingo Molnar, LKML, oprofile-list, Heinz Graalfs
On Wed, Mar 16, 2011 at 13:58, Robert Richter wrote:
> 979048e oprofile: don't call arch exit code from init code on failure
>
> we may add __exit attibutes to oprofile_arch_exit() functions.
i dont think this the way to go. how about updating one place
(include/linux/oprofile.h:oprofile_arch_exit) and making sure all arch
files are including that header if they arent already ? after all, if
they arent including that header, the arch code could break without
noticing.
-mike
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] oprofile cleanups
2011-03-16 17:58 [PATCH 0/2] oprofile cleanups Robert Richter
2011-03-16 17:58 ` [PATCH 1/2] oprofile, s390: Cleanups Robert Richter
2011-03-16 17:58 ` [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions Robert Richter
@ 2011-03-17 8:09 ` Ingo Molnar
2 siblings, 0 replies; 7+ messages in thread
From: Ingo Molnar @ 2011-03-17 8:09 UTC (permalink / raw)
To: Robert Richter; +Cc: LKML, oprofile-list, Heinz Graalfs
* Robert Richter <robert.richter@amd.com> wrote:
> These 2 patches contain some cleanups I made while reviewing oprofile
> s390 code. I already applied them to my oprofile git tree, but please
> take a look at it anyway.
>
> Ingo, since the patches are cleanups, I think it is ok to add them to
> my oprofile pull request for .39 for you that I will send out soon.
> All other patches are already in linux-next for several weeks. Is this
> ok for you too?
Yeah, assuming Mike's remarks have been addressed.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions
2011-03-16 20:15 ` Mike Frysinger
@ 2011-03-17 11:41 ` Robert Richter
2011-03-17 19:15 ` Mike Frysinger
0 siblings, 1 reply; 7+ messages in thread
From: Robert Richter @ 2011-03-17 11:41 UTC (permalink / raw)
To: Mike Frysinger; +Cc: Ingo Molnar, LKML, oprofile-list, Heinz Graalfs
On 16.03.11 16:15:49, Mike Frysinger wrote:
> On Wed, Mar 16, 2011 at 13:58, Robert Richter wrote:
> > 979048e oprofile: don't call arch exit code from init code on failure
> >
> > we may add __exit attibutes to oprofile_arch_exit() functions.
>
> i dont think this the way to go. how about updating one place
> (include/linux/oprofile.h:oprofile_arch_exit) and making sure all arch
> files are including that header if they arent already ? after all, if
> they arent including that header, the arch code could break without
> noticing.
Mike,
do you mean we specify the __exit attribute in the function
declaration of the header file and make sure it is included
everythere? I was looking at current implementations in the kernel and
this is not common. Mostly the attributes are set in the function
definition. So I was not sure if that would work. If so, may we skip
then the __exit attribute in the definition?
GCC doc states: "The keyword __attribute__ allows you to specify
special attributes when making a declaration."
http://gcc.gnu.org/onlinedocs/gcc-4.5.1/gcc/Function-Attributes.html#Function%20Attributes
but nothing about that happens if it is in the function definition and
this is different from the declaration.
-Robert
--
Advanced Micro Devices, Inc.
Operating System Research Center
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions
2011-03-17 11:41 ` Robert Richter
@ 2011-03-17 19:15 ` Mike Frysinger
0 siblings, 0 replies; 7+ messages in thread
From: Mike Frysinger @ 2011-03-17 19:15 UTC (permalink / raw)
To: Robert Richter; +Cc: Ingo Molnar, LKML, oprofile-list, Heinz Graalfs
On Thu, Mar 17, 2011 at 07:41, Robert Richter wrote:
> On 16.03.11 16:15:49, Mike Frysinger wrote:
>> On Wed, Mar 16, 2011 at 13:58, Robert Richter wrote:
>> > 979048e oprofile: don't call arch exit code from init code on failure
>> >
>> > we may add __exit attibutes to oprofile_arch_exit() functions.
>>
>> i dont think this the way to go. how about updating one place
>> (include/linux/oprofile.h:oprofile_arch_exit) and making sure all arch
>> files are including that header if they arent already ? after all, if
>> they arent including that header, the arch code could break without
>> noticing.
>
> do you mean we specify the __exit attribute in the function
> declaration of the header file and make sure it is included
> everythere? I was looking at current implementations in the kernel and
> this is not common. Mostly the attributes are set in the function
> definition.
i think that's because for most functions, there is no matching
prototype in common code. drivers themselves have no reason to create
such prototypes.
> So I was not sure if that would work. If so, may we skip
> then the __exit attribute in the definition?
>
> GCC doc states: "The keyword __attribute__ allows you to specify
> special attributes when making a declaration."
>
> http://gcc.gnu.org/onlinedocs/gcc-4.5.1/gcc/Function-Attributes.html#Function%20Attributes
>
> but nothing about that happens if it is in the function definition and
> this is different from the declaration.
if the function prototype is seen in the same file as the function
definition, attributes are carried over. if it isnt (because the
oprofile header isnt being included), then the attribute will be
ignored for the function definition.
-mike
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-03-17 19:16 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-16 17:58 [PATCH 0/2] oprofile cleanups Robert Richter
2011-03-16 17:58 ` [PATCH 1/2] oprofile, s390: Cleanups Robert Richter
2011-03-16 17:58 ` [PATCH 2/2] oprofile: Add __exit attibute to oprofile_arch_exit() functions Robert Richter
2011-03-16 20:15 ` Mike Frysinger
2011-03-17 11:41 ` Robert Richter
2011-03-17 19:15 ` Mike Frysinger
2011-03-17 8:09 ` [PATCH 0/2] oprofile cleanups Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox