From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rusty Russell Subject: Re: [PATCH 048/104] KVM: Add and use pr_unimpl for standard formatting of unimplemented features Date: Tue, 18 Sep 2007 09:08:20 +1000 Message-ID: <1190070500.7262.150.camel@localhost.localdomain> References: <11900179463203-git-send-email-avi@qumranet.com> <11900179481707-git-send-email-avi@qumranet.com> <1190045778.19708.211.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Avi Kivity , kvm-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org To: Joe Perches Return-path: In-Reply-To: <1190045778.19708.211.camel@localhost> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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_ uses to KERN_ERR. > It seems better to add a 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.