]> err.no Git - linux-2.6/log
linux-2.6
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 17 Nov 2005 16:45:42 +0000 (08:45 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Thu, 17 Nov 2005 16:43:38 +0000 (08:43 -0800)]
Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev

19 years ago[PATCH] x86: fix sigaddset() inline asm memory constraint
Constantine Gavrilov [Thu, 17 Nov 2005 09:40:43 +0000 (11:40 +0200)]
[PATCH] x86: fix sigaddset() inline asm memory constraint

Due to incomplete memory constraints, gcc would miscompile code with
sigaddset on i386 if sig arg was const.

A quote form Jakub to make the issue clear:

 "You need either
__asm__("btsl %1,%0" : "+m"(*set) : "Ir"(_sig-1) : "cc");
  or
__asm__("btsl %1,%0" : "=m"(*set) : "Ir"(_sig-1), "m"(*set) : "cc");
  because the btsl instruction doesn't just set the memory to some
  value, but needs to read its previous content as well.  If you don't
  tell that fact to GCC, GCC is of course free to optimize as if the asm
  was just setting the value and not depended on the previous value."

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipw2200: fix error log offset calculation
Zhu Yi [Thu, 17 Nov 2005 05:58:30 +0000 (13:58 +0800)]
[PATCH] ipw2200: fix error log offset calculation

This fixes a slab corruption issue in the ipw2200 driver: it essentially
multiplied the error log number _twice_ by the size of the error element
entry (once explicitly in the code, and once implicitly as part of the
regular pointer arithmetic).

Cc: Henrik Brix Andersen <brix@gentoo.org>
Cc: Bernard Blackham <bernard@blackham.com.au>
Cc: Zilvinas Valinskas <zilvinas@gemtek.lt>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
--

19 years ago[PATCH] ipw2200: disallow direct scanning when device is down
Pekka Enberg [Wed, 16 Nov 2005 19:55:05 +0000 (21:55 +0200)]
[PATCH] ipw2200: disallow direct scanning when device is down

The function ipw_request_direct_scan() should bail out when the device
is down.  This fixes a lockup caused by wpa_supplicant triggering
ipw_request_direct_scan() while the driver was in a middle of a reset
due to firmware errors.

Thanks to Zilvinas Valinskas for reporting the bug and helping me
debug it.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[libata sata_mv] handle lack of hardware nIEN support
Jeff Garzik [Thu, 17 Nov 2005 10:44:44 +0000 (05:44 -0500)]
[libata sata_mv] handle lack of hardware nIEN support

Handle errata (it was unintentional on this h/w, whereas its intentional
on others) whereby the nIEN bit in Device Control is ignored, leading to
a situation where a hardware interrupt completes the qc before the
polling code has a chance to.

This will get fixed The Right Way(tm) once Albert Lee's irq-pio
branch is merged, as the more natural PIO method on this hardware is
interrupt-driven.

19 years ago[libata sata_mv] SATA probe, DMA boundary fixes
Jeff Garzik [Thu, 17 Nov 2005 15:59:48 +0000 (10:59 -0500)]
[libata sata_mv] SATA probe, DMA boundary fixes

- DMA boundary was being handled incorrectly.  Copied the code from
  ata_fill_sg(), since Marvell has the same DMA boundary needs.
  (we can't use ata_fill_sg directly since we have different hardware
   descriptors)
- cleaned up the SATA phy reset code, to deal with various errata

19 years ago[libata] add timeout to commands for which we call wait_completion()
Jeff Garzik [Thu, 17 Nov 2005 15:50:01 +0000 (10:50 -0500)]
[libata] add timeout to commands for which we call wait_completion()

19 years agoMerge branch 'upstream-fixes'
Jeff Garzik [Thu, 17 Nov 2005 01:45:51 +0000 (20:45 -0500)]
Merge branch 'upstream-fixes'

19 years agoMerge branch 'master'
Jeff Garzik [Thu, 17 Nov 2005 01:45:40 +0000 (20:45 -0500)]
Merge branch 'master'

19 years agoMerge branch 'upstream-fixes'
Jeff Garzik [Wed, 16 Nov 2005 20:12:58 +0000 (15:12 -0500)]
Merge branch 'upstream-fixes'

19 years ago[ARM] No need to include asm/proc-fns.h into asm/system.h
Russell King [Wed, 16 Nov 2005 18:36:49 +0000 (18:36 +0000)]
[ARM] No need to include asm/proc-fns.h into asm/system.h

In the old days when arm26/arm32 was combined into the same
architecture, proc-fns.h provided the xchg implementation for
arm26 CPUs.  Since we no longer combine these two, this include
is no longer required.  Remove it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] sa1111.c needs asm/sizes.h
Russell King [Wed, 16 Nov 2005 18:29:51 +0000 (18:29 +0000)]
[ARM] sa1111.c needs asm/sizes.h

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Use unsigned long not u32 in atomic_cmpxchg
Russell King [Wed, 16 Nov 2005 18:03:10 +0000 (18:03 +0000)]
[ARM] Use unsigned long not u32 in atomic_cmpxchg

Since atomic.h does not include types.h, u32 may not be defined.
Since atomics are supposed to work on unsigned long quantities,
use unsigned long instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Move zone adjustment for SA1111 on SA11x0 platforms
Russell King [Wed, 16 Nov 2005 17:38:40 +0000 (17:38 +0000)]
[ARM] Move zone adjustment for SA1111 on SA11x0 platforms

