On 6/18/26 12:16, vermaden wrote: >> amd64 system with 16 2-thread cores (SMT): >> >> # echo $(nproc) >> 32 >> >> (No cpuset based subsetting involved.) >> >> # sysctl kern.smp.cores >> kern.smp.cores: 16 > > I was probably not specific enough. > > I would set GELI to use number of threads equal to physical cores - no matter > where the info about physical cores comes from ... and that is for ALL > encrypted GELI devices - not 'per device'.
nproc does not report physical cores in amd64 SMT/Hyper-Threading contexts unless cpuset has been used to produced 1 thread per core. kern.smp.cores does return physical cores. Also, thinking about the default and non-amd64 contexts: POWER8 and later families have more like 4 or 8 threads per core, that do not have the same tradeoffs in that design. A justification based on am64 SMT/Hyper-Threading behavior being biased to single thread performance likely would not apply to the likes POWER8 or later as a justification, for example. I wonder if the default for such tradeoffs likely should be architecture/platform specific? > > So If you have ONE disk and 4 physical cores - it means use 4 GELI threads. > > If You have 80 disks and 10 physical cores - it means use 10 GELI threads for > ALL of these encrypted disks - NOT 10 threads per disk. > > Hope that helps. > > Regards, > vermaden > > -- === Mark Millard marklmi at yahoo.com
