현재 S5PV210 1000Mhz, linux 2.6.35 버전을 사용중인데

제가 만든 misc 디바이스 드라이버의 ioctl read 루틴이 너무 느리게 실행됩니다.

read 루틴 안에 대략 이런 부분이 있습니다.

아래 GPIO포트 토글 기능외에 다른 부분도 있었으나 속도에 영향이 없는 관계로 생략 하였습니다.


for (i = 0; i < WIDTH; i++)

__raw_writeb((__raw_readb(S5PV210_GPH0DAT) ^ 0x04), S5PV210_GPH0DAT);


위의 코드가 실행되면 high 또는 low로 유지되는 시간이 1.4us정도 나오는데 이게 이해가 안갑니다.


CPU클럭이 1000Mhz면 CPU에서 1개의 명령 처리하는데 1ns정도가 되야 할거 같은데 

위의 코드가 약 1000여개의 명령으로 변경될만큼 느리다고는 전혀 생각이 안됩니다.


고수님들의 조언 부탁드립니다.