|
| |||
|
|
Распределение IRQ на ARM платформах "А мужики-то не знают" (с) С неким удивлением узнал, что на ARM платформах irqbalance не только бесполезен, ибо все прерывания повешены на CPU0, но также этот самый irqbalance сильно тупит и за пару дней способен отожрать всю память. Ссылки: https://lkml.org/lkml/2012/8/4/51 http://comments.gmane.org/gmane.linux.po https://groups.google.com/d/msg/linux.ke График памяти с рестартом irqbalance по расписанию раз в сутки: ![]() Под катом также лог и частичный костыль:
# cat /proc/interrupts
CPU0 CPU1
29: 31828467 20846645 GIC arch_timer
30: 0 0 GIC arch_timer
32: 0 0 GIC axp_mfd
33: 209 0 GIC serial
37: 29810 0 GIC RemoteIR
39: 56968226 0 GIC sunxi-i2c.0
40: 0 0 GIC sunxi-i2c.1
41: 0 0 GIC sunxi-i2c.2
54: 0 0 GIC timer0
55: 12 0 GIC aw_clock_event
56: 0 0 GIC sunxi-rtc alarm
59: 0 0 GIC dma_irq
60: 0 0 GIC sunxi-gpio
64: 26340917 0 GIC sunxi-mmc
71: 173325506 0 GIC ehci_hcd:usb1
72: 26892046 0 GIC ehci_hcd:usb3
76: 82951670 0 GIC sunxi lcd0
77: 0 0 GIC sunxi lcd1
78: 0 0 GIC g2d
79: 41450949 0 GIC sunxi scaler0
80: 0 0 GIC sunxi scaler1
88: 0 0 GIC sw_ahci
92: 0 0 GIC ace_dev
96: 0 0 GIC ohci_hcd:usb2
97: 0 0 GIC ohci_hcd:usb4
101: 0 0 GIC mali_gp_irq_handlers
102: 0 0 GIC mali_mmu_irq_handlers
103: 0 0 GIC mali_pp_irq_handlers
104: 0 0 GIC mali_mmu_irq_handlers
106: 0 0 GIC mali_pp_irq_handlers
107: 0 0 GIC mali_mmu_irq_handlers
120: 0 0 GIC sunxi-i2c.3
IPI0: 0 0 Timer broadcast interrupts
IPI1: 11828993 31203597 Rescheduling interrupts
IPI2: 0 0 Function call interrupts
IPI3: 569 549 Single function call interrupts
IPI4: 0 0 CPU stop interrupts
IPI5: 0 0 CPU backtrace
Err: 0
В моём случае пришлось вручную вешать USB веб камеру на CPU1: echo 2 >/proc/irq/$(cat /proc/interrupts | grep 'ehci_hcd:usb1' | cut -f 1 -d ":" | tr -d " ")/smp_affinity А irqbanace нафиг вырубить через /etc/default/irqbalance и "ENABLED=0" Платформа: dual core Allwinner A20 "BananaPi" Спасибо за внимание via |
||||||||||||||