Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp434634pxk; Wed, 9 Sep 2020 09:05:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxyBRo1jgE6rusfVvScipPYthPtEEIfn1jCjKwMuHiTMgV3fTyIZH2iV6a0PTZykGBwjoGK X-Received: by 2002:a17:906:2c14:: with SMTP id e20mr4568671ejh.205.1599667552380; Wed, 09 Sep 2020 09:05:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599667552; cv=none; d=google.com; s=arc-20160816; b=TfIYlCTJU0bP3++xTBYszgqRUSzwFAM4/FLaBB8PSnlg5r6geJvJnZ102HdCWa1SLW s1mtaFbpdzRdBxqrVcxTCORE+sDCpa/8wguSsEcH6g1JAGz18KnTLVXWqspyZ/MQmEV0 aW2nEZ0zmPLHv7CLWcggTBm1ykUXvfI64jaQtvSOU8eXY+OsDfH7Sly2549gCUSE/5Px F2mVnn8A0iF4afNIDnrqMZ14cVc7BWqrbiUyzLdCusbpEiV6RJTkGnZoc78WSWocskdE Z+zxEgibVBLwsDO9Gw0JRzrG7VlVRISsdKirfV15wdGMszmDT0IO1v7hyRclms19BYWA KlKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=05cqLnvwurAG2nT9cn66pd3c6M1ZLUU9TcHpBge76Y0=; b=e4Wg3eaTOMm+1/7/3zv65LwQaZ4s37PlAfXjyL6NTMDSI39I6e2Yvoq5yFO6e5lAen P7ShvdgCC0EPycAFBqVYn9RFHKR/4VwIuAej3m5suYuMN40KIcqg45/YtdpCsaq593qC 3UvSTRtsu+SWNIuI7ZRxzwgXPrxIUQjehr9/Nx4V9e1xtUy5GrqX1hqfWexvZKvO16AJ E06VC9xNnzhb4dPxfRJ+dDmWdV301Ocrh3iW7/ahhzLnaTbCEMvR2aLl8UF3fjeoN9of ZyOL2ROs2kflBzrd1I0x/aLDVV4aQJwLts/57JjIINTY9zeUxV+B1nFr8ZAFjyw8ovKF lmsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="qx/KDtIx"; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jr1si1862422ejb.164.2020.09.09.09.05.28; Wed, 09 Sep 2020 09:05:52 -0700 (PDT) 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=@linaro.org header.s=google header.b="qx/KDtIx"; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730733AbgIIQDB (ORCPT + 99 others); Wed, 9 Sep 2020 12:03:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730569AbgIIP5U (ORCPT ); Wed, 9 Sep 2020 11:57:20 -0400 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 510F9C0617B9 for ; Wed, 9 Sep 2020 06:37:56 -0700 (PDT) Received: by mail-wr1-x441.google.com with SMTP id e16so3020750wrm.2 for ; Wed, 09 Sep 2020 06:37:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=05cqLnvwurAG2nT9cn66pd3c6M1ZLUU9TcHpBge76Y0=; b=qx/KDtIxcASxVw6BmBwCFkswRfMEmntnHNylhIbTKyXIxmiihdUuq/sjUxVBYLQKWE tclmv23Xg6FYqvItYPbv/ZXJ8RHbNh6VssaL0zFUVFiDjHQZlOQ6qI9Qjn6LK/zpx652 HeDWQzfyNDFxUAVNirHx0uFEGMyxl4O+X6OWeDmD2UJbEhvkbFq0AZzaR7sy0nWhHnp5 kCbHrjXfVGMw85pls6rTNhXvbwD+XNZCKrV4UFC8+4FAjwBi1aWTn9NDYTZJ11elKI68 0cnSIioQGtivTzQl3Nv63qH2DGjW5y4gkBmElrTr1aQ2KIiDWmhmMpzg81dLkuPv5DYK nGDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=05cqLnvwurAG2nT9cn66pd3c6M1ZLUU9TcHpBge76Y0=; b=pmrW8hPKneljTKbKU/nj3Yuh67zZMI5wfbN33jUKkKRBZ+wAnBh0jojOgs0PxJDOn2 V6914blw+5wWPbbV3eBl3BF3e3AXrDmM1m+4q7ptO3jmlI8MVMPRM5T2eyFh4fBh8/tu DEaao3NvYShVnBiYk+RDPc/sPKMXUMiMyeJUAVCHefnCLumMWs+u9OCGhyMtmg/0D4Ng uDG7bapiRPh0OIcFMR+Yfo/evRjW6q0exgtq2cGiyl/I5oPFA6+h3IuwHHGpENWxS4VM cSPdDMgfIL4aJLN8VlcjO8fcnAHGiM9YVpIObh5bNKbsmRLqPum9GoAl4Gie1bGcyy4m IbVQ== X-Gm-Message-State: AOAM531iYlQdk6dM863mfvjlixArHu8126tXeQYbsEqCA12YCij8k7dR 26CS5QtiGjU5Tj9s1Zr0xROYRg== X-Received: by 2002:adf:e4c9:: with SMTP id v9mr3809264wrm.375.1599658674956; Wed, 09 Sep 2020 06:37:54 -0700 (PDT) Received: from holly.lan (cpc141214-aztw34-2-0-cust773.18-1.cable.virginm.net. [86.9.19.6]) by smtp.gmail.com with ESMTPSA id w7sm4302641wrm.92.2020.09.09.06.37.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Sep 2020 06:37:54 -0700 (PDT) Date: Wed, 9 Sep 2020 14:37:52 +0100 From: Daniel Thompson To: Davidlohr Bueso Cc: dianders@chromium.org, jason.wessel@windriver.com, oleg@redhat.com, kgdb-bugreport@lists.sourceforge.net, linux-kernel@vger.kernel.org, Davidlohr Bueso Subject: Re: [PATCH v2] kdb: Use newer api for tasklist scanning Message-ID: <20200909133752.t7zbnaupd3y22bzd@holly.lan> References: <20200907134614.guc4tzj3knnihbe4@holly.lan> <20200907203206.21293-1-dave@stgolabs.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200907203206.21293-1-dave@stgolabs.net> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 07, 2020 at 01:32:06PM -0700, Davidlohr Bueso wrote: > This kills using the do_each_thread/while_each_thread combo to > iterate all threads and uses for_each_process_thread() instead, > maintaining semantics. while_each_thread() is ultimately racy > and deprecated; although in this particular case there is no > concurrency so it doesn't matter. Still lets trivially get rid > of two more users. > > Acked-by: Oleg Nesterov > Signed-off-by: Davidlohr Bueso Applied. Thanks! Daniel. > --- > kernel/debug/gdbstub.c | 4 ++-- > kernel/debug/kdb/kdb_bt.c | 4 ++-- > kernel/debug/kdb/kdb_main.c | 8 ++++---- > kernel/debug/kdb/kdb_private.h | 4 ---- > 4 files changed, 8 insertions(+), 12 deletions(-) > > diff --git a/kernel/debug/gdbstub.c b/kernel/debug/gdbstub.c > index cc3c43dfec44..b52ebff09ac8 100644 > --- a/kernel/debug/gdbstub.c > +++ b/kernel/debug/gdbstub.c > @@ -725,7 +725,7 @@ static void gdb_cmd_query(struct kgdb_state *ks) > } > } > > - do_each_thread(g, p) { > + for_each_process_thread(g, p) { > if (i >= ks->thr_query && !finished) { > int_to_threadref(thref, p->pid); > ptr = pack_threadid(ptr, thref); > @@ -735,7 +735,7 @@ static void gdb_cmd_query(struct kgdb_state *ks) > finished = 1; > } > i++; > - } while_each_thread(g, p); > + } > > *(--ptr) = '\0'; > break; > diff --git a/kernel/debug/kdb/kdb_bt.c b/kernel/debug/kdb/kdb_bt.c > index 18e03aba2cfc..1f9f0e47aeda 100644 > --- a/kernel/debug/kdb/kdb_bt.c > +++ b/kernel/debug/kdb/kdb_bt.c > @@ -149,14 +149,14 @@ kdb_bt(int argc, const char **argv) > return 0; > } > /* Now the inactive tasks */ > - kdb_do_each_thread(g, p) { > + for_each_process_thread(g, p) { > if (KDB_FLAG(CMD_INTERRUPT)) > return 0; > if (task_curr(p)) > continue; > if (kdb_bt1(p, mask, btaprompt)) > return 0; > - } kdb_while_each_thread(g, p); > + } > } else if (strcmp(argv[0], "btp") == 0) { > struct task_struct *p; > unsigned long pid; > diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c > index 5c7949061671..930ac1b25ec7 100644 > --- a/kernel/debug/kdb/kdb_main.c > +++ b/kernel/debug/kdb/kdb_main.c > @@ -2299,10 +2299,10 @@ void kdb_ps_suppressed(void) > if (kdb_task_state(p, mask_I)) > ++idle; > } > - kdb_do_each_thread(g, p) { > + for_each_process_thread(g, p) { > if (kdb_task_state(p, mask_M)) > ++daemon; > - } kdb_while_each_thread(g, p); > + } > if (idle || daemon) { > if (idle) > kdb_printf("%d idle process%s (state I)%s\n", > @@ -2370,12 +2370,12 @@ static int kdb_ps(int argc, const char **argv) > } > kdb_printf("\n"); > /* Now the real tasks */ > - kdb_do_each_thread(g, p) { > + for_each_process_thread(g, p) { > if (KDB_FLAG(CMD_INTERRUPT)) > return 0; > if (kdb_task_state(p, mask)) > kdb_ps1(p); > - } kdb_while_each_thread(g, p); > + } > > return 0; > } > diff --git a/kernel/debug/kdb/kdb_private.h b/kernel/debug/kdb/kdb_private.h > index 2e296e4a234c..a4281fb99299 100644 > --- a/kernel/debug/kdb/kdb_private.h > +++ b/kernel/debug/kdb/kdb_private.h > @@ -230,10 +230,6 @@ extern struct task_struct *kdb_curr_task(int); > > #define kdb_task_has_cpu(p) (task_curr(p)) > > -/* Simplify coexistence with NPTL */ > -#define kdb_do_each_thread(g, p) do_each_thread(g, p) > -#define kdb_while_each_thread(g, p) while_each_thread(g, p) > - > #define GFP_KDB (in_interrupt() ? GFP_ATOMIC : GFP_KERNEL) > > extern void *debug_kmalloc(size_t size, gfp_t flags); > -- > 2.26.2