DSDTs are part of the BIOS interface to ACPI (Advanced Configuration and
Power Interface). BIOS ACPI implementations are notoriously buggy, and
can easily crash kernels. So you may need to turn that off (noacpi --
you'll lose hardware power-off).
Passing the 'noapic' option to just turn off APIC fixed the freeze problem along with
the 'ata1:' related messages. So that was the solution. I can't turn off ACPI completely
because not only I lose poweroff but the second CPU (it's a dual core machine).
An APIC (Advanced Programmable Interrupt Controller, which is
responsible for interrupt balancing, as you say) is pretty unrelated.
You may well be able to turn off ACPI without turning off APIC.
Yep, that's what I did and believe it or not the system has been up and running
for 5 days now with no freezes, when it took less than 24hours to freeze
previously. So I still have ACPI managing the second CPU (the system is
admitedly slower compared to when APIC is on) and for now I'm happy
with the solution. Older FC4 kernel versions did not freeze the machine so
I'm hoping eventually a newer kernel will fix this.