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

From: Wolfram Sang
Date: Sun Nov 02 2014 - 08:57:44 EST


So, I recently learned that there is wait_for_completion_io_* because one I2C
driver uses it instead of wait_for_completion_*. I want consistency, so
technically the io-versions seem to be the correct ones to me, because, well,
we are waiting for IO.

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?

To make it more confusing, some people (like Peter Zijlstra [1]) seem to like
iowait gone, so maybe it is all not worth it?

I'd be grateful for a rule-of-thumb here. And because people like to discuss
code, I created patches to convert I2C and SPI to be accounted as iowait ;)

Thanks,

Wolfram


[1] http://www.spinics.net/lists/kernel/msg1778892.html

Wolfram Sang (2):
i2c: account completions as iowait
spi: account completions as iowait

drivers/i2c/busses/i2c-axxia.c | 4 ++--
drivers/i2c/busses/i2c-bcm-kona.c | 8 ++++----
drivers/i2c/busses/i2c-bcm2835.c | 2 +-
drivers/i2c/busses/i2c-bfin-twi.c | 4 ++--
drivers/i2c/busses/i2c-cadence.c | 2 +-
drivers/i2c/busses/i2c-davinci.c | 2 +-
drivers/i2c/busses/i2c-designware-core.c | 2 +-
drivers/i2c/busses/i2c-efm32.c | 2 +-
drivers/i2c/busses/i2c-exynos5.c | 2 +-
drivers/i2c/busses/i2c-highlander.c | 2 +-
drivers/i2c/busses/i2c-hix5hd2.c | 2 +-
drivers/i2c/busses/i2c-ismt.c | 2 +-
drivers/i2c/busses/i2c-mxs.c | 2 +-
drivers/i2c/busses/i2c-nomadik.c | 4 ++--
drivers/i2c/busses/i2c-omap.c | 2 +-
drivers/i2c/busses/i2c-pmcmsp.c | 2 +-
drivers/i2c/busses/i2c-pnx.c | 2 +-
drivers/i2c/busses/i2c-qup.c | 4 ++--
drivers/i2c/busses/i2c-riic.c | 2 +-
drivers/i2c/busses/i2c-sh7760.c | 2 +-
drivers/i2c/busses/i2c-sirf.c | 2 +-
drivers/i2c/busses/i2c-st.c | 2 +-
drivers/i2c/busses/i2c-sun6i-p2wi.c | 2 +-
drivers/i2c/busses/i2c-tegra.c | 2 +-
drivers/i2c/busses/i2c-wmt.c | 4 ++--
drivers/spi/spi-altera.c | 2 +-
drivers/spi/spi-atmel.c | 2 +-
drivers/spi/spi-au1550.c | 4 ++--
drivers/spi/spi-bcm2835.c | 2 +-
drivers/spi/spi-bcm63xx-hsspi.c | 2 +-
drivers/spi/spi-bcm63xx.c | 2 +-
drivers/spi/spi-efm32.c | 2 +-
drivers/spi/spi-ep93xx.c | 4 ++--
drivers/spi/spi-fsl-espi.c | 2 +-
drivers/spi/spi-fsl-spi.c | 2 +-
drivers/spi/spi-imx.c | 6 +++---
drivers/spi/spi-mpc512x-psc.c | 2 +-
drivers/spi/spi-mpc52xx-psc.c | 2 +-
drivers/spi/spi-mxs.c | 2 +-
drivers/spi/spi-nuc900.c | 2 +-
drivers/spi/spi-oc-tiny.c | 2 +-
drivers/spi/spi-omap2-mcspi.c | 4 ++--
drivers/spi/spi-ppc4xx.c | 2 +-
drivers/spi/spi-qup.c | 2 +-
drivers/spi/spi-s3c24xx.c | 2 +-
drivers/spi/spi-s3c64xx.c | 2 +-
drivers/spi/spi-sh-msiof.c | 4 ++--
drivers/spi/spi-sirf.c | 10 +++++-----
drivers/spi/spi-sun4i.c | 2 +-
drivers/spi/spi-sun6i.c | 2 +-
drivers/spi/spi-tegra114.c | 2 +-
drivers/spi/spi-tegra20-sflash.c | 2 +-
drivers/spi/spi-tegra20-slink.c | 2 +-
drivers/spi/spi-ti-qspi.c | 4 ++--
drivers/spi/spi-xilinx.c | 2 +-
drivers/spi/spi.c | 4 ++--
drivers/spi/spidev.c | 2 +-
57 files changed, 77 insertions(+), 77 deletions(-)

--
2.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/