Re: [PATCH] vfio: Use filp instead of fd

From: tomorrow Wang (王德明)
Date: Mon Sep 26 2022 - 21:22:09 EST


Hi

Why kvm_vfio_group_add use file.

struct file *filp;
.....
filp = fget(fd);

.....
kvg->file = filp;
......
fput(filp);

> from: Al Viro <viro@xxxxxxxxxxxxxxxx> 代表 Al Viro
> time: 2022-9-22 3:38
> to: Jason Gunthorpe <jgg@xxxxxxxxxx>
> pbonzini@xxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> sub: Re: [PATCH] vfio: Use filp instead of fd
>
> On Mon, Sep 26, 2022 at 02:07:43PM -0300, Jason Gunthorpe wrote:
> > On Mon, Sep 26, 2022 at 02:54:07AM -0400, Deming Wang wrote:
> > > The function of kvm_vfio_group_set_spapr_tce and kvm_vfio_group_del
> > > use fd indirectly.But,it only be used for fd.file. So,we can
> > > directly use the struct of file instead.
> > >
> > > Signed-off-by: Deming Wang <wangdeming@xxxxxxxxxx>
> > > ---
> > > virt/kvm/vfio.c | 24 ++++++++++++------------
> > > 1 file changed, 12 insertions(+), 12 deletions(-)
> >
> > I thought about changing this too when I was looking at this.
> > fdget/fdput includes a tiny micro-optimization that is legal here,
> > however I doubt anyone cares about performance on this path.
>
> Microoptimization or not, I'd rather keep fget() limited to cases where we
> really need it. There are non-trivial cases and having them easy to find
is a
> good thing.
>
> Again, the preferred way to do descriptor lookups is fdget() family, not
fget()
> one.

Attachment: smime.p7s
Description: S/MIME cryptographic signature