mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] [PATCH] sys/epoll.h: add epoll ioctls
@ 2024-05-29  6:49 Joe Damato
  2024-05-29 13:17 ` Rich Felker
  0 siblings, 1 reply; 8+ messages in thread
From: Joe Damato @ 2024-05-29  6:49 UTC (permalink / raw)
  To: musl; +Cc: Joe Damato

add two ioctls to get and set struct epoll_params to allow users to
control epoll based busy polling of network sockets.

added to uapi in commit 18e2bf0edf4dd88d9656ec92395aa47392e85b61 (Linux
kernel 6.9 and newer).
---
 include/sys/epoll.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/include/sys/epoll.h b/include/sys/epoll.h
index ac81a841..5f975c4a 100644
--- a/include/sys/epoll.h
+++ b/include/sys/epoll.h
@@ -7,6 +7,7 @@ extern "C" {
 
 #include <stdint.h>
 #include <sys/types.h>
+#include <sys/ioctl.h>
 #include <fcntl.h>
 
 #define __NEED_sigset_t
@@ -54,6 +55,17 @@ __attribute__ ((__packed__))
 #endif
 ;
 
+struct epoll_params {
+	uint32_t busy_poll_usecs;
+	uint16_t busy_poll_budget;
+	uint8_t prefer_busy_poll;
+
+	uint8_t __pad;
+};
+
+#define EPOLL_IOC_TYPE 0x8A
+#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
+#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
 
 int epoll_create(int);
 int epoll_create1(int);
-- 
2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [musl] [PATCH] sys/epoll.h: add epoll ioctls
  2024-05-29  6:49 [musl] [PATCH] sys/epoll.h: add epoll ioctls Joe Damato
@ 2024-05-29 13:17 ` Rich Felker
  2024-05-29 15:11   ` Joe Damato
  0 siblings, 1 reply; 8+ messages in thread
From: Rich Felker @ 2024-05-29 13:17 UTC (permalink / raw)
  To: Joe Damato; +Cc: musl

On Wed, May 29, 2024 at 06:49:59AM +0000, Joe Damato wrote:
> add two ioctls to get and set struct epoll_params to allow users to
> control epoll based busy polling of network sockets.
> 
> added to uapi in commit 18e2bf0edf4dd88d9656ec92395aa47392e85b61 (Linux
> kernel 6.9 and newer).
> ---
>  include/sys/epoll.h | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/include/sys/epoll.h b/include/sys/epoll.h
> index ac81a841..5f975c4a 100644
> --- a/include/sys/epoll.h
> +++ b/include/sys/epoll.h
> @@ -7,6 +7,7 @@ extern "C" {
>  
>  #include <stdint.h>
>  #include <sys/types.h>
> +#include <sys/ioctl.h>
>  #include <fcntl.h>
>  
>  #define __NEED_sigset_t
> @@ -54,6 +55,17 @@ __attribute__ ((__packed__))
>  #endif
>  ;
>  
> +struct epoll_params {
> +	uint32_t busy_poll_usecs;
> +	uint16_t busy_poll_budget;
> +	uint8_t prefer_busy_poll;
> +
> +	uint8_t __pad;
> +};
> +
> +#define EPOLL_IOC_TYPE 0x8A
> +#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
> +#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
>  
>  int epoll_create(int);
>  int epoll_create1(int);
> -- 
> 2.34.1

This is probably okay, but we should at least ask if sys/ioctl.h is
going to be a namespace mess. Is the intent to bring all of it in, or
just to get the EPIOC* macros which depend on _IOW and _IOR? On glibc,
does it pull in sys/ioctl.h?

Rich

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [musl] [PATCH] sys/epoll.h: add epoll ioctls
  2024-05-29 13:17 ` Rich Felker
@ 2024-05-29 15:11   ` Joe Damato
  2024-06-02 23:05     ` Joe Damato
  0 siblings, 1 reply; 8+ messages in thread
From: Joe Damato @ 2024-05-29 15:11 UTC (permalink / raw)
  To: Rich Felker; +Cc: musl

