User: Password:
Subscribe / Log in / New account

x86_64-2.6.8rc2 released

From:  Andi Kleen <>
Subject:  [discuss] x86_64-2.6.8rc2 released
Date:  Sat, 17 Jul 2004 14:12:23 +0200

A new x86-64 patchkit for the Linux 2.6 kernel has been released.
8b5e410734320b71ba6149e5dcff7aec  x86_64-2.6.8rc1-2.bz2

This version converts the IOMMU code to use the DMA mapping interface.
This allows better support of ISA like devices with no device
structure.  We don't actually support ISA slots in any way, but LPC
ISA like devices are fairly common in chipsets. This should fix some
IRDA chips.

It also does a lot of cleanups and the interface to SWIOTLB is more
straightforward (Suresh, should fix any problems you may have seen) 
I also fixed a few random bugs around it and made it more robust.
See the ChangeLog at the end for more details.

I will be travelling all of next week, staying in Ottawa for Kernel
Summit and OLS. Email replies may be spotty.

Linus unfortunately didn't add any of the changes I sent him for 
2.6.8rc1. But most of the changes are not very critical, the only
slightly more critical issue is the SMP bootup memory corruption
noted by some people (fixed in this patchkit). I hope he'll still
merge the patch before 2.6.8 final is out.

Some known issues:
Suspend often doesn't initialize video after wakeup
	Generic problem, needs a lot of effort to fix properly. The graphic
	card has to be POSTed properly, which is quite complicated.
Need to properly restore APICs after suspend (should be done now - check)
VIA and NVIDIA boards are forced to IO-APIC off to work around ACPI bugs.
	This will be a major problem once SMP boards with these chipsets 
	are out.
	[VIA issue should be fixed now in post 2.6.6; NVidia still
         shows problems on some board, but works on others]
IOMMU corruptions with iommu=nofullflush (disabled by default) and 
	3ware/Qlogic devices.
	Underlying bug still undebugged.
	Update: BenH had an idea about using dummy scratch pages instead of
	invalid entries for unmapped entries. This would prevent bus aborts
	for prefetches from the PCI bridge. I tried that, but it also didn't
	help for 3ware.
Some motherboard/cpu combinations do not reboot automatically: 
IPSec netlink setup code is not 32bit emulation clean
iptables is not 32bit emulation clean
DeviceMapper is not 32bit emulation clean
gettimeofday gets non monontonous when ntpd corrects drift
	i386 has some code that attempts to fix that, but it didn't correctly
	work here so I reverted it completely for now.
Newer valgrind in emulation is still mostly broken
When the BIOS doesn't assign PCI regions correctly we seem to assign
	addresses >32bit. Need a reliable way to find memory holes.
/dev/mem checks incorrectly for holes.
NMI watchdog IO-APIC mode doesn't seem to work on AMD8111
    (local APIC works though and is on by default)
NMI local APIC mode uses a performance counter that stops ticking when CPU
    executes HLT. This gives varying NMI watchdog frequencies depending on CPU
    load. Should be probably fixed by fixing IO-APIC mode and making that
    the default.
	[Update: IO-APIC mode works just fine on Intel chipsets, must be some
	AMD specific quirk]
X server messes directly with the PCI config registers and can race with
    the kernel and can cause data corruption. This needs to be fixed in the X 
    server by using proper PCI access methods.
Time runs too fast on at least one AMD machine (broken hardware?) 
When setting time backwards xtime and vxtime seem to get out of sync,
	with large negative timestamps in xtime (as seen in files)
NMI watchdog and other NMI handling doesn't work when oprofile is active.
	Need a way to distingush various NMI sources.
NMI watchdog doesn't check if it really expired	
NMI handler reads useless legacy registers.
NMI handler can deadlock in printk
Some Tyan and one e325 board with AMD 811 seem to get IDE DMA errors.
     noapic or ideXXX=serialize seems to work around it. Only happens
     with some machines.
/proc/kcore is missing fixes from 2.4 to support negative addresses.	
VIA builtin PATA doesn't work with IOMMU. Machines locks up on IDE probing.
	[workaround for this enabled now - they use swiotlb]
Windows does a better job at keeping the CPU fans quiet on some machines.
	Find out how it does that.
Tg3 hangs at boot on a scale600 - still needs debugging.	

- Fix handling of hwdev == NULL (= ISA/LPC devices) in swiotlb
- Fix swiotlb overflow handling for dma_map_sg
- Change generic pci_alloc_consistent function to be more reliable
  on preemptive kernels.
- Convert PCI DMA code to dma devices
- Change IOMMU code to use dummy fallback device instead of hardcoded
  NULL tests everywhere.
- Test iommu_sac_force instead of nommu for DAC supported macro
  (will cause more drivers to use DAC)
- Harden non IOMMU dma_alloc_consistent code to fail less likely.
- Drop ISA dependencies on IRDA drivers


Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds