From 7db6fc274e44a6c5fb5a96e2c9bea7a4a65e2672 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Thu, 1 May 2025 18:58:43 +0100 Subject: [PATCH] devices: dynamicly tune udev mdraid group_thread_cnt --- cookbooks/devices/templates/default/udev.rules.erb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cookbooks/devices/templates/default/udev.rules.erb b/cookbooks/devices/templates/default/udev.rules.erb index be9903891..d936df06a 100644 --- a/cookbooks/devices/templates/default/udev.rules.erb +++ b/cookbooks/devices/templates/default/udev.rules.erb @@ -155,6 +155,8 @@ ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_MODEL}=="QEMU_HA ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_MODEL}=="QEMU_HARDDISK", ATTR{queue/scheduler}="noop" # Vendor is sometimes missing -# Increase default MD raid5/raid6 strip cache + group_thread_cnt -ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{MD_LEVEL}=="raid5", ATTR{md/stripe_cache_size}="8192", ATTR{md/group_thread_cnt}="4" -ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{MD_LEVEL}=="raid6", ATTR{md/stripe_cache_size}="8192", ATTR{md/group_thread_cnt}="4" +# Tune md stripe cache and thread count for RAID-5 / RAID-6 arrays +<% + group_threads = [(node[:cpu_cores].to_i / 2.0).round, 4].max +%> +ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{MD_LEVEL}=="raid[56]", ATTR{md/stripe_cache_size}="8192", ATTR{md/group_thread_cnt}="<%= group_threads %>" -- 2.39.5