From patchwork Mon May 4 20:03:54 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejun Heo X-Patchwork-Id: 467814 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 67231140134 for ; Tue, 5 May 2015 06:04:04 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=BL4iIJB+; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751733AbbEDUEA (ORCPT ); Mon, 4 May 2015 16:04:00 -0400 Received: from mail-qg0-f51.google.com ([209.85.192.51]:33088 "EHLO mail-qg0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750808AbbEDUD6 (ORCPT ); Mon, 4 May 2015 16:03:58 -0400 Received: by qgdy78 with SMTP id y78so71313002qgd.0; Mon, 04 May 2015 13:03:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=TPsUUIIu6wdpCC7A9sgD9UhckgAzvJbYwykJ+gh9Ge8=; b=BL4iIJB+RVt4gsrXxumKi4YothkoXwBHZ5m1deP1uy6e/GSNzEyR44BkQOXvnnt8f2 0lbVVnfgQbWRBbWJzHXeBVHwu0s+2bMrzcHdZFM92FXq8veFAicp26DhnvKlRNX20UvK 0HlpRHceUXOqYU9rQlHbGuAanJSAr9uOhCYDz08lksWvxnLA7PLcMBXgYQNJ1eOVrjYb ZXIUOxcC9RHwFhS3Ori3Lu0c8Q1hUQnbKqkA8kDhg+ShzGoytu0rBdjWQb7w+7XB/2ge vocEtV1unMn4OaWFEZhLmMJ12CYZHdJMKCnAiF1gKyU76aV0ISvAeDCW4MU9PrDllc2v yELQ== X-Received: by 10.140.217.17 with SMTP id n17mr31258629qhb.69.1430769837826; Mon, 04 May 2015 13:03:57 -0700 (PDT) Received: from htj.duckdns.org (207-38-238-8.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com. [207.38.238.8]) by mx.google.com with ESMTPSA id 106sm10615572qge.22.2015.05.04.13.03.56 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 May 2015 13:03:56 -0700 (PDT) Date: Mon, 4 May 2015 16:03:54 -0400 From: Tejun Heo To: davem@davemloft.net, akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 0.5/4] netconsole: remove unnecessary netconsole_target_get/out() from write_msg() Message-ID: <20150504200354.GH1971@htj.duckdns.org> References: <1430505220-25160-1-git-send-email-tj@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1430505220-25160-1-git-send-email-tj@kernel.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From 958d3e14720a35c6103668c69d58751b36053d69 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Mon, 4 May 2015 15:57:54 -0400 write_msg() grabs target_list_lock and walks target_list invoking netpool_send_udp() on each target. Curiously, it protects each iteration with netconsole_target_get/put() even though it never releases target_list_lock which protects all the members. While this doesn't harm anything, it doesn't serve any purpose either. The items on the list can't go away while target_list_lock is held. Remove the unnecessary get/put pair. Signed-off-by: Tejun Heo Cc: David Miller Cc: Tetsuo Handa --- Hello, If anyone wants the whole series to be reposted, please let me know. The updated patchset is available in the following git branch. git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git review-netconsole-ext-console Thanks. drivers/net/netconsole.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 15731d1..30c0524 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -744,7 +744,6 @@ static void write_msg(struct console *con, const char *msg, unsigned int len) spin_lock_irqsave(&target_list_lock, flags); list_for_each_entry(nt, &target_list, list) { - netconsole_target_get(nt); if (nt->enabled && netif_running(nt->np.dev)) { /* * We nest this inside the for-each-target loop above @@ -760,7 +759,6 @@ static void write_msg(struct console *con, const char *msg, unsigned int len) left -= frag; } } - netconsole_target_put(nt); } spin_unlock_irqrestore(&target_list_lock, flags); }