IO accounting in Fairphone FP1(U) kernel

Hi All,

This is a feature request. Would it be a big burden on performance to enable IO accounting features in the next kernel released?

I’m trying to track down performance issues with my phone. Performance monitor tools will tell me that my phone is hitting 100% on storage I/O which makes my phone painfully slow, but there’s no way to trace which process is responsible.

I’d like to use the iotop script to trace it, but the kernel doesn’t have the necessary IO accounting enabled.

Cheers,
Chris

1 Like

I think that is a question to ask Fairphone support :wink:

There are some settings relating to IO in Engineering Mode.

I think this will take some time. So far they have not released the (“compileable”) sources with a full “build howto” for both of their phones. The last update sounded promising.

It’s just a script accessing the kernel info, so for the older kernel you could just do this:

$ git clone https://github.com/keesj/alps-fairphone-gpl1

I use this linaro toolchain, the debian standard one fails building the kernel. Unpack it and put this toolchains “bin” dir first into your $PATH

$ wget http://releases.linaro.org/12.07/components/android/toolchain/4.6/android-toolchain-eabi-linaro-4.6-2012.07-1-2012-07-16_08-54-46-linux-x86.tar.bz2

Make this fit the path where you have unpacked the toolchain

$ PATH="$HOME/alps-fairphone-gpl/android-toolchain-eabi/bin/:$PATH"

Fix the dot .config for io accounting in the kernel directory.

+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y

Build it (this is one line)

$ TARGET_BUILD_VARIANT=user TARGET_PRODUCT=ahong89_wet_jb2 MTK_ROOT_CUSTOM=../mediatek/custom/ make

It compiles here. But without using illegal sources one cannot build a rom. But maybe the new kernel can ‘slipped’ into the builds published by the FP project?

Try and let us know :smile:

2 Likes