최근 Multi core 장비에서 Multi thead 어플리케이션 개발을 주로 하다보니

각각의 thread 간 발생하는 false sharing, true sharing 문제를 피하기 위해서

Cache Line Size을 고려한 코딩을 자주하게 된다.

 

그런데 Cache Line Size 라는 놈이 시스템마다 다르다보니..

코드의 이식성을 위해서 이부분을 동적으로 처리하기 위한 잡다한 코드를 많이 넣었는데..

 

아래와 같은 sysconf() 함수 한방이면 끝난다.

 

int cachelinesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE);

 

Posted by kabangkle