From fffcc8a50e684c9b67643ec002869a8b7024b01c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 5 Nov 2017 10:53:17 -0600 Subject: [PATCH] osd: move peering events into primary work queue For the moment we leave the old infratructure in place too; that will be cleaned up next. Two key differences: - each pg event is processed in isolation, which means MOSDPGNotify etc messages won't be batched. This will mean more messages for small clusters and no change for large clusters. - the map processing for PGs will be done in completion by a single event. There is now a wait in handle_osd_map to ensure that all PGs are processing maps that overlap with the map cache. Signed-off-by: Sage Weil --- src/common/legacy_config_opts.h | 1 + src/common/options.cc | 4 +++ src/osd/OSD.cc | 59 +++++++++++++++++++++++++++++++++ src/osd/OSD.h | 12 +++++++ src/osd/OpQueueItem.cc | 8 +++++ src/osd/OpQueueItem.h | 16 ++++++++- src/osd/PG.cc | 17 ++++++---- src/osd/PG.h | 1 + 8 files changed, 110 insertions(+), 8 deletions(-) diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index 3476122f431..6a89f82a290 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -874,6 +874,7 @@ OPTION(mon_rocksdb_options, OPT_STR) */ OPTION(osd_client_op_priority, OPT_U32) OPTION(osd_recovery_op_priority, OPT_U32) +OPTION(osd_peering_op_priority, OPT_U32) OPTION(osd_snap_trim_priority, OPT_U32) OPTION(osd_snap_trim_cost, OPT_U32) // set default cost equal to 1MB io diff --git a/src/common/options.cc b/src/common/options.cc index 0064af66523..1db1763e3ae 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -3000,6 +3000,10 @@ std::vector