All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Fabio M. De Francesco" <fmdefrancesco@gmail.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: Evgeniy Dushistov <dushistov@mail.ru>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Ira Weiny <ira.weiny@intel.com>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] fs/ufs: Replace kmap() with kmap_local_page()
Date: Wed, 03 Aug 2022 21:04:32 +0200	[thread overview]
Message-ID: <4784407.31r3eYUQgx@opensuse> (raw)
In-Reply-To: <2589292.k3LOHGUjKi@opensuse>

On martedì 2 agosto 2022 09:06:26 CEST Fabio M. De Francesco wrote:
> On lunedì 16 maggio 2022 16:55:54 CEST Matthew Wilcox wrote:
> > On Mon, May 16, 2022 at 12:19:25PM +0200, Fabio M. De Francesco wrote:
> > > The use of kmap() is being deprecated in favor of kmap_local_page(). 
> With
> > > kmap_local_page(), the mapping is per thread, CPU local and not 
> globally
> > > visible.
> > > 
> > > The usage of kmap_local_page() in fs/ufs is pre-thread, therefore 
> replace
> > > kmap() / kunmap() calls with kmap_local_page() / kunmap_local().
> > > 
> > > kunmap_local() requires the mapping address, so return that address 
> from
> > > ufs_get_page() to be used in ufs_put_page().
> > > 
> > > These changes are essentially ported from fs/ext2 and are largely 
based 
> on
> > > commit 782b76d7abdf ("fs/ext2: Replace kmap() with 
kmap_local_page()").
> > > 
> > > Suggested-by: Ira Weiny <ira.weiny@intel.com>
> > > Reviewed-by: Ira Weiny <ira.weiny@intel.com>
> > > Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
> > 
> > Have you done more than compile-tested this?  I'd like to know that 
it's
> > been tested on a machine with HIGHMEM enabled (in a VM, presumably).
> > UFS doesn't get a lot of testing, and it'd be annoying to put out a
> > patch that breaks the kmap_local() rules.
> > 
> As said in another message of this thread, these changes have only been 
> compile-tested. I can't see anything which may break the rules about 
using 
> local mappings properly.
> 
> I'm working on converting all kmap() call sites I can do across the whole 
> kernel to kmap_local_page(). Practically all of those conversions have 
> already been reviewed / acked, and many of them have already been taken 
by 
> their respective maintainers. Others are still too recent.
> 
> Most of those patches have been properly tested on a QEMU/KVM x86_32 VM, 
> 4GB to 6GB RAM, booting kernels with HIGHMEM64GB enabled.
> 
> Instead, despite this submission is very old, I haven't yet been able to 
> figure out how to test these changes. I really don't know how I can 
create 
> and test a UFS filesystem.
> 
> Can you please help somewhat with hints about how to test this patch or 
> with testing it yourself? I'm thinking of this option because I suppose 
> that you may have access to a Solaris system (if I recall correctly, UFS 
is 
> the default filesystem of that OS. Isn't it?).
> 
> I'm sorry to bother you with this issue, however I'd appreciate any help 
> you may provide. I'd hate to see all patches applied but one :-) 
> 
> Thanks,
> 
> Fabio
> 
For the sake of completeness I'd like to add something that I forgot to 
mention in the last email...

The only reference to creating a ufs file system I can find is many years 
old and shows using 'newfs' which seems to be a precursor to mkfs.[1] mkfs 
does not seem to support ufs.[2][3].

This is why I'm not sure how to begin testing a ufs file system.

[1] https://docs.oracle.com/cd/E19683-01/806-4073/6jd67r9it/index.html
[2] https://linux.die.net/man/8/mkfs
[3] https://linux.die.net/man/5/fs

Thanks,

Fabio







      reply	other threads:[~2022-08-03 19:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-16 10:19 [PATCH v3] fs/ufs: Replace kmap() with kmap_local_page() Fabio M. De Francesco
2022-05-16 14:55 ` Matthew Wilcox
2022-05-16 19:53   ` Ira Weiny
2022-05-16 21:59   ` Fabio M. De Francesco
2022-05-25 15:12   ` Ira Weiny
2022-08-02  7:06   ` Fabio M. De Francesco
2022-08-03 19:04     ` Fabio M. De Francesco [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4784407.31r3eYUQgx@opensuse \
    --to=fmdefrancesco@gmail.com \
    --cc=dushistov@mail.ru \
    --cc=ira.weiny@intel.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.