libc/sysconf: Add _SC_LEVEL1_DCACHE_LINESIZE.
authorSascha Wildner <saw@online.de>
Tue, 19 Dec 2017 18:51:17 +0000 (19:51 +0100)
committerSascha Wildner <saw@online.de>
Tue, 19 Dec 2017 18:51:34 +0000 (19:51 +0100)
nginx can make use of it (see http://hg.nginx.org/nginx/rev/057adb2a9d23).

Requested-by: sephe
include/unistd.h
lib/libc/gen/sysconf.3
lib/libc/gen/sysconf.c
sys/sys/param.h
usr.bin/getconf/sysconf.gperf

index 906ef75..f0af3af 100644 (file)
@@ -288,6 +288,7 @@ typedef     __uint32_t      uid_t;          /* XXX __uid_t */
 #if __BSD_VISIBLE
 #define        _SC_NPROCESSORS_CONF    57
 #define        _SC_NPROCESSORS_ONLN    58
+#define        _SC_LEVEL1_DCACHE_LINESIZE 128
 #endif
 
 /* Extensions found in Solaris and Linux. */
index 9fb6aed..bffa9bb 100644 (file)
@@ -28,7 +28,7 @@
 .\"    @(#)sysconf.3   8.3 (Berkeley) 4/19/94
 .\" $FreeBSD: src/lib/libc/gen/sysconf.3,v 1.8.2.6 2001/12/14 18:33:51 ru Exp $
 .\"
-.Dd July 25, 2016
+.Dd December 19, 2017
 .Dt SYSCONF 3
 .Os
 .Sh NAME
@@ -98,6 +98,8 @@ and
 .Xr sendmsg 2 .
 .It Dv _SC_JOB_CONTROL
 Return 1 if job control is available on this system, otherwise \-1.
+.It Dv _SC_LEVEL1_DCACHE_LINESIZE
+Returns the L1 cache line size.
 .It Dv _SC_LINE_MAX
 The maximum length in bytes of a text-processing utility's input
 line.
index a0fadb9..b51da96 100644 (file)
@@ -637,6 +637,9 @@ yesno:
                return (lvalue);
 #endif
 
+       case _SC_LEVEL1_DCACHE_LINESIZE:
+               return (__VM_CACHELINE_SIZE);
+
        default:
                errno = EINVAL;
                return (-1);
index b3718d8..2b87797 100644 (file)
  * 500102 - <sys/sysref{,2}.h> inclusions removed from some public headers
  * 500103 - faith removal
  * 500104 - cfmakesane()
+ * 500105 - _SC_LEVEL1_DCACHE_LINESIZE sysconf()
  */
 #undef __DragonFly_version
-#define __DragonFly_version 500104     /* propagated to newvers */
+#define __DragonFly_version 500105     /* propagated to newvers */
 
 #include <sys/_null.h>
 
index 171c2d6..9efac8b 100644 (file)
@@ -38,6 +38,7 @@ GETGR_R_SIZE_MAX, _SC_GETGR_R_SIZE_MAX
 GETPW_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX
 HOST_NAME_MAX, _SC_HOST_NAME_MAX
 IOV_MAX, _SC_IOV_MAX
+LEVEL1_DCACHE_LINESIZE, _SC_LEVEL1_DCACHE_LINESIZE
 LINE_MAX, _SC_LINE_MAX
 LOGIN_NAME_MAX, _SC_LOGIN_NAME_MAX 
 MQ_OPEN_MAX, _SC_MQ_OPEN_MAX