LINUX.ORG.RU

kacpid ACPI Exception: AE_AML_INFINITE_LOOP


0

0

есть вот такая железка
http://www.intel.com/cd/products/services/emea/rus/motherboards/403391.htm

bios - последняя версия какая там есть на сайте.

ядра 2.6.30 - 2.6.32 (сейчас .32-rc8 с BFS, PREEMPT)

если создать нагрузку на процессор
( например make -j 3 пособирать что-нибудь ) то kacpid начинает нагружать одно из ядер на 100%

в dmesg много такой ругани

ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] (20090903/evgpe-568)
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.SMBR] (Node f7012c48), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.INIT] (Node f7012c30), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_GPE._L00] (Node f700f1b0), AE_AML_INFINITE_LOOP
ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] (20090903/evgpe-568)
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.SMBR] (Node f7012c48), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.INIT] (Node f7012c30), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_GPE._L00] (Node f700f1b0), AE_AML_INFINITE_LOOP
ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] (20090903/evgpe-568)
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.SMBR] (Node f7012c48), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.INIT] (Node f7012c30), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_GPE._L00] (Node f700f1b0), AE_AML_INFINITE_LOOP
ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] (20090903/evgpe-568)
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.SMBR] (Node f7012c48), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPC_.INIT] (Node f7012c30), AE_AML_INFINITE_LOOP
ACPI Error (psparse-0537): Method parse/execution failed [\_GPE._L00] (Node f700f1b0), AE_AML_INFINITE_LOOP
ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] (20090903/evgpe-568)

есть какие-нибудь варианты решения? (acpi=off не вариант, т.к. требуется для hypertheading)

★★★★★

Ответ на: комментарий от eugeneblack

CONFIG_PM_TRACE_RTC=n



Power management and ACPI options ->
Suspend/resume event tracing

у меня это выключено, т.е. уже =n , более того оно выключено где-то выше, так что даже в меню не появляется

спасибо за ответ конечно, но для меня кажется это не подходит

PS: у меня не x86_64 а i686

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

http://bugzilla.kernel.org/show_bug.cgi?id=14198

Status:     REJECTED WILL_NOT_FIX


ничего хорошего не скажу.. в багзилле бага есть, исправлять не хотят, т.к. считают что это должен сделать вендор, а вендору (Интел) судя по всему до лоликса нет дела...

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Deleted

пфф.. сложновато, хочется вариант решения попроще

для начала я уже вижу что kernel.org тормошить бесполезно, т.к. они сдались под давлением мирового заговора производителей делающих кривые ACPI в своих железяках и багу просто закроют.
Значит придется тормошить Интел... как всегда, никто непричем, а в том что линукс плохо работает с ACPI виноваты только пользователи ...

Sylvia ★★★★★
() автор топика

как вариант вроде помогает выключить HT в bios

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

> а вендору (Интел) судя по всему до лоликса нет дела...

ну так загрузись с acpi_os_name=«Microsoft Windows». Если не поможет — жалуйся в Intel скромно умолчав что у тебя Linux.

pupok ★★
()
Ответ на: комментарий от pupok

вот кстати с acpi_osi=Linux работает гораздо лучше, не помню уж чем там ужасно глючило без этого ключика, но вроде совсем плохо все было.


жалуйся в Intel скромно умолчав что у тебя Linux.


при этом ссылаясь на dmesg и kacpid...

хотите потроллить - найдите другую тему, мне вот далеко не смешно со всем этим

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

> вот кстати с acpi_osi=Linux работает гораздо лучше, не помню уж чем там ужасно глючило без этого ключика, но вроде совсем плохо все было.

у меня тоже в grub.cfg стоит «acpi_osi=Linux», без этого почему-то кнопка «mute» на лаптопе не работает.

если не хочется жаловаться — можно самому разобраться. Судя по «Method parse/execution failed» и «Exception: AE_AML_INFINITE_LOOP» там просто DSDT глючный. AML — довольно понятный язык, похож на C. На старой машине тоже пришлось его править из-за глючного БИОСа.

pupok ★★
()
Ответ на: комментарий от pupok

я сама не знаю как разбираться с глючным dsdt, по ссылке mironov_ivan выше есть какой-то мануал, но там не понятно что именно нужно там исправлять

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

> я сама не знаю как разбираться с глючным dsdt, по ссылке mironov_ivan выше есть какой-то мануал, но там не понятно что именно нужно там исправлять

Исправлять надо до кондиции чтобы не было ошибок. Во-первых чтобы дизассемблированный DSDT снова компилировался (обычно бывают ошибки потому что писатели BIOS как правило пользуются компилятором от Micorsoft), а потом надо конкретно смотреть в код, где там возникают ошибки парсинга и INFINITE_LOOP. Толковая документация была где-то у гентушников и на acpi.sf.net

pupok ★★
()

однако на FreeBSD 8.0-RC1 такая же штука проскакивала

Nov 25 23:51:01 tnight kernel: _LOOP
Nov 25 23:51:01 tnight kernel: ACPI Error (psparse-0633): Method parse/execution failed [\_GPE._L00] (Node 0xc4690740), AE_AML_INFINITE_LOOP
Nov 25 23:51:01 tnight kernel: ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] 20090521 evgpe-705
Nov 25 23:51:01 tnight kernel: ACPI Error (psparse-0633): Method parse/execution failed [\_SB_.PCI0.LPC_.SMBR] (Node 0xc46a16e0), AE_AML_INFINITE_LOOP
Nov 25 23:51:01 tnight kernel: ACPI Error (psparse-0633): Method parse/execution failed [\_SB_.PCI0.LPC_.INIT] (Node 0xc46a1700), AE_AML_INFINITE_LOOP
Nov 25 23:51:01 tnight kernel: ACPI Error (psparse-0633): Method parse/execution failed [\_GPE._L00] (Node 0xc4690740), AE_AML_INFINITE_LOOP
Nov 25 23:51:01 tnight kernel: ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] 20090521 evgpe-705
Nov 25 23:51:01 tnight kernel: ACPI Error (psparse-0633): Method parse/execution failed [\_SB_.PCI0.LPC_.SMBR] (Node 0xc46a16e0), AE_AML_INFINITE_LOOP
Nov 25 23:51:01 tnight kernel: ACPI Error (psparse-0633): Method parse/execution failed [\_SB_.PCI0.LPC_.INIT] (Node 0xc46a1700), AE_AML_INFINITE_LOOP
Nov 25 23:51:01 tnight kernel: ACPI Error (psparse-0633): Method parse/execution failed [\_GPE._L00] (Node 0xc4690740), AE_AML_INFINITE_LOOP

поставил 8.0-RELEASE и пересобрал ядро с ACPI_DEBUG но пока повторения этой ошибки не словил :-\

hizel ★★★★★
()
Ответ на: комментарий от Sylvia

ps: я пока снова с отключенным HT, вроде все в порядке, а учитывая то что на линуксе от HT преимуществ мне не видно... потяну ка я пока с редактированием dsdt, может вендор подтянется, или в ядре очередной раз переломают все так , что ошибка может и уйдет, или планировщик наконец сделают чтобы эффективно использовался HT.

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

> спасибо, а других вариантов совсем нет? т.е. это единственный путь?

ну так если DSDT с ошибками, то ошибки кто-то должен их исправить. Вроде пол года или год назад была success story как какой-то энтузиаст заставил производителя своей материнки это сделать, но это скорее исключение из правил. Раньше патчи для DSDT для конкретных моделей выкладывались на acpi.sf.net, но сейчас он read-only (наверное потому что DSDT не распространяется под GPL). Кинь куда-нибудь dump своего dsdt — может энтузиасты посмотрят.

pupok ★★
()
Ответ на: комментарий от Sylvia

> железка похожая? ( atom 330 @ Intel G945, ICH7 )