Unfortunately, using PAGE_SHIFT in asm/arch/memory.h is unsafe, and we
can't include asm/page.h into this file because then we have a circular
dependency.  Move the offending code to arch/arm/common/sa1111.c
instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Add linux/compiler.h includes where required
Russell King [Wed, 16 Nov 2005 17:23:57 +0000 (17:23 +0000)]
[ARM] Add linux/compiler.h includes where required

atomic.h, bitops.h and mmu_context.h are using likely/unlikely.
thread_info.h uses __attribute_const__.  Hence these files require
linux/compiler.h to be included.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 16 Nov 2005 16:25:28 +0000 (08:25 -0800)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[libata] bump versions
Jeff Garzik [Wed, 16 Nov 2005 16:06:59 +0000 (11:06 -0500)]
[libata] bump versions

19 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
Linus Torvalds [Wed, 16 Nov 2005 15:58:48 +0000 (07:58 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge

19 years ago[ARM] 3162/1: S3C2410 - updated defconfig
Ben Dooks [Wed, 16 Nov 2005 15:05:13 +0000 (15:05 +0000)]
[ARM] 3162/1: S3C2410 - updated defconfig

Patch from Ben Dooks

Minor changes, including add SysRq, selecting the DM9000
as a built-in driver, not as a module, and selecting the
framebuffer.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3161/1: BAST - fix commas on end of structs
Ben Dooks [Wed, 16 Nov 2005 15:05:12 +0000 (15:05 +0000)]
[ARM] 3161/1: BAST - fix commas on end of structs

Patch from Ben Dooks

Make the use of , on the lsat entry structs consistenent
through arch/arm/mach-s3c2410/mach-bast.c

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3165/1: fix atomic_cmpxchg() implementation for ARMv6+
Nicolas Pitre [Wed, 16 Nov 2005 15:05:11 +0000 (15:05 +0000)]
[ARM] 3165/1: fix atomic_cmpxchg() implementation for ARMv6+

Patch from Nicolas Pitre

If 'old' and 'oldval' are different then 'res' never gets set.  In that
case, if ever %0 happened to contain anything but zero (rather likely)
then the code will loop forever (or until another CPU just come along
and change the atomic value to match 'old' which is rather unlikely).

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] compressed/head.S debugging defaults to asm/arch/debug-macro.S
Russell King [Wed, 16 Nov 2005 14:59:51 +0000 (14:59 +0000)]
[ARM] compressed/head.S debugging defaults to asm/arch/debug-macro.S

Since we want new platforms to use debug-macro.S, make the decompressor
debugging method default to using this include file rather than having
new platforms add to an #if defined().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Include asm/hardware.h instead of asm/arch/hardware.h
Russell King [Wed, 16 Nov 2005 14:51:20 +0000 (14:51 +0000)]
[ARM] Include asm/hardware.h instead of asm/arch/hardware.h

Rationalise hardware.h include.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix arch-realview/system.h to use __io_address()
Russell King [Wed, 16 Nov 2005 14:38:19 +0000 (14:38 +0000)]
[ARM] Fix arch-realview/system.h to use __io_address()

Move __io_address to arch-realview/hardware.h, drop core.h from platsmp.c
and localtimer.c, and include asm/io.h where required.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[libata ahci] tone down ATAPI errors
Jeff Garzik [Wed, 16 Nov 2005 14:23:30 +0000 (09:23 -0500)]
[libata ahci] tone down ATAPI errors

ATA devices don't generate many errors, so the preferred method is to
printk() when they occur.

ATAPI devices generate tons of exceptions during the normal course
of operation, so this change skips logging the most common class of
errors.

19 years ago[PATCH] libata: honor the transfer cycle time speficied by the EIDE device
Albert Lee [Wed, 16 Nov 2005 09:06:18 +0000 (17:06 +0800)]
[PATCH] libata: honor the transfer cycle time speficied by the EIDE device

  The following code segment is not functional because the transfer cycle time speficied by
  the EIDE device is later overwritten by ata_timing_quantize():

/*
 * If the drive is an EIDE drive, it can tell us it needs extended
 * PIO/MW_DMA cycle timing.
 */
if (adev->id[ATA_ID_FIELD_VALID] & 2) { /* EIDE drive */
memset(&p, 0, sizeof(p));
(snip)
ata_timing_merge(&p, t, t, ATA_TIMING_CYCLE | ATA_TIMING_CYC8B);
               <== uninitialized "t" is used here
}

/*
 * Convert the timing to bus clock counts.
 */
ata_timing_quantize(s, t, T, UT);  <== t is overwritten by quantized s

  The patch has been submitted for ide-timing.h before:
  http://marc.theaimsgroup.com/?l=linux-ide&m=110820013425454&w=2
  Resubmitted for libata.

Changes:
  - Minor fix to honor the following transfer cycle time speficied by the device
    - id[65]: Minimum Multiword DMA transfer cycle time per word
    - id[67]: Minimum PIO transfer cycle time without flow control
    - id[68]: Minimum PIO transfer cycle time with IORDY

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
=======
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] sil24: add constants
Tejun Heo [Wed, 16 Nov 2005 07:56:49 +0000 (16:56 +0900)]
[PATCH] sil24: add constants

