[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZJSZrXrzPXT9j4sr@gmail.com>
Date: Thu, 22 Jun 2023 11:57:49 -0700
From: Breno Leitao <leitao@...ian.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Jonathan Corbet <corbet@....net>, Jens Axboe <axboe@...nel.dk>,
Pavel Begunkov <asml.silence@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, leit@...a.com,
Arnd Bergmann <arnd@...db.de>,
Steve French <stfrench@...rosoft.com>,
Lu Baolu <baolu.lu@...ux.intel.com>,
Jiri Slaby <jirislaby@...nel.org>,
Stephen Hemminger <stephen@...workplumber.org>,
Jason Gunthorpe <jgg@...pe.ca>,
Simon Ser <contact@...rsion.fr>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
"open list:IO_URING" <io-uring@...r.kernel.org>,
"open list:NETWORKING [GENERAL]" <netdev@...r.kernel.org>
Subject: Re: [PATCH] io_uring: Add io_uring command support for sockets
On Thu, Jun 22, 2023 at 07:03:04PM +0200, Greg Kroah-Hartman wrote:
> On Thu, Jun 22, 2023 at 09:38:15AM -0700, Breno Leitao wrote:
> > On Thu, Jun 22, 2023 at 06:10:00PM +0200, Greg Kroah-Hartman wrote:
> > > On Thu, Jun 22, 2023 at 08:02:37AM -0700, Breno Leitao wrote:
> > > > On Thu, Jun 22, 2023 at 07:20:48AM +0200, Greg Kroah-Hartman wrote:
> > > > > On Wed, Jun 21, 2023 at 04:21:26PM -0700, Breno Leitao wrote:
> > > > > > --- a/Documentation/userspace-api/ioctl/ioctl-number.rst
> > > > > > +++ b/Documentation/userspace-api/ioctl/ioctl-number.rst
> > > > > > @@ -361,6 +361,7 @@ Code Seq# Include File Comments
> > > > > > 0xCB 00-1F CBM serial IEC bus in development:
> > > > > > <mailto:michael.klein@...fin.lb.shuttle.de>
> > > > > > 0xCC 00-0F drivers/misc/ibmvmc.h pseries VMC driver
> > > > > > +0xCC A0-BF uapi/linux/io_uring.h io_uring cmd subsystem
> > > > >
> > > > > This change is nice, but not totally related to this specific one,
> > > > > shouldn't it be separate?
> > > >
> > > > This is related to this patch, since I am using it below, in the
> > > > following part:
> > > >
> > > > +#define SOCKET_URING_OP_SIOCINQ _IOR(0xcc, 0xa0, int)
> > > > +#define SOCKET_URING_OP_SIOCOUTQ _IOR(0xcc, 0xa1, int)
> > > >
> > > > Should I have a different patch, even if they are related?
> > >
> > > Yes, as you are not using the 0xa2-0xbf range that you just carved out
> > > here, right? Where did those numbers come from?
> >
> > Correct. For now we are just using 0xa0 and 0xa1, and eventually we
> > might need more ioctls numbers.
> >
> > I got these numbers finding a unused block and having some room for
> > expansion, as suggested by Documentation/userspace-api/ioctl/ioctl-number.rst,
> > that says:
> >
> > If you are writing a driver for a new device and need a letter, pick an
> > unused block with enough room for expansion: 32 to 256 ioctl commands.
>
> So is this the first io_uring ioctl? If so, why is this an ioctl and
> not just a "normal" io_uring call?
This is a way to pass a generic command to file. This is not a ioctl per
se (not called through ioctl). I am leveraging the ioctl to embedded the
"direction" and "size" information in the command itself.
I can defintely do something as the following, if it is a better
implementation:
#define SOCKET_URING_OP_SIOCINQ 0
#define SOCKET_URING_OP_SIOCOUTQ 1
Powered by blists - more mailing lists