Hidden at the end of a thread titled "[PATCH] 2.5.72 O(1) interactivity bugfix" was a much improved patch for interactivity against 2.5.72 which seemed to be swallowed and never appeared on lkml so here it is again. If a task is interactive it will declare itself in a short period and the max_sleep_avg being 10 seconds is too long for a task to be detected as such. Unfortunately decreasing the max_sleep_avg will quickly put a task onto the expired array if the task uses sustained cpu for a period. This makes X slow down after a little usage when the machine is under heavy load. This patch uses two settings to determine a task's interactivity, the old max_sleep_avg is now more of a sleep_avg "attack" and the new best_sleep_decay is the decay. Initially these have been set to 1 and 60 seconds. Audio skipping is eliminated in my testing at heavy loads, and X does not slow down during sustained usage under very heavy load. Unlike my previous patch this one does not reset the sleep_avg of new forked processes. Included as an attachment to prevent mailer mangling. Testers required. A version for -ck will be created soon. Con