최근 Multi core 장비에서 Multi thead 어플리케이션 개발을 주로 하다보니
각각의 thread 간 발생하는 false sharing, true sharing 문제를 피하기 위해서
Cache Line Size을 고려한 코딩을 자주하게 된다.
그런데 Cache Line Size 라는 놈이 시스템마다 다르다보니..
코드의 이식성을 위해서 이부분을 동적으로 처리하기 위한 잡다한 코드를 많이 넣었는데..
아래와 같은 sysconf() 함수 한방이면 끝난다.
int cachelinesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE);
'개발&컴퓨터시스템 > Linux System Programing' 카테고리의 다른 글
[c]C code 에서 GCC version 검사하기 (0) | 2011.05.30 |
---|---|
[C] "rm -rf" 명령 수행 함수 (1) | 2011.05.23 |
[C] "mkdir -p" 명령 수행 함수 (0) | 2011.05.23 |