Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp252015pxb; Mon, 8 Feb 2021 22:18:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJyoLsMLP0KKZON0CZcli0Sb4qL2g9gsbJucYsTPktkGCrAwNhJK4gZvoSwcqW7s4N3FPgJn X-Received: by 2002:a50:e186:: with SMTP id k6mr15651419edl.215.1612851491022; Mon, 08 Feb 2021 22:18:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612851491; cv=none; d=google.com; s=arc-20160816; b=GKLlBMzDuefLgS4OT3V/u5x9dazUeV+RYyaULkLbrGaG93TclymRiZfMFguF15iiBl IJERWTBZmsp0aESC+o4f/EixAjIvZsEnI0aMMdRp0EOMTOwcxCjxbT1H22yikQ2MPdoy Lloc0yBT7lgFkZKKEocXVGB3FBN0eamHpAKXvcPPZaRwIh6HqY9LXL+r8whIVO3/eWO3 HytkDhcBxCmeEANVD7FXFOFhS1Kyu+kLzHB6gLcfYs7bHW0cvfovZ0g7fErmpJYC2+oW gF8hB8VnppugwQo2phqgEp6EklkkCyFTqGGboUYpHRnTDKGOFrKJvc6H1FuOql0RQ5wn 7y1g== 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=m5bYZbDCu8+SIOq0+lb6u5m/IFe2Fs2UCm+0LCZktHI=; b=pzGRZjnmuQw7f4ubrkj6HwaIdbiN43+OyjzWeTAxnv/N0Afzd5iTQADYyF25QtCgEo b61C5UAzMGf96cy3ikWjVCYYmbiCQsKsh8Je6tKcQIZ5LgoyfZizFObMHJNge90qKg1B n+CuewpQz1wPVdZFvkVpAceWWkkpwzAgP9J5cnqH6h3thiJLn1BmpLWhQ47eKFRX+cDL 3btN5y9bSx0uPd0iQ8BFs82vs+EPivOmhUQO3ypwUZxKx68okjvoGXRzVHnmoQp12BWo TkqgnZE0XckVnQvub6rmH84nqZmGqSHQY43eyLPIJSssU+z5k57qndPG95xPXWGjqEiu oyWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2Po3kesr; 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 hq38si11953361ejc.21.2021.02.08.22.17.46; Mon, 08 Feb 2021 22:18:11 -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=2Po3kesr; 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 S229639AbhBIGOq (ORCPT + 99 others); Tue, 9 Feb 2021 01:14:46 -0500 Received: from mail.kernel.org ([198.145.29.99]:40164 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230077AbhBIGOc (ORCPT ); Tue, 9 Feb 2021 01:14:32 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 52CFD64EB4; Tue, 9 Feb 2021 06:13:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1612851232; bh=vXvZjO+dJ8YWmqHgcCh15Ljh8Qtw2DaVGWOZH6EHT0k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=2Po3kesrKpij7luyyByApUUHGyuySlg8ir7gDdTWQMwPAG2oVcqY7PkOYOyyZkdHR 9UCuHmQUNEgynRm8VV3Y8+52dGbPgvuzT4YLztJfyDhpku52eLhKzsg0h3UyV7E2DJ mJv3z2j3BLNRH9lPryeE/m71TG8Z7rOffQwEK4Ik= Date: Tue, 9 Feb 2021 07:13:48 +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: <20210208180142.2765456-1-minchan@kernel.org> <43cd6fc4-5bc5-50ec-0252-ffe09afd68ea@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <43cd6fc4-5bc5-50ec-0252-ffe09afd68ea@nvidia.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 08, 2021 at 05:57:17PM -0800, John Hubbard wrote: > On 2/8/21 3:36 PM, Minchan Kim wrote: > ... > > > > char name[CMA_MAX_NAME]; > > > > +#ifdef CONFIG_CMA_SYSFS > > > > + struct cma_stat *stat; > > > > > > This should not be a pointer. By making it a pointer, you've added a bunch of pointless > > > extra code to the implementation. > > > > Originally, I went with the object lifetime with struct cma as you > > suggested to make code simple. However, Greg KH wanted to have > > release for kobj_type since it is consistent with other kboject > > handling. > > Are you talking about the kobj in your new struct cma_stat? That seems > like circular logic if so. I'm guessing Greg just wanted kobj methods > to be used *if* you are dealing with kobjects. That's a narrower point. > > I can't imagine that he would have insisted on having additional > allocations just so that kobj freeing methods could be used. :) Um, yes, I was :) You can not add a kobject to a structure and then somehow think you can just ignore the reference counting issues involved. If a kobject is part of a structure then the kobject is responsible for controling the lifespan of the memory, nothing else can be. So by making the kobject dynamic, you properly handle that memory lifespan of the object, instead of having to worry about the lifespan of the larger object (which the original patch was not doing.) Does that make sense? thanks, greg k-h