Linux 구성 요소의 LOC를 추정하는 방법은 무엇입니까? 이 경우 네임스페이스를 구현하는 LOC 수와 BPF를 구현하는 LOC 수를 비교하겠습니다.
답변1
일부 구성 요소에는 명확한 개요가 있으며 BPF는 주로 다음 구성 요소에 포함되어 있습니다.kernel/bpf/
. 네임스페이스와 같은 다른 것들은 그렇지 않습니다.
기능이 구현되는 위치를 결정하는 가장 좋은 방법은 해당 Kconfig 옵션을 찾는 것입니다.
git grep CONFIG_BPF\\b
BPF가 다루는 모든 것을 찾을 것입니다.
git grep -E 'CONFIG_(UTS|IPC|USER|PID|NET)_NS\b'
네임스페이스와 관련된 모든 것을 찾습니다(참조:init/Kconfig
).
이 시점에서 이러한 구성 옵션이 제어하는 코드의 양을 파악해 볼 수 있습니다. 모든 것을 비활성화한 다음 특정 기능을 얻는 데 필요한 모든 것을 활성화하고 기능 자체는 활성화하지 않은 다음 모든 코드를 전처리합니다. 완료되면 기능을 활성화하고 모든 코드를 다시 전처리하고 차이점을 측정합니다.