vmallocTotal 크기 확장
글쓴이: blue334 / 작성시간: 수, 2008/12/31 - 6:45오후
안녕하세요.
제가 지금 드라이버모듈에서 대용량버퍼(1GB)이상의 메모리를 사용해야 되는 상황인데요..
시스템사향: 메모리 2GB 중 1GB는 시스템에서 사용, 1GB는 버퍼로 사용예정.
--> grup.conf에서 mem=1G 로 했더니, 일단 시스템에서는 1GB로 인식을 했습니다.
나머지 버퍼로사용할 1GB를 사용해야 되는데.. 이때..
ioremap( addr(1GB의 물리적메모리주소), size (1GB));를 디바이스드라이버쪽에서 호출을 했더니..
out of vmalloc size vmalloc=size to increase 뭐 이런식으로 vmalloc 사이즈가 작다고 에러를 나타내내요.
그래서 size값을 100메가정도로 하면 잡히는데..그이상으로 하면.. 잡히지를 않아서..
# cat /proc/meminfo 를 봤더니.. vmallocTotal 값이 100메가정도로 잡혀있더군요.. vmalloc사이즈를 늘려놔야.. 1G이상의
메모리를 잡을 수 있을거 같은데... 해당값을 어떻게 늘리나요??
어떤분들은 grup.conf 에서. vmalloc=xxx 이런식으로 하라고 하던데.. 이렇게 하면.. 커널부트 panic가 발생합니다.
커널소스에서.. 수정한후 커널컴파일을 해줘야 될듯싶은데.. 초보라서.. 어디를 건드려야 할지.. 대락난감입니다..
Forums:
get_vm_area() 에서
get_vm_area() 에서 내뿜는 에러입니다.
기본값은 128MB 입니다.
늘리고 싶으면 vmalloc=512m 처럼 수치와 단위를 정확하게 적어주면 됩니다.
vmalloc 과 iomap 모두에 적용됩니다.
alloc_pages() 를 활용하시길 권합니다.
OTL
댓글 달기