Собственно, есть две машины - A и B, объединённые в сеть. На A запущен флуд-пинг по направлению к B. На B в драйвере одного устройства есть место, где вызывается
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(500);
На момент этого вызова пинг показывает, что задержка растёт, по окончанию же работы показывает, что на все пакеты был получен ответ.
Я не сильно хорошо представляю работу сети в линукс, поэтому вопрос - как schedule_timeout() влияет на обработку входящих ip/icmp пакетов и, если он эту обработку задерживает, то есть ли возможность заменить его чем-нибудь эквивалентным (чтобы выполнялось отложенное действие), но чтобы сеть не "висла"?
Спасибо.