From patchwork Thu Jul 31 13:06:27 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 34650 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-pd0-f199.google.com (mail-pd0-f199.google.com [209.85.192.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 279BF20792 for ; Thu, 31 Jul 2014 13:33:29 +0000 (UTC) Received: by mail-pd0-f199.google.com with SMTP id ft15sf16087014pdb.10 for ; Thu, 31 Jul 2014 06:33:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:date :message-id:in-reply-to:references:cc:subject:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:list-subscribe :errors-to:sender:x-original-sender :x-original-authentication-results:mailing-list; bh=eRUKDxiO5SRdj5wZbZadRVazR3DW05r+Pa/En0ikQsU=; b=m4R8s1ubHo3Z3f9uneJuctXxO1b0ukusvq48nMv+Cy5G8oDr+GfDKZG/KRCafVrsU9 7ImKYcwIplMUqK1N2DDUkd0NPb8zufdr7xnHRFimKqmuVS35ioxRGMgOh7NnS8qZpxxF Gxpo1EX4TV52e3QeFqmOiUe4dB1zgJncbiGMG7rQjHmDS+of6XAYpiK5KguexeXh6pUh m2XaUK3ks1EnctAcUoGJ6olySIMEqrs6BQCFWMx9fyokvO342zSLB3GwzM2HRvnURP6C rFfroP0+7lanL4i5U1ss4LLNaSH9nR5IVmQUa+9x7ThzBGuyXZ/grRlfAll7F8BdrWgB soQg== X-Gm-Message-State: ALoCoQltJAkv4dSzDKrCDHEFAj8HUAITwG7qVQNSO5hqiIP9MPurveICuf425eQ4JQD/3L/PvpH1 X-Received: by 10.66.196.70 with SMTP id ik6mr756099pac.44.1406813608449; Thu, 31 Jul 2014 06:33:28 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.24.74 with SMTP id 68ls933509qgq.98.gmail; Thu, 31 Jul 2014 06:33:28 -0700 (PDT) X-Received: by 10.52.83.227 with SMTP id t3mr9111243vdy.20.1406813608350; Thu, 31 Jul 2014 06:33:28 -0700 (PDT) Received: from mail-vc0-f173.google.com (mail-vc0-f173.google.com [209.85.220.173]) by mx.google.com with ESMTPS id b11si4341150vdv.62.2014.07.31.06.33.28 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 31 Jul 2014 06:33:28 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.173 as permitted sender) client-ip=209.85.220.173; Received: by mail-vc0-f173.google.com with SMTP id hy10so4172095vcb.4 for ; Thu, 31 Jul 2014 06:33:28 -0700 (PDT) X-Received: by 10.220.15.8 with SMTP id i8mr12746844vca.45.1406813607977; Thu, 31 Jul 2014 06:33:27 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.37.5 with SMTP id tc5csp18684vcb; Thu, 31 Jul 2014 06:33:27 -0700 (PDT) X-Received: by 10.229.59.67 with SMTP id k3mr18428018qch.26.1406813607512; Thu, 31 Jul 2014 06:33:27 -0700 (PDT) Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id w10si9761297qag.27.2014.07.31.06.33.27 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 31 Jul 2014 06:33:27 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Received: from localhost ([::1]:56789 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCqU3-0003hA-3q for patch@linaro.org; Thu, 31 Jul 2014 09:33:27 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51604) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCq4I-00008X-8t for qemu-devel@nongnu.org; Thu, 31 Jul 2014 09:06:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XCq47-0001EX-3w for qemu-devel@nongnu.org; Thu, 31 Jul 2014 09:06:50 -0400 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:50092 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCq46-0001EL-UF for qemu-devel@nongnu.org; Thu, 31 Jul 2014 09:06:39 -0400 Received: from localhost ([127.0.0.1] helo=zen.linaro.local) by socrates.bennee.com with esmtp (Exim 4.80) (envelope-from ) id 1XCqDx-0002HE-OL; Thu, 31 Jul 2014 15:16:49 +0200 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Date: Thu, 31 Jul 2014 14:06:27 +0100 Message-Id: <1406811992-6766-5-git-send-email-alex.bennee@linaro.org> X-Mailer: git-send-email 2.0.3 In-Reply-To: <1406811992-6766-1-git-send-email-alex.bennee@linaro.org> References: <1406811992-6766-1-git-send-email-alex.bennee@linaro.org> X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: alex.bennee@linaro.org X-SA-Exim-Scanned: No (on socrates.bennee.com); SAEximRunCond expanded to false X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 88.198.71.155 Cc: Peter Maydell , l@dorileo.org Subject: [Qemu-devel] [PATCH v3 4/9] qemu-log: Avoid function call for disabled qemu_log_mask logging X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: alex.bennee@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.173 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 From: Peter Maydell Make qemu_log_mask() a macro which only calls the function to do the actual work if the logging is enabled. This avoids making a function call in possible fast paths where logging is disabled. Signed-off-by: Peter Maydell Reviewed-by: Andreas Färber diff --git a/include/qemu/log.h b/include/qemu/log.h index d515424..da22e13 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -64,10 +64,17 @@ qemu_log_vprintf(const char *fmt, va_list va) } } -/* log only if a bit is set on the current loglevel mask +/* log only if a bit is set on the current loglevel mask: + * @mask: bit to check in the mask + * @fmt: printf-style format string + * @args: optional arguments for format string */ -void GCC_FMT_ATTR(2, 3) qemu_log_mask(int mask, const char *fmt, ...); - +#define qemu_log_mask(MASK, FMT, ...) \ + do { \ + if (unlikely(qemu_loglevel_mask(MASK))) { \ + qemu_log(FMT, ## __VA_ARGS__); \ + } \ + } while (0) /* Special cases: */ diff --git a/qemu-log.c b/qemu-log.c index 35bbb56..83e0cb4 100644 --- a/qemu-log.c +++ b/qemu-log.c @@ -36,17 +36,6 @@ void qemu_log(const char *fmt, ...) va_end(ap); } -void qemu_log_mask(int mask, const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - if ((qemu_loglevel & mask) && qemu_logfile) { - vfprintf(qemu_logfile, fmt, ap); - } - va_end(ap); -} - /* enable or disable low levels log */ void do_qemu_set_log(int log_flags, bool use_own_buffers) {