Opened 10 years ago

Closed 6 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)

acpi_309_acpica$.dmp (24.3 KB) - added by ecsnl 10 years ago.
acpi_311_acpica$.txt (13.0 KB) - added by ecsnl 10 years ago.
ZOC0811.LOG (16.4 KB) - added by ecsnl 10 years ago.
DUMP (25.8 KB) - added by ecsnl 10 years ago.
smp_mspinloop_07112008_panorama.log (99.1 KB) - added by ecsnl 10 years ago.
smp_mspinloop_07112008_vga.zip (30.7 KB) - added by ecsnl 10 years ago.
HARDWARE.LOG (3.2 KB) - added by ecsnl 10 years ago.
acpi314_debug_psd_output.txt (16.0 KB) - added by ecsnl 10 years ago.
ZOC0901.LOG (15.8 KB) - added by ecsnl 10 years ago.
ZOC0902.LOG (17.4 KB) - added by ecsnl 10 years ago.
acpi309.txt (37.3 KB) - added by ecsnl 10 years ago.

Download all attachments as: .zip

Change History (55)

Changed 10 years ago by ecsnl

Changed 10 years ago by ecsnl

Changed 10 years ago by ecsnl

comment:1 Changed 10 years ago by ecsnl

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

Changed 10 years ago by ecsnl

comment:2 Changed 10 years ago by ecsnl

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.

Changed 10 years ago by ecsnl

Changed 10 years ago by ecsnl

comment:3 Changed 10 years ago by ecsnl

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 Changed 10 years ago by eco

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 Changed 10 years ago by ecsnl

  • Resolution set to fixed
  • Status changed from new to closed

This has been fixed with ACPI version 3.12 and higher.

comment:6 Changed 10 years ago by ecsnl

  • Resolution fixed deleted
  • Status changed from closed to 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.

Changed 10 years ago by ecsnl

comment:7 Changed 10 years ago by ecsnl

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 Changed 10 years ago by ecsnl

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.

Changed 10 years ago by ecsnl

comment:9 Changed 10 years ago by ecsnl

As requested by Pasha acpi314_debug_psd_output.txt generated with /01 /smp /apic.

comment:10 Changed 10 years ago by eco

<|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 Changed 10 years ago by eco

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 Changed 10 years ago by stevenhl

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 Changed 10 years ago by eco

e-co:

Roderick:

Athlon CPU, it's similar to this ticket:

http://svn.netlabs.org/acpi/ticket/357

comment:14 Changed 10 years ago by ecsnl

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...

comment:15 follow-up: Changed 10 years ago by eco

e-co:

Hello Steven,

Please help me, how to debug this PC? which method to use?

comment:16 Changed 10 years ago by eco

SMP APIC:

  • 3.09 - boots
  • 3.11 - doesn't work
  • 3.13 - doesn't work
  • 3.14 - doesn't work

comment:17 Changed 10 years ago by ecsnl

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 in reply to: ↑ 15 Changed 10 years ago by stevenhl

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:19 Changed 10 years ago by pasha

  • Version changed from 3.11 to 3.14

ACPI29012009.ZIP, need comport log

comment:20 Changed 10 years ago by ecsnl

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.

Changed 10 years ago by ecsnl

comment:21 Changed 10 years ago by ecsnl

This output (in file) ZOC0901.LOG was created with the PSD from ACPI29012009.ZIP.

comment:22 Changed 10 years ago by pasha

  • Owner changed from pasha to Pasha
  • Status changed from reopened to new

try with protectonly=yes

comment:23 Changed 10 years ago by eco

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 Changed 10 years ago by stevenhl

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:25 Changed 10 years ago by pasha

Now. I need in address for DToC and man or KVM with tested computer

comment:26 Changed 10 years ago by ecsnl

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 Changed 10 years ago by ecsnl

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 Changed 10 years ago by ecsnl

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 Changed 10 years ago by ecsnl

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.

Changed 10 years ago by ecsnl

comment:30 Changed 10 years ago by ecsnl

This log was created by Pasha ZOC0902.LOG with the PSD he uploaded to the machine.

Changed 10 years ago by ecsnl

comment:31 Changed 10 years ago by ecsnl

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 Changed 10 years ago by pasha

Please download experimental ACPI build from Mensys site:

  • Experimental build for you:

ACPI-APIC-BAT.ZIP

comment:33 Changed 10 years ago by stevenhl

  • Owner changed from Pasha to pasha

comment:34 Changed 10 years ago by ecsnl

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 Changed 10 years ago by stevenhl

  • Milestone changed from Release version 3.15 to Feedback pending

Please verify that 3.15 works on this system, when it is released.

comment:36 Changed 10 years ago by pasha

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 Changed 10 years ago by stevenhl

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 Changed 10 years ago by pasha

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 Changed 10 years ago by pasha

Please download experimental ACPI build from Mensys site:

  • Experimental build for you:

ACPI315PRE.ZIP

comment:40 Changed 10 years ago by ecsnl

ACPI315PRE.ZIP works on this machine T61.

comment:41 Changed 10 years ago by pasha

  • Owner pasha deleted

comment:42 Changed 8 years ago by stevenhl

  • Milestone changed from Feedback pending to Release version 3.18

comment:43 Changed 6 years ago by dazarewicz

  • Milestone changed from Release version 3.19 to Feedback pending

This ticket is really old and not related to the current version. Have you tried the current version?

comment:44 Changed 6 years ago by dazarewicz

  • Resolution set to fixed
  • Status changed from new to closed

No response from reporter. Assumed fixed in the current version.

Note: See TracTickets for help on using tickets.