projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: sysconf(_SC_NPROCESSORS_CONF) can be less than max cpu id
[urcu.git]
/
src
/
rculfhash.c
diff --git
a/src/rculfhash.c
b/src/rculfhash.c
index c286f4303dd2d491ea0e8de7be3542d04d039a75..95b13a2b39676cac0eb7ee6025696794273bbdc0 100644
(file)
--- a/
src/rculfhash.c
+++ b/
src/rculfhash.c
@@
-281,6
+281,7
@@
#include "workqueue.h"
#include "urcu-die.h"
#include "urcu-utils.h"
#include "workqueue.h"
#include "urcu-die.h"
#include "urcu-utils.h"
+#include "compat-smp.h"
/*
* Split-counters lazily update the global counter each 1024
/*
* Split-counters lazily update the global counter each 1024
@@
-645,12
+646,11
@@
static long nr_cpus_mask = -1;
static long split_count_mask = -1;
static int split_count_order = -1;
static long split_count_mask = -1;
static int split_count_order = -1;
-#if defined(HAVE_SYSCONF)
static void ht_init_nr_cpus_mask(void)
{
long maxcpus;
static void ht_init_nr_cpus_mask(void)
{
long maxcpus;
- maxcpus =
sysconf(_SC_NPROCESSORS_CONF
);
+ maxcpus =
get_possible_cpus_array_len(
);
if (maxcpus <= 0) {
nr_cpus_mask = -2;
return;
if (maxcpus <= 0) {
nr_cpus_mask = -2;
return;
@@
-662,12
+662,6
@@
static void ht_init_nr_cpus_mask(void)
maxcpus = 1UL << cds_lfht_get_count_order_ulong(maxcpus);
nr_cpus_mask = maxcpus - 1;
}
maxcpus = 1UL << cds_lfht_get_count_order_ulong(maxcpus);
nr_cpus_mask = maxcpus - 1;
}
-#else /* #if defined(HAVE_SYSCONF) */
-static void ht_init_nr_cpus_mask(void)
-{
- nr_cpus_mask = -2;
-}
-#endif /* #else #if defined(HAVE_SYSCONF) */
static
void alloc_split_items_count(struct cds_lfht *ht)
static
void alloc_split_items_count(struct cds_lfht *ht)
This page took
0.03638 seconds
and
4
git commands to generate.