summaryrefslogtreecommitdiffstats
path: root/src/nstime.c
diff options
context:
space:
mode:
authorQi Wang <interwq@gwu.edu>2017-02-03 01:02:05 (GMT)
committerQi Wang <interwq@gmail.com>2017-03-09 07:19:01 (GMT)
commitec532e2c5c0b25fb7ab09383fe5a274583a90def (patch)
treeb3306921b534baa43b1bb698d086041226d64d6e /src/nstime.c
parent8721e19c0414dce0f47a627ff948130d4294b4d7 (diff)
downloadjemalloc-ec532e2c5c0b25fb7ab09383fe5a274583a90def.zip
jemalloc-ec532e2c5c0b25fb7ab09383fe5a274583a90def.tar.gz
jemalloc-ec532e2c5c0b25fb7ab09383fe5a274583a90def.tar.bz2
Implement per-CPU arena.
The new feature, opt.percpu_arena, determines thread-arena association dynamically based CPU id. Three modes are supported: "percpu", "phycpu" and disabled. "percpu" uses the current core id (with help from sched_getcpu()) directly as the arena index, while "phycpu" will assign threads on the same physical CPU to the same arena. In other words, "percpu" means # of arenas == # of CPUs, while "phycpu" has # of arenas == 1/2 * (# of CPUs). Note that no runtime check on whether hyper threading is enabled is added yet. When enabled, threads will be migrated between arenas when a CPU change is detected. In the current design, to reduce overhead from reading CPU id, each arena tracks the thread accessed most recently. When a new thread comes in, we will read CPU id and update arena if necessary.
Diffstat (limited to 'src/nstime.c')
0 files changed, 0 insertions, 0 deletions