смысл в том, что в многоядерном окружении, когда множество потоков работают с данными, у тебя есть гарантия, что память не будет освобождена, пока с ней кто-то работает
ну тогда ты никак не решашь вот эту задачу "Но встаёт вопрос — вот ты mbuf оттуда удалил, а когда его убивать? Вдруг пока ты его удалял его кто0то взял (указатель на него) в локальную переменную и пямощас работает?"