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.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to