RFC: PCI SD host controller driver & mmc/mmcsd modules improvements

Alexander Motin mav at FreeBSD.org
Thu Oct 16 10:06:25 UTC 2008


Stanislav Sedov wrote:
> On Wed, 15 Oct 2008 23:25:11 +0300
> Alexander Motin <mav at FreeBSD.org> mentioned:
>> Completely fortunate I have noticed that number of iterations depends on 
>> my laptop power source. After small investigation I have found that it 
>> actually depends on dev.cpu.0.freq value. With default value 2400 I have 
>> only several iterations. But every double frequency decrease doubles 
>> iteration count. With minimum value 100MHz I have more then 100 
>> iterations. Same time it doesn't looks like this time is a real wall 
>> time. It looks like DELAY() used in a loop has some problems with time 
>> counting.
> 
> What do you mean? DELAY(9) on your laptop doesn't correspond to the
> real time? 

Yes. It works fine when laptop operates at full frequency, but
proportionally reduces time interval when powerd drops frequency down. I
have also evidence about the same problem on another laptop with
7.1-PRERELEASE.

> AFAIK, DELAY(9) relies on current timecounter for time
> accountiong, so there might be problems with it. Have you tried
> switching the kern.timecounter.hardware sysctl to see if it will
> affect results?

It was late and I am not very aware in FreeBSD time counting, so I have
not tried to investigate it deeper.

-- 
Alexander Motin


More information about the freebsd-mobile mailing list