Qi Wang
ec532e2c5c
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.
2017-03-08 23:19:01 -08:00
..
2017-03-08 23:19:01 -08:00
2017-03-08 23:19:01 -08:00
2017-02-16 09:39:46 -08:00
2017-01-12 15:43:51 -08:00
2017-03-08 23:19:01 -08:00
2017-03-08 23:19:01 -08:00
2017-03-06 15:08:43 -08:00
2017-03-03 13:40:59 -08:00
2017-03-06 15:08:43 -08:00
2017-03-03 13:40:59 -08:00
2017-03-03 13:40:59 -08:00
2017-03-08 21:26:37 -08:00
2017-01-12 15:43:51 -08:00
2017-01-20 21:43:07 -08:00
2017-01-12 15:43:51 -08:00
2017-01-12 15:43:51 -08:00
2017-03-06 15:08:43 -08:00
2017-01-12 15:43:51 -08:00
2017-01-20 21:43:07 -08:00
2017-01-12 15:43:51 -08:00
2017-01-20 21:45:53 -08:00
2017-01-12 15:43:51 -08:00
2017-01-12 15:43:51 -08:00
2017-01-20 21:45:53 -08:00
2017-01-20 21:45:53 -08:00
2017-01-19 18:31:07 -08:00
2017-01-19 18:31:07 -08:00
2017-01-12 15:43:51 -08:00
2017-01-12 15:43:51 -08:00
2017-01-20 21:45:53 -08:00
2017-03-07 10:25:12 -08:00
2017-03-07 10:25:12 -08:00
2017-01-12 15:43:51 -08:00
2017-03-08 21:27:09 -08:00
2017-02-01 16:43:46 -08:00
2017-01-20 21:43:07 -08:00
2017-01-20 21:45:53 -08:00
2017-03-08 23:19:01 -08:00
2017-03-06 18:49:19 -08:00
2017-03-08 23:19:01 -08:00
2017-02-01 16:43:46 -08:00
2017-03-06 15:08:43 -08:00
2017-01-12 15:43:51 -08:00
2017-02-09 17:05:47 -08:00
2017-02-24 09:41:29 -08:00
2017-02-24 09:41:29 -08:00
2017-01-12 15:43:51 -08:00
2017-01-12 15:43:51 -08:00
2017-01-20 21:45:53 -08:00
2017-01-12 15:43:51 -08:00
2017-01-20 21:45:53 -08:00
2017-03-07 10:25:33 -08:00
2017-01-20 21:45:53 -08:00
2017-03-08 23:19:01 -08:00
2013-12-03 22:06:59 -08:00
2017-01-20 21:43:07 -08:00
2017-01-20 21:45:53 -08:00
2017-02-16 09:39:46 -08:00
2017-02-16 09:39:46 -08:00
2017-02-16 09:39:46 -08:00
2017-02-16 09:39:46 -08:00
2017-02-16 09:39:46 -08:00
2017-01-20 21:45:53 -08:00
2014-01-16 17:38:01 -08:00
2017-01-20 21:45:53 -08:00
2017-01-20 21:45:53 -08:00
2017-01-20 21:45:53 -08:00
2017-02-08 18:50:03 -08:00
2017-02-10 09:05:02 -08:00
2017-02-08 18:50:03 -08:00
2017-02-08 18:50:03 -08:00
2017-01-20 21:45:53 -08:00
2017-01-20 21:45:53 -08:00
2017-01-20 21:45:53 -08:00
2017-02-08 18:50:03 -08:00
2017-01-12 15:43:51 -08:00
2017-02-08 18:50:03 -08:00
2017-01-12 15:43:51 -08:00
2017-03-04 08:18:31 -08:00
2017-01-12 15:43:51 -08:00
2017-03-07 12:58:11 -08:00
2017-01-20 21:43:07 -08:00
2017-03-07 12:58:11 -08:00
2017-01-20 21:45:53 -08:00
2017-01-20 21:43:07 -08:00
2017-01-12 15:43:51 -08:00
2017-01-12 15:43:51 -08:00
2017-01-12 15:43:51 -08:00
2017-02-13 10:47:16 -08:00
2017-02-13 10:47:16 -08:00
2017-01-20 21:45:53 -08:00
2017-03-06 15:08:43 -08:00
2017-02-01 16:43:46 -08:00
2017-02-01 16:43:46 -08:00
2017-01-12 15:43:51 -08:00
2017-02-26 11:05:27 -08:00