Re: [PATCH RFC PKS/PMEM 22/58] fs/f2fs: Utilize new kmap_thread()
From: Eric Biggers
Date: Mon Oct 12 2020 - 12:19:55 EST
On Sun, Oct 11, 2020 at 11:56:35PM -0700, Ira Weiny wrote:
> >
> > And I still don't really understand. After this patchset, there is still code
> > nearly identical to the above (doing a temporary mapping just for a memcpy) that
> > would still be using kmap_atomic().
>
> I don't understand. You mean there would be other call sites calling:
>
> kmap_atomic()
> memcpy()
> kunmap_atomic()
Yes, there are tons of places that do this. Try 'git grep -A6 kmap_atomic'
and look for memcpy().
Hence why I'm asking what will be the "recommended" way to do this...
kunmap_thread() or kmap_atomic()?
> And since I don't know the call site details if there are kmap_thread() calls
> which are better off as kmap_atomic() calls I think it is worth converting
> them. But I made the assumption that kmap users would already be calling
> kmap_atomic() if they could (because it is more efficient).
Not necessarily. In cases where either one is correct, people might not have
put much thought into which of kmap() and kmap_atomic() they are using.
- Eric