From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-4.0 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id CB6DB1F45A for ; Wed, 14 Aug 2019 15:27:23 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:in-reply-to; q=dns; s=default; b=FFJA smsK8TUWyhZy8OMuE554iHnrgkzCu9TSOeC2zsGIlu2HqwW3PKnCHXz7FSfApos0 8LEtiXTs4Fui9hJJXFCB9VCtZU3hJtTL43SFzYGxzm5kgLG+ggkfxC2i9SYId0i+ E+cKapdcxeej4nVdx8rouA6+yQ4sKaGWCJFpGh4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:in-reply-to; s=default; bh=Nn3ZhnKM5r cYbulbiVguybifFgQ=; b=d7OWXu88YRigPcjMgSlvrMrS2KSAYjwCnBLTssSpOP CKzASyHXSgYVFvyrtq+VGNGd8K6Bs3Az9qAOY9FmqXkNvxm4kP9LVepp/OyECLJK lmXRPfYmC+CWks+1KIpD6gfJG96wAxYycfglC3CESfWW6pkpIzWBGpT3DWs9MAac Y= Received: (qmail 49511 invoked by alias); 14 Aug 2019 15:27:20 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 49503 invoked by uid 89); 14 Aug 2019 15:27:20 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: mx1.redhat.com Date: Wed, 14 Aug 2019 17:27:12 +0200 From: Oleg Nesterov To: Christian Brauner Cc: linux-kernel@vger.kernel.org, libc-alpha@sourceware.org, alistair23@gmail.com, ebiederm@xmission.com, arnd@arndb.de, dalias@libc.org, torvalds@linux-foundation.org, adhemerval.zanella@linaro.org, fweimer@redhat.com, palmer@sifive.com, macro@wdc.com, zongbox@gmail.com, akpm@linux-foundation.org, viro@zeniv.linux.org.uk, hpa@zytor.com Subject: Re: [PATCH v2 1/1] waitid: Add support for waiting for the current process group Message-ID: <20190814152712.GE11595@redhat.com> References: <20190814130732.23572-1-christian.brauner@ubuntu.com> <20190814130732.23572-2-christian.brauner@ubuntu.com> <20190814141956.GC11595@redhat.com> <20190814143545.tu6xfp2mxmnzwkx4@wittgenstein> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190814143545.tu6xfp2mxmnzwkx4@wittgenstein> User-Agent: Mutt/1.5.24 (2015-08-30) On 08/14, Christian Brauner wrote: > > On Wed, Aug 14, 2019 at 04:19:57PM +0200, Oleg Nesterov wrote: > > On 08/14, Christian Brauner wrote: > > > > > > +static struct pid *find_get_pgrp(pid_t nr) > > > +{ > > > + struct pid *pid; > > > + > > > + if (nr) > > > + return find_get_pid(nr); > > > + > > > + rcu_read_lock(); > > > + pid = get_pid(task_pgrp(current)); > > > + rcu_read_unlock(); > > > + > > > + return pid; > > > +} > > > > I can't say I like this helper... even its name doesn't look good to me. > > Well, naming scheme obviously stolen from find_get_pid(). Not sure if > that doesn't look good as well. ;) find_get_pid() actually tries to find a pid. The helper above does "find" or "use current" depending on nr != 0. > > I forgot that we already have get_task_pid() when I replied to the previous > > version... How about > > > > case P_PGID: > > > > if (upid) > > pid = find_get_pid(upid); > > else > > pid = get_task_pid(current, PIDTYPE_PGID); > > > > ? > > Hmyeah, that works but wouldn't it still be nicer to simply have: > > static struct pid *get_pgrp(pid_t nr) > { > if (nr) > return find_get_pid(nr); > > return get_task_pid(current, PIDTYPE_PGID); > } Who else can ever use it? It saves 4 lines in kernel_waitid() but adds 7 lines outside, and you need another ^] to see these lines if you try to understand what PIDTYPE_PGID actually does. IOW, I think this helper will make waitid less readable for no reason. Christian, I try to never argue when it comes to cosmetic issues, and in this case I won't insist too. Oleg.