lkml.org 
[lkml]   [2021]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2] mm: cma: support sysfs
    From
    Date
    On 2/8/21 9:18 PM, John Hubbard wrote:
    > On 2/8/21 8:19 PM, Minchan Kim wrote:
    >> 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. :)
    >>
    >> I have no objection if Greg agree static kobject is okay in this
    >> case. Greg?
    >>
    >
    > What I meant is, no kobject at all in the struct cma_stat member
    > variable. The lifetime of the cma_stat member is the same as the
    > containing struct, so no point in putting a kobject into it.
    >

    ...unless...are you actually *wanting* to keep the lifetimes separate?
    Hmmm, given the short nature of sysfs reads, though, I'd be inclined
    to just let the parent object own the lifetime. But maybe I'm missing
    some design point here?

    thanks,
    --
    John Hubbard
    NVIDIA

    \
     
     \ /
      Last update: 2021-02-09 06:29    [W:6.033 / U:5.300 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site