Adds constants for ATAPI support to sata_sil24.  This patch is
originally from Jeff Garzik <jgarzik@pobox.com>.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[DVB]: Add compat ioctl handling.
David S. Miller [Wed, 16 Nov 2005 08:52:57 +0000 (00:52 -0800)]
[DVB]: Add compat ioctl handling.

Based upon a patch by Guido Guenther <agx@sigxcpu.org>.

Some of these ioctls had embedded time_t objects
or pointers, so needed translation.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DVB] cinergyT2: cinergyt2_register_rc() should return 0 on success
David S. Miller [Wed, 16 Nov 2005 08:11:50 +0000 (00:11 -0800)]
[DVB] cinergyT2: cinergyt2_register_rc() should return 0 on success

Currently, the version when ENABLE_RC is defined, falls through
to the end of the function without returning anything.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Oops in pci_alloc_consistent with cingergyT2
Guido Guenther [Wed, 16 Nov 2005 08:08:44 +0000 (00:08 -0800)]
[SPARC64]: Oops in pci_alloc_consistent with cingergyT2

From: Guido Guenther <agx@sigxcpu.org>

- Use correct API for allocating and freeing DMA buffers.

Acked-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] powerpc: Make the vDSO functions set error code (#2)
Benjamin Herrenschmidt [Wed, 16 Nov 2005 02:54:32 +0000 (13:54 +1100)]
[PATCH] powerpc: Make the vDSO functions set error code (#2)

The vDSO functions should have the same calling convention as a syscall.
Unfortunately, they currently don't set the cr0.so bit which is used to
indicate an error. This patch makes them clear this bit unconditionally
since all functions currently succeed. The syscall fallback done by some
of them will eventually override this if the syscall fails.

This also changes the symbol version of all vdso exports to make sure
glibc can differenciate between old and fixed calls for existing ones
like __kernel_gettimeofday.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc: Fix build with CONFIG_CHRP not set
Benjamin Herrenschmidt [Wed, 16 Nov 2005 02:40:43 +0000 (13:40 +1100)]
[PATCH] ppc: Fix build with CONFIG_CHRP not set

Building ARCH=ppc for multiplatforms with CONFIG_CHRP not set fails
due to some unshielded code in xmon

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Move ppc64 boot wrapper code over to arch/powerpc
Paul Mackerras [Wed, 16 Nov 2005 02:38:21 +0000 (13:38 +1100)]
powerpc: Move ppc64 boot wrapper code over to arch/powerpc

This also extends the code to handle 32-bit ELF vmlinux files as well
as 64-bit ones.  This is sufficient for booting on new-world 32-bit
powermacs (i.e. all recent machines).

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: replace page_to_virt() with lowmem_page_address() for Book-E
Kumar Gala [Tue, 15 Nov 2005 17:03:24 +0000 (11:03 -0600)]
[PATCH] powerpc: replace page_to_virt() with lowmem_page_address() for Book-E

page_to_virt and lowmem_page_address provided equiavlent functionality
so use the more standard lowmem_page_address

This also addresses build issue in ARCH=powerpc since page_to_virt()
has been removed from include/asm-powerpc/page.h

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: add new powerbooks to feature table
Olof Johansson [Tue, 15 Nov 2005 17:05:14 +0000 (09:05 -0800)]
[PATCH] powerpc: add new powerbooks to feature table

Hi,

The previous PowerBook patch didn't contain the feature table updates
for ARCH=powerpc. Here they are.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc: Fix boot with yaboot with ARCH=ppc
Benjamin Herrenschmidt [Tue, 15 Nov 2005 07:21:45 +0000 (18:21 +1100)]
[PATCH] ppc: Fix boot with yaboot with ARCH=ppc

The merge of machine types broke boot with yaboot & ARCH=ppc due to the
old code still retreiving the old-syle machine type passed in by yaboot.
This patch fixes it by translating those old numbers. Since that whole
mecanism is deprecated, this is a temporary fix until ARCH=ppc uses the
new prom_init that the merged architecture now uses for both ppc32 and
ppc64 (after 2.6.15)

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] PowerBook 6,1: headphone not detected after suspend
Guido Guenther [Tue, 15 Nov 2005 06:28:05 +0000 (17:28 +1100)]
[PATCH] PowerBook 6,1: headphone not detected after suspend

ever since suspend to disk works I had the problem that headphone
(un)plugging doesn't get detected properly anymore after the first
resume.
Reloading the module worked around this ever since, however the real
cause of the problem was that after a resume the driver only got
interrupts on "unplug" not on "plug". Reactivating the headphone status
interrupt in tumbler_resume fixes this. This shouldn't cause
any trouble with software suspend, but it would be nice if somebody
could confirm this:

Signed-off-by: Guido Guenther <agx@sigxcpu.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: pci_64 fixes & cleanups
Benjamin Herrenschmidt [Tue, 15 Nov 2005 05:05:33 +0000 (16:05 +1100)]
[PATCH] powerpc: pci_64 fixes & cleanups

I discovered that in some cases (PowerMac for example) we wouldn't
properly map the PCI IO space on recent kernels. In addition, the code
for initializing PCI host bridges was scattered all over the place with
some duplication between platforms.

This patch fixes the problem and does a small cleanup by creating a
pcibios_alloc_controller() in pci_64.c that is similar to the one in
pci_32.c (just takes an additional device node argument) that takes care
of all the grunt allocation and initialisation work. It should work for
both boot time and dynamically allocated PHBs.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: More debugging fixups
Michael Ellerman [Tue, 15 Nov 2005 04:16:38 +0000 (15:16 +1100)]
[PATCH] powerpc: More debugging fixups

Add a few more missing includes of udbg.h

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Fixup debugging in lmb.c
Michael Ellerman [Tue, 15 Nov 2005 03:49:22 +0000 (14:49 +1100)]
[PATCH] powerpc: Fixup debugging in lmb.c

Somewhere we lost the include of udbg.h in lmb.c. While we're there, add a DBG
macro like every other file has and use it in lmb_dump_all().

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: update defconfigs
Benjamin Herrenschmidt [Tue, 15 Nov 2005 03:40:25 +0000 (14:40 +1100)]
[PATCH] powerpc: update defconfigs

My patch moving ppc64 RTC to genrtc was supposed to update all
defconfigs, but for some reason, the patch actually posted only had the
pseries one... ouch. This patch properly updates all defconfigs.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc32 8xx: update_mmu_cache() needs unconditional tlbie
Marcelo Tosatti [Mon, 14 Nov 2005 07:38:31 +0000 (05:38 -0200)]
[PATCH] ppc32 8xx: update_mmu_cache() needs unconditional tlbie

Currently 8xx fails to boot due to endless pagefaults.

Seems the bug is exposed by the change which avoids flushing the
TLB when not necessary (in case the pte has not changed), introduced
recently:

__handle_mm_fault():

        entry = pte_mkyoung(entry);
        if (!pte_same(old_entry, entry)) {
                ptep_set_access_flags(vma, address, pte, entry, write_access);
                update_mmu_cache(vma, address, entry);
                lazy_mmu_prot_update(entry);
        } else {
                /*
                 * This is needed only for protection faults but the arch code
                 * is not yet telling us if this is a protection fault or not.
                 * This still avoids useless tlb flushes for .text page faults
                 * with threads.
                 */
                if (write_access)
                        flush_tlb_page(vma, address);
        }

The "update_mmu_cache()" call was unconditional before, which caused the TLB
to be flushed by:

        if (pfn_valid(pfn)) {
                struct page *page = pfn_to_page(pfn);
                if (!PageReserved(page)
                    && !test_bit(PG_arch_1, &page->flags)) {
                        if (vma->vm_mm == current->active_mm) {
#ifdef CONFIG_8xx
                        /* On 8xx, cache control instructions (particularly
                         * "dcbst" from flush_dcache_icache) fault as write
                         * operation if there is an unpopulated TLB entry
                         * for the address in question. To workaround that,
                         * we invalidate the TLB here, thus avoiding dcbst
                         * misbehaviour.
                         */
                                _tlbie(address);
#endif
                                __flush_dcache_icache((void *) address);
                        } else
                                flush_dcache_icache_page(page);
                        set_bit(PG_arch_1, &page->flags);
                }

Which worked to due to pure luck: PG_arch_1 was always unset before, but
now it isnt.

The root of the problem are the changes against the 8xx TLB handlers introduced
during v2.6. What happens is the TLBMiss handlers load the zeroed pte into
the TLB, causing the TLBError handler to be invoked (thats two TLB faults per
pagefault), which then jumps to the generic MM code to setup the pte.

The bug is that the zeroed TLB is not invalidated (the same reason
for the "dcbst" misbehaviour), resulting in infinite TLBError faults.

The "two exception" approach requires a TLB flush (to nuke the zeroed TLB)
at each PTE update for correct behaviour:

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 16 Nov 2005 00:59:38 +0000 (16:59 -0800)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[PATCH] powerpc: Fix sparsemem with memory holes [was Re: ppc64 oops..]
Paul Mackerras [Wed, 16 Nov 2005 00:43:26 +0000 (11:43 +1100)]
[PATCH] powerpc: Fix sparsemem with memory holes [was Re: ppc64 oops..]

This patch should fix the crashes we have been seeing on 64-bit
powerpc systems with a memory hole when sparsemem is enabled.
I'd appreciate it if people who know more about NUMA and sparsemem
than me could look over it.

There were two bugs.  The first was that if NUMA was enabled but there
was no NUMA information for the machine, the setup_nonnuma() function
was adding a single region, assuming memory was contiguous.  The
second was that the loops in mem_init() and show_mem() assumed that
all pages within the span of a pgdat were valid (had a valid struct
page).

I also fixed the incorrect setting of num_physpages that Mike Kravetz
pointed out.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[NETFILTER] Free layer-3 specific protocol tables at cleanup
KOVACS Krisztian [Wed, 16 Nov 2005 00:47:34 +0000 (16:47 -0800)]
[NETFILTER] Free layer-3 specific protocol tables at cleanup

Although the comment around the allocation code tells us that
the layer-3 specific protocol tables will be freed when cleaning up,
they aren't. And this makes nfsim complain loudly...

Signed-off-by: KOVACS Krisztian <hidden@balabit.hu>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER] Remove nf_conntrack stat proc file when cleaning up
KOVACS Krisztian [Wed, 16 Nov 2005 00:47:09 +0000 (16:47 -0800)]
[NETFILTER] Remove nf_conntrack stat proc file when cleaning up

Fix nf_conntrack statistics proc file removal. Looks like the old bug
was forward-ported from ip_conntrack. :-]

