kfree_skb() 함수의 내용이 이해가 되지 않습니다.
글쓴이: trymp / 작성시간: 월, 2024/08/26 - 9:16오전
void kfree_skb(struct sk_buff *skb) { if (unlikely(!skb)) return; if (likely(atomic_read(&skb->users) == 1)) smp_rmb(); else if (likely(!atomic_dec_and_test(&skb->users))) return; trace_kfree_skb(skb, __builtin_return_address(0)); __kfree_skb(skb); }
linux kernel 의 kfree_skb 함수의 내용인데요.
user count 가 1 인 경우에는 smb_rmb() 를 호출하고 아니면
1 감소 시키고 0 이 아니면 리턴하고 0 이면 free 를 진행시켜라 라는 내용같은데요
그러면 0 or 1 인 경우에 free 를 하는 건가요?
뭔가 코드가 일관성이 없는 것 같아서요.
제가 이해한 내용이 맞는지 조언해 주시면 감사하겠습니다.
Forums:
댓글 달기