Opened 16 years ago
Closed 12 years ago
#313 closed defect (fixed)
Lenovo Thinkcentre A60 works with ACPI 3.09 not with 3.11
Reported by: | ecsnl | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | Feedback pending |
Component: | ACPI PSD | Version: | 3.14 |
Keywords: | Cc: |
Description
The machine boots without any switches behind ACPI.PSD. But with the switches /APIC /SMP and ACPI 3.11 it hangs when stops starting up after the last device driver is loaded.
With the switches /APIC /SMP the machine boots. ACPI 3.09 it does boot with switches /SMP /APIC.
The log acpi_309_acpica$.txt was created with ACPI 3.09 loaded with /SMP /APIC switched
and acpi_311_acpica$.txt was created without switches behind ACPI.PSD.
Attachments (11)
Change History (55)
by , 16 years ago
Attachment: | acpi_309_acpica$.dmp added |
---|
by , 16 years ago
Attachment: | acpi_311_acpica$.txt added |
---|
by , 16 years ago
Attachment: | ZOC0811.LOG added |
---|
comment:1 by , 16 years ago
by , 16 years ago
comment:2 by , 16 years ago
The file dump was created on the thinkcentre with the debug version of ACPI.PSD 3.09 with the switches /smp /apic as requested by Pasha. It was done when the system was booted to the pmshell so this time the log should be complete.
It was created by typing the command type acpica$ >dump.
by , 16 years ago
Attachment: | smp_mspinloop_07112008_panorama.log added |
---|
by , 16 years ago
Attachment: | smp_mspinloop_07112008_vga.zip added |
---|
comment:3 by , 16 years ago
Oke Steve should be able to provide comment on this ticket today (on the two PMDF kernel traces).
As you asked today Pasha I tried to create a log of ACPICA$ with ACPI 3.11 with the switch /SMP. Then the system traps. (kernel trap with black screen).
I switched back to ACPI.PSD version 3.09 and tried to boot with the /SMP and the systemed trapped also.
When I switched back to ACPI 3.09 with the switches /SMP /APIC the system worked again.
Tell me if you need access to the system with the kernel debugger to debug why ACPI 3.11 crashed with the /SMP switch.
comment:4 by , 16 years ago
Pasha:
please download special build (2008/11/?? the latest, ACPI25112008.ZIP ?)
http://ecomstation.ru/projects/acpitools/?action=testcase
boot to desktop, copy acpica$ acpi.log
attach to the ticket
comment:5 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
This has been fixed with ACPI version 3.12 and higher.
comment:6 by , 16 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Oke this bug in back in town :-(
ACPI 3.14 that I received from Eugene, that was based on this build: ACPI29112008.ZIP (well requested that, ticket 320) I tested this on system I have mentioned before in IRC chats and in tickets as quadcore system. The file hardware.log describes the system.
Both this Thinkcentre A60 and this quadcore where both hanging very slow after loading the last device driver. On the Thinkcentre A60 it turned to be very busy in the mspinloop function (takes 2 to 3 hours to get to the blue PMSHELL screen with clock). After this problem was fixed the quadcore system was also working again!
I tested the debug build "ACPI29112008.ZIP" on the quadcore system as well and this worked. Now the 3.14 build hangs again in the mspinloop function...
So mostly likely both systems are broken again. I need to go back and test it.
by , 16 years ago
Attachment: | HARDWARE.LOG added |
---|
comment:7 by , 16 years ago
Oke I have will rewrite what I have previously written (since its not realy clear):
I have received from Eugene ACPI version 3.14 for inclusion in eCOmStation 2.0 RC 6 that we want to release as download for testing. This build of ACPI is based on ACPI29112008.ZIP which as buildlevel has build number 3.13. It fixed ticket 320, the hang on the ACPIdeamon.exe.
It tested this debug build of ACPI.PSD (from ACPI29112008.ZIP) that on the Quadcore system that I had mentioned in previous tickets and IRC chats. The hardware.log attached to this ticket has some more information about this mainboard. It worked fine!
This ticket 313 was opened orginaly because the Thinkcentre A60 would become very slow with loading. It turned out it was hanging in MPspinloop most of the, as documented in this ticket. The quadcore had the same problem. It does not have a serial port connector so I could not collect data. The ACPI version that Pasha released that fixed Thinkcentre A60 also fixed the Quadcore system.
NOW with build 3.14 the Thinkcentre A60 is stuck again in the mpspinloop after the last device driver is loaded.
What was modified on the code between build "ACPI29112008.ZIP" and the ACPI 3.14 build ?
I have not had the time yet to test the Quadcore system again. But looking at the problem is has a 99% chance of failing again as it did last time.
comment:8 by , 16 years ago
Debug ACPI.psd 3.14 "stops (system becomes slow)" after: PSD_SET_ADV_INT_MODE end IOMask:ffc3afcd This is on the thinkcentre A60
Steve Levine is working on this with the kernel debugger.
by , 16 years ago
Attachment: | acpi314_debug_psd_output.txt added |
---|
comment:9 by , 16 years ago
As requested by Pasha acpi314_debug_psd_output.txt generated with /01 /smp /apic.
comment:10 by , 16 years ago
<|e-co|dev> [Pasha] ок. а с спином что? <[Pasha]> спином? <|e-co|dev> там долго переводить acpi на .. <|e-co|dev> ? <[Pasha]> хто такой спин? <|e-co|dev> со Steven обсуждали <|e-co|dev> несколько компутеров не загружаются <|e-co|dev> потому что там где-то стопорится <[Pasha]> ах это.... <|e-co|dev> и нужно переделывать acpi на <[Pasha]> ны магу я его убрать ;-) и Steven Не прав, вот я ща иду по загрузке, то что он искал в R0 оно находится в R3 и надо просто подумать как это оттрассировать <[Pasha]> там есть KernBlock... это мягко говоря засыпалка, я не могу ея оттуда убрать, полингом я просто положу систему
comment:11 by , 16 years ago
e-co:
Pasha is interested to debug this PC. He is interested to get debug logs. I think, it's necessary install debug version of ACPI, kernel. grab ouput via COM-port.
2 Steven: or let's discuss this problem on irc, show other method of debugging.
comment:12 by , 16 years ago
Eugene,
The logs are already attached as
http://svn.netlabs.org/acpi/attachment/ticket/313/acpi314_debug_psd_output.txt
If they do not have sufficient details, you need to let Roderick know what else you need.
comment:13 by , 16 years ago
comment:14 by , 16 years ago
What Eugene means Pasha is that ticket 357 has the same problem I had later with ACPI 3.14. It boots very slowly to the desktop. Both the machines (Thinkcentre A60 and the machine from ticket 357 have an Nvidia chipset and Athlon X2 CPU.
On the Thinkcentre the WPS also takes ages to load...
follow-up: 18 comment:15 by , 16 years ago
e-co:
Hello Steven,
Please help me, how to debug this PC? which method to use?
comment:16 by , 16 years ago
SMP APIC:
- 3.09 - boots
- 3.11 - doesn't work
- 3.13 - doesn't work
- 3.14 - doesn't work
comment:17 by , 16 years ago
ACPI 3.11 build II (with new Intel CA code was it that part ?). Made it work. We still don't know what was it in that code that made that machine work! 3.14 is broken again.
comment:18 by , 16 years ago
Replying to eco:
e-co:
Please help me, how to debug this PC? which method to use?
Hi Eugene,
I would recommend using the kernel debugger to locate the part of the code that is using up all the CPU cycles. This is what I think is happening, based on the limited debugging I have done on this system.
Given that the kernel appears to be slow and not just hung, I suspect that there's an event wait that is not being satisfied. Since the system is not hung completely, I suspect the event wait has an associated timeout.
If you look at the debug logs, breaking into the kernel typically shows that the kernel is waiting on a spin lock. What needs to be done next is to determine what spin lock the kernel is waiting on and if this spin lock is being held for a very long time.
Steven
comment:20 by , 16 years ago
Attached is the output (file ZOC0901.LOG) of acpi.psd with /O1 and /SMP /APIC.
It runs into the same problem. It becomes slow the machine after loading the last device driver. This is the same Thinkcentre machine.
by , 16 years ago
Attachment: | ZOC0901.LOG added |
---|
comment:21 by , 16 years ago
This output (in file) ZOC0901.LOG was created with the PSD from ACPI29012009.ZIP.
comment:23 by , 16 years ago
e-co:
Pasha:
RUS: 313 я прошу protectonly=yes, потому как тогда должны стартовать VDM всякие.
ENG: In this case misc VDM machines are started. This may be useful
Pasha:
Please install VNC server. DTOC is not comfortable.
comment:24 by , 16 years ago
Hi,
Roderick tried this. As expected, there was no change in behavior.
When will Pasha be ready to do some kernel debugging via the DTOC connection?
comment:26 by , 16 years ago
Aaaah so that is what the protectonly suggestion was for ? That will however not prevent does VDM sessions from going away! We still have one VDM session in eCS, even when protectonly=yes is set! The other is gone, thats because we boot eCS by default with /!BIOS. The other VDM session is for INT 10 calls to the video BIOS. Besides that I won't start DOS sessions.
Or did I understand Eugene his translation incorrect ?
comment:27 by , 16 years ago
As Pasha suggested on IRC:
*[Pasha]* Hi *[Pasha]* try add /TMR? <Roderick> Why do you think this is the problem ? *[Pasha]* you have nvidia like chipset
This made no difference.
comment:28 by , 16 years ago
Pasha placed new PSD on debug machine via FTP I put that on the new machine with /TMR. Now it traps. Pasha needs to look via Dtoc to see where trap comes from.
comment:29 by , 16 years ago
I removed the /TMR and it no longer traps. But the new PSD still becomes slow after the last device driver is loaded.
Pasha told he needs to compare the logs and think.
by , 16 years ago
Attachment: | ZOC0902.LOG added |
---|
comment:30 by , 16 years ago
This log was created by Pasha ZOC0902.LOG with the PSD he uploaded to the machine.
by , 16 years ago
Attachment: | acpi309.txt added |
---|
comment:31 by , 16 years ago
Acpi 3.09 was loaded to find out what happens and why the current ACPI builds continue to load slow after all device drivers are loaded. Acpi309.txt was created with ACPI 3.09 loaded with the switches /APIC /SMP /O1 and this time the system booted fast to the desktop.
comment:32 by , 16 years ago
Please download experimental ACPI build from Mensys site:
- Experimental build for you:
ACPI-APIC-BAT.ZIP
- Read instructions: http://ecomstation.ru/projects/acpitools/?action=testcase
comment:33 by , 16 years ago
Owner: | changed from | to
---|
comment:34 by , 16 years ago
Oke I tested the acpi.psd from acpi-apic-bat.zip build on the Thinkcentre A60 and it works (it does not boot slow after last device driver is loaded.
When the final build of ACPI 3.15 comes out I will also test it on the quadcore system that is mentioned in this ticket (I have limited access to this).
comment:35 by , 16 years ago
Milestone: | Release version 3.15 → Feedback pending |
---|
Please verify that 3.15 works on this system, when it is released.
comment:36 by , 16 years ago
By demand from Steven, I begin explain what and why I do. But first I need talk , what is IO APIC, what is ACPI and how this can linked. Also need talk about MB arhcitecture
IO APIC - Input/Output Advanced Programmable Interrupt Controller. Sending interrupt signal via APIC BUS. For generate interrupt, need change signal at input line. Signal must be same, as is detector in this line of IO APIC. Detector support next variants forms of signal:
- triggering by change level of signal
- triggering by present edge of signal
- signal for triggering has high level
- signal for triggering has low level
For example, for triggering interrupt with edge/high need, that signal begin change level from low to high.
Also, IO APIC has bitfield for choice destination CPU for send message via APIC BUS. All this setting must be doing before 1st usage IO APIC. IO APIC must has 2 32-bit memory addresses for programming. Count of input lines depend from version and manafacturer. I see 16 and 24.
PIC - Programmable Interrupt Controller. Set/Clear output line, when detect signal at input line. PIC was designed for i8080 CPU and has name of chip 8259, later with minimum change be using for 8086 system and called as 8259A. Programming doing via 2 IO ports in common bus. has 8 input lines for IRQ.
IO APIC is chip, designed by Intel for change PIC. But, historical, MS DOS, Win95 and many old OSes using only PIC and can't work with IO APIC. So, in MB, usually install PIC and IO APIC. For union works MB must have scheme, as show standard from Intel Symmetrical Multi Processor v 1.14. For my sorry, I can't insert this scheme here. You can find this standard at Intel site. In this scheme we can see, what PIC is connected to LINT0 input pin and to line2 IO APIC. This do for working PIC and IO APIC together. Also both controllers can work in dedicated mode. By start computers, work only PIC or IO APIC + PIC, this mode called Virtual Wired in Intel standard. For this mode, IO APIC programmed for getting IRQ from PIC. Also IO APIC can give IRQ fron another IRQ line, which don't connected to PIC.
ACPI is standard, Info about this standard you can find in http://acpi.info. This was created instead APM standard with expand for configuring devices. Also has some features. Configuring doing via execute method. Method is function, with writes in AML. After compiling this code place to memory and called as ACPI table. ACPI has many thing, so we can take only part of its. ACPI table has device, method and constants value. This called ACPI tree.
For our case we need know about _CRS, _PRS and interrupt descriptor. _CRS is method, which executing give informations about resource...
Breaking by demand from Steven, can be continued
comment:37 by , 16 years ago
Unfortunately Pasha resisted all my suggestions to keep his explanation simple. So here how I understand what he did...
Reworked IOAPIC interrupt mode detect logic to correct detection errors that caused an interrupt flood. The interrupt flood made the system appear to hang because the consumed most of the available CPU cycles. See changeset 168 and and AcpiIRQ.c for the specific code changes.
comment:38 by , 16 years ago
Sorry, but be changes some other files too ;-) And problem not in IRQ flood. Problem was in wrong line setting. Why and what - I want explain for _user_. Be breaking. Beacouse developer know, what and how do wrong line setting. IRQ flood is only part of this.
comment:39 by , 16 years ago
Please download experimental ACPI build from Mensys site:
- Experimental build for you:
ACPI315PRE.ZIP
- Read instructions: http://ecomstation.ru/projects/acpitools/?action=testcase
comment:41 by , 16 years ago
Owner: | removed |
---|
comment:42 by , 14 years ago
Milestone: | Feedback pending → Release version 3.18 |
---|
comment:43 by , 12 years ago
Milestone: | Release version 3.19 → Feedback pending |
---|
This ticket is really old and not related to the current version. Have you tried the current version?
comment:44 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
No response from reporter. Assumed fixed in the current version.
As requested Pasha here is the output of ACPI 3.11 with switches /SMP /APIC, the file was captured via serial port. File is ZOC0811.LOG