Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxxx> writes: >> if (!nr) { >> ieot_blocks = istate->cache_nr / THREAD_COST; >> - if (ieot_blocks < 1) >> - ieot_blocks = 1; >> cpus = online_cpus(); >> if (ieot_blocks > cpus - 1) >> ieot_blocks = cpus - 1; > > So, am I reading this correctly - you need cpus > 2 before an > IEOT extension block is written out? > > OK. Why should we be even calling online_cpus() in this codepath to write the index in a single thread to begin with? The number of cpus that readers would use to read this index file has nothing to do with the number of cpus available to this particular writer process.