Безопасно ли вызывать функцию добавления IP-адреса из нескольких процессов одновременно?

Безопасно ли вызывать функцию добавления IP-адреса из нескольких процессов одновременно?

У меня есть служба, которая привязывает много серверов NBD к сетевому интерфейсу при запуске, каждый со своим собственным адресом IPv6. Чтобы сделать это, адреса сначала нужно добавить к правильному интерфейсу. В данный момент это делается последовательно, одним выполнением:

ip addr add <foo> dev <bar>

на устройство NBD. Существует соответствующая последовательность при ip addr delвыключении.

Я хотел бы ускорить это, разветвив эти вызовы, чтобы они работали параллельно. Известно ли, что это безопасно, известно ли, что это небезопасно, или ни то, ни другое? Страница руководства не помогает, и, признаюсь, исходный код будет выше моего понимания. Я не очень удовлетворен тем, что просто запустил его и увидел, как он работает, потому что я не могу знать, повезло ли мне просто так.

Если это имеет значение, я запускаю это на Debian Squeeze с версией ядра 2.6.32.

решение1

да, IP-адреса можно обрабатывать параллельно. Кластерное ПО, например, кардиостимулятор или сердцебиение, делает это постоянно.

решение2

Я сомневаюсь, что время, необходимое для фактической установки IP-адреса, здесь имеет значение, скорее, это накладные расходы на разветвление различных команд. Вы можете добиться большего успеха с помощью специальной программы, которая напрямую общается с ядром.

Связанный контент