* [PATCH 1/6] mips64: add recent linux syscall numbers
2016-03-19 12:34 [PATCH 0/6] linux v4.5 updates Szabolcs Nagy
@ 2016-03-19 12:35 ` Szabolcs Nagy
2016-03-19 12:35 ` [PATCH 2/6] add copy_file_range syscall numbers from linux v4.5 Szabolcs Nagy
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-03-19 12:35 UTC (permalink / raw)
To: musl
add userfaultfd, membarrier and mlock2 system call numbers.
---
arch/mips64/bits/syscall.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/mips64/bits/syscall.h b/arch/mips64/bits/syscall.h
index d9b4f42..8c81882 100644
--- a/arch/mips64/bits/syscall.h
+++ b/arch/mips64/bits/syscall.h
@@ -314,6 +314,9 @@
#define __NR_memfd_create 5314
#define __NR_bpf 5315
#define __NR_execveat 5316
+#define __NR_userfaultfd 5317
+#define __NR_membarrier 5318
+#define __NR_mlock2 5319
#define SYS_read 5000
#define SYS_write 5001
@@ -631,3 +634,6 @@
#define SYS_memfd_create 5314
#define SYS_bpf 5315
#define SYS_execveat 5316
+#define SYS_userfaultfd 5317
+#define SYS_membarrier 5318
+#define SYS_mlock2 5319
--
2.7.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/6] add copy_file_range syscall numbers from linux v4.5
2016-03-19 12:34 [PATCH 0/6] linux v4.5 updates Szabolcs Nagy
2016-03-19 12:35 ` [PATCH 1/6] mips64: add recent linux syscall numbers Szabolcs Nagy
@ 2016-03-19 12:35 ` Szabolcs Nagy
2016-03-19 12:36 ` [PATCH 3/6] add IPV6_HDRINCL socket option " Szabolcs Nagy
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-03-19 12:35 UTC (permalink / raw)
To: musl
it was introduced for offloading copying between regular files
in linux commit 29732938a6289a15e907da234d6692a2ead71855
(microblaze and sh does not yet have the syscall number.)
---
arch/aarch64/bits/syscall.h | 2 ++
arch/arm/bits/syscall.h | 2 ++
arch/i386/bits/syscall.h | 2 ++
arch/mips/bits/syscall.h | 2 ++
arch/mips64/bits/syscall.h | 2 ++
arch/or1k/bits/syscall.h | 2 ++
arch/powerpc/bits/syscall.h | 2 ++
arch/x32/bits/syscall.h | 2 ++
arch/x86_64/bits/syscall.h | 2 ++
9 files changed, 18 insertions(+)
diff --git a/arch/aarch64/bits/syscall.h b/arch/aarch64/bits/syscall.h
index 31bed73..eddbe92 100644
--- a/arch/aarch64/bits/syscall.h
+++ b/arch/aarch64/bits/syscall.h
@@ -268,6 +268,7 @@
#define __NR_userfaultfd 282
#define __NR_membarrier 283
#define __NR_mlock2 284
+#define __NR_copy_file_range 285
#define SYS_io_setup __NR_io_setup
#define SYS_io_destroy __NR_io_destroy
@@ -539,3 +540,4 @@
#define SYS_userfaultfd __NR_userfaultfd
#define SYS_membarrier __NR_membarrier
#define SYS_mlock2 __NR_mlock2
+#define SYS_copy_file_range __NR_copy_file_range
diff --git a/arch/arm/bits/syscall.h b/arch/arm/bits/syscall.h
index 036c562..be30be7 100644
--- a/arch/arm/bits/syscall.h
+++ b/arch/arm/bits/syscall.h
@@ -344,6 +344,7 @@
#define __NR_userfaultfd 388
#define __NR_membarrier 389
#define __NR_mlock2 390
+#define __NR_copy_file_range 391
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
@@ -699,3 +700,4 @@
#define SYS_userfaultfd 388
#define SYS_membarrier 389
#define SYS_mlock2 390
+#define SYS_copy_file_range 391
diff --git a/arch/i386/bits/syscall.h b/arch/i386/bits/syscall.h
index b1a389b..25cd50a 100644
--- a/arch/i386/bits/syscall.h
+++ b/arch/i386/bits/syscall.h
@@ -375,6 +375,7 @@
#define __NR_userfaultfd 374
#define __NR_membarrier 375
#define __NR_mlock2 376
+#define __NR_copy_file_range 377
/* Repeated with SYS_ prefix */
@@ -756,3 +757,4 @@
#define SYS_userfaultfd 374
#define SYS_membarrier 375
#define SYS_mlock2 376
+#define SYS_copy_file_range 377
diff --git a/arch/mips/bits/syscall.h b/arch/mips/bits/syscall.h
index 340c587..40ca6ba 100644
--- a/arch/mips/bits/syscall.h
+++ b/arch/mips/bits/syscall.h
@@ -357,6 +357,7 @@
#define __NR_userfaultfd 4357
#define __NR_membarrier 4358
#define __NR_mlock2 4359
+#define __NR_copy_file_range 4360
/* Repeated with SYS_ prefix */
@@ -719,3 +720,4 @@
#define SYS_userfaultfd 4357
#define SYS_membarrier 4358
#define SYS_mlock2 4359
+#define SYS_copy_file_range 4360
diff --git a/arch/mips64/bits/syscall.h b/arch/mips64/bits/syscall.h
index 8c81882..a84a519 100644
--- a/arch/mips64/bits/syscall.h
+++ b/arch/mips64/bits/syscall.h
@@ -317,6 +317,7 @@
#define __NR_userfaultfd 5317
#define __NR_membarrier 5318
#define __NR_mlock2 5319
+#define __NR_copy_file_range 5320
#define SYS_read 5000
#define SYS_write 5001
@@ -637,3 +638,4 @@
#define SYS_userfaultfd 5317
#define SYS_membarrier 5318
#define SYS_mlock2 5319
+#define SYS_copy_file_range 5320
diff --git a/arch/or1k/bits/syscall.h b/arch/or1k/bits/syscall.h
index a73b232..de810a4 100644
--- a/arch/or1k/bits/syscall.h
+++ b/arch/or1k/bits/syscall.h
@@ -268,6 +268,7 @@
#define __NR_userfaultfd 282
#define __NR_membarrier 283
#define __NR_mlock2 284
+#define __NR_copy_file_range 285
#define SYS_io_setup __NR_io_setup
#define SYS_io_destroy __NR_io_destroy
@@ -539,3 +540,4 @@
#define SYS_userfaultfd __NR_userfaultfd
#define SYS_membarrier __NR_membarrier
#define SYS_mlock2 __NR_mlock2
+#define SYS_copy_file_range __NR_copy_file_range
diff --git a/arch/powerpc/bits/syscall.h b/arch/powerpc/bits/syscall.h
index e02f56f..eb5295f 100644
--- a/arch/powerpc/bits/syscall.h
+++ b/arch/powerpc/bits/syscall.h
@@ -368,6 +368,7 @@
#define __NR_userfaultfd 364
#define __NR_membarrier 365
#define __NR_mlock2 378
+#define __NR_copy_file_range 379
/*
* repeated with SYS prefix
@@ -742,3 +743,4 @@
#define SYS_userfaultfd 364
#define SYS_membarrier 365
#define SYS_mlock2 378
+#define SYS_copy_file_range 379
diff --git a/arch/x32/bits/syscall.h b/arch/x32/bits/syscall.h
index 4a1099d..bd5ab3b 100644
--- a/arch/x32/bits/syscall.h
+++ b/arch/x32/bits/syscall.h
@@ -280,6 +280,7 @@
#define __NR_userfaultfd (__X32_SYSCALL_BIT + 323)
#define __NR_membarrier (__X32_SYSCALL_BIT + 324)
#define __NR_mlock2 (__X32_SYSCALL_BIT + 325)
+#define __NR_copy_file_range (__X32_SYSCALL_BIT + 326)
#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
@@ -613,6 +614,7 @@
#define SYS_userfaultfd __NR_userfaultfd
#define SYS_membarrier __NR_membarrier
#define SYS_mlock2 __NR_mlock2
+#define SYS_copy_file_range __NR_copy_file_range
#define SYS_rt_sigaction __NR_rt_sigaction
diff --git a/arch/x86_64/bits/syscall.h b/arch/x86_64/bits/syscall.h
index 22aa716..1b02df9 100644
--- a/arch/x86_64/bits/syscall.h
+++ b/arch/x86_64/bits/syscall.h
@@ -324,6 +324,7 @@
#define __NR_userfaultfd 323
#define __NR_membarrier 324
#define __NR_mlock2 325
+#define __NR_copy_file_range 326
@@ -655,3 +656,4 @@
#define SYS_userfaultfd 323
#define SYS_membarrier 324
#define SYS_mlock2 325
+#define SYS_copy_file_range 326
--
2.7.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/6] add IPV6_HDRINCL socket option from linux v4.5
2016-03-19 12:34 [PATCH 0/6] linux v4.5 updates Szabolcs Nagy
2016-03-19 12:35 ` [PATCH 1/6] mips64: add recent linux syscall numbers Szabolcs Nagy
2016-03-19 12:35 ` [PATCH 2/6] add copy_file_range syscall numbers from linux v4.5 Szabolcs Nagy
@ 2016-03-19 12:36 ` Szabolcs Nagy
2016-03-19 12:36 ` [PATCH 4/6] add SO_ATTACH_REUSEPORT_[CE]BPF socket options " Szabolcs Nagy
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-03-19 12:36 UTC (permalink / raw)
To: musl
new in linux commit 715f504b118998c41a2079a17e16bf5a8a114885
same as IP_HDRINCL but for SOL_IPV6 sockets.
---
include/netinet/in.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/netinet/in.h b/include/netinet/in.h
index 622bdfe..04cc81c 100644
--- a/include/netinet/in.h
+++ b/include/netinet/in.h
@@ -344,6 +344,7 @@ struct ip6_mtuinfo
#define IPV6_LEAVE_ANYCAST 28
#define IPV6_IPSEC_POLICY 34
#define IPV6_XFRM_POLICY 35
+#define IPV6_HDRINCL 36
#define IPV6_RECVPKTINFO 49
#define IPV6_PKTINFO 50
--
2.7.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/6] add SO_ATTACH_REUSEPORT_[CE]BPF socket options from linux v4.5
2016-03-19 12:34 [PATCH 0/6] linux v4.5 updates Szabolcs Nagy
` (2 preceding siblings ...)
2016-03-19 12:36 ` [PATCH 3/6] add IPV6_HDRINCL socket option " Szabolcs Nagy
@ 2016-03-19 12:36 ` Szabolcs Nagy
2016-03-19 12:37 ` [PATCH 5/6] add EPOLLEXCLUSIVE epoll flag " Szabolcs Nagy
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-03-19 12:36 UTC (permalink / raw)
To: musl
new socket options for setting classic or extended BPF program
for sockets in a SO_REUSEPORT group. added in linux commit
538950a1b7527a0a52ccd9337e3fcd304f027f13
---
include/sys/socket.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/sys/socket.h b/include/sys/socket.h
index a4db940..fd65349 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -220,7 +220,8 @@ struct linger
#define SO_INCOMING_CPU 49
#define SO_ATTACH_BPF 50
#define SO_DETACH_BPF SO_DETACH_FILTER
-
+#define SO_ATTACH_REUSEPORT_CBPF 51
+#define SO_ATTACH_REUSEPORT_EBPF 52
#ifndef SOL_SOCKET
#define SOL_SOCKET 1
--
2.7.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 5/6] add EPOLLEXCLUSIVE epoll flag from linux v4.5
2016-03-19 12:34 [PATCH 0/6] linux v4.5 updates Szabolcs Nagy
` (3 preceding siblings ...)
2016-03-19 12:36 ` [PATCH 4/6] add SO_ATTACH_REUSEPORT_[CE]BPF socket options " Szabolcs Nagy
@ 2016-03-19 12:37 ` Szabolcs Nagy
2016-03-19 12:37 ` [PATCH 6/6] add MADV_FREE madvise command " Szabolcs Nagy
2016-03-19 15:33 ` [PATCH 0/6] linux v4.5 updates Rich Felker
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-03-19 12:37 UTC (permalink / raw)
To: musl
new flag for exclusive wakeup mode when an event source fd is attached
to multiple epoll fds but they should not all receive the events.
new in linux commit df0108c5da561c66c333bb46bfe3c1fc65905898
---
include/sys/epoll.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sys/epoll.h b/include/sys/epoll.h
index 1f0312e..ffe2311 100644
--- a/include/sys/epoll.h
+++ b/include/sys/epoll.h
@@ -28,6 +28,7 @@ enum EPOLL_EVENTS { __EPOLL_DUMMY };
#define EPOLLERR 0x008
#define EPOLLHUP 0x010
#define EPOLLRDHUP 0x2000
+#define EPOLLEXCLUSIVE (1U<<28)
#define EPOLLWAKEUP (1U<<29)
#define EPOLLONESHOT (1U<<30)
#define EPOLLET (1U<<31)
--
2.7.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 6/6] add MADV_FREE madvise command from linux v4.5
2016-03-19 12:34 [PATCH 0/6] linux v4.5 updates Szabolcs Nagy
` (4 preceding siblings ...)
2016-03-19 12:37 ` [PATCH 5/6] add EPOLLEXCLUSIVE epoll flag " Szabolcs Nagy
@ 2016-03-19 12:37 ` Szabolcs Nagy
2016-03-19 15:33 ` [PATCH 0/6] linux v4.5 updates Rich Felker
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-03-19 12:37 UTC (permalink / raw)
To: musl
allows the os to free the marked pages lazily on memory pressure.
expected to increase malloc performance.
new in linux commit 854e9ed09dedf0c19ac8640e91bcc74bc3f9e5c9
---
include/sys/mman.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sys/mman.h b/include/sys/mman.h
index 596a03a..8a5149c 100644
--- a/include/sys/mman.h
+++ b/include/sys/mman.h
@@ -62,6 +62,7 @@ extern "C" {
#define MADV_SEQUENTIAL 2
#define MADV_WILLNEED 3
#define MADV_DONTNEED 4
+#define MADV_FREE 8
#define MADV_REMOVE 9
#define MADV_DONTFORK 10
#define MADV_DOFORK 11
--
2.7.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/6] linux v4.5 updates
2016-03-19 12:34 [PATCH 0/6] linux v4.5 updates Szabolcs Nagy
` (5 preceding siblings ...)
2016-03-19 12:37 ` [PATCH 6/6] add MADV_FREE madvise command " Szabolcs Nagy
@ 2016-03-19 15:33 ` Rich Felker
6 siblings, 0 replies; 8+ messages in thread
From: Rich Felker @ 2016-03-19 15:33 UTC (permalink / raw)
To: musl
On Sat, Mar 19, 2016 at 01:34:27PM +0100, Szabolcs Nagy wrote:
> update musl headers following linux v4.5 uapi changes.
>
> Szabolcs Nagy (6):
> mips64: add recent linux syscall numbers
> add copy_file_range syscall numbers from linux v4.5
> add IPV6_HDRINCL socket option from linux v4.5
> add SO_ATTACH_REUSEPORT_[CE]BPF socket options from linux v4.5
> add EPOLLEXCLUSIVE epoll flag from linux v4.5
> add MADV_FREE madvise command from linux v4.5
All look good; committing them. Thanks for sending to the ML this
time; it makes applying them with git am very easy.
Rich
^ permalink raw reply [flat|nested] 8+ messages in thread