rcu_assign_pointer() 사용법에 대한 질문입니다.

trymp의 이미지


개발환경은 linux kernel 3.xx 대이고요

지금 커널 관련 코드를 보고 있습니다.

그런데 코드를 보다보니 rcu_assign_pointer()를 호출하기 전에 spin_lock_bh() 을 잡는 경우도 있고

안 잡는 경우도 있고 코드별로 제각기입니다.

그리고 rcu_assign_pointer() 한 다음에 synchronize_rcu_bh() 를 호출하는 경우도 있고

안 하는 경우도 있고 이것도 제각기입니다.

그래서 뭐가 옳은 방법인지 모르겠습니다.

이 함수에 대한 올바른 사용법에 대한 조언 좀 주시면 감사하겠습니다.