Signed-off-by: KOVACS Krisztian <hidden@balabit.hu>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] ia64: cpu_idle performance bug fix
Chen, Kenneth W [Tue, 15 Nov 2005 22:37:05 +0000 (14:37 -0800)]
[PATCH] ia64: cpu_idle performance bug fix

Our performance validation on 2.6.15-rc1 caught a disastrous performance
regression on ia64 with netperf (-98%) and volanomark (-58%) compares to
previous kernel version 2.6.14-git7.  See the following chart (result
group 1 & 2).

  http://kernel-perf.sourceforge.net/results.machine_id=26.html

We have root caused it to commit 64c7c8f88559624abdbe12b5da6502e8879f8d28

This changeset broke the ia64 task resched notification.  In
sched.c:resched_task(), a reschedule IPI is conditioned upon
TIF_POLLING_NRFLAG.  However, the above changeset unconditionally set
the polling thread flag for idle tasks regardless whether pal_halt_light
is in use or not.  As a result, resched IPI is not sent from
resched_task().  And since the default behavior on ia64 is to use
pal_halt_light, we end up delaying the rescheduling task until next
timer tick, and thus cause the performance regression.

This fixes the performance bug.  I'm glad our performance suite is
turning up bad performance bug like this in time.

Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[TCP]: More spelling fixes.
Stephen Hemminger [Tue, 15 Nov 2005 23:17:10 +0000 (15:17 -0800)]
[TCP]: More spelling fixes.

From Joe Perches

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Tue, 15 Nov 2005 20:46:57 +0000 (12:46 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Tue, 15 Nov 2005 20:45:33 +0000 (12:45 -0800)]
Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev

19 years ago[ARM] Initialise SA1111 core before SA1111 PCMCIA
Russell King [Tue, 15 Nov 2005 19:04:22 +0000 (19:04 +0000)]
[ARM] Initialise SA1111 core before SA1111 PCMCIA

This avoids a BUG_ON with kref.c when SA1111 tries to register
a driver with an unregistered bus type.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[libata ahci] command completion fixes, improved debug msgs
Jeff Garzik [Tue, 15 Nov 2005 19:03:47 +0000 (14:03 -0500)]
[libata ahci] command completion fixes, improved debug msgs

- Fix a regression in command completion, which prevented
  the restart of the DMA engine after the device throws
  an error.
- Pack more hardware info into the port-reset error message.
- Promote "welcome to our timeout" message from debug msg
  to normal printk.

19 years ago[PATCH] oops-tracing: mention extended VGA
Dave Jones [Tue, 15 Nov 2005 08:09:24 +0000 (00:09 -0800)]
[PATCH] oops-tracing: mention extended VGA

Something I've found handy countless times when users do this..

Signed-off-by: Dave Jones <davej@redhat.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Update location of ll_rw_blk.c in docs
Ben Collins [Tue, 15 Nov 2005 08:09:21 +0000 (00:09 -0800)]
[PATCH] Update location of ll_rw_blk.c in docs

Picked from the ubuntu-2.6 tree

The change in location for ll_rw_blk.c from drivers/block/ to block/ caused
failure to generate documentation.

Signed-off-by: Ben Collins <bcollins@ubuntu.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cciss_scsi warning fix
Grant Coady [Tue, 15 Nov 2005 08:09:20 +0000 (00:09 -0800)]
[PATCH] cciss_scsi warning fix

drivers/block/cciss_scsi.c:264: warning: `print_bytes' defined but not used
drivers/block/cciss_scsi.c:298: warning: `print_cmd' defined but not used

Signed-off-by: Grant Coady <gcoady@gmail.com>
Acked-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v850: use generic hardirq code
Christoph Hellwig [Tue, 15 Nov 2005 08:09:18 +0000 (00:09 -0800)]
[PATCH] v850: use generic hardirq code

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Miles Bader <miles@gnu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v850: Add missing include in hardirq.h
Miles Bader [Tue, 15 Nov 2005 08:09:17 +0000 (00:09 -0800)]
[PATCH] v850: Add missing include in hardirq.h

Signed-off-by: Miles Bader <miles@gnu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v850: Fix show_interrupts
Miles Bader [Tue, 15 Nov 2005 08:09:16 +0000 (00:09 -0800)]
[PATCH] v850: Fix show_interrupts

A variable was being used in multiple conflicting ways.  I also restructured
the code a bit for clarity.

Signed-off-by: Miles Bader <miles@gnu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sdladrv.c build fix
Toni Mueller [Tue, 15 Nov 2005 08:09:14 +0000 (00:09 -0800)]
[PATCH] sdladrv.c build fix

gcc4 doesn't allow typecasted lvals.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hfc_usb: fix usb device table
Andrew Morton [Tue, 15 Nov 2005 08:09:13 +0000 (00:09 -0800)]
[PATCH] hfc_usb: fix usb device table

We need to use the USB_DEVICE macro here, else the modinfo aliases go all wrong.

Also, correctly terminate the table, as noted by Dave Jones <davej@redhat.com>

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make md threads interruptible again
NeilBrown [Tue, 15 Nov 2005 08:09:12 +0000 (00:09 -0800)]
[PATCH] md: make md threads interruptible again

