Skip to content

Commit 66162c2

Browse files
raaja-liftoffEvanMGates
authored andcommitted
Add io-cpulist conf to configure io-threads affinity
1 parent 554429f commit 66162c2

6 files changed

Lines changed: 11 additions & 4 deletions

File tree

‎redis.conf‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2465,9 +2465,12 @@ jemalloc-bg-thread yes
24652465
# the bgsave child process. The syntax to specify the cpu list is the same as
24662466
# the taskset command:
24672467
#
2468-
# Set redis server/io threads to cpu affinity 0,2,4,6:
2468+
# Set redis main thread to cpu affinity 0,2,4,6:
24692469
# server-cpulist 0-7:2
24702470
#
2471+
# Set redis io threads to cpu affinity 5,7:
2472+
# io-cpulist 5,7
2473+
#
24712474
# Set bio threads to cpu affinity 1,3:
24722475
# bio-cpulist 1,3
24732476
#

‎src/config.c‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3196,6 +3196,7 @@ standardConfig static_configs[] = {
31963196
createStringConfig("appendfilename", NULL, IMMUTABLE_CONFIG, ALLOW_EMPTY_STRING, server.aof_filename, "appendonly.aof", isValidAOFfilename, NULL),
31973197
createStringConfig("appenddirname", NULL, IMMUTABLE_CONFIG, ALLOW_EMPTY_STRING, server.aof_dirname, "appendonlydir", isValidAOFdirname, NULL),
31983198
createStringConfig("server-cpulist", "server_cpulist", IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, server.server_cpulist, NULL, NULL, NULL),
3199+
createStringConfig("io-cpulist", "io_cpulist", IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, server.io_cpulist, NULL, NULL, NULL),
31993200
createStringConfig("bio-cpulist", "bio_cpulist", IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, server.bio_cpulist, NULL, NULL, NULL),
32003201
createStringConfig("aof-rewrite-cpulist", "aof_rewrite_cpulist", IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, server.aof_rewrite_cpulist, NULL, NULL, NULL),
32013202
createStringConfig("bgsave-cpulist", "bgsave_cpulist", IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, server.bgsave_cpulist, NULL, NULL, NULL),

‎src/iothread.c‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -856,7 +856,7 @@ void *IOThreadMain(void *ptr) {
856856
char thdname[16];
857857
snprintf(thdname, sizeof(thdname), "io_thd_%d", t->id);
858858
redis_set_thread_title(thdname);
859-
redisSetCpuAffinity(server.server_cpulist);
859+
redisSetCpuAffinity(server.io_cpulist);
860860
makeThreadKillable();
861861
aeSetBeforeSleepProc(t->el, IOThreadBeforeSleep);
862862
aeSetAfterSleepProc(t->el, IOThreadAfterSleep);

‎src/server.c‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7992,6 +7992,7 @@ int main(int argc, char **argv) {
79927992
}
79937993
InitServerLast();
79947994

7995+
redisSetCpuAffinity(server.server_cpulist);
79957996
if (!server.sentinel_mode) {
79967997
/* Things not needed when running in Sentinel mode. */
79977998
serverLog(LL_NOTICE,"Server initialized");
@@ -8038,7 +8039,6 @@ int main(int argc, char **argv) {
80388039
serverLog(LL_WARNING,"WARNING: You specified a maxmemory value that is less than 1MB (current value is %llu bytes). Are you sure this is what you really want?", server.maxmemory);
80398040
}
80408041

8041-
redisSetCpuAffinity(server.server_cpulist);
80428042
setOOMScoreAdj(-1);
80438043

80448044
aeMain(server.el);

‎src/server.h‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2481,7 +2481,8 @@ struct redisServer {
24812481
int tls_auth_clients;
24822482
redisTLSContextConfig tls_ctx_config;
24832483
/* cpu affinity */
2484-
char *server_cpulist; /* cpu affinity list of redis server main/io thread. */
2484+
char *server_cpulist; /* cpu affinity list of redis server main thread. */
2485+
char *io_cpulist; /* cpu affinity list of io thread. */
24852486
char *bio_cpulist; /* cpu affinity list of bio thread. */
24862487
char *aof_rewrite_cpulist; /* cpu affinity list of aof rewrite process. */
24872488
char *bgsave_cpulist; /* cpu affinity list of bgsave process. */

‎tests/unit/introspection.tcl‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,10 +581,12 @@ start_server {tags {"introspection"}} {
581581
slaveof
582582
requirepass
583583
server-cpulist
584+
io-cpulist
584585
bio-cpulist
585586
aof-rewrite-cpulist
586587
bgsave-cpulist
587588
server_cpulist
589+
io_cpulist
588590
bio_cpulist
589591
aof_rewrite_cpulist
590592
bgsave_cpulist

0 commit comments

Comments
 (0)