Re: [PATCH 1/2] i915: convert to new mount API

From: Sergey Senozhatsky
Date: Fri Aug 02 2019 - 09:10:43 EST


On (08/02/19 13:54), Chris Wilson wrote:
[..]
> > int i915_gemfs_init(struct drm_i915_private *i915)
> > {
> > + struct fs_context *fc = NULL;
> > struct file_system_type *type;
> > struct vfsmount *gemfs;
> > + bool ok = true;
>
> Start with ok = false, we only need to set to true if we succeed in
> reconfiguring.

OK, makes sense.

> > type = get_fs_type("tmpfs");
> > if (!type)
> > @@ -36,18 +39,29 @@ int i915_gemfs_init(struct drm_i915_private *i915)
> > struct super_block *sb = gemfs->mnt_sb;
> > /* FIXME: Disabled until we get W/A for read BW issue. */
> > char options[] = "huge=never";
> > - int flags = 0;
> > - int err;
>
> Hmm, we could avoid this if we used vfs_kernel_mount() directly rather
> than the kern_mount wrapper, as then we pass options through to
> parse_monotithic_mount_data(). Or am I barking up the wrong tree?

Hmm.
Wouldn't this error on !TRANSPARENT_HUGE_PAGECACHE systems?
"huge=never" should be an invalid option when system does
not know about THP.

[..]
> > + if (!fc->ops->parse_monolithic ||
> > + fc->ops->parse_monolithic(fc, options)) {
>
> checkpatch.pl will complain that this should line up with the '('

It doesn't.

-------------------------------------------------
outgoing/0001-i915-convert-to-new-mount-API.patch
-------------------------------------------------
total: 0 errors, 0 warnings, 53 lines checked

outgoing/0001-i915-convert-to-new-mount-API.patch has no obvious style problems and is ready for submission.

-------------------------------------------------------
outgoing/0002-i915-do-not-leak-module-ref-counter.patch
-------------------------------------------------------
total: 0 errors, 0 warnings, 11 lines checked

outgoing/0002-i915-do-not-leak-module-ref-counter.patch has no obvious style problems and is ready for submission.

[..]
> > + if (!ok)
> > + pr_err("i915 gemfs reconfiguration failed\n");
>
> Let's make it a bit more user friendly,
>
> dev_err(i915->drm.dev,
> "Unable to reconfigure internal shmemfs for preferred"
> " allocation strategy; continuing, but performance may suffer.\n");

I guess now checkpatch will complain :)

> Assuming that we can't just use vfs_kern_mount() instead, with the nits
> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>

Thanks.

I'll sit on it for several days, just to see if more feedback will come.

-ss