Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3143705pxj; Mon, 7 Jun 2021 03:31:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyr4hKE3wwG2kQ7h5upQBPIFrQXv5LrH39UQl5H+YpHgdO/2dGrpkzpOBO7HVrgD52vn9Eo X-Received: by 2002:aa7:d28a:: with SMTP id w10mr19128649edq.23.1623061882112; Mon, 07 Jun 2021 03:31:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623061882; cv=none; d=google.com; s=arc-20160816; b=H4DqDI+8cEr3lISfQYHE02DY/cExnbAjxwfUsT3e4VCsTPWsdOlm6/DLH6uD5tLmUW wN5dL98SDIeq0o88Ua52e8o0Nv7Xva0ZtORtWMq3mchZTOQpSwdnYFrh0ALMrpIKbz0e 230qHoVcV/7+1OGGtRg64TcApny1/DQpFHR/PAwq+B4tZKK27ZU2rP6tLctFJ+BMVRye 2BcdpLv9yQq1EbCpK3aIRggYZuX/6xos/XluyIU8ITV/oPZgh4W4SrUPS6BvewsS54DF PNxT/g3j2wtcrmHSuZEi3vRxCoVapYrjPqBX3sz7elkfL6rb+PxIoTpy4um6nFKkTNkd PvWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=yKqqO8+WZK/umeNC1hoDY4860DO2vOrBw5DwHnBPZpY=; b=m7dY8JWMGirQ20mqH9gMKfAXqfXU41fOpWgaqW3WgSnntRFNO87NWdgBIqY6iAcBhz JL6W37n/2ZWcutVnT5maXOCFWLgj1tureiPqh9Z5ptSXu8Piovj2gWJTBxY+yckNBnty Ooup0Y/OXs5ur4Sdi1MATjUK1nKTfW8ZSVfD0xmYrxOu1Ry0qOl3KPex4LrlpeN7UiNp 22nl2KOPJtqaMLmwdcMQ2++LQ95kB1SxadJrw+8dQbTebaychONN0qkz04N8OuME6llP VvgbcI0+/kUr/XSK5f0sKmj8JmQSn6fTGy2a7GUtQGBHBddAevDIAXE+nnsqX/7ZJ9qx G/cg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=P42VOUdo; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z11si12284260edq.40.2021.06.07.03.30.58; Mon, 07 Jun 2021 03:31:22 -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=@linuxfoundation.org header.s=korg header.b=P42VOUdo; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230361AbhFGK32 (ORCPT + 99 others); Mon, 7 Jun 2021 06:29:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:51888 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230231AbhFGK31 (ORCPT ); Mon, 7 Jun 2021 06:29:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 91E336108E; Mon, 7 Jun 2021 10:27:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623061647; bh=MPZlRiKAtlsCjP63x3SsG8YH8KEQoq/z47yCAdSjJXA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=P42VOUdoR/SMofHlgXAvqJGhZ04Yq/FoJRBDDT33sCVLhcGqWnuJyhla0iVmjA0zF vloCvR6wytQQFnp0VOpOKYCerDRhhCGmy4GzTpcz5ODoXQvFKEyMQP9zbyDrSpS48J 8o+18C0IE/pWimNBCFOq1OOTDPLvGbyorOXtKx7w= Date: Mon, 7 Jun 2021 12:27:24 +0200 From: Greg Kroah-Hartman To: Julian Wiedmann Cc: Tejun Heo , Lai Jiangshan , linux-kernel@vger.kernel.org Subject: Re: [PATCH wq/for-next 2/2] workqueue: let device core create the WQ_UNBOUND attributes Message-ID: References: <20210607094420.2054403-1-jwi@linux.ibm.com> <20210607094420.2054403-2-jwi@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210607094420.2054403-2-jwi@linux.ibm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 07, 2021 at 11:44:20AM +0200, Julian Wiedmann wrote: > Wrap the attributes for a WQ_UNBOUND workqueue in ATTRIBUTE_GROUPS(), > and wire them up in dev->groups so that the device core can manage them > for us. > > As device_add() will add such attributes _prior_ to raising the KOBJ_ADD > uevent, this also makes the initial uevent suppression unnecessary. > > Signed-off-by: Julian Wiedmann > --- > kernel/workqueue.c | 51 ++++++++++++++++++++-------------------------- > 1 file changed, 22 insertions(+), 29 deletions(-) > > diff --git a/kernel/workqueue.c b/kernel/workqueue.c > index 817dc2d7438a..629859ac5262 100644 > --- a/kernel/workqueue.c > +++ b/kernel/workqueue.c > @@ -5449,6 +5449,9 @@ static ssize_t wq_pool_ids_show(struct device *dev, > return written; > } > > +static struct device_attribute wq_sysfs_unbound_attr_pool_ids = > + __ATTR(pool_ids, 0444, wq_pool_ids_show, NULL); __ATTR_RO() please. > + > static ssize_t wq_nice_show(struct device *dev, struct device_attribute *attr, > char *buf) > { > @@ -5502,6 +5505,9 @@ static ssize_t wq_nice_store(struct device *dev, struct device_attribute *attr, > return ret ?: count; > } > > +static struct device_attribute wq_sysfs_unbound_attr_nice = > + __ATTR(nice, 0644, wq_nice_show, wq_nice_store); __ATTR_RW() > + > static ssize_t wq_cpumask_show(struct device *dev, > struct device_attribute *attr, char *buf) > { > @@ -5539,6 +5545,9 @@ static ssize_t wq_cpumask_store(struct device *dev, > return ret ?: count; > } > > +static struct device_attribute wq_sysfs_unbound_attr_cpumask = > + __ATTR(cpumask, 0644, wq_cpumask_show, wq_cpumask_store); __ATTR_RW() thanks, greg k-h