2011-06-04 15:47:12

by Christian Dietrich

[permalink] [raw]
Subject: [PATCH 8/8] arch/x86: use printk_ratelimited instead of printk_ratelimit

Since printk_ratelimit() shouldn't be used anymore (see comment in
include/linux/printk.h), replace it with printk_ratelimited.

Signed-off-by: Christian Dietrich <[email protected]>
---
arch/x86/kernel/hpet.c | 6 +++---
arch/x86/kernel/irq.c | 9 ++++-----
arch/x86/kvm/i8259.c | 7 +++----
arch/x86/lguest/boot.c | 6 +++---
4 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 6781765..800d01b 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -10,6 +10,7 @@
#include <linux/cpu.h>
#include <linux/pm.h>
#include <linux/io.h>
+#include <linux/ratelimit.h>

#include <asm/fixmap.h>
#include <asm/i8253.h>
@@ -1158,9 +1159,8 @@ static void hpet_rtc_timer_reinit(void)
if (lost_ints) {
if (hpet_rtc_flags & RTC_PIE)
hpet_pie_count += lost_ints;
- if (printk_ratelimit())
- printk(KERN_WARNING "hpet1: lost %d rtc interrupts\n",
- lost_ints);
+ printk_ratelimited("hpet1: lost %d rtc interrupts\n",
+ lost_ints);
}
}

diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 6c0802e..435bf12 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -9,6 +9,7 @@
#include <linux/smp.h>
#include <linux/ftrace.h>
#include <linux/delay.h>
+#include <linux/ratelimit.h>

#include <asm/apic.h>
#include <asm/io_apic.h>
@@ -28,8 +29,7 @@ void (*x86_platform_ipi_callback)(void) = NULL;
*/
void ack_bad_irq(unsigned int irq)
{
- if (printk_ratelimit())
- pr_err("unexpected IRQ trap at vector %02x\n", irq);
+ pr_err_ratelimited("unexpected IRQ trap at vector %02x\n", irq);

/*
* Currently unexpected vectors happen only on SMP and APIC.
@@ -188,9 +188,8 @@ unsigned int __irq_entry do_IRQ(struct pt_regs *regs)
if (!handle_irq(irq, regs)) {
ack_APIC_irq();

- if (printk_ratelimit())
- pr_emerg("%s: %d.%d No irq handler for vector (irq %d)\n",
- __func__, smp_processor_id(), vector, irq);
+ pr_emerg_ratelimited("%s: %d.%d No irq handler for vector (irq %d)\n",
+ __func__, smp_processor_id(), vector, irq);
}

irq_exit();
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index 19fe855..8e26193 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -29,6 +29,7 @@
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/bitops.h>
+#include <linux/ratelimit.h>
#include "irq.h"

#include <linux/kvm_host.h>
@@ -473,8 +474,7 @@ static int picdev_write(struct kvm_io_device *this,
return -EOPNOTSUPP;

if (len != 1) {
- if (printk_ratelimit())
- printk(KERN_ERR "PIC: non byte write\n");
+ printk_ratelimited(KERN_ERR "PIC: non byte write\n");
return 0;
}
pic_lock(s);
@@ -503,8 +503,7 @@ static int picdev_read(struct kvm_io_device *this,
return -EOPNOTSUPP;

if (len != 1) {
- if (printk_ratelimit())
- printk(KERN_ERR "PIC: non byte read\n");
+ printk_ratelimited(KERN_ERR "PIC: non byte read\n");
return 0;
}
pic_lock(s);
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index db832fd..23a6eff 100644
--- a/arch/x86/lguest/boot.c
+++ b/arch/x86/lguest/boot.c
@@ -56,6 +56,7 @@
#include <linux/lguest_launcher.h>
#include <linux/virtio_console.h>
#include <linux/pm.h>
+#include <linux/ratelimit.h>
#include <asm/apic.h>
#include <asm/lguest.h>
#include <asm/paravirt.h>
@@ -927,9 +928,8 @@ static int lguest_clockevent_set_next_event(unsigned long delta,
/* FIXME: I don't think this can ever happen, but James tells me he had
* to put this code in. Maybe we should remove it now. Anyone? */
if (delta < LG_CLOCK_MIN_DELTA) {
- if (printk_ratelimit())
- printk(KERN_DEBUG "%s: small delta %lu ns\n",
- __func__, delta);
+ printk_ratelimited(KERN_DEBUG "%s: small delta %lu ns\n",
+ __func__, delta);
return -ETIME;
}

--
1.7.1


2011-06-06 07:08:57

by Rusty Russell

[permalink] [raw]
Subject: Re: [PATCH 8/8] arch/x86: use printk_ratelimited instead of printk_ratelimit

On Sat, 4 Jun 2011 17:37:04 +0200, Christian Dietrich <[email protected]> wrote:
> Since printk_ratelimit() shouldn't be used anymore (see comment in
> include/linux/printk.h), replace it with printk_ratelimited.

