[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1190070500.7262.150.camel@localhost.localdomain>
Date: Tue, 18 Sep 2007 09:08:20 +1000
From: Rusty Russell <rusty@...tcorp.com.au>
To: Joe Perches <joe@...ches.com>
Cc: Avi Kivity <avi@...ranet.com>, kvm-devel@...ts.sourceforge.net,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 048/104] KVM: Add and use pr_unimpl for standard
formatting of unimplemented features
On Mon, 2007-09-17 at 09:16 -0700, Joe Perches wrote:
> On Mon, 2007-09-17 at 10:31 +0200, Avi Kivity wrote:
> > diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
> > index cfda3ab..6d25826 100644
> > --- a/drivers/kvm/kvm.h
> > +++ b/drivers/kvm/kvm.h
> > @@ -474,6 +474,14 @@ struct kvm_arch_ops {
> >
> > extern struct kvm_arch_ops *kvm_arch_ops;
> >
> > +/* The guest did something we don't support. */
> > +#define pr_unimpl(vcpu, fmt, ...) \
> > + do { \
> > + if (printk_ratelimit()) \
> > + printk(KERN_ERR "kvm: %i: cpu%i " fmt, \
> > + current->tgid, (vcpu)->vcpu_id , ## __VA_ARGS__); \
> > + } while(0)
> > +
> > #define kvm_printf(kvm, fmt ...) printk(KERN_DEBUG fmt)
> > #define vcpu_printf(vcpu, fmt...) kvm_printf(vcpu->kvm, fmt)
> >
>
> This converts all KERN_<level> uses to KERN_ERR.
> It seems better to add a <level> argument to kvm_printf.
> pr_unimpl is perhaps a poor name choice.
> perhaps vcpu_printk_ratelimit(vcpu, level, fmt, ...)
Possibly, but remember that printk() is an admission of failure. It's
only useful to developers, and the only reason for printk over
pr_debug() is for users to report to developers when guests crash.
pr_unimpl() means exactly what it says: the guest asked for something we
don't support. If that turns out to be the last thing in the logs
before a crash, it's a clue. The rest of the printks should probably
move to pr_debug().
Hope that helps,
Rusty.
-
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