From patchwork Sun Aug 10 14:35:17 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilari Stenroth X-Patchwork-Id: 4704791 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id B9DAC9F377 for ; Sun, 10 Aug 2014 15:10:14 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B5A7020136 for ; Sun, 10 Aug 2014 15:10:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DAB4D200FF for ; Sun, 10 Aug 2014 15:10:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751224AbaHJPKI (ORCPT ); Sun, 10 Aug 2014 11:10:08 -0400 Received: from plane.gmane.org ([80.91.229.3]:41939 "EHLO plane.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750986AbaHJPKH (ORCPT ); Sun, 10 Aug 2014 11:10:07 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XGUl2-0003BF-Mq for kvm@vger.kernel.org; Sun, 10 Aug 2014 17:10:04 +0200 Received: from gw.stenroth.fi ([188.127.202.98]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 10 Aug 2014 17:10:04 +0200 Received: from ilari.stenroth by gw.stenroth.fi with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 10 Aug 2014 17:10:04 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: kvm@vger.kernel.org From: Ilari Stenroth Subject: RFC: [PATCH v1] KVM: Use trace_printk() for vcpu_unimpl() for performance reasons Date: Sun, 10 Aug 2014 17:35:17 +0300 Lines: 43 Message-ID: Mime-Version: 1.0 X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: gw.stenroth.fi User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP vcpu_unimpl() is called to notify for example about unhandled wrmsr requests made by KVM guests. It used to call printk() but in certain setups printk() may cause severe performance impact thus replacing printk() with guaranteed to be buffered trace_printk() avoids this caveat. Signed-off-by: Ilari Stenroth --- include/linux/kvm_host.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index a4c33b3..b79ce59 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include @@ -408,9 +410,15 @@ struct kvm { pr_info("kvm [%i]: " fmt, task_pid_nr(current), ## __VA_ARGS__) #define kvm_debug(fmt, ...) \ pr_debug("kvm [%i]: " fmt, task_pid_nr(current), ## __VA_ARGS__) +#ifdef CONFIG_TRACING +#define kvm_pr_unimpl(fmt, ...) \ + trace_printk(pr_fmt("KERN_ERR kvm [%i]: " fmt), \ + task_tgid_nr(current), ## __VA_ARGS__) +#else #define kvm_pr_unimpl(fmt, ...) \ pr_err_ratelimited("kvm [%i]: " fmt, \ task_tgid_nr(current), ## __VA_ARGS__) +#endif /* The guest did something we don't support. */ #define vcpu_unimpl(vcpu, fmt, ...) \