Acked-by: Rusty Russell <[email protected]> (lguest part)

> diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
> index db832fd..23a6eff 100644
> --- a/arch/x86/lguest/boot.c
> +++ b/arch/x86/lguest/boot.c
> @@ -56,6 +56,7 @@
> #include <linux/lguest_launcher.h>
> #include <linux/virtio_console.h>
> #include <linux/pm.h>
> +#include <linux/ratelimit.h>
> #include <asm/apic.h>
> #include <asm/lguest.h>
> #include <asm/paravirt.h>

Is this new include really needed? The printk_ratelimited() definition
is in printk.h...

Thanks,
Rusty.

2011-06-06 08:11:59

by Richard Weinberger

[permalink] [raw]
Subject: Re: [PATCH 8/8] arch/x86: use printk_ratelimited instead of printk_ratelimit

On Mon, Jun 6, 2011 at 8:35 AM, Rusty Russell <[email protected]> wrote:
> On Sat, 4 Jun 2011 17:37:04 +0200, Christian Dietrich <[email protected]> wrote:
>> Since printk_ratelimit() shouldn't be used anymore (see comment in
>> include/linux/printk.h), replace it with printk_ratelimited.
>
> Acked-by: Rusty Russell <[email protected]> (lguest part)
>
>> diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
>> index db832fd..23a6eff 100644
>> --- a/arch/x86/lguest/boot.c
>> +++ b/arch/x86/lguest/boot.c
>> @@ -56,6 +56,7 @@
>> ?#include <linux/lguest_launcher.h>
>> ?#include <linux/virtio_console.h>
>> ?#include <linux/pm.h>
>> +#include <linux/ratelimit.h>
>> ?#include <asm/apic.h>
>> ?#include <asm/lguest.h>
>> ?#include <asm/paravirt.h>
>
> Is this new include really needed? ?The printk_ratelimited() definition
> is in printk.h...

Yes.
printk_ratelimited() needs DEFINE_RATELIMIT_STATE() which is defined
in ratelimit.h.

--
Thanks,
//richard

2011-06-07 03:30:55

by Rusty Russell

[permalink] [raw]
Subject: Re: [PATCH 8/8] arch/x86: use printk_ratelimited instead of printk_ratelimit

On Mon, 6 Jun 2011 10:11:53 +0200, richard -rw- weinberger <[email protected]> wrote:
> On Mon, Jun 6, 2011 at 8:35 AM, Rusty Russell <[email protected]> wrote:
> > On Sat, 4 Jun 2011 17:37:04 +0200, Christian Dietrich <[email protected]> wrote:
> >> Since printk_ratelimit() shouldn't be used anymore (see comment in
> >> include/linux/printk.h), replace it with printk_ratelimited.
> >
> > Acked-by: Rusty Russell <[email protected]> (lguest part)
> >
> >> diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
> >> index db832fd..23a6eff 100644
> >> --- a/arch/x86/lguest/boot.c
> >> +++ b/arch/x86/lguest/boot.c
> >> @@ -56,6 +56,7 @@
> >>  #include <linux/lguest_launcher.h>
> >>  #include <linux/virtio_console.h>
> >>  #include <linux/pm.h>
> >> +#include <linux/ratelimit.h>
> >>  #include <asm/apic.h>
> >>  #include <asm/lguest.h>
> >>  #include <asm/paravirt.h>
> >
> > Is this new include really needed?  The printk_ratelimited() definition
> > is in printk.h...
>
> Yes.
> printk_ratelimited() needs DEFINE_RATELIMIT_STATE() which is defined
> in ratelimit.h.

Yech. I'm assuming that making printk.h include ratelimit.h makes a
nasty mess?

Thanks,
Rusty.

2011-06-07 03:37:29

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH 8/8] arch/x86: use printk_ratelimited instead of printk_ratelimit

On Tue, 2011-06-07 at 12:41 +0930, Rusty Russell wrote:
> On Mon, 6 Jun 2011 10:11:53 +0200, richard -rw- weinberger <[email protected]> wrote:
> > printk_ratelimited() needs DEFINE_RATELIMIT_STATE() which is defined
> > in ratelimit.h.
> Yech. I'm assuming that making printk.h include ratelimit.h makes a
> nasty mess?

Yup.

I proposed moving the <foo>_ratelimited dclarations to
ratelimited.h without any comment.

http://lkml.org/lkml/2010/2/18/377