dme1737 very slow read...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jean:

* Jean Delvare <khali at linux-fr.org> [2007-08-12 14:15:27 +0200]:
> Hi Mark, all,
> 
> On Thu, 26 Jul 2007 07:39:58 -0400, Mark M. Hoffman wrote:
> > Max rate for standard I2C/SMBus is 100KHz.  However, the hardware which is
> > most common on PCs usually runs at something like 10KHz.
> 
> Speed which our drivers don't even reach because they don't use
> interrupts.
> 
> > > > Ok, I thought it might be along those lines.  Is there any other
> > > > performance impact to the system while it's waiting for the I2C bus?
> > > 
> > > Good question, I don't know. That's more a question for the I2C
> > > mailing list. Jean?
> > 
> > It depends on the specific I2C bus driver.  All of the most common ones use
> > polling, so unfortunately you will see CPU % go to 100 during that 1.5 sec.
> 
> I don't think so. The I2C bus drivers sleep between polls, so most of
> the time is spent sleeping. If we were "actively" polling (without
> sleeping) it would be much faster, but would indeed suck the CPU time
> so we don't do that.
> 
> Whoever is really concerned about slow I2C bus speed could spend some
> time converting his/her I2C bus driver to use interrupts instead of
> polling. I wanted to convert the i2c-i801 driver that way but could
> never find the time for it.

You're right: for some reason I thought they were using mdelay, not msleep. 

Regards,

-- 
Mark M. Hoffman
mhoffman at lightlink.com





[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux