From patchwork Wed Jul 9 06:55:39 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 368110 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 565A3140080 for ; Wed, 9 Jul 2014 16:56:59 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754957AbaGIG4m (ORCPT ); Wed, 9 Jul 2014 02:56:42 -0400 Received: from mail-qg0-f52.google.com ([209.85.192.52]:60858 "EHLO mail-qg0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751542AbaGIG4j (ORCPT ); Wed, 9 Jul 2014 02:56:39 -0400 Received: by mail-qg0-f52.google.com with SMTP id f51so6020167qge.39 for ; Tue, 08 Jul 2014 23:56:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=3QogUp2eQgUm4bGvQlkK+yjIxY0s0Wg8uqZLeJbX09k=; b=iXEg61Ti6UL8Y1XpulLFXvO+myefCZSr9k8G4UdLG9o6sBAKW5SCfCoCkP/UZB1m1V r0EFhkwDtqVxJodG/VIPKljAv9LAKdSE+d4yfXLyv1zoMA61h3O1mPtKy+xWVhWMWCrd AiReiQt0IN6UdG6tV0E5cXdc2wPC0GB7N4VPW7fleW+mZnELKhBQDi98Ym1BvqthCMPl rSlVeRXRDZKN0OV/bNYKhQSicYOc41eOoqwjXYUlRgoNFa8lYgQ295HomtdZChpC/m4o 3D56Lb1GpJuK8bD/wJDsgoOL2k7XYYD7H5fY/10R1yOEexpP5oOoYqtBrse7xKYvf0P9 pmvw== X-Gm-Message-State: ALoCoQkUjOSDpDQOnxEFre1jW61nwHLvGxdMXq3WUm2EW2WKKlQsHfiwUh/J1P1Jvr7qfKoxftVN X-Received: by 10.224.151.72 with SMTP id b8mr1939627qaw.95.1404888998846; Tue, 08 Jul 2014 23:56:38 -0700 (PDT) Received: from localhost (ec2-23-23-178-99.compute-1.amazonaws.com. [23.23.178.99]) by mx.google.com with ESMTPSA id z78sm3496936qgz.36.2014.07.08.23.56.34 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 08 Jul 2014 23:56:38 -0700 (PDT) From: Viresh Kumar To: tglx@linutronix.de Cc: linaro-kernel@lists.linaro.org, linux-kernel@vger.kernel.org, fweisbec@gmail.com, arvind.chauhan@arm.com, preeti@linux.vnet.ibm.com, khilman@linaro.org, Viresh Kumar , "David S. Miller" , netdev@vger.kernel.org Subject: [RFC 7/7] net: don't check for active hrtimer after adding it Date: Wed, 9 Jul 2014 12:25:39 +0530 Message-Id: X-Mailer: git-send-email 2.0.0.rc2 In-Reply-To: References: In-Reply-To: References: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org hrtimer_start*() family never fails to enqueue a hrtimer to a clock-base. The only special case is when the hrtimer was in past. If it is getting enqueued to local CPUs's clock-base, we raise a softirq and exit, else we handle that on next interrupt on remote CPU. At several places in the kernel, we try to make sure if hrtimer was added properly or not by calling hrtimer_active(), like: hrtimer_start(timer, expires, mode); if (hrtimer_active(timer)) { /* Added successfully */ } else { /* Was added in the past */ } As hrtimer_start*() never fails, hrtimer_active() is guaranteed to return '1'. So, there is no point calling hrtimer_active(). This patch updates net core to get this fixed. Cc: "David S. Miller" Cc: netdev@vger.kernel.org Signed-off-by: Viresh Kumar --- net/core/pktgen.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index fc17a9d..f911acd 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -2186,8 +2186,6 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until) do { set_current_state(TASK_INTERRUPTIBLE); hrtimer_start_expires(&t.timer, HRTIMER_MODE_ABS); - if (!hrtimer_active(&t.timer)) - t.task = NULL; if (likely(t.task)) schedule();