linux kernel 에서 ICMP 전송시 관련 질물입니다.

trymp의 이미지


제가 kerenl 초보라서 이해를 못하는 부분이 있어서 질문드립니다.

kernel 상에서 ICMP 패킷을 전송하는 부분을 보고 있는데요.

ICMP socket을 처음에 CPU 별로 만드는데, (per_cpu)

ICMP 전송시에 ICMP socket spin-lock 을 잡습니다.

이게 의미가 있는지???

이미 socket 이 CPU 별로 있는 마당에 spin lock

으로 lock check 를 할 필요가 있는지 궁금합니다.

lock 을 안잡으면 뮈가 문제가 되는지 모르겠습니다.

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