From patchwork Sat Jul 19 13:15:55 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33929 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ig0-f198.google.com (mail-ig0-f198.google.com [209.85.213.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 108FA20B8D for ; Sat, 19 Jul 2014 13:17:57 +0000 (UTC) Received: by mail-ig0-f198.google.com with SMTP id h18sf6859109igc.5 for ; Sat, 19 Jul 2014 06:17:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:message-id:user-agent:date:from:to :cc:subject:references:mime-version:sender:precedence:list-id :x-original-sender:x-original-authentication-results:mailing-list :list-post:list-help:list-archive:list-unsubscribe:content-type :content-disposition; bh=ePTvAUow3yCe+wsdC1tA4XsrdxvdCQOdujLO7bmKlWw=; b=dXOiS8zY1N1voKtRQ4N4QQ49CRT5Et8htQM5YX3UXM3wPFbzTWRrXxONz5BiX3L/zE gWpjPxrZKUYO4AzE7Xo2pv8qAwNlMxL6zFPz59KZPgGPXBkiCH20Jndj30m2xkODk0EQ qYOALLGTrPHZpbuYv9ACp0LLPKQPe2cVJoCt5doCHFjFmu+oVqq5akcaSsvreznGs704 cPRJGxNOeYpbVgoxXiW7zftd/mjG2McfVlBb8oI5YuxhDhNJOo3kl1+jx2ZfrqvoBu7o FT6nLi4IWjtYtrVG3ed+6W9s2r/nKf703wIW9OujZYhuxZB5rps0KOfTwu0dzHit8uWh abnQ== X-Gm-Message-State: ALoCoQnROAH489iE+h1QSJXEHvKj+Tp7khMDJLNGeh119V1uIB6NiCzL+U/XHTAM+ZalTaeVMKGZ X-Received: by 10.50.57.111 with SMTP id h15mr6401657igq.3.1405775876632; Sat, 19 Jul 2014 06:17:56 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.36.37 with SMTP id o34ls1189435qgo.67.gmail; Sat, 19 Jul 2014 06:17:56 -0700 (PDT) X-Received: by 10.52.12.229 with SMTP id b5mr1334694vdc.52.1405775876378; Sat, 19 Jul 2014 06:17:56 -0700 (PDT) Received: from mail-vc0-f180.google.com (mail-vc0-f180.google.com [209.85.220.180]) by mx.google.com with ESMTPS id g14si7692064vdh.66.2014.07.19.06.17.56 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 19 Jul 2014 06:17:56 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.180 as permitted sender) client-ip=209.85.220.180; Received: by mail-vc0-f180.google.com with SMTP id ij19so9278440vcb.11 for ; Sat, 19 Jul 2014 06:17:56 -0700 (PDT) X-Received: by 10.52.244.138 with SMTP id xg10mr11565674vdc.40.1405775876180; Sat, 19 Jul 2014 06:17:56 -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 tc5csp84857vcb; Sat, 19 Jul 2014 06:17:55 -0700 (PDT) X-Received: by 10.68.57.175 with SMTP id j15mr37239pbq.164.1405775875132; Sat, 19 Jul 2014 06:17:55 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id qa15si8767678pab.217.2014.07.19.06.17.54; Sat, 19 Jul 2014 06:17:54 -0700 (PDT) Received-SPF: none (google.com: linux-kernel-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966026AbaGSNRN (ORCPT + 22 others); Sat, 19 Jul 2014 09:17:13 -0400 Received: from cdptpa-outbound-snat.email.rr.com ([107.14.166.227]:11686 "EHLO cdptpa-oedge-vip.email.rr.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755556AbaGSNQR (ORCPT ); Sat, 19 Jul 2014 09:16:17 -0400 Received: from [67.246.153.56] ([67.246.153.56:52300] helo=gandalf.local.home) by cdptpa-oedge02 (envelope-from ) (ecelerity 3.5.0.35861 r(Momo-dev:tip)) with ESMTP id 31/19-07747-F9F6AC35; Sat, 19 Jul 2014 13:16:15 +0000 Received: from rostedt by gandalf.local.home with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1X8UUo-0001PN-Ui; Sat, 19 Jul 2014 09:16:14 -0400 Message-Id: <20140719131614.872713789@goodmis.org> User-Agent: quilt/0.63-1 Date: Sat, 19 Jul 2014 09:15:55 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Ingo Molnar , Andrew Morton , Wang Nan Subject: [for-next][PATCH 31/32] ftrace: Do not copy old hash when resetting References: <20140719131524.009152325@goodmis.org> MIME-Version: 1.0 X-RR-Connecting-IP: 107.14.168.130:25 X-Cloudmark-Score: 0 Sender: linux-kernel-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: rostedt@goodmis.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.180 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 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Content-Disposition: inline; filename=0031-ftrace-Do-not-copy-old-hash-when-resetting.patch From: Wang Nan Do not waste time copying the old hash if the hash is going to be reset. Just allocate a new hash and free the old one, as that is the same result as copying te old one and then resetting it. Link: http://lkml.kernel.org/p/1405384820-48837-1-git-send-email-wangnan0@huawei.com Signed-off-by: Wang Nan [ SDR: Removed unused ftrace_filter_reset() function ] Signed-off-by: Steven Rostedt --- kernel/trace/ftrace.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 4c61f28a08e0..762806026561 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -2949,13 +2949,6 @@ ftrace_enabled_open(struct inode *inode, struct file *file) return iter ? 0 : -ENOMEM; } -static void ftrace_filter_reset(struct ftrace_hash *hash) -{ - mutex_lock(&ftrace_lock); - ftrace_hash_clear(hash); - mutex_unlock(&ftrace_lock); -} - /** * ftrace_regex_open - initialize function tracer filter files * @ops: The ftrace_ops that hold the hash filters @@ -3720,14 +3713,16 @@ ftrace_set_hash(struct ftrace_ops *ops, unsigned char *buf, int len, else orig_hash = &ops->notrace_hash; - hash = alloc_and_copy_ftrace_hash(FTRACE_HASH_DEFAULT_BITS, *orig_hash); + if (reset) + hash = alloc_ftrace_hash(FTRACE_HASH_DEFAULT_BITS); + else + hash = alloc_and_copy_ftrace_hash(FTRACE_HASH_DEFAULT_BITS, *orig_hash); + if (!hash) { ret = -ENOMEM; goto out_regex_unlock; } - if (reset) - ftrace_filter_reset(hash); if (buf && !ftrace_match_records(hash, buf, len)) { ret = -EINVAL; goto out_regex_unlock;