RE: [External] Re: [PATCH 0/5] Do not request a pointer kaddr when not required

From: Huaisheng HS1 Ye
Date: Tue Jul 24 2018 - 11:41:51 EST


From: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Sent: Tuesday, July 24, 2018 10:50 PM
> > Some functions within fs/dax and dax/super don't need to get kaddr from
> > direct_access. Assigning NULL to kaddr to ->direct_access() is more
> > straightforward and simple than offering a useless local pointer.
> >
> > So all direct_access() need to check the validity of second rank pointer
> > kaddr for NULL assignment. If kaddr equals to NULL, it doesn't need to
> > calculate its value.
> >
> > * This series are supplement to [PATCH v2 00/14]mm: Asynchronous +
> > multithreaded memmap init for ZONE_DEVICE. [1]
> >
> > [1]: https://lkml.org/lkml/2018/7/16/828
>
> This whole series looks good to me. Just a few comments:
>
> 1) Does this series actually depend on the "Asynchronous multithreaded mmap
> init for ZONE_DEVICE" series from Dan? It seems totally independent to me?
> I reviewed yours by applying to linux/master, which worked fine. I ask
> because Dan's series has been delayed to after v4.19, and if yours isn't
> actually dependent it could possibly go in sooner.

This series doesn't depend on Dan's 'Asynchronous multithreaded mmap init
for ZONE_DEVICE'. For the part as pfn, which overlaps Dan's original series.
Because I post them earlier than Dan's, Dan generously dropped the overlapping
from his series and adopted mine to the series of 'Asynchronous multithreaded'.
It is very thankful.

I knew Dan's series would be delayed, I can resend the series, both kaddr and pfn,
for faster merging to mainline.

> 2) I agree with Christian's comment that the changelogs could be improved
> slightly. Remember that the goal of the changelog isn't to describe *what*
> the code is doing, but *why*. We can read that the code now checks if 'kaddr'
> is NULL, and if so we don't calculate it. It's useful to say that callers may
> have no need for 'kaddr', so this patch is prep for allowing them to pass in
> NULL instead of having to pass in a pointer that they then just throw away.

Thanks for advice. I will follow your suggestion during next submission.

> 3) I think you should make one more change to kill the unused 'dummy_addr'
> variable in persistent_memory_claim(). That was the one last case of a dummy
> 'kaddr' type variable that I could find.

Yes, you are right. I haven't updated my code base to latest mainline, so couldn't
notice it. It seems there is a new created file here as dm-writecache.c.
Thanks for hints.

Cheers,
Huaisheng Ye