Page MenuHomeFreeBSD

D38112.id115780.diff
No OneTemporary

D38112.id115780.diff

diff --git a/lib/libthr/thread/thr_attr.c b/lib/libthr/thread/thr_attr.c
--- a/lib/libthr/thread/thr_attr.c
+++ b/lib/libthr/thread/thr_attr.c
@@ -599,9 +599,9 @@
size_t len;
len = sizeof(kern_cpuset_size);
- if (sysctlbyname("kern.sched.cpusetsize", &kern_cpuset_size,
+ if (sysctlbyname("kern.sched.cpusetsizemin", &kern_cpuset_size,
&len, NULL, 0))
- PANIC("failed to get sysctl kern.sched.cpusetsize");
+ PANIC("failed to get sysctl kern.sched.cpusetsizemin");
}
return (kern_cpuset_size);
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c
--- a/sys/kern/kern_cpuset.c
+++ b/sys/kern/kern_cpuset.c
@@ -141,11 +141,27 @@
SYSCTL_INT(_kern_sched, OID_AUTO, cpusetsize, CTLFLAG_RD | CTLFLAG_CAPRD,
SYSCTL_NULL_INT_PTR, sizeof(cpuset_t), "sizeof(cpuset_t)");
+static int sysctl_kern_sched_cpusetsizemin(SYSCTL_HANDLER_ARGS);
+
+/* Return the minimum size of cpuset_t allowed by the kernel */
+SYSCTL_PROC(_kern_sched, OID_AUTO, cpusetsizemin, CTLFLAG_RD | CTLFLAG_CAPRD |
+ CTLTYPE_INT | CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_sched_cpusetsizemin, "I",
+ "The minimum size of cpuset_t allowed by the kernel");
+
cpuset_t *cpuset_root;
cpuset_t cpuset_domain[MAXMEMDOM];
static int domainset_valid(const struct domainset *, const struct domainset *);
+static int
+sysctl_kern_sched_cpusetsizemin(SYSCTL_HANDLER_ARGS)
+{
+ int cpusetsize;
+
+ cpusetsize = howmany(mp_maxid, NBBY);
+ return (SYSCTL_OUT(req, &cpusetsize, sizeof(cpusetsize)));
+}
+
/*
* Find the first non-anonymous set starting from 'set'.
*/

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 20, 4:09 PM (7 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37000954
Default Alt Text
D38112.id115780.diff (1 KB)

Event Timeline