BH 영역에서 local_bh_disable() 함수를 호출할 필요가 있나요?

trymp의 이미지


저는 리눅스 netfilter를 사용한 다른 사람이 개발한 모듈을 보고 있는데요

네트워크 패킷 수신처리에서 netfilter 는 softirq 상태에서 처리되고 있는 것으로 알고 있습니다.

그런데, netfilter hook() 에서 local_bh_disable() 함수를 호출하더라고요. (다른사람이 추가한 모듈)

저는 이해가 안되는게, softirq handler 내에서는 이미 BH 가 금지된 상황 아닌가요?

굳이 hook함수내에서 local_bh_disable() 호출하는 이유를 모르겠습니다.

bottom half 구간에서 local CPU 에 대해서 그런 처리가 필요한지도 의문이구요.

고수님들의 조언 부탁드립니다.