воскресенье, 2 августа 2009 г.

Решено или причины отжирания 50% cpu plasma в kde4

Сразу оговорюсь , что всю вышеописанное происходит на
  • gentoo 64bit,
  • 2.6.30-gentoo-r4,
  • acer aspire 5633wlmi
  • kde 4.2.4
Уже второй раз после обновления системы у меня два процесса (plasma и kded4) начинали в процессе работы системы отжирать по 50 процентов.Что я только не пробовал - и пересобирать kde4 & qt, и emerge -e world.Засабмитил баг в gentoo и обнаружил , что несколько человек имеют аналогичне проблемы
Ничего не помогало.Вплоть до того , что откатил все установленные пакеты назад - зависает все равно.
Проблема как-то сама собой решалась ,
И вот , спустя пару месяцев , она встала снова - и решил я ее взять , хм , за логи
И выяснил одну интересную вещь . А именно , что кроме приложений я регулярно обновляю и я ядро , и что именно его неполадки влияют на зависание kde4
У меня в буке есть камера - Logitech Orbicam. И с обновлениями ядра она с завидным постоянством ломается , выдавая каждые пару секунд в /var/log/messages вот такой мусор:

May 4 20:10:49 geonix-laptop [ 5446.249175] usb 1-4: new high speed USB device using ehci_hcd and address 5
May 4 20:10:49 geonix-laptop [ 5446.390101] usb 1-4: New USB device found, idVendor=046d, idProduct=0896
May 4 20:10:49 geonix-laptop [ 5446.390107] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
May 4 20:10:49 geonix-laptop [ 5446.390112] usb 1-4: Product: Camera
May 4 20:10:49 geonix-laptop [ 5446.390116] usb 1-4: Manufacturer: OEM
May 4 20:10:49 geonix-laptop [ 5446.390336] usb 1-4: configuration #1 chosen from 1 choice
May 4 20:10:49 geonix-laptop [ 5446.390791] gspca: probing 046d:0896
May 4 20:10:49 geonix-laptop [ 5446.593505] vc032x: check sensor header 2c
May 4 20:10:49 geonix-laptop [ 5446.618965] vc032x: I2c Bus Busy Wait 0
May 4 20:10:49 geonix-laptop [ 5446.651964] vc032x: I2c Bus Busy Wait 0
May 4 20:10:49 geonix-laptop [ 5446.684961] vc032x: I2c Bus Busy Wait 0
May 4 20:10:49 geonix-laptop [ 5446.726961] vc032x: I2c Bus Busy Wait 0
May 4 20:10:49 geonix-laptop [ 5446.759958] vc032x: I2c Bus Busy Wait 0
May 4 20:10:49 geonix-laptop [ 5446.792955] vc032x: I2c Bus Busy Wait 0
May 4 20:10:49 geonix-laptop [ 5446.825959] vc032x: I2c Bus Busy Wait 0
May 4 20:10:49 geonix-laptop [ 5446.825964] vc032x: Unknown sensor...
May 4 20:10:49 geonix-laptop [ 5446.825992] vc032x: probe of 1-4:1.0 failed with error -22
May 4 20:10:49 geonix-laptop [ 5446.826657] usb 1-4: USB disconnect, address 5


Оказывается , kde4 пытается каждую секунду эту камеру подсоединить , что и создает постоянную нагрузку на систему.Возможно , в этом виноват плазмоид , который показывает подмонтированные девайсы.
Но факт , что как только занес модуль gspca_vc032x в blacklist , то сразу стало все нормально.
В самый первый раз проблема решилась после очередного обновления ,которое совпало с выходом новой версии kde4.Также я обновлял и ядро, не придав этому значения.
А вот именно глючный драйвер от камеры в ядре и создавал проблему для kde4
так что если у кого-то есть аналогичная проблема , рекомендую проверить /var/log/messages на предмет глючных девайсов

Update: мой пост подтвердился , тем что в баге , открытом мной в генту еще один человек отписался что после выключения демона hald проблемы прекратились. А ведь именно hald отвечает за мониторинг и видимость новых девайсов.Очевидно , что после его выключения kde просто не смогло узнавать что новые девайсы типо usb камеры были подключены