diff --git a/tools/crimson/crimson_bench_tool.py b/tools/crimson/crimson_bench_tool.py index b3628153..7915691e 100755 --- a/tools/crimson/crimson_bench_tool.py +++ b/tools/crimson/crimson_bench_tool.py @@ -1249,8 +1249,8 @@ def general_pre_processing(self, tester_id): self.additional_result['alien_thread_cpu_cores'] = crimson_alien_thread_cpu_cores elif backend == "memstore": osd_core_num = self.osd_core_num - command += " -o 'memstore_device_bytes = 8G'" - self.additional_result['memstore_device_bytes'] = '8G' + command += f" -o 'memstore_device_bytes = {self.args.memstore_device_bytes}'" + self.additional_result['memstore_device_bytes'] = self.args.memstore_device_bytes elif backend == "seastore": osd_core_num = self.osd_core_num command += " -o 'seastore_cache_lru_size = 512M'" @@ -1269,6 +1269,10 @@ def general_pre_processing(self, tester_id): command += f" --crimson-smp {int(osd_core_num / self.args.osd)}" else: # classic + if backend == "memstore": + osd_core_num = self.osd_core_num + command += f" -o 'memstore_device_bytes = {self.args.memstore_device_bytes}'" + self.additional_result['memstore_device_bytes'] = self.args.memstore_device_bytes if self.osd_core_num % self.args.osd != 0: raise Exception("osd cores should be an integer multiple of osd") # classic osd cores bounding will be setting after ceph start @@ -1379,7 +1383,7 @@ def general_pre_processing(self, tester_id): # config multicore for classic # all classic osds will use cpu range 0-(osd_cores*osd-1) # crimson multicore settings has already been set in vstart osd_cores param. - if not self.args.crimson: + if not self.args.crimson or (self.args.crimson and backend == "memstore"): core_per_osd = int(self.osd_core_num / self.args.osd) core_range_begin = 0 core_range_end = core_per_osd @@ -1944,6 +1948,10 @@ def not_exist(tgt): type=int, default=None, help='set ms_async_op_threads.') + parser.add_argument('--memstore-device-bytes', + type=str + default='8G' + help='set memstore_device_bytes for memstore') parser.add_argument('--ceph-config', '--config', type=str, default=None,