Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Foreground tasks suffer #17

Open
corneil opened this issue Feb 19, 2011 · 7 comments
Open

Foreground tasks suffer #17

corneil opened this issue Feb 19, 2011 · 7 comments

Comments

@corneil
Copy link

corneil commented Feb 19, 2011

If the idea behind ulatencyd is to improve the user-experience then it needs to ensure the process that has input focus is the most important.
I still find that now and then video playback may suffer at the cost of a background download or filecopy.

@poelzi
Copy link
Owner

poelzi commented Feb 19, 2011

yes, foreground apps become most cpu power. do you have cgroup io enabled ?

CONFIG_BLK_CGROUP=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y

The new io optimizer tries to detect io bottleneck situation and enables then the random io grouping, which helps a lot to ensure fair io on high load on the cost of sub optimal disk read optimization on the harddrive. thats the reason the grouping is normally disabled and gets only enabled when the load is high. the active program gets a higher io weight in any case, if the cgroup io is available.

if you still get this issue with cfq group sched enabled, could you please provide some testcase how to reporduce ?

this needs of course cfq to be enabled as the io scheduler. I do not force them to be, so if you use deadline, there is no cgroup iosched for that available.

@corneil
Copy link
Author

corneil commented Feb 19, 2011

How do I enable cgroup io? I have been searching but could not find any straightforward documentation...

@poelzi
Copy link
Owner

poelzi commented Feb 19, 2011

easiest way is to append the list of options to the kernel config. i think it uses the last occurence, but i'm not sure. By hand you need io scheduling in general->cgroups (something like that) and in block->io scheduing->cfq group scheduling
But io scheduling is only in 2.6.37+ kernels.

@corneil
Copy link
Author

corneil commented Feb 21, 2011

Does this imply a kernel compile?

@corneil
Copy link
Author

corneil commented Feb 21, 2011

I found this script and it seems to improve things. I will update in a day or so.

http://www.webupd8.org/2010/11/script-to-automatically-apply-200-lines.html

@poelzi
Copy link
Owner

poelzi commented Feb 21, 2011

the script adds the autogrouping, thats what ulatencyd replaces. they changed a lot in 2.6.38 since the proove of concept patch. ulatencyd disables autogrouping on start, but this patch may not contain that feature, so it may clash horribly. i will add some more ioprio settings, tho.

@poelzi
Copy link
Owner

poelzi commented Apr 5, 2011

is this still an issue in 0.5.0 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants