projects
/
userspace-rcu.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
[userspace-rcu.git]
/
src
/
rculfhash.c
diff --git
a/src/rculfhash.c
b/src/rculfhash.c
index 872d6ff1dea4d1a8533f5bc0c3ba70fe0a438db3..7c0b9fb8081fbfd4db089def5665d01d7b6cda90 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.023258 seconds
and
4
git commands to generate.