Despite the fact that md threads don't need to be signalled, and won't
respond to signals anyway, we need to have an 'interruptible' wait, else
they stay in 'D' state and add to the load average.

(akpm: the signal_pending() test is unneeded - we'll fix that up in the next
round.  For now, leave it there because that's how the code used to be).

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: mark START_ARRAY deprecated with a date
NeilBrown [Tue, 15 Nov 2005 08:09:11 +0000 (00:09 -0800)]
[PATCH] md: mark START_ARRAY deprecated with a date

This was marked deprecated "after 2.6" back in the 2.5 days.  But now it
seems there isn't going to be any "after 2.6", and we deprecate by date
now.  So set a date.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] knfsd: make sure nfsd doesn't hog a cpu forever
NeilBrown [Tue, 15 Nov 2005 08:09:10 +0000 (00:09 -0800)]
[PATCH] knfsd: make sure nfsd doesn't hog a cpu forever

Being kernel-threads, nfsd servers don't get pre-empted (depending on
CONFIG).  If there is a steady stream of NFS requests that can be served
from cache, an nfsd thread may hold on to a cpu indefinitely, which isn't
very friendly.

So it is good to have a cond_resched in there (just before looking for a
new request to serve), to make sure we play nice.

Signed-off-by: Neil Brown <neilb@suse.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Add missing EXPORT_SYMBOLS() for __ide_mm_* functions on powerpc
Ben Collins [Tue, 15 Nov 2005 08:09:09 +0000 (00:09 -0800)]
[PATCH] Add missing EXPORT_SYMBOLS() for __ide_mm_* functions on powerpc

These exported symbols are in arch/ppc/ but missing from arch/powerpc/ for
ppc32 builds.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ipmi: bump-driver-version
Corey Minyard [Tue, 15 Nov 2005 08:09:07 +0000 (00:09 -0800)]
[PATCH] ipmi: bump-driver-version

Lots of good changes to the driver lately that userspace will care about
the version of the driver.  Bump the version from 36.0 to 38.0 to be higher
than 37 that the 2.4 driver came out with a few weeks ago which doesn't
have all the same changes.

Signed-off-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Make sysctl.h (again) usable from userspace
Harald Welte [Tue, 15 Nov 2005 08:09:06 +0000 (00:09 -0800)]
[PATCH] Make sysctl.h (again) usable from userspace

Make sysctl.h (again) useable from userspace

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] drop "[PATCH] i386 kexec-on-panic: Don't shutdown the apics"
Vivek Goyal [Tue, 15 Nov 2005 08:09:04 +0000 (00:09 -0800)]
[PATCH] drop "[PATCH] i386 kexec-on-panic: Don't shutdown the apics"

A patch by Eric was merged (f2b36db692b7ff6972320ad9839ae656a3b0ee3e)
and later on reverted back (1e4c85f97fe26fbd70da12148b3992c0e00361fd).

Along with above patch, another patch was posted and has been merged
(3d1675b41b02d64bd1185903ea0d25a8c0bb6dea).  That patch was dependent on
the above patch and now it should also be reverted.

Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] Use kernel/power/Kconfig
Russell King [Tue, 15 Nov 2005 11:31:41 +0000 (11:31 +0000)]
[ARM] Use kernel/power/Kconfig

Rather than defining our own PM option, use kernel/power/Kconfig.
This fixes build errors introduced by
bca73e4bf8563d83f7856164caa44d5f42e44cca

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[LLC]: Fix typo
Jochen Friedrich [Tue, 15 Nov 2005 05:58:18 +0000 (21:58 -0800)]
[LLC]: Fix typo

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[LLC]: Make core block on remote busy.
Jochen Friedrich [Tue, 15 Nov 2005 05:57:46 +0000 (21:57 -0800)]
[LLC]: Make core block on remote busy.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[LLC]: Fix TX window scaling
Jochen Friedrich [Tue, 15 Nov 2005 05:57:15 +0000 (21:57 -0800)]
[LLC]: Fix TX window scaling

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Fixes sparse warning in ipv6/ipv6_sockglue.c
Luiz Capitulino [Tue, 15 Nov 2005 05:43:36 +0000 (21:43 -0800)]
[IPV6]: Fixes sparse warning in ipv6/ipv6_sockglue.c

The patch below fixes the following sparse warning:

net/ipv6/ipv6_sockglue.c:291:13: warning: Using plain integer as NULL pointer

Signed-off-by: Luiz Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: small fix for ipv6_dev_get_saddr(...)
Yan Zheng [Tue, 15 Nov 2005 05:42:46 +0000 (21:42 -0800)]
[IPV6]: small fix for ipv6_dev_get_saddr(...)

The "score.rule++" doesn't make any sense for me.
According to codes above, I think it should be "hiscore.rule++;" .

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoMerge x86-64 update from Andi
Linus Torvalds [Tue, 15 Nov 2005 03:56:02 +0000 (19:56 -0800)]
Merge x86-64 update from Andi