процессор, GPU и чипсет тут нипричём, надо смотреть конкрентую материнку и конкретную версию BIOS.

pupok ★★
()
Ответ на: комментарий от Sylvia

да atom 330 на ICH7 , HT изначально отключен
куплен в РиК-е сразу в сборе :-[

hizel ★★★★★
()
Ответ на: комментарий от pupok

acpi.sf.net

там кстати вообще нет Intel

энтузиаст заставил производителя своей материнки это сделать


ппц, получается что вендоры воспринимают тех кто пользуется линукс как маргиналов, и вообще забили на поддержку, сколько еды для вендотроллей то...


Кинь куда-нибудь dump своего dsdt


куда например ?
http://narod.ru/disk/15426688000/G945GCLD2D-dsdt.aml.html

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

К сожалению на многих платах Intel фигурируют проблемы такого рода. Неужели именно маленький размер платы стал ключевым фактором в выборе данной?

anonymous
()
Ответ на: комментарий от Sylvia

это точно твой DSDT? в это файле нет нет никаких «_SB_» и «LPC_» (есть «_SB» и «LPC»), откуда они взялись в сообщениях об ошибках?

pupok ★★
()
Ответ на: комментарий от Sylvia

> весело, вроде как Intel сами законодатель в этой области, а у самих DSDT на платах битые

по крайней мере DSDT компилируется без ошибок и warnings (первый раз такое вижу). А то что они изобрели язык и написали компилятор не значит что и программы на нём они всегда без ошибок писать будут.

pupok ★★
()
Ответ на: комментарий от hizel

sudo acpidump -t -d | less

--<cut>--
Scope (\_GPE)
{
Method (_L00, 0, NotSerialized)
{
\_SB.PCI0.LPC.INIT ()
}
--<cut>--

интересно и где искать ентот LPC.INIT () ?

hizel ★★★★★
()
Ответ на: комментарий от pupok

точно мой, ну разве что dsdt с отключенным ht и включенным могут различаться? (сейчас я ht выключила)

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

Надеюсь что хоть данная особенность действительно окупается и приносит свою пользу , тогда все не зря.

anonymous
()
Ответ на: комментарий от anonymous

еще цена, плата вместе с процессором стоит 90 у.е.
плюс энергопотребление сравнительно невысокое, для домашнего сервера-роутера наверное один из наиболее удачных вариантов.

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

> точно мой, ну разве что dsdt с отключенным ht и включенным могут различаться? (сейчас я ht выключила)

да, DSDT генерируется во время POST при загрузке и в зависимости от настроек BIOS и найденного оборудования может различаться (у меня P-states зависят от того какой процессор вставлен в материнку)

pupok ★★
()
Ответ на: комментарий от Sylvia

>процессором стоит 90 у.е.
Тут могу поспорить : недорогой процессор (celeron , пусть даже двухъядерный) и недорогая материнская плата , на чипе скажем G31. обойдутся примерно в такую же сумму. Но производительность получше будет.

энергопотребление сравнительно невысокое

Тут пожалуй соглашусь , но все равно тут лучше смотреть показания счетчика , если он цифровой и кажет мощность.

домашнего сервера-роутера

ИМХО для таких дел не обязательно брать новое железо. Мне бы хватило старой системы, которая бы стоила дешевле за счет факта своей старости (все равно процессор+память+мб.плата не изнашивается со временем)Но если ты - девушка предпочитающая эстетику и фен-шуй , то да . Нет ничего лучше нового.

anonymous
()
Ответ на: комментарий от anonymous

>Тут могу поспорить : недорогой процессор (celeron , пусть даже двухъядерный) и недорогая материнская плата , на чипе скажем G31. обойдутся примерно в такую же сумму. Но производительность получше будет.

Возможно, но вы не упомянули маленький размер платы.

edigaryev ★★★★★
()
Ответ на: комментарий от anonymous

Мне бы хватило старой системы, которая бы стоила дешевле


мне бы тоже, но поставить некуда, поэтому брала с учетом форм-фактора
производительность в принципе устраивает, с preempt ядром (+bfs) , то что нужно получает SCHED_ISO или SCHED_RR, avg load не выше 0.25

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от hizel

> интересно и где искать ентот LPC.INIT

там дальше этот метод «INIT» описан, только он действительно живёт в «\_SB.PCI0.LPC» а никак не в «\_SB_.PCI0.LPC_». Тут всё дело похоже в этих загадочных дополнительных подчёркиваниях.

pupok ★★
()
Ответ на: комментарий от Sylvia

>производительность в принципе устраивает
В таком случае пожалуй разделю твое довольство , и пользуясь случаем пожелаю удачи в исправлении досадного бага с dsdt =)

anonymous
()
Ответ на: комментарий от pupok

сравнила с DSDT с включенным HT, то же самое 1 в 1
отличия в выдаче iasl -d составили только имя файла и timestamp

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

твой DSDT всё-таки скомпилирован микросовтовским компилятором (в хидере есть MSFT). Попробуй скопилировать с iasl и загрузиться ним.

pupok ★★
()

частично dmesg:

kernel direct mapping tables up to 377fe000 @ 7000-c000
ACPI: RSDP 000fe020 00014 (v00 INTEL )
ACPI: RSDT 7f6fd038 0003C (v01 INTEL D945GLF2 000000E5 01000013)
ACPI: FACP 7f6fc000 00074 (v01 INTEL D945GLF2 000000E5 MSFT 01000013)
ACPI: DSDT 7f6f7000 045EC (v01 INTEL D945GLF2 000000E5 MSFT 01000013)
ACPI: FACS 7f6a3000 00040
ACPI: APIC 7f6f6000 00078 (v01 INTEL D945GLF2 000000E5 MSFT 01000013)
ACPI: WDDT 7f6f5000 00040 (v01 INTEL D945GLF2 000000E5 MSFT 01000013)
ACPI: MCFG 7f6f4000 0003C (v01 INTEL D945GLF2 000000E5 MSFT 01000013)
ACPI: ASF! 7f6f3000 000A6 (v32 INTEL D945GLF2 000000E5 MSFT 01000013)
ACPI: HPET 7f6f2000 00038 (v01 INTEL D945GLF2 000000E5 MSFT 01000013)
ACPI: Local APIC address 0xfee00000
Using APIC driver default
ACPI: PM-Timer IO Port: 0x408
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode: Flat. Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8086a201 base: 0xfed00000
Kernel command line: auto BOOT_IMAGE=linux ro root=801 acpi_osi=Linux acpi_enforce_resources=lax quiet
ACPI: Added _OSI(Linux)
ACPI: bus type pci registered
PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 127
PCI: MCFG area at f0000000 reserved in E820
PCI: Using MMCONFIG for extended config space
PCI: Using configuration type 1 for base access
bio: create slab <bio-0> at 0
ACPI: EC: Look up EC in DSDT
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: No dock devices found.
ACPI: PCI Root Bridge [PCI0] (0000:00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P32_._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX2._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX3._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 *9 10 11 12)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 *11 12)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 *10 11 12)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 *9 10 11 12)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 9 *10 11 12)

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от pupok

т.е. во всем виноват МС?
ладно, спасибо за ответы, будет время - попробую, сейчас пока без HT обойдусь, да и не хочется опять лезть наверх, отключать все, снимать железяку, отключать десктоп, переподключать клавиатуру и монитор, а потом все в обратном порядке )

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Любительский спорт часто бывает полезен для здоровья , только если не злоупотреблять

anonymous
()
Ответ на: комментарий от anonymous

Хе-хе, это ещё хорошо что домашний сервер маленький и лёгкий. У меня домашний сервер весит около 15кг (full tower с украшательствами) и снимать его с верхней полки в захламлённой кладовке - это та ещё морока =).

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.