2

응용 프로그램 수준에서는 malloc() 및 memset()을 사용하고 드라이버에서는 get_user_pages_fast()를 사용하여 해당 페이지를 고정합니다.할당 된 버퍼의 해당 페이지가 캐시 또는 주 메모리에 있는지 확인하는 방법은 무엇입니까?

리눅스에서 이러한 페이지가 캐시 또는 주 메모리에 있는지 확인할지 여부를 결정하는 방법이 있습니까?

+2

캐시에 있으면 주 메모리에 있습니다. XY 문제? 원하는 것을 분명히하지 않음 – Olaf

+0

IIRC, 일부 아키텍처에서는 캐시 라인을 잠글 수 있습니다. 많은 아키텍처에서 캐시로 프리 페치 할 수 있습니다. 그러나 일반적으로 캐시는 프로세서와 메모리 사이의 숨겨진 계층을 의미하는 일종의 정의이며, 대부분의 아키텍처에서는 완전히 하드웨어로 제어되고 보이지 않습니다. – MaKo

답변

0

캐시에 고정 할 수있는 장치 관련 호출이 없으면 CPU는 자유롭게 캐시에서 들어오고 나가게 할 수 있습니다. 주소가 질문인지 여부를 캐시에서 확인할 수 있다고해도 드라이버에서 다음 명령문을 실행할 때 신뢰할 수없는 정보입니다.