Re: [PATCH v2 02/11] mm/hmm: use reference counting for HMM struct v2

From: John Hubbard
Date: Thu Mar 28 2019 - 20:39:45 EST


On 3/28/19 2:21 PM, Jerome Glisse wrote:
> On Thu, Mar 28, 2019 at 01:43:13PM -0700, John Hubbard wrote:
>> On 3/28/19 12:11 PM, Jerome Glisse wrote:
>>> On Thu, Mar 28, 2019 at 04:07:20AM -0700, Ira Weiny wrote:
>>>> On Mon, Mar 25, 2019 at 10:40:02AM -0400, Jerome Glisse wrote:
>>>>> From: JÃrÃme Glisse <jglisse@xxxxxxxxxx>
[...]
>>>>> @@ -67,14 +78,9 @@ struct hmm {
>>>>> */
>>>>> static struct hmm *hmm_register(struct mm_struct *mm)
>>>>> {
>>>>> - struct hmm *hmm = READ_ONCE(mm->hmm);
>>>>> + struct hmm *hmm = mm_get_hmm(mm);
>>>>
>>>> FWIW: having hmm_register == "hmm get" is a bit confusing...
>>>
>>> The thing is that you want only one hmm struct per process and thus
>>> if there is already one and it is not being destroy then you want to
>>> reuse it.
>>>
>>> Also this is all internal to HMM code and so it should not confuse
>>> anyone.
>>>
>>
>> Well, it has repeatedly come up, and I'd claim that it is quite
>> counter-intuitive. So if there is an easy way to make this internal
>> HMM code clearer or better named, I would really love that to happen.
>>
>> And we shouldn't ever dismiss feedback based on "this is just internal
>> xxx subsystem code, no need for it to be as clear as other parts of the
>> kernel", right?
>
> Yes but i have not seen any better alternative that present code. If
> there is please submit patch.
>

Ira, do you have any patch you're working on, or a more detailed suggestion there?
If not, then I might (later, as it's not urgent) propose a small cleanup patch
I had in mind for the hmm_register code. But I don't want to duplicate effort
if you're already thinking about it.


thanks,
--
John Hubbard
NVIDIA