19 years ago[PATCH] x86_64: Fix sparse mem
Bob Picco [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Fix sparse mem

Fix up booting with sparse mem enabled. Otherwise it would just
cause an early PANIC at boot.

Signed-off-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Increase the maximum number of local APICs to the maximum
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Increase the maximum number of local APICs to the maximum

This is needed for large multinode IBM systems which have a sparse
APIC space in clustered mode, fully covering the available 8 bits.

The previous kernels would limit the local APIC number to 127,
which caused it to reject some of the CPUs at boot.

I increased the maximum and shrunk the apic_version array a bit
to make up for that (the version is only 8 bit, so don't need
an full int to store)

Cc: Chris McDermott <lcm@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Remove CONFIG_CHECKING and add command line option for pagefault...
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Remove CONFIG_CHECKING and add command line option for pagefault tracing

CONFIG_CHECKING covered some debugging code used in the early times
of the port. But it wasn't even SMP safe for quite some time
and the bugs it checked for seem to be gone.

This patch removes all the code to verify GS at kernel entry. There
haven't been any new bugs in this area for a long time.

Previously it also covered the sysctl for the page fault tracing.
That didn't make much sense because that code was unconditionally
compiled in. I made that a boot option now because it is typically
only useful at boot.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Make node boundaries consistent
Magnus Damm [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Make node boundaries consistent

The current x86_64 NUMA memory code is inconsequent when it comes to node
memory ranges. The exact behaviour varies depending on which config option
that is used.

setup_node_bootmem() has start and end as arguments and these are used to
calculate the size of the node like this: (end - start). This is all fine
if end is pointing to the first non-available byte. The problem is that the
current x86_64 code sometimes treats it as the last present byte and sometimes
as the first non-available byte. The result is that some configurations might
lose a page at the end of the range.

This patch tries to fix CONFIG_ACPI_NUMA, CONFIG_K8_NUMA and CONFIG_NUMA_EMU
so they all treat the end variable as the first non-available byte. This is
the same way as the single node code.

The patch is boot tested on dual x86_64 hardware with the above configurations,
but maybe the removed code is needed as some workaround?

Signed-off-by: Magnus Damm <magnus@valinux.co.jp>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Log machine checks from boot on Intel systems
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Log machine checks from boot on Intel systems

The logging for boot errors was turned off because it was broken
on some AMD systems. But give Intel EM64T systems a chance because they are
supposed to be correct there.

The advantage is that there is a chance to actually log uncorrected
machine checks after the reset.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Make ACPI NUMA and NUMA emulation peers of K8_NUMA in Kconfig
Ravikiran G Thirumalai [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Make ACPI NUMA and NUMA emulation peers of K8_NUMA in Kconfig

On x86_64 arches, there is no way to choose ACPI_NUMA without having to choose
K8_NUMA.  CONFIG_K8_NUMA is not needed for Intel EM64T NUMA boxes.  It also
looks odd if you have to select ACPI_NUMA from the power management menu.
This patch fixes those oddities.  Patch does the following:

1. Makes NUMA a config option like other arches
2. Makes topology detection options like K8_NUMA dependent on NUMA
3. Choosing ACPI NUMA detection can be done from the standard
   "Processor type and features" menu

AK: I fixed up the dependencies and changed the help texts a bit
on top of Kiran's patch.

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Use common sys_time64
Paolo 'Blaisorblade' Giarrusso [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Use common sys_time64

Keeping this function does not makes sense because it's a copied (and
buggy) copy of sys_time.  The only difference is that now.tv_sec (which is
a time_t, i.e.  a 64-bit long) is copied (and truncated) into a int
(32-bit).

The prototype is the same (they both take a long __user *), so let's drop
this and redirect it to sys_time (and make sure it exists by defining
__ARCH_WANT_SYS_TIME).

Only disadvantage is that the sys_stime definition is also compiled (may be
fixed if needed by adding a separate __ARCH_WANT_SYS_STIME macro, and
defining it for all arch's defining __ARCH_WANT_SYS_TIME except x86_64).

Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Set ____cacheline_maxaligned_in_smp alignment to 128 bytes
Paolo 'Blaisorblade' Giarrusso [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Set ____cacheline_maxaligned_in_smp alignment to 128 bytes

The current value was correct before the introduction of Intel EM64T support -
but now L1_CACHE_SHIFT_MAX can be less than L1_CACHE_SHIFT, which _is_ funny!

Between the few users of ____cacheline_maxaligned_in_smp, we also have (for
example) rcu_ctrlblk, and struct zone, with zone->{lru_,}lock.  I.e.  we have
a lot of excess cacheline bouncing on them.

No correctness issues, obviously.  So this could even be merged for 2.6.14
(I'm not a fan of this idea, though).

CC: Andi Kleen <ak@suse.de>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Remove asm-x86_64/rwsem.h
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Remove asm-x86_64/rwsem.h

Not needed since x86-64 always uses the spinlock based rwsems.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Remove optimization for B stepping AMD K8
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Remove optimization for B stepping AMD K8

B stepping were the first shipping Opterons. memcpy/memset/copy_page/
clear_page had special optimized version for them. These are really
old and in the minority now and the difference to the generic versions
(using rep microcode) is not that big anyways. So just remove them.

TODO: figure out optimized versions for Intel Netburst based EM64T

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Reduce number of retries for reset through keyboard controller
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Reduce number of retries for reset through keyboard controller

Old code could retry for 10 seconds worst time. Only try it
for one second now.

Suggested by Yinghai Lu

Cc: Yinghai.Lu@amd.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: x86_64/i386 fix Intel cache detection code assumption about threads...
Siddha, Suresh B [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: x86_64/i386 fix Intel cache detection code assumption about threads sharing

Fix the Intel cache detection code assumption that number of threads
sharing the cache will either be equal to number of HT or core siblings.

This also cleans up the code in general a bit.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86-64/i386: Intel HT, Multi core detection fixes
Siddha, Suresh B [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86-64/i386: Intel HT, Multi core detection fixes

Fields obtained through cpuid vector 0x1(ebx[16:23]) and
vector 0x4(eax[14:25], eax[26:31]) indicate the maximum values and might not
always be the same as what is available and what OS sees.  So make sure
"siblings" and "cpu cores" values in /proc/cpuinfo reflect the values as seen
by OS instead of what cpuid instruction says. This will also fix the buggy BIOS
cases (for example where cpuid on a single core cpu says there are "2" siblings,
even when HT is disabled in the BIOS.
http://bugzilla.kernel.org/show_bug.cgi?id=4359)

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Fix NUMA node lookup debug code which had bitrotted
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Fix NUMA node lookup debug code which had bitrotted

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Don't enable interrupt unconditionally in reboot path
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Don't enable interrupt unconditionally in reboot path

When they were disabled before (e.g. after a panic) it's better
to keep them off, otherwise followon panics can happen from timer
interrupt handlers etc.

Drawback is that pageup in the console won't work anymore though.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Formatting fixes for arch/x86_64/kernel/process.c
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Formatting fixes for arch/x86_64/kernel/process.c

No functional changes.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Allow modular build of ia32 aout loader
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Allow modular build of ia32 aout loader

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Force correct address space size for MTRR on some 64bit Intel Xeons
Shaohua Li [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Force correct address space size for MTRR on some 64bit Intel Xeons

They report 40bit, but only have 36bits of physical address space.
This caused problems with setting up the correct masks for MTRR.

CPUID workaround for steppings 0F33h(supporting x86) and 0F34h(supporting x86
and EM64T). Detail info can be found at:
http://download.intel.com/design/Xeon/specupdt/30240216.pdf
http://download.intel.com/design/Pentium4/specupdt/30235221.pdf

Signed-off-by: Shaohua Li<shaohua.li@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] AGP: Make gart iterator in K8 AGP driver SMP safe
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] AGP: Make gart iterator in K8 AGP driver SMP safe

Ugh!

Cc: davej@redhat.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] AGP: Try unsupported AGP chipsets on x86-64 by default
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] AGP: Try unsupported AGP chipsets on x86-64 by default

So far all new ones have worked and there isn't much variation because
the CPU does all the interesting bits.

So enable try unsupported by default.

Can be still disabled with try_unsupported=0 (module) or
amd64.try_unsupported=0   (boot option)

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] AGP: Support ULI/ALI 1689 bridge on AMD64
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] AGP: Support ULI/ALI 1689 bridge on AMD64

(no name because I'm not sure of the correct name)

Cc: davej@redhat.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Optimize NUMA node hash function
Eric Dumazet [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Optimize NUMA node hash function

Compute the highest possible value for memnode_shift, in order to reduce
footprint of memnodemap[] to the minimum, thus making all users
(phys_to_nid(), kfree()), more cache friendly.

Before the patch :

 Node 0 MemBase 0000000000000000 Limit 00000001ffffffff
 Node 1 MemBase 0000000200000000 Limit 00000003ffffffff
 Using 23 for the hash shift. Max adder is 3ffffffff

After the patch :

 Node 0 MemBase 0000000000000000 Limit 00000001ffffffff
 Node 1 MemBase 0000000200000000 Limit 00000003ffffffff
 Using 33 for the hash shift.

In this case, only 2 bytes of memnodemap[] are used, instead of 2048

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Save/restore CS in 64bit signal handlers and force __USER_CS for CS
Bryan Ford [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Save/restore CS in 64bit signal handlers and force __USER_CS for CS

This allows to run 64bit signal handlers in 64bit processes that run small
code snippets in compat mode.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: New heuristics to find out hotpluggable CPUs.
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: New heuristics to find out hotpluggable CPUs.

With a NR_CPUS==128 kernel with CPU hotplug enabled we would waste 4MB
on per CPU data of all possible CPUs.  The reason was that HOTPLUG
always set up possible map to NR_CPUS cpus and then we need to allocate
that much (each per CPU data is roughly ~32k now)

The underlying problem is that ACPI didn't tell us how many hotplug CPUs
the platform supports.  So the old code just assumed all, which would
lead to this memory wastage.

This implements some new heuristics:

 - If the BIOS specified disabled CPUs in the ACPI/mptables assume they
   can be enabled later (this is bending the ACPI specification a bit,
   but seems like a obvious extension)
 - The user can overwrite it with a new additionals_cpus=NUM option
 - Otherwise use half of the available CPUs or 2, whatever is more.

Cc: ashok.raj@intel.com
Cc: len.brown@intel.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Use int operations in spinlocks to support more than 128 CPUs spinning.
Andi Kleen [Sat, 5 Nov 2005 16:25:54 +0000 (17:25 +0100)]
[PATCH] x86_64: Use int operations in spinlocks to support more than 128 CPUs spinning.

Pointed out by Eric Dumazet

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>