Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp4814296imj; Wed, 13 Feb 2019 01:20:05 -0800 (PST) X-Google-Smtp-Source: AHgI3IZPNt59byOjbPdpRcoivuH0Aw7U4zpQcbUaFGH7PyCQDf/GlPLSQrlhs0o6fQ9cUa+XvrPo X-Received: by 2002:a17:902:8c81:: with SMTP id t1mr8924729plo.107.1550049604964; Wed, 13 Feb 2019 01:20:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550049604; cv=none; d=google.com; s=arc-20160816; b=sZG38QFZnIe/fd8zm1be01tbCa6wbnrWlpxsWCJFvszpZHOHLIcsJ6sJ1tlLy6xng9 BSQH8y2CDZLJWd1EbOM/WXzSFiJ89DAEf2dBcCeQUN+kBSAbQ8rAwiWWvrKPckBldICG VS5MhNeIXEbJ7oEWgAy6kUn5tCQ5m+OaILlPvNKf0espvrtB+JlVqu72sa8szkXcJYv8 xyORIaeQkaEb1tdpO8YG4WqPx5yik0BjurcUDemRqJweF4WbOUkYUdDYBgyk2SeJINvk SkDHgKiHkqmQlojPlJVdE99o4HToWHetTHKmx307LGBwepxq53Htvjmzh3xe6H3TKIaD 9ekw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=vIRbFihH6N2Zz0nZpln4XKZTHjMB5mzW8XL7TNdD4Xk=; b=vVzi30fSQwTw3xfVpB5dqM5pAotChlyIZFJ7MY1f42DZZDJYXCGrcb4P5i4WCTg9P9 On30AOFPD9PDrzhOHMxVj3nFr9FOWvhXRBIwSXf83YBbAgJyVZWYCNpMw0k7ZeRhDSbn sq/ubW1pppJnz0dvPP1UIDRWK49nM9AZm0z5xvp2rnHIZg1WhaZN1AosmIVpy958TDLS 4et+lOgAFQ2GRvAoz/TdPMDj8FGsnJ7Nq2Yt5EXETCKw5+RwYd+Ts7NRxbleK/dFm7tl /8ec5kJT2TVH6pkRTDFJwHPLr9uiRYoTACeFZfBSMCojpGTkVtm+JME5wvjc2Neb1hxl BGBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="xr/4WP3G"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y9si9997575pfm.36.2019.02.13.01.19.49; Wed, 13 Feb 2019 01:20:04 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="xr/4WP3G"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730077AbfBMEFo (ORCPT + 99 others); Tue, 12 Feb 2019 23:05:44 -0500 Received: from mail.kernel.org ([198.145.29.99]:57180 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726550AbfBMEFo (ORCPT ); Tue, 12 Feb 2019 23:05:44 -0500 Received: from localhost (lfbn-1-18527-45.w90-101.abo.wanadoo.fr [90.101.69.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 34969222BB; Wed, 13 Feb 2019 04:05:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550030743; bh=1ISBSWGHHJm0iWeiYsdOya1tCWNb3ADGGlEBFKUYjoo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=xr/4WP3GE7oxlO31RJEYZ4Tlyv2P1Gcr9PPdLTdSUhaEMdDTslDZJEYUjr5T/dwQV oVAJoaAsMBMJuSshWOb8eBnkGTHcXVEjRfpmlvSsxUMv+jPUXFvJ4ncsechngjNEJ2 qqEeLGIlKE2SXES6LyHgZKtIbAuX/PvytMluOvww= Date: Wed, 13 Feb 2019 05:05:40 +0100 From: Frederic Weisbecker To: Denys Vlasenko Cc: Frederic Weisbecker , Linux Kernel Mailing List Subject: Re: preempt.h: some SOFTIRQ_OFFSET should be SOFTIRQ_MASK? Message-ID: <20190213040539.GA8524@lenoir> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 05, 2019 at 07:34:31PM +0100, Denys Vlasenko wrote: > SOFTIRQ is a counter. > Why here: > > #define in_serving_softirq() (softirq_count() & SOFTIRQ_OFFSET) > #define in_task() (!(preempt_count() & \ > (NMI_MASK | HARDIRQ_MASK | SOFTIRQ_OFFSET))) > > we check only lowest bit? So we have SOFTIRQ_OFFSET that is used when serving softirqs. And we have SOFTIRQ_DISABLE_OFFSET that is used when we disable softirqs. I think the choice is right on both tests above, or am I missing something?