[Rescheduling interrupts] <kernel IPI> - как уменьшить количество пробуждений?
Здравствуйте, уважаемые форумчане.
Имею известный баг, а именно большое количество пробуждений процессора даже на незагруженной системе, for example, ~400 wakeups-from-idle на свежезапущенном ноуте с консолькой и powertop'ом, из них больше половины приходится на эти самые Rescheduling interrupts.
Гуглится множество тредов на различных форумах с описанием этой проблемы, а решения нигде нет.
Итак, что имею:
* процессор Intel T7250 на материнке ICH8M
* ядро gentoo-sources-3.0.0, конфиг
* все это на ноуте Dell Inspiron 1525, lspci & lsusb
Ну и лог powertop -d -t 15: http://pastebin.com/xHs5WsH2, небольшая выдержка:
Wakeups-from-idle per second : 415,7 interval: 15,0s Top causes for wakeups: 58,2% (401,0) [Rescheduling interrupts] <kernel IPI> 11,2% ( 77,5) [extra timer interrupt] 8,5% ( 58,6) [kernel scheduler] Load balancing tick 8,4% ( 57,7) kworker/0:0
Кто-нибудь знает, как снизить число пробуждений?
P.S. На другом ноуте в тех же условиях 45 пробуждений в секунду, причем [Rescheduling interrupts] <kernel IPI> там вообще не фигурирует.
- Для комментирования войдите или зарегистрируйтесь

Та же проблема. в ядре
Та же проблема.
в ядре 2.6.37.6 такого нету. а в 3.2 и других, по сути >=2.6.38 это все есть.
На ноуте батарейка просто высасывается и все =(
https://lkml.org/lkml/2011/4/
https://lkml.org/lkml/2011/4/22/321 Пользуя этот патч, получил помойку следущих прерываний:
<idle>-0 [003] 776.316884: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 chrome-2582 [000] 776.317951: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 chrome-2582 [000] 776.320689: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [000] 776.321334: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [001] 776.727670: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [000] 776.729680: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1Немножко не правильно патч
Немножко не правильно патч наложился. Вот исправленная версия.
<idle>-0 [000] 73.106819: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [002] 73.109749: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [002] 73.110610: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [002] 73.111302: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [000] 73.114094: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [001] 73.114096: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [000] 73.124090: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [000] 73.134085: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [002] 73.134087: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [001] 73.134105: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [000] 73.144080: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [000] 73.154075: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [003] 73.157824: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [000] 73.164069: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [000] 73.174064: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [002] 73.174066: special_irq_entry: irq=239 name=LOCAL_TIMER_VECTOR tlb_vector=-1 <idle>-0 [002] 73.177036: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [003] 73.177171: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [000] 73.177193: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [000] 73.177299: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [001] 73.177303: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [003] 73.177366: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [002] 73.177503: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1 <idle>-0 [002] 73.177777: special_irq_entry: irq=253 name=RESCHEDULE_VECTOR tlb_vector=-1