Re: [RFC 0/2] drivers: spi/i2c: account completions as iowait

From: Wolfram Sang
Date: Mon Nov 03 2014 - 14:44:07 EST



> > However, researching the net, users currently interpret iowait entirely as
> > blkio wait. Furthermore, io_schedule() calls delayacct_blkio_{start|end}() which
> > worked fine for my tests with I2C but might show that iowait was really meant as
> > blkiowait? So, should other subsystems use it?
>
> I don't think so. The traditional Unix use of I/O wait is block I/O wait,
> in order to account for paging/swapping in "uptime".

I see.

> The other problem is that if you change the way it behaves you'll get
> lots of hate mail from people running server farms as all their load
> balancing and cluster management changes behaviour, plus baffled users
> wondering why their system is now busy and it wasn't in the last release.

I was fearing something like that. On the other hand, it might have been
more correct. That's why I asked.

> The other question you have to solve is that people are adding i2c and
> SPI slave support both in Android space and now perhaps upstream. How do
> you I/O account those transactions ?

I implemented I2C slave support for upstream [1] and I don't think it
needs to be acocunted. While a master transaction gets kicked off and
then waits for success using a completion, slave support is more like
serving an interrupt and then getting or putting a byte immediately.

Thanks for your answers, I'll simply keep I2C away from iowait.

Wolfram

[1] http://thread.gmane.org/gmane.linux.kernel/1783295

Attachment: signature.asc
Description: Digital signature