Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1142132pxb; Wed, 10 Feb 2021 00:43:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJyQmmGU36Uq/gKEuOuVhMgti0lWmVvmnwk5brwCgHSJN/1nzBD0bzKoDRuvs0LLtPgL0eBe X-Received: by 2002:a50:ccc1:: with SMTP id b1mr2217197edj.307.1612946631483; Wed, 10 Feb 2021 00:43:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612946631; cv=none; d=google.com; s=arc-20160816; b=uyPBk82AtlqmQxMDMh+bKwZzmOKmg3s7mOLu2PNwQUhCxpn6c1lXpmQlHK2kJ8e5Kq YyVEjQYnt5R2V6JuH3VafX2bvkEMSVh2rYjKB39+PL3RDHPWaWkyuV3dV/vS5tXVN/6K EiKB8YLe3H16XD19MR7JerA2JE4dYL/oZZCw6fkMMuNI/3xC1XzZFMj5NSp9UNJj/t1W HmlHSgxc+HDGbzrV0cn+IIYYUcjeA+U+TyU8YnAl315Pp0EQw2YvAcPgSwIStVSVNdT7 Ia5rlhFXzsjCEBzVGRo1OCJiG8uUTHGMEd/uyF7KFOEsUis4CjC05SN09zy8hTNZQhN4 W/ow== 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=Q0Jsk4zfyYZ71+na2dsG2YYiakrgojlmlDClxVhjTG8=; b=MR8PK5rxnGyQs2IGld+y6CHT0YRoZR79t0YrwMXVkrshDQCXdec3wIl0qiI3e56GMd l0AAWh3FzCuXKfDCw/G+RdxOeSiMXyPdBCplvJspmq49ZJF9zG5q5IOo4Z0L3qYh7n7h jHozArJjOTqhM5eTxlcjmYYQVzdj/+/oND6U5s+7o+nwn52gh6oDJqIofJGy/UoiBJkm TpZHcE4UH+2akpVd8Zn+Hg5dUDhSdAuveJe36/ZLgRS0ulbtQj0t+YAdO7NEysRbiuXa JLuBkpw04CXCvWbM5jeBUnzFz/IJGQMf3aFUDtkERv29zbQp6UHnl79yOQt0WL5Bfu16 g6rw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=GsNW6pT9; 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 jg13si1019140ejc.669.2021.02.10.00.43.27; Wed, 10 Feb 2021 00:43:51 -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=@linuxfoundation.org header.s=korg header.b=GsNW6pT9; 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 S231802AbhBJH2h (ORCPT + 99 others); Wed, 10 Feb 2021 02:28:37 -0500 Received: from mail.kernel.org ([198.145.29.99]:38362 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232499AbhBJH1N (ORCPT ); Wed, 10 Feb 2021 02:27:13 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id E0EAA64E32; Wed, 10 Feb 2021 07:26:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1612941992; bh=h5aoe/jOHYaMcTgcBJi5YW8xNBqHjK9eF+9xhJ40xVU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GsNW6pT9hwr9RG3jmzpAYBRsx3142303lE2ZvIVYp3+8LuQiTtI9XajsoA1GmEmBe KG8hmZV7kPGe0Sa8yM15RA4ktjyv6jVz7xRb44yFYSpFq3tuCEfTg4ObxY7Rhnusde rkWNPlMxvfTxMfQaLUXgFhwRdIK/ZKtsRTvFyV5w= Date: Wed, 10 Feb 2021 08:26:28 +0100 From: Greg KH To: John Hubbard Cc: Minchan Kim , Andrew Morton , linux-mm , LKML , surenb@google.com, joaodias@google.com, willy@infradead.org Subject: Re: [PATCH v2] mm: cma: support sysfs Message-ID: References: <7cc229f4-609c-71dd-9361-063ef1bf7c73@nvidia.com> <09e60732-6a46-dd00-f9d5-4ef17ee685c8@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 09, 2021 at 11:16:07PM -0800, John Hubbard wrote: > On 2/9/21 11:12 PM, Minchan Kim wrote: > ... > > > > Agreed. How about this for the warning part? > > > > > > > > + > > > > +/* > > > > + * note: kobj_type should provide a release function to free dynamically > > > > + * allocated object since kobject is responsible for controlling lifespan > > > > + * of the object. However, cma_area is static object so technially, it > > > > + * doesn't need release function. It's very exceptional case so pleaes > > > > + * do not follow this model. > > > > + */ > > > > static struct kobj_type cma_ktype = { > > > > .sysfs_ops = &kobj_sysfs_ops, > > > > .default_groups = cma_groups > > > > + .release = NULL, /* do not follow. See above */ > > > > }; > > > > > > > > > > No, please no. Just do it the correct way, what is the objection to > > > creating a few dynamic kobjects from the heap? How many of these are > > > you going to have that it will somehow be "wasteful"? > > > > > > Please do it properly. > > > > Oh, I misunderstood your word "don't provide a release function for the > > kobject" so thought you agreed on John. If you didn't, we are stuck again: > > IIUC, the objection from John was the cma_stat lifetime should be on parent > > object, which is reasonable and make code simple. > > Frankly speaking, I don't have strong opinion about either approach. > > John? > > > > We should do it as Greg requests, now that it's quite clear that he's insisting > on this. Not a big deal. > > I just am not especially happy about the inability to do natural, efficient > things here, such as use a statically allocated set of things with sysfs. And > I remain convinced that the above is not "improper"; it's a reasonable > step, given the limitations of the current sysfs design. I just wanted to say > that out loud, as my proposal sinks to the bottom of the trench here. haha :) What is "odd" is that you are creating an object in the kernel that you _never_ free. That's not normal at all in the kernel, and so, your wish to have a kobject that you never free represent this object also is not normal :) thanks, greg k-h