линуксоиды - спасите-помогите
Jul. 27th, 2012 06:11 pmА может ли быть такое чудо, что на однопроцессорном линуксе бежит риал-тайм тред (с приоритетом SCHED_RR 57, например), еще один, второй, риал-тайм тред (с приоритетом SCHED_RR 40, например) тупо висит, вытесененный НАПРОЧЬ первым...
и одновременно (!!!) прекрасно работает shell в обычном приоритете SCHED_OTHER?
первый риал-тайм тред, впрочем, постоянно делает sched_yield(), но ведь этим делу не поможешь? Вот, скажем, хоть он и делает sched_yield(), но второй риал-тайм тред не бежит вообще, а shell работает и даже не кашляет.
Я в некотором недоумении.
и одновременно (!!!) прекрасно работает shell в обычном приоритете SCHED_OTHER?
первый риал-тайм тред, впрочем, постоянно делает sched_yield(), но ведь этим делу не поможешь? Вот, скажем, хоть он и делает sched_yield(), но второй риал-тайм тред не бежит вообще, а shell работает и даже не кашляет.
Я в некотором недоумении.
no subject
Date: 2012-07-27 11:53 pm (UTC)no subject
Date: 2012-07-28 12:00 am (UTC)второй тред вообще не работает, он полностью вытеснен первым.
я считаю, что логичным было бы, если б не работал и второй тред ( у которого риал тайм приоритет) и уж тем более третий, тот который шелловский.
Но, очевидно, я просто не понял вашей мысли. Вообще.
no subject
Date: 2012-07-28 12:20 am (UTC)no subject
Date: 2012-07-28 12:43 am (UTC)no subject
Date: 2012-07-28 12:53 am (UTC)no subject
Date: 2012-07-28 01:03 am (UTC)* Или в sched_yield() ошибка, и он один тик пропускает
это возможно. но тогда должен второй тред бежать, а не третий.
no subject
Date: 2012-07-28 01:14 am (UTC)no subject
Date: 2012-07-28 01:25 am (UTC)Вот мне и удивительно, как можно дать время третьему, а не второму.
no subject
Date: 2012-07-28 01:33 am (UTC)no subject
Date: 2012-07-28 01:37 am (UTC)