On Wed, May 29, 2024 at 09:17:07AM -0400, Rich Felker wrote:
> On Wed, May 29, 2024 at 06:49:59AM +0000, Joe Damato wrote:
> > add two ioctls to get and set struct epoll_params to allow users to
> > control epoll based busy polling of network sockets.
> > 
> > added to uapi in commit 18e2bf0edf4dd88d9656ec92395aa47392e85b61 (Linux
> > kernel 6.9 and newer).
> > ---
> >  include/sys/epoll.h | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/include/sys/epoll.h b/include/sys/epoll.h
> > index ac81a841..5f975c4a 100644
> > --- a/include/sys/epoll.h
> > +++ b/include/sys/epoll.h
> > @@ -7,6 +7,7 @@ extern "C" {
> >  
> >  #include <stdint.h>
> >  #include <sys/types.h>
> > +#include <sys/ioctl.h>
> >  #include <fcntl.h>
> >  
> >  #define __NEED_sigset_t
> > @@ -54,6 +55,17 @@ __attribute__ ((__packed__))
> >  #endif
> >  ;
> >  
> > +struct epoll_params {
> > +	uint32_t busy_poll_usecs;
> > +	uint16_t busy_poll_budget;
> > +	uint8_t prefer_busy_poll;
> > +
> > +	uint8_t __pad;
> > +};
> > +
> > +#define EPOLL_IOC_TYPE 0x8A
> > +#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
> > +#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
> >  
> >  int epoll_create(int);
> >  int epoll_create1(int);
> > -- 
> > 2.34.1
> 
> This is probably okay, but we should at least ask if sys/ioctl.h is
> going to be a namespace mess. Is the intent to bring all of it in, or
> just to get the EPIOC* macros which depend on _IOW and _IOR?

Yes, sys/ioctl.h is pulled in for the _IOW and _IOR macros.
Similar to, for example, sys/mtio.h in musl, which also pulls in
sys/ioctl.h.

> On glibc, does it pull in sys/ioctl.h?

Yes, the code I've submit for glibc does pull in sys/ioctl.h.

That code has been approved by a glibc committer, but not yet merged
to the tree (I assume that will happen in a few days):

https://sourceware.org/pipermail/libc-alpha/2024-May/157166.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [musl] [PATCH] sys/epoll.h: add epoll ioctls
  2024-05-29 15:11   ` Joe Damato
@ 2024-06-02 23:05     ` Joe Damato
  2024-06-10 16:05       ` Rich Felker
  0 siblings, 1 reply; 8+ messages in thread
From: Joe Damato @ 2024-06-02 23:05 UTC (permalink / raw)
  To: Rich Felker; +Cc: musl

On Wed, May 29, 2024 at 08:11:13AM -0700, Joe Damato wrote:
> On Wed, May 29, 2024 at 09:17:07AM -0400, Rich Felker wrote:
> > On Wed, May 29, 2024 at 06:49:59AM +0000, Joe Damato wrote:
> > > add two ioctls to get and set struct epoll_params to allow users to
> > > control epoll based busy polling of network sockets.
> > > 
> > > added to uapi in commit 18e2bf0edf4dd88d9656ec92395aa47392e85b61 (Linux
> > > kernel 6.9 and newer).
> > > ---
> > >  include/sys/epoll.h | 12 ++++++++++++
> > >  1 file changed, 12 insertions(+)
> > > 
> > > diff --git a/include/sys/epoll.h b/include/sys/epoll.h
> > > index ac81a841..5f975c4a 100644
> > > --- a/include/sys/epoll.h
> > > +++ b/include/sys/epoll.h
> > > @@ -7,6 +7,7 @@ extern "C" {
> > >  
> > >  #include <stdint.h>
> > >  #include <sys/types.h>
> > > +#include <sys/ioctl.h>
> > >  #include <fcntl.h>
> > >  
> > >  #define __NEED_sigset_t
> > > @@ -54,6 +55,17 @@ __attribute__ ((__packed__))
> > >  #endif
> > >  ;
> > >  
> > > +struct epoll_params {
> > > +	uint32_t busy_poll_usecs;
> > > +	uint16_t busy_poll_budget;
> > > +	uint8_t prefer_busy_poll;
> > > +
> > > +	uint8_t __pad;
> > > +};
> > > +
> > > +#define EPOLL_IOC_TYPE 0x8A
> > > +#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
> > > +#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
> > >  
> > >  int epoll_create(int);
> > >  int epoll_create1(int);
> > > -- 
> > > 2.34.1
> > 
> > This is probably okay, but we should at least ask if sys/ioctl.h is
> > going to be a namespace mess. Is the intent to bring all of it in, or
> > just to get the EPIOC* macros which depend on _IOW and _IOR?
> 
> Yes, sys/ioctl.h is pulled in for the _IOW and _IOR macros.
> Similar to, for example, sys/mtio.h in musl, which also pulls in
> sys/ioctl.h.
> 
> > On glibc, does it pull in sys/ioctl.h?
> 
> Yes, the code I've submit for glibc does pull in sys/ioctl.h.
> 
> That code has been approved by a glibc committer, but not yet merged
> to the tree (I assume that will happen in a few days):
> 
> https://sourceware.org/pipermail/libc-alpha/2024-May/157166.html

Just wanted to follow up on the above.

Were you expecting me to make any changes or did you want to wait
until libc takes the code before accepting it?

FWIW:

uclibc has taken the patch here: 
  https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=8bb33a2e1f2baec2078581d77e181f1ead5f51aa

And musl has similar code in include/sys/mount.h:
  https://git.musl-libc.org/cgit/musl/tree/include/sys/mount.h#n8

Thanks,
Joe

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [musl] [PATCH] sys/epoll.h: add epoll ioctls
  2024-06-02 23:05     ` Joe Damato
@ 2024-06-10 16:05       ` Rich Felker
  2024-06-10 17:15         ` Joe Damato
  0 siblings, 1 reply; 8+ messages in thread
From: Rich Felker @ 2024-06-10 16:05 UTC (permalink / raw)
  To: Joe Damato; +Cc: musl

On Sun, Jun 02, 2024 at 04:05:25PM -0700, Joe Damato wrote:
> On Wed, May 29, 2024 at 08:11:13AM -0700, Joe Damato wrote:
> > On Wed, May 29, 2024 at 09:17:07AM -0400, Rich Felker wrote:
> > > On Wed, May 29, 2024 at 06:49:59AM +0000, Joe Damato wrote:
> > > > add two ioctls to get and set struct epoll_params to allow users to
> > > > control epoll based busy polling of network sockets.
> > > > 
> > > > added to uapi in commit 18e2bf0edf4dd88d9656ec92395aa47392e85b61 (Linux
> > > > kernel 6.9 and newer).
> > > > ---
> > > >  include/sys/epoll.h | 12 ++++++++++++
> > > >  1 file changed, 12 insertions(+)
> > > > 
> > > > diff --git a/include/sys/epoll.h b/include/sys/epoll.h
> > > > index ac81a841..5f975c4a 100644
> > > > --- a/include/sys/epoll.h
> > > > +++ b/include/sys/epoll.h
> > > > @@ -7,6 +7,7 @@ extern "C" {
> > > >  
> > > >  #include <stdint.h>
> > > >  #include <sys/types.h>
> > > > +#include <sys/ioctl.h>
> > > >  #include <fcntl.h>
> > > >  
> > > >  #define __NEED_sigset_t
> > > > @@ -54,6 +55,17 @@ __attribute__ ((__packed__))
> > > >  #endif
> > > >  ;
> > > >  
> > > > +struct epoll_params {
> > > > +	uint32_t busy_poll_usecs;
> > > > +	uint16_t busy_poll_budget;
> > > > +	uint8_t prefer_busy_poll;
> > > > +
> > > > +	uint8_t __pad;
> > > > +};
> > > > +
> > > > +#define EPOLL_IOC_TYPE 0x8A
> > > > +#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
> > > > +#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
> > > >  
> > > >  int epoll_create(int);
> > > >  int epoll_create1(int);
> > > > -- 
> > > > 2.34.1
> > > 
> > > This is probably okay, but we should at least ask if sys/ioctl.h is
> > > going to be a namespace mess. Is the intent to bring all of it in, or
> > > just to get the EPIOC* macros which depend on _IOW and _IOR?
> > 
> > Yes, sys/ioctl.h is pulled in for the _IOW and _IOR macros.
> > Similar to, for example, sys/mtio.h in musl, which also pulls in
> > sys/ioctl.h.
> > 
> > > On glibc, does it pull in sys/ioctl.h?
> > 
> > Yes, the code I've submit for glibc does pull in sys/ioctl.h.
> > 
> > That code has been approved by a glibc committer, but not yet merged
> > to the tree (I assume that will happen in a few days):
> > 
> > https://sourceware.org/pipermail/libc-alpha/2024-May/157166.html
> 
> Just wanted to follow up on the above.
> 
> Were you expecting me to make any changes or did you want to wait
> until libc takes the code before accepting it?
> 
> FWIW:
> 
> uclibc has taken the patch here: 
>   https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=8bb33a2e1f2baec2078581d77e181f1ead5f51aa
> 
> And musl has similar code in include/sys/mount.h:
>   https://git.musl-libc.org/cgit/musl/tree/include/sys/mount.h#n8

I think it's okay as-is if this is what everyone else is doing too.
This is not a standard header so there aren't strong constraints on
what it can do; I just didn't want to be gratuitously more
namespace-invasive than on other systems with the same header.

Rich

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [musl] [PATCH] sys/epoll.h: add epoll ioctls
  2024-06-10 16:05       ` Rich Felker
@ 2024-06-10 17:15         ` Joe Damato
  2024-06-12 17:10           ` Joe Damato
  0 siblings, 1 reply; 8+ messages in thread
From: Joe Damato @ 2024-06-10 17:15 UTC (permalink / raw)
  To: Rich Felker; +Cc: musl

On Mon, Jun 10, 2024 at 12:05:52PM -0400, Rich Felker wrote:
> On Sun, Jun 02, 2024 at 04:05:25PM -0700, Joe Damato wrote:
> > On Wed, May 29, 2024 at 08:11:13AM -0700, Joe Damato wrote:
> > > On Wed, May 29, 2024 at 09:17:07AM -0400, Rich Felker wrote:
> > > > On Wed, May 29, 2024 at 06:49:59AM +0000, Joe Damato wrote:
> > > > > add two ioctls to get and set struct epoll_params to allow users to
> > > > > control epoll based busy polling of network sockets.
> > > > > 
> > > > > added to uapi in commit 18e2bf0edf4dd88d9656ec92395aa47392e85b61 (Linux
> > > > > kernel 6.9 and newer).
> > > > > ---
> > > > >  include/sys/epoll.h | 12 ++++++++++++
> > > > >  1 file changed, 12 insertions(+)
> > > > > 
> > > > > diff --git a/include/sys/epoll.h b/include/sys/epoll.h
> > > > > index ac81a841..5f975c4a 100644
> > > > > --- a/include/sys/epoll.h
> > > > > +++ b/include/sys/epoll.h
> > > > > @@ -7,6 +7,7 @@ extern "C" {
> > > > >  
> > > > >  #include <stdint.h>
> > > > >  #include <sys/types.h>
> > > > > +#include <sys/ioctl.h>
> > > > >  #include <fcntl.h>
> > > > >  
> > > > >  #define __NEED_sigset_t
> > > > > @@ -54,6 +55,17 @@ __attribute__ ((__packed__))
> > > > >  #endif
> > > > >  ;
> > > > >  
> > > > > +struct epoll_params {
> > > > > +	uint32_t busy_poll_usecs;
> > > > > +	uint16_t busy_poll_budget;
> > > > > +	uint8_t prefer_busy_poll;
> > > > > +
> > > > > +	uint8_t __pad;
> > > > > +};
> > > > > +
> > > > > +#define EPOLL_IOC_TYPE 0x8A
> > > > > +#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
> > > > > +#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
> > > > >  
> > > > >  int epoll_create(int);
> > > > >  int epoll_create1(int);
> > > > > -- 
> > > > > 2.34.1
> > > > 
> > > > This is probably okay, but we should at least ask if sys/ioctl.h is
> > > > going to be a namespace mess. Is the intent to bring all of it in, or
> > > > just to get the EPIOC* macros which depend on _IOW and _IOR?
> > > 
> > > Yes, sys/ioctl.h is pulled in for the _IOW and _IOR macros.
> > > Similar to, for example, sys/mtio.h in musl, which also pulls in
> > > sys/ioctl.h.
> > > 
> > > > On glibc, does it pull in sys/ioctl.h?
> > > 
> > > Yes, the code I've submit for glibc does pull in sys/ioctl.h.
> > > 
> > > That code has been approved by a glibc committer, but not yet merged
> > > to the tree (I assume that will happen in a few days):
> > > 
> > > https://sourceware.org/pipermail/libc-alpha/2024-May/157166.html
> > 
> > Just wanted to follow up on the above.
> > 
> > Were you expecting me to make any changes or did you want to wait
> > until libc takes the code before accepting it?
> > 
> > FWIW:
> > 
> > uclibc has taken the patch here: 
> >   https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=8bb33a2e1f2baec2078581d77e181f1ead5f51aa
> > 
> > And musl has similar code in include/sys/mount.h:
> >   https://git.musl-libc.org/cgit/musl/tree/include/sys/mount.h#n8
> 
> I think it's okay as-is if this is what everyone else is doing too.
> This is not a standard header so there aren't strong constraints on
> what it can do; I just didn't want to be gratuitously more
> namespace-invasive than on other systems with the same header.

OK, sure that makes sense.

BTW, since my email glibc has merged this:
https://sourceware.org/git/?p=glibc.git;a=commit;h=92c270d32caf3f8d5a02b8e46c7ec5d9d0315158

Let me know if you'd like me to do anything else to help get this
merged to musl.

Thanks,
Joe

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [musl] [PATCH] sys/epoll.h: add epoll ioctls
  2024-06-10 17:15         ` Joe Damato
@ 2024-06-12 17:10           ` Joe Damato
  2024-06-18 17:15             ` Joe Damato
  0 siblings, 1 reply; 8+ messages in thread
From: Joe Damato @ 2024-06-12 17:10 UTC (permalink / raw)
  To: Rich Felker; +Cc: musl

On Mon, Jun 10, 2024 at 10:15:25AM -0700, Joe Damato wrote:
> On Mon, Jun 10, 2024 at 12:05:52PM -0400, Rich Felker wrote:
> > On Sun, Jun 02, 2024 at 04:05:25PM -0700, Joe Damato wrote:
> > > On Wed, May 29, 2024 at 08:11:13AM -0700, Joe Damato wrote:
> > > > On Wed, May 29, 2024 at 09:17:07AM -0400, Rich Felker wrote:
> > > > > On Wed, May 29, 2024 at 06:49:59AM +0000, Joe Damato wrote:
> > > > > > add two ioctls to get and set struct epoll_params to allow users to
> > > > > > control epoll based busy polling of network sockets.
> > > > > > 
> > > > > > added to uapi in commit 18e2bf0edf4dd88d9656ec92395aa47392e85b61 (Linux
> > > > > > kernel 6.9 and newer).
> > > > > > ---
> > > > > >  include/sys/epoll.h | 12 ++++++++++++
> > > > > >  1 file changed, 12 insertions(+)
> > > > > > 
> > > > > > diff --git a/include/sys/epoll.h b/include/sys/epoll.h
> > > > > > index ac81a841..5f975c4a 100644
> > > > > > --- a/include/sys/epoll.h
> > > > > > +++ b/include/sys/epoll.h
> > > > > > @@ -7,6 +7,7 @@ extern "C" {
> > > > > >  
> > > > > >  #include <stdint.h>
> > > > > >  #include <sys/types.h>
> > > > > > +#include <sys/ioctl.h>
> > > > > >  #include <fcntl.h>
> > > > > >  
> > > > > >  #define __NEED_sigset_t
> > > > > > @@ -54,6 +55,17 @@ __attribute__ ((__packed__))
> > > > > >  #endif
> > > > > >  ;
> > > > > >  
> > > > > > +struct epoll_params {
> > > > > > +	uint32_t busy_poll_usecs;
> > > > > > +	uint16_t busy_poll_budget;
> > > > > > +	uint8_t prefer_busy_poll;
> > > > > > +
> > > > > > +	uint8_t __pad;
> > > > > > +};
> > > > > > +
> > > > > > +#define EPOLL_IOC_TYPE 0x8A
> > > > > > +#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
> > > > > > +#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
> > > > > >  
> > > > > >  int epoll_create(int);
> > > > > >  int epoll_create1(int);
> > > > > > -- 
> > > > > > 2.34.1
> > > > > 
> > > > > This is probably okay, but we should at least ask if sys/ioctl.h is
> > > > > going to be a namespace mess. Is the intent to bring all of it in, or
> > > > > just to get the EPIOC* macros which depend on _IOW and _IOR?
> > > > 
> > > > Yes, sys/ioctl.h is pulled in for the _IOW and _IOR macros.
> > > > Similar to, for example, sys/mtio.h in musl, which also pulls in
> > > > sys/ioctl.h.
> > > > 
> > > > > On glibc, does it pull in sys/ioctl.h?
> > > > 
> > > > Yes, the code I've submit for glibc does pull in sys/ioctl.h.
> > > > 
> > > > That code has been approved by a glibc committer, but not yet merged
> > > > to the tree (I assume that will happen in a few days):
> > > > 
> > > > https://sourceware.org/pipermail/libc-alpha/2024-May/157166.html
> > > 
> > > Just wanted to follow up on the above.
> > > 
> > > Were you expecting me to make any changes or did you want to wait
> > > until libc takes the code before accepting it?
> > > 
> > > FWIW:
> > > 
> > > uclibc has taken the patch here: 
> > >   https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=8bb33a2e1f2baec2078581d77e181f1ead5f51aa
> > > 
> > > And musl has similar code in include/sys/mount.h:
> > >   https://git.musl-libc.org/cgit/musl/tree/include/sys/mount.h#n8
> > 
> > I think it's okay as-is if this is what everyone else is doing too.
> > This is not a standard header so there aren't strong constraints on
> > what it can do; I just didn't want to be gratuitously more
> > namespace-invasive than on other systems with the same header.
> 
> OK, sure that makes sense.
> 
> BTW, since my email glibc has merged this:
> https://sourceware.org/git/?p=glibc.git;a=commit;h=92c270d32caf3f8d5a02b8e46c7ec5d9d0315158
> 
> Let me know if you'd like me to do anything else to help get this
> merged to musl.

Apologies on bumping the thread again, just wanted to also mention
the man-pages project has also taken the new man page documenting
the interface for glibc:

https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?h=ioctl&id=e450bcf6e35a5c227c5e80cdb4e44bb89516a5ee

Is there an equivalent documentation I should submit a similar
change to that is musl specific? If so, please let me know and I'd
be happy to do so.

Thanks,
Joe

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [musl] [PATCH] sys/epoll.h: add epoll ioctls
  2024-06-12 17:10           ` Joe Damato
@ 2024-06-18 17:15             ` Joe Damato
  0 siblings, 0 replies; 8+ messages in thread
From: Joe Damato @ 2024-06-18 17:15 UTC (permalink / raw)
  To: Rich Felker; +Cc: musl

On Wed, Jun 12, 2024 at 10:10:21AM -0700, Joe Damato wrote:
> On Mon, Jun 10, 2024 at 10:15:25AM -0700, Joe Damato wrote:
> > On Mon, Jun 10, 2024 at 12:05:52PM -0400, Rich Felker wrote:
> > > On Sun, Jun 02, 2024 at 04:05:25PM -0700, Joe Damato wrote:
> > > > On Wed, May 29, 2024 at 08:11:13AM -0700, Joe Damato wrote:
> > > > > On Wed, May 29, 2024 at 09:17:07AM -0400, Rich Felker wrote:
> > > > > > On Wed, May 29, 2024 at 06:49:59AM +0000, Joe Damato wrote:

[...]

> > > > > > This is probably okay, but we should at least ask if sys/ioctl.h is
> > > > > > going to be a namespace mess. Is the intent to bring all of it in, or
> > > > > > just to get the EPIOC* macros which depend on _IOW and _IOR?
> > > > > 
> > > > > Yes, sys/ioctl.h is pulled in for the _IOW and _IOR macros.
> > > > > Similar to, for example, sys/mtio.h in musl, which also pulls in
> > > > > sys/ioctl.h.
> > > > > 
> > > > > > On glibc, does it pull in sys/ioctl.h?
> > > > > 
> > > > > Yes, the code I've submit for glibc does pull in sys/ioctl.h.
> > > > > 
> > > > > That code has been approved by a glibc committer, but not yet merged
> > > > > to the tree (I assume that will happen in a few days):
> > > > > 
> > > > > https://sourceware.org/pipermail/libc-alpha/2024-May/157166.html
> > > > 
> > > > Just wanted to follow up on the above.
> > > > 
> > > > Were you expecting me to make any changes or did you want to wait
> > > > until libc takes the code before accepting it?
> > > > 
> > > > FWIW:
> > > > 
> > > > uclibc has taken the patch here: 
> > > >   https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=8bb33a2e1f2baec2078581d77e181f1ead5f51aa
> > > > 
> > > > And musl has similar code in include/sys/mount.h:
> > > >   https://git.musl-libc.org/cgit/musl/tree/include/sys/mount.h#n8
> > > 
> > > I think it's okay as-is if this is what everyone else is doing too.
> > > This is not a standard header so there aren't strong constraints on
> > > what it can do; I just didn't want to be gratuitously more
> > > namespace-invasive than on other systems with the same header.
> > 
> > OK, sure that makes sense.
> > 
> > BTW, since my email glibc has merged this:
> > https://sourceware.org/git/?p=glibc.git;a=commit;h=92c270d32caf3f8d5a02b8e46c7ec5d9d0315158
> > 
> > Let me know if you'd like me to do anything else to help get this
> > merged to musl.
> 
> Apologies on bumping the thread again, just wanted to also mention
> the man-pages project has also taken the new man page documenting
> the interface for glibc:
> 
> https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?h=ioctl&id=e450bcf6e35a5c227c5e80cdb4e44bb89516a5ee
> 
> Is there an equivalent documentation I should submit a similar
> change to that is musl specific? If so, please let me know and I'd
> be happy to do so.

Looks like the above link was wrong / stale or something, not sure
what happened there -- sorry about that!

Here's a link showing the new interface is documented now in the
man-pages project:

https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=e450bcf6e35a5c227c5e80cdb4e44bb89516a5ee

and the man-pages announcement of the new version released, which
mentions ioctl_eventpoll being included in this release:

https://lore.kernel.org/linux-man/cpolays26kcjvekvowwik3di3ut66puls47w3gvdfwep66uaul@ka4omfzltwcs/

Likewise, uclibc-ng has made a new release with the new interface:

https://mailman.openadk.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/thread/AGCAPZZ5OFFN4P2F6WG6LKD6OUUT5NPE/

I would assume glibc will cut a new revision in ~August according to
their wiki, which will include this ioctl.

Let me know if there's anything at all I can do to help you / the
musl project get my patch merged.

Thanks,
Joe

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-06-18 17:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-29  6:49 [musl] [PATCH] sys/epoll.h: add epoll ioctls Joe Damato
2024-05-29 13:17 ` Rich Felker
2024-05-29 15:11   ` Joe Damato
2024-06-02 23:05     ` Joe Damato
2024-06-10 16:05       ` Rich Felker
2024-06-10 17:15         ` Joe Damato
2024-06-12 17:10           ` Joe Damato
2024-06-18 17:15             ` Joe Damato

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).