Victor B. Wagner, Thu, Mar 25, 2004 19:51:13 +0100: > On 2004.03.25 at 12:04:52 +0200, Oleg Gritsinevich wrote: > > x This allows you to specify the maximum number of CPUs which this > > x kernel will support. The maximum supported value is 32 and the > > x mimimum value which makes sense is 2. > > А что понимается под номером процессора и для чего может > > понадобиться его настройка? > > То, что выдаёт /proc/cpuinfo в строке процессор. Насколько я понимаю, > его значения у "вторых половинок" hyperthreaded процессора зависят от > чипсета, и определяются тем сколько процов в принципе этот чипсет > поддерживает. Потому как сначала нумеруются все физические, а потом все > виртуальные.
чего-то я не нашёл подтверждения этому в исходниках. Смотрел arch/i386/kernel/setup.c и arch/i386/kernel/smpboot.c. Похоже, что cpu_online заполняется по очереди. И нигде не заметил чтобы было написано, что сначала идут настоящие процессоры, а потом ненастоящие. > Так что если чипсет поддерживает 4 физических процессора, то у одного > физического процессора будут номера 0 и 4. И в конфиге ядра нужно > ставить минимум 5, потому что будут задействованы 1-й и 5-й элементы в > ядерной таблице, размер которой задаётся этим параметром конфига. этому тоже нет подтверждения, и кстати в 2.6 у меня стоит 2, и два процессора найдено. Проверил 2.4 из bk (2.4.26-pre2). Загружаться он не стал (у меня ext3+ea), но до паники успел сообщить несколько раз что нашёл именно два процессора. Очень похоже, что речь идёт об уже исправленой ошибке в предыдущих ядрах.

