ChangeSet@1.1503, 2005-04-07 09:22:58-03:00, ak@muc.de [PATCH] x86_64: Reload init_mm on leaving lazy mm Reload init_mm on leaving lazy mm This avoids some problems with CPUs seeing already freed pagetables in CR3. Index: linux/arch/x86_64/kernel/smp.c =================================================================== ChangeSet@1.1502, 2005-04-07 09:09:35-03:00, ak@muc.de [PATCH] x86_64: Flush correctly when more than one page is getting flushed Flush correctly when more than one page is getting flushed Found and fixed by Andrea Signed-off-by: Andi Kleen Index: linux/arch/x86_64/mm/pageattr.c =================================================================== ChangeSet@1.1501, 2005-04-07 09:09:04-03:00, ak@muc.de [PATCH] x86_64: Avoid a obnoxious warning during build. Avoid a obnoxious warning during build. gcc predeclares exit() as extern, so follow this for the inline too. Index: linux/include/asm-x86_64/unistd.h =================================================================== ChangeSet@1.1500, 2005-04-07 09:08:32-03:00, ak@muc.de [PATCH] x86_64: Resend lost APIC IRQs on Uniprocessor too Resend lost APIC IRQs on Uniprocessor too From: Petr Vandrovec hw_resend_irq must be enabled on uni processor IO_APIC kernel too. This will prevent some lost interrupts (e.g. together with VIA IDE hardware) Signed-off-by: Andi Kleen Index: linux/include/asm-x86_64/hw_irq.h =================================================================== ChangeSet@1.1499, 2005-04-07 09:07:52-03:00, ak@muc.de [PATCH] x86_64: Fix reference counting bug in change_page_attr on i386/x86-64 Fix reference counting bug in change_page_attr on i386/x86-64 When not splitting a page the reference count must be increased too. Found by several people in 2.6, one of them was Andrea Arcangelli, other names I don't remember (sorry). Signed-off-by: Andi Kleen Index: linux/arch/i386/mm/pageattr.c =================================================================== ChangeSet@1.1498, 2005-04-07 09:07:11-03:00, ak@muc.de [PATCH] x86_64: Fix idle=poll Fix idle=poll It got broken by the MWAIT idle loop changes. Signed-off-by: Andi Kleen Index: linux/arch/x86_64/kernel/process.c =================================================================== ChangeSet@1.1497, 2005-04-07 09:06:40-03:00, ak@muc.de [PATCH] x86_64: noexec=off never worked correctly for the kernel direct mappings noexec=off never worked correctly for the kernel direct mappings because the options were progressed too late. Fix this by checking for it early. (discovered by Zwane Mwaikumbo in 2.6 IIRC) Signed-off-by: Andi Kleen Index: linux/arch/x86_64/kernel/setup64.c =================================================================== ChangeSet@1.1496, 2005-04-07 09:05:33-03:00, ak@muc.de [PATCH] x86_64: Backport 2.6 MTRR algorithms Backport 2.6 MTRR algorithms Don't assume 40bits of address space anymore . This avoids various problems on Xeons which currently have only 36bits. We use the tested code from 2.6 as replacement, so this should be fairly safe. Thanks to Philip Pokorny for a lot of investigation on this issue. I ended up redoing his patch so all blame to me. Cc: Philip Pokorny Signed-off-by: Andi Kleen Index: linux/arch/x86_64/kernel/mtrr.c =================================================================== ChangeSet@1.1495, 2005-04-07 09:02:29-03:00, ak@muc.de [PATCH] x86_64: Handle MM going away in context switch. Handle MM going away in context switch. Fix a long standing bug lazy TLB handling on x86-64. When switching to a lazy TLB thread we must handle the race of the mm currently going away. If that's the case always load the page tables of the next process. This way we avoid having freed page tables in a CPU's TLB, which can lead to machine checks in some situations on Opteron. Credit goes to some anonymous AMD debugging wizards who tracked down the problem. I did the fix. All blame to me. Signed-off-by: Andi Kleen Index: linux/include/asm-x86_64/mmu_context.h =================================================================== ChangeSet@1.1492.1.4, 2005-04-05 11:10:24-03:00, hugh@veritas.com [PATCH] madvise_willneed -EIO beyond EOF When the rlim_rss was removed from madvise_willneed, we unintentionally changed its error when applied to an area wholly beyond end of file: it used to report -EIO (whereas 2.6 reports success), it currently reports the confusingly inappropriate -EBADF. Revert to -EIO in that case. Signed-off-by: Hugh Dickins ChangeSet@1.1492.1.3, 2005-04-05 11:08:03-03:00, zaitcev@redhat.com [PATCH] visor: Add Zire 31 device ID On Fri, 01 Apr 2005 13:52:25 +0100 Daniel Drake wrote: > This adds support for the Zire 31 devices to the visor driver. This ID is > already present in Linux 2.6 Daniel, thank you for the patch, it seems fine. I have it in RHEL 3 U5. I didn't post it before because I thought nobody cared about enhancements to 2.4 anymore except enterprise users with legacy hardware. Knowing Marcelo though, I expect this to be bumped to 2.4.31. ChangeSet@1.1492.1.2, 2005-04-05 11:05:24-03:00, akpm@osdl.org [PATCH] rwsem: Make rwsems use interrupt disabling spinlocks # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/03/09 10:25:02-08:00 dhowells@redhat.com # [PATCH] rwsem: Make rwsems use interrupt disabling spinlocks # # The attached patch makes read/write semaphores use interrupt disabling # spinlocks in the slow path, thus rendering the up functions and trylock # functions available for use in interrupt context. This matches the # regular semaphore behaviour. # # I've assumed that the normal down functions must be called with interrupts # enabled (since they might schedule), and used the irq-disabling spinlock # variants that don't save the flags. # # Signed-Off-By: David Howells # Tested-by: Badari Pulavarty # Signed-off-by: Linus Torvalds # # lib/rwsem.c # 2005/03/09 02:45:16-08:00 dhowells@redhat.com +10 -6 # rwsem: Make rwsems use interrupt disabling spinlocks # # lib/rwsem-spinlock.c # 2005/03/09 02:43:47-08:00 dhowells@redhat.com +26 -16 # rwsem: Make rwsems use interrupt disabling spinlocks # ChangeSet@1.1492.1.1, 2005-04-04 16:18:04-03:00, marcelo@logos.cnet Change VERSION to v2.4.30 TAG: v2.4.30