Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp861192pxb; Sat, 6 Mar 2021 21:20:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJyOzgoPcZlTWrjnrw92UYnIJiTppljbWPS/rOXZ0aUc7y3/11Aw4fVjxU3+/DKCNUBfCZE6 X-Received: by 2002:a50:fd15:: with SMTP id i21mr14870359eds.384.1615094456355; Sat, 06 Mar 2021 21:20:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615094456; cv=none; d=google.com; s=arc-20160816; b=X8EIEDBoe4CF+ASoGrOV1eTlHNCWOZ15r9J6INvpSXNmZ/7dtk6tLPzBBbtv9Av5A4 XEt+nYYI1Pmy2OFHGbny6rngHZEvVHePnIHZbBQtdTV9FGPSAVMUrH0qKwnZd4Lu7fsR KltcumPQ0pE9+wQ9x4SrJ+2cF65Cm7r8IXhESvLgwoUltR7nxaHSlW3w4SA6SlGAcr2Z wIvBv5NXAD2UgKIEvTDR/Ce9AE3mSq4eYrGPTAa1FLl9SKE6ByMemXIetoofEeRosnub deeh2n+zFWjWn1pSfG583IVGgT7/tMt3f68kGKXbnNru+T7wBj6UHpwZcivajp3KkX5A khJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=xCNKp0JQjhrCsxG8XxflyHP+2Bs2zUK7BTnw7QmdVyM=; b=jyNxzcmQ5LMaa2VsmhrI2aBYKwcjoR48qmQaInM9hZ4cuaKgDHXVMJW5CasWItrAU7 2gIYlpQ7YSbExnmoFoM9bqhTe7Iad9us2gKnkCmp3Xk2bf9XLt8WOCZHqNwZqmPTEuPZ mbS/fvfDsZv8uqb8ssW/tD40FT2iVwRrbv0t4HchsnR92ErgD7wIZvB2OTenPF0cIuCV 4J1+YURwRkORtnLooDdYJiuQvzMxt8KBZ51HjLwbL11WTTJFJxZU1+FDY8IwRgtvDZ/d 1NISx0whdQ1l4O0eARxIZ/i2qGross9Z0fHudiTUgksodGZ0Y0DWljjpJbD0JmEh7VgI nm+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="lMoIc6G/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id s15si4423172eja.163.2021.03.06.21.20.32; Sat, 06 Mar 2021 21:20:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="lMoIc6G/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S230147AbhCGFOJ (ORCPT + 99 others); Sun, 7 Mar 2021 00:14:09 -0500 Received: from mail.kernel.org ([198.145.29.99]:35042 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229814AbhCGFNn (ORCPT ); Sun, 7 Mar 2021 00:13:43 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5CAC264FCC; Sun, 7 Mar 2021 05:13:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1615094023; bh=PvfTW34g52/n1sHOI4BkuWxJAfwIJMfcdILEKrtP9wM=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=lMoIc6G/CGlcxO0wIpFcAr4lpnFiINJfiBcCxje3jzoG7yaJqyTXX4sbnF91+mvHy OZB5wlAbukOfW4nFcoDzoBBO65SZnC/BgYD+Sg5sGmSFMCIxjZc/BTFoKykox21H5s xghiZqlWYIZ1diUSqKJVpcOhoi4hmMw+r/FKU+9SJNYmVKnIrMhhtcuz2Xegau0e/M FAcEXfHPNxCrwwFfmzqSvEjH/C0QbtJEP2Er1dNi5Z4+uT0LiQgiNs2ekj+LrOyrzh f/rz9YuKYvDnZpfvCSu+Qu+AQDb6J2mq1LSD3/9/Auvd0CQj/kJb6Fn/oSP7J0Ls1C jUFgAWHwhQzBg== Received: by paulmck-ThinkPad-P72.home (Postfix, from userid 1000) id 262283523946; Sat, 6 Mar 2021 21:13:43 -0800 (PST) Date: Sat, 6 Mar 2021 21:13:43 -0800 From: "Paul E. McKenney" To: Davidlohr Bueso Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org, Davidlohr Bueso Subject: Re: [PATCH] tasklet: Remove tasklet_kill_immediate Message-ID: <20210307051343.GJ2696@paulmck-ThinkPad-P72> Reply-To: paulmck@kernel.org References: <20210306213658.12862-1-dave@stgolabs.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210306213658.12862-1-dave@stgolabs.net> User-Agent: Mutt/1.9.4 (2018-02-28) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Mar 06, 2021 at 01:36:58PM -0800, Davidlohr Bueso wrote: > Ever since RCU was converted to softirq, it has no users. > > Signed-off-by: Davidlohr Bueso That was a long time ago... Acked-by: Paul E. McKenney > --- > include/linux/interrupt.h | 1 - > kernel/softirq.c | 32 -------------------------------- > 2 files changed, 33 deletions(-) > > diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h > index 967e25767153..36a2ac6baf9a 100644 > --- a/include/linux/interrupt.h > +++ b/include/linux/interrupt.h > @@ -712,7 +712,6 @@ static inline void tasklet_enable(struct tasklet_struct *t) > } > > extern void tasklet_kill(struct tasklet_struct *t); > -extern void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu); > extern void tasklet_init(struct tasklet_struct *t, > void (*func)(unsigned long), unsigned long data); > extern void tasklet_setup(struct tasklet_struct *t, > diff --git a/kernel/softirq.c b/kernel/softirq.c > index 9908ec4a9bfe..8b44ab9a2f69 100644 > --- a/kernel/softirq.c > +++ b/kernel/softirq.c > @@ -658,38 +658,6 @@ static void run_ksoftirqd(unsigned int cpu) > } > > #ifdef CONFIG_HOTPLUG_CPU > -/* > - * tasklet_kill_immediate is called to remove a tasklet which can already be > - * scheduled for execution on @cpu. > - * > - * Unlike tasklet_kill, this function removes the tasklet > - * _immediately_, even if the tasklet is in TASKLET_STATE_SCHED state. > - * > - * When this function is called, @cpu must be in the CPU_DEAD state. > - */ > -void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu) > -{ > - struct tasklet_struct **i; > - > - BUG_ON(cpu_online(cpu)); > - BUG_ON(test_bit(TASKLET_STATE_RUN, &t->state)); > - > - if (!test_bit(TASKLET_STATE_SCHED, &t->state)) > - return; > - > - /* CPU is dead, so no lock needed. */ > - for (i = &per_cpu(tasklet_vec, cpu).head; *i; i = &(*i)->next) { > - if (*i == t) { > - *i = t->next; > - /* If this was the tail element, move the tail ptr */ > - if (*i == NULL) > - per_cpu(tasklet_vec, cpu).tail = i; > - return; > - } > - } > - BUG(); > -} > - > static int takeover_tasklets(unsigned int cpu) > { > /* CPU is dead, so no lock needed. */ > -- > 2.26.2 >