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

tomorrow Wang (王德明)
2022-09-27T01:22:08Z

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

Hi

Why kvm_vfio_group_add use file.

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

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

> from: Al Viro <viro@ftp.linux.org.uk> 代表 Al Viro
> time: 2022-9-22 3:38
> to: Jason Gunthorpe <jgg@nvidia.com>
> pbonzini@redhat.com; kvm@vger.kernel.org; linux-kernel@vger.kernel.org
> 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@inspur.com>
> > > ---
> > > 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 #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 3780 bytes --]