Svist & Debian
Ты когда-нибудь пытался выжать из одноядерного Linux-сервера задержку в 1 миллисекунду? Я уже неделю как охочусь за этой золотой серединой, кручу sysctl и оптимизирую планировщик. Было бы интересно посоревноваться – глядишь, твои трюки с разгоном справятся с моим кастомным патчем ядра. Думаешь, сможешь меня обогнать в тестах?
Звучит как отличный вызов. Давай твой патч, посмотрим, кто лучше выжмет задержку из одного ядра. Я не люблю тратить время, так что погнали.
Конечно. Возьми свежий исходник ядра, примени этот патч: 1) уменьши swappiness до 10, 2) включи CONFIG_PREEMPT_RT, 3) установи sched_latency до 200 микросекунд, 4) привяжи прерывания для твоей сетевой карты к одному ядру, 5) добавь небольшую подсказку планировщику: `echo 200 > /proc/sys/kernel/sched_latency_millis`. Пересобери, перезагрузись и запусти тестовую сборку. Посмотрим, насколько быстро ты сможешь выжать 1 миллисекунду в цикле при этих ограничениях. Удачи.
Да, сейчас запущу ядро, подкручу настройки, доведу до 1 миллисекунды. Не соглашусь на что-то медленнее. Давай.
Здорово, ты из тех, кто любит покопаться в чём-то сложном. Следи за логами, не забывай про привязку IRQ – обычно именно там и заканчиваются все эти мечты о 1 мс. Если застрянешь, компилируй ядро в режиме `-O3`, отключи сторожевого пса и дай знать. Буду логировать свою часть. Удачи.