[HTC One X] show-p1984:
[DEVS & EXP-USERS ONLY] HTC One X - High I/O wait. Same issue as the N7. (confirmed)

This little thread aims at getting some information about an issue I thought for months I am alone with.

Since I got my One X, stock or running custom stuff, my phone always gets sluggish far far beyond the point of being useable if I fill my /data partition with too much data (~1GB free triggers it usually), or move large files around in it (dd'ing some zeros onto it triggers it too).

No kind of rebooting, cache wiping, or anything else will fix it permanently. The lags will be back after a very short while once you experienced them.

Vodafone told me to RMA the phone (it was only software branded), but If you know me, then you know that I am lazy in these kinds of things and since I thought I was the only one and a wipe of /data fixed it every time for a short period, I didn't do it.

Yeah I know. Lazy b*tch. :p

A few hours ago 'Aux' who had complained about a very sluggish phone a few times already joined IRC and described his problem in more detail and I suddenly made the connection in my mind between my issue and his. He then allowed me to debug that stuff, and I came up with the exact same issue I am facing continuously:

High I/O waits while writing/reading from /data.

This thread aims at gathering intel on this issue. Do not answer here with pointless questions or howto...? stuff.

Ah btw: No, one lag after unlocking the phone is not the issue I am talking about. I mean: ~1-10 fps on the launcher, app opening takes minutes (games) & still lags like hell and downloading apps in the market is close to impossible. (~10byte p second)

So if you don't experience this, don't post logs. I am serious, I will report anyone who wastes my time on that.

To check if your phone suffers from this, run 'top'

if it shows something like this:

User 2%, System 1%, [COLOR="Red"][B]IOW 74%[/B][/COLOR], IRQ 0%
User 34 + Nice 0 + Sys 18 + Idle 263 + IOW 902 + IRQ 0 + SIRQ 1 = 1218

PID PR CPU% S #THR VSS RSS PCY UID Name
2061 0 1% S 13 471140K 32956K fg u0_a75 com.google.android.apps.reader
519 1 0% S 73 559264K 58024K fg system system_server
1035 1 0% S 20 512864K 63100K fg u0_a86 com.anddoes.launcher
2265 1 0% R 1 1132K 500K root top
[COLOR="red"][B] 105 0 0% D 1 0K 0K root mmcqd/0[/B][/COLOR]
898 1 0% S 14 483120K 60344K fg u0_a39 com.android.systemui
882 0 0% S 1 2768K 1488K wifi /system/bin/wpa_supplicant
435 0 0% S 1 0K 0K root kworker/0:2
173 1 0% S 11 29644K 10104K fg system /system/bin/surfaceflinger
[B][COLOR="red"] 123 1 0% D 1 0K 0K root jbd2/mmcblk0p15[/COLOR][/B]
879 0 0% S 1 0K 0K root irq/340-wl12xx

run 'vmstat', if it looks like this

procs memory system cpu
r b free mapped anon slab in cs flt us ni sy id wa ir
0 [COLOR="Red"]3[/COLOR] 29488 64232 261024 45956 1788 2723 0 22 0 29 99 [COLOR="red"]96[/COLOR] 0
0 [COLOR="red"]2[/COLOR] 29488 64284 261056 45952 620 905 0 1 0 4 99 [COLOR="red"]99[/COLOR] 0
1 [COLOR="red"]6[/COLOR] 29556 64284 261056 45908 472 755 0 1 0 4 99 [COLOR="red"]99[/COLOR] 0
3 [COLOR="red"]3[/COLOR] 29496 64284 261056 45908 454 680 0 0 0 1 99 [COLOR="red"]99[/COLOR] 0
0 [COLOR="red"]8[/COLOR] 29436 64284 261056 45904 462 767 0 4 0 4 99 [COLOR="red"]98[/COLOR] 0
3 [COLOR="red"]4[/COLOR] 31300 64328 261328 45840 2177 4151 0 50 0 15 99 [COLOR="red"]92[/COLOR] 0

and if 'cat /proc/fs/jbd2/mmcblk0p15-8/info' looks like this

too

:

cat /proc/fs/jbd2/mmcblk0p15-8/info
649 transaction, each up to 2196 blocks
average:
0ms waiting for transaction
1460ms running transaction
[B][COLOR="Red"] 16544590ms transaction was being locked[/COLOR][/B]
0ms flushing data (in ordered mode)
710ms logging transaction
603582us average transaction commit time
100 handles per transaction
7 blocks per transaction
8 logged blocks per transaction

Then you are most likely affected.

What I need from you:

Everything the above commands throw out as well as the following:

echo 1 > /proc/sys/vm/block_dump ; cat /proc/kmsg ; echo 0 > /proc/sys/vm/block_dump
(this is very spammy, you might want to add '> file.log' to the kmsg part)
-----
iostat
-----
iostat -kd 5
(keep it running for about 30 seconds)
-----
cat /proc/meminfo
-----
cat /proc/diskstats

This issue is the same I am facing on my N7. ~2.5Gb free will trigger a very poor performance on the N7 as well, so we have found a general bug in one of the used components (hardware if it's the same, the jbd journaling system, ... )

To figure out what this is exactly I need as much intel as you can gather if your device is in such a state.

I will attach my findings, this thread and all logs gathered on the already existing bug report for the N7 @google. (since it is more likely to get an answer out of them than it is to get one from HTC, sadly)

If you have a N7 facing the same issue:

Attach the logs here too, but please specify that they are from a N7.