15 Jan, 2009

1 commit

  • This reverts commit ad7a953c522ceb496611d127e51e278bfe0ff483.

    And commit: ("allow stripping of generated symbols under CONFIG_KALLSYMS_ALL")
    9bb482476c6c9d1ae033306440c51ceac93ea80c

    These stripping patches has caused a set of issues:

    1) People have reported compatibility issues with binutils due to
    lack of support for `--strip-unneeded-symbols' with objcopy 2.15.92.0.2
    Reported by: Wenji
    2) ccache and distcc no longer works as expeced
    Reported by: Ted, Roland, + others
    3) The installed modules increased a lot in size
    Reported by: Ted, Davej + others

    Reported-by: Wenji Huang
    Reported-by: "Theodore Ts'o"
    Reported-by: Dave Jones
    Reported-by: Roland McGrath
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

14 Jan, 2009

7 commits

  • * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86 PAT: remove CPA WARN_ON for zero pte
    x86 PAT: return compatible mapping to remap_pfn_range callers
    x86 PAT: change track_pfn_vma_new to take pgprot_t pointer param
    x86 PAT: consolidate old memtype new memtype check into a function
    x86 PAT: remove PFNMAP type on track_pfn_vma_new() error

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    TWL4030: fix clk API usage
    [ARM] 5364/1: allow flush_ioremap_region() to be used from modules
    [ARM] w90x900: fix build errors and warnings
    [ARM] i.MX add missing include
    [ARM] i.MX: fix breakage from commit 278892736e99330195c8ae5861bcd9d791bbf19e
    [ARM] i.MX: remove LCDC controller register definitions from imx-regs.h

    Linus Torvalds
     
  • Impact: reduce scope of debug check - avoid warnings

    The logic to find whether identity map exists or not using
    high_memory or max_low_pfn_mapped/max_pfn_mapped are not complete
    as the memory withing the range may not be mapped if there is a
    unusable hole in e820.

    Specifically, on my test system I started seeing these warnings with
    tools like hwinfo, acpidump trying to map ACPI region.

    [ 27.400018] ------------[ cut here ]------------
    [ 27.400344] WARNING: at /home/venkip/src/linus/linux-2.6/arch/x86/mm/pageattr.c:560 __change_page_attr_set_clr+0xf3/0x8b8()
    [ 27.400821] Hardware name: X7DB8
    [ 27.401070] CPA: called for zero pte. vaddr = ffff8800cff6a000 cpa->vaddr = ffff8800cff6a000
    [ 27.401569] Modules linked in:
    [ 27.401882] Pid: 4913, comm: dmidecode Not tainted 2.6.28-05716-gfe0bdec #586
    [ 27.402141] Call Trace:
    [ 27.402488] [] warn_slowpath+0xd3/0x10f
    [ 27.402749] [] ? find_get_page+0xb3/0xc9
    [ 27.403028] [] ? find_get_page+0x0/0xc9
    [ 27.403333] [] __change_page_attr_set_clr+0xf3/0x8b8
    [ 27.403628] [] ? __purge_vmap_area_lazy+0x192/0x1a1
    [ 27.403883] [] ? __purge_vmap_area_lazy+0x4b/0x1a1
    [ 27.404172] [] ? vm_unmap_aliases+0x1ab/0x1bb
    [ 27.404512] [] ? vm_unmap_aliases+0x48/0x1bb
    [ 27.404766] [] change_page_attr_set_clr+0x13e/0x2e6
    [ 27.405026] [] ? _spin_unlock+0x26/0x2a
    [ 27.405292] [] ? reserve_memtype+0x19b/0x4e3
    [ 27.405590] [] _set_memory_wb+0x22/0x24
    [ 27.405844] [] ioremap_change_attr+0x26/0x28
    [ 27.406097] [] reserve_pfn_range+0x1a3/0x235
    [ 27.406427] [] track_pfn_vma_new+0x49/0xb3
    [ 27.406686] [] remap_pfn_range+0x94/0x32c
    [ 27.406940] [] ? phys_mem_access_prot_allowed+0xb5/0x1a8
    [ 27.407209] [] mmap_mem+0x75/0x9d
    [ 27.407523] [] mmap_region+0x2cf/0x53e
    [ 27.407776] [] do_mmap_pgoff+0x2a9/0x30d
    [ 27.408034] [] sys_mmap+0x92/0xce
    [ 27.408339] [] system_call_fastpath+0x16/0x1b
    [ 27.408614] ---[ end trace 4b16ad70c09a602d ]---
    [ 27.408871] dmidecode:4913 reserve_pfn_range ioremap_change_attr failed write-back for cff6a000-cff6b000

    This is wih track_pfn_vma_new trying to keep identity map in sync.
    The address cff6a000 is the ACPI region according to e820.

    [ 0.000000] BIOS-provided physical RAM map:
    [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009c000 (usable)
    [ 0.000000] BIOS-e820: 000000000009c000 - 00000000000a0000 (reserved)
    [ 0.000000] BIOS-e820: 00000000000cc000 - 00000000000d0000 (reserved)
    [ 0.000000] BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
    [ 0.000000] BIOS-e820: 0000000000100000 - 00000000cff60000 (usable)
    [ 0.000000] BIOS-e820: 00000000cff60000 - 00000000cff69000 (ACPI data)
    [ 0.000000] BIOS-e820: 00000000cff69000 - 00000000cff80000 (ACPI NVS)
    [ 0.000000] BIOS-e820: 00000000cff80000 - 00000000d0000000 (reserved)
    [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
    [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
    [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
    [ 0.000000] BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
    [ 0.000000] BIOS-e820: 0000000100000000 - 0000000230000000 (usable)

    And is not mapped as per init_memory_mapping.

    [ 0.000000] init_memory_mapping: 0000000000000000-00000000cff60000
    [ 0.000000] init_memory_mapping: 0000000100000000-0000000230000000

    We can add logic to check for this. But, there can also be other holes in
    identity map when we have 1GB of aligned reserved space in e820.

    This patch handles it by removing the WARN_ON and returning a specific
    error value (EFAULT) to indicate that the address does not have any
    identity mapping.

    The code that tries to keep identity map in sync can ignore
    this error, with other callers of cpa still getting error here.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Suresh Siddha
    Signed-off-by: Ingo Molnar

    venkatesh.pallipadi@intel.com
     
  • Impact: avoid warning message, potentially solve 3D performance regression

    Change x86 PAT code to return compatible memtype if the exact memtype that
    was requested in remap_pfn_rage and friends is not available due to some
    conflict.

    This is done by returning the compatible type in pgprot parameter of
    track_pfn_vma_new(), and the caller uses that memtype for page table.

    Note that track_pfn_vma_copy() which is basically called during fork gets the
    prot from existing page table and should not have any conflict. Hence we use
    strict memtype check there and do not allow compatible memtypes.

    This patch fixes the bug reported here:

    http://marc.info/?l=linux-kernel&m=123108883716357&w=2

    Specifically the error message:

    X:5010 map pfn expected mapping type write-back for d0000000-d0101000,
    got write-combining

    Should go away.

    Reported-and-bisected-by: Kevin Winchester
    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Suresh Siddha
    Signed-off-by: Ingo Molnar

    venkatesh.pallipadi@intel.com
     
  • Impact: cleanup

    Change the protection parameter for track_pfn_vma_new() into a pgprot_t pointer.
    Subsequent patch changes the x86 PAT handling to return a compatible
    memtype in pgprot_t, if what was requested cannot be allowed due to conflicts.
    No fuctionality change in this patch.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Suresh Siddha
    Signed-off-by: Ingo Molnar

    venkatesh.pallipadi@intel.com
     
  • Impact: cleanup

    Move the new memtype old memtype allowed check to header so that is can be
    shared by other users. Subsequent patch uses this in pat.c in remap_pfn_range()
    code path. No functionality change in this patch.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Suresh Siddha
    Signed-off-by: Ingo Molnar

    venkatesh.pallipadi@intel.com
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    Revert "i386: add TRACE_IRQS_OFF for the nmi"

    Linus Torvalds
     

13 Jan, 2009

23 commits

  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sparc64: Fix cpumask related build failure
    smp_call_function_single(): be slightly less stupid, fix
    smp_call_function_single(): be slightly less stupid
    rcu: fix bug in rcutorture system-shutdown code

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (37 commits)
    MIPS: Only write c0_framemask on CPUs which have this register.
    MIPS: Alchemy: new userspace suspend interface for development boards.
    MIPS: Alchemy: dbdma suspend/resume support.
    MIPS: Alchemy: Fix up PM code on Au1550/Au1200
    MIPS: Alchemy: move calc_clock function.
    MIPS: Alchemy: RTC counter clocksource / clockevent support.
    MIPS: make cp0 counter clocksource/event usable as fallback.
    MIPS: Alchemy: remove cpu_table.
    MIPS: Alchemy: remove get/set_au1x00_lcd_clock().
    MIPS: Print irq handler description
    MIPS: Alchemy: pb1200: update CPLD cascade irq handler.
    MIPS: Alchemy: update core interrupt code.
    MIPS: Alchemy: move commandline mangling out of common code
    MIPS: Alchemy: devboards: consolidate files
    MIPS: Alchemy: Move development board code to common subdirectory
    MIPS: Add Cavium OCTEON to arch/mips/Kconfig
    MIPS: Add defconfig for Cavium OCTEON.
    MIPS: Adjust the dma-common.c platform hooks.
    MIPS: Add Cavium OCTEON slot into proper tlb category.
    MIPS: Compute branch returns for Cavium OCTEON specific branch instructions.
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc: Fix asm/signal.h for 32-bit.
    sparc: Eliminate PROMLIB_INTERNAL as it does nothing
    sparc: Kill exports of prom internal functions
    sparc64: move EXPORT_SYMBOL to the symbols definition
    sparc: move EXPORT_SYMBOL to the symbols definition
    sparc: Create a new file lib/ksyms.c and add export of all symbols defined in assembler in lib/ to this file.
    sparc: Most unaligned_64.c tweaks for branch tracer warnings.
    sparc: Fix sun4d_irq.c build.
    sparc: Update 32-bit defconfig.
    sparc64: fix warnings in psycho_common after ull conversion

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] Pika Warp appliance watchdog timer
    [WATCHDOG] Enable watchdog timer on GE Fanuc's SBC610
    [WATCHDOG] Basic support for GE Fanuc's FPGA based watchdog timer
    [WATCHDOG] wm8350: Fix section annotations

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (30 commits)
    m68k: Fix --build-id breakage for sun3
    m68k: Wire up sys_restart_syscall
    fbdev: Kill Atari vblank cursor blinking
    m68k: zorro - Use %pR to print resources
    m68k: dio - Kill resource_size_t format warnings
    m68k: dmasound - Kill warn_unused_result warnings
    m68k: zorro - Kill warn_unused_result warnings
    m68k: dio - Kill warn_unused_result warnings
    m68k: atafb - Kill warn_unused_result warnings
    m68k: amiserial - Kill warn_unused_result warnings
    m68k: ser_a2232 - Kill warn_unused_result warnings
    m68k: vme_scc - Kill warn_unused_result warnings
    m68k: sun3 core - Kill warn_unused_result warnings
    m68k: mvme147 core - Kill warn_unused_result warnings
    m68k: mac core - Kill warn_unused_result warnings
    m68k: hp300 core - Kill warn_unused_result warnings
    m68k: atari core - Kill warn_unused_result warnings
    m68k: apollo core - Kill warn_unused_result warnings
    m68k: amiga core - Kill warn_unused_result warnings
    m68k: Kill several external declarations in source files
    ...

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write"
    x86: fix apic.c build error on latest git
    x86: fix mpparse.c build error on latest git
    x86: avoid theoretical vmalloc fault loop
    x86, mtrr: fix types used in userspace exported header

    Linus Torvalds
     
  • Support for the FPGA based watchdog timer on GE Fanuc's SBC610.

    This patch enables one of the watchdog timers found on the SBC610. There are
    two identical watchdog timers at different offsets in the above mentioned
    boards, however the current driver is only capable of supporting one of them.

    The watchdog timers are also capable of generating interrupts at a
    user-configurable threshold, though support for this operation is currently
    not supported by the driver.

    Signed-off-by: Martyn Welch
    Signed-off-by: Wim Van Sebroeck

    Martyn Welch
     
  • Counterpart of commit 08a3db94f2a36c28278922732bc281c1722ceb18 ("m68k: Add
    NOTES to init data so its discarded at boot") for sun3 build.

    Signed-off-by: Al Viro
    Signed-off-by: Geert Uytterhoeven

    Al Viro
     
  • Make restart blocks working, required for proper syscall restarting.

    Signed-off-by: Andreas Schwab
    Signed-off-by: Geert Uytterhoeven

    Andreas Schwab
     
  • warning: ignoring return value of 'request_irq', declared with attribute
    warn_unused_result

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • warning: ignoring return value of 'request_irq', declared with attribute
    warn_unused_result

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • warning: ignoring return value of 'request_irq', declared with attribute
    warn_unused_result

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • warning: ignoring return value of 'request_irq', declared with attribute
    warn_unused_result

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • warning: ignoring return value of 'request_irq', declared with attribute
    warn_unused_result

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • warning: ignoring return value of 'request_irq', declared with attribute
    warn_unused_result

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • warning: ignoring return value of 'request_irq', declared with attribute
    warn_unused_result

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • - Replace external declarations by proper includes where availiable.
    The accesses to some symbols had to be modified, as before they were
    declared using e.g. "extern int _end", while asm-generic/sections.h uses
    e.g. "extern char _end[]"
    - Remove unused or superfluous external declarations

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • arch/m68k/kernel/.gitignore: Added vmlinux.lds to .gitignore file because it
    shouldn't be tracked.

    Signed-off-by: Kars de Jong
    Signed-off-by: Geert Uytterhoeven

    Kars de Jong
     
  • This reverts commit e0c7317557c8fc8eacf611e30c2a80f4e24e47a3.

    This patch was wrong, as lockdep (and thus the irq state tracer)
    aren't nmi safe. People are already seeing lockdep warnings due
    to this.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • This reverts commit 7503bfbae89eba07b46441a5d1594647f6b8ab7d.

    Dieter Ries reported bootup soft-hangs and bisected it back to
    this commit, and reverting this commit gave him a working system.

    The commit introduces work_on_cpu() use into the cpufreq code,
    but that is subtly problematic from a lock hierarchy POV: the
    hotplug-cpu lock is an highlevel lock that is taken before
    lowlevel locks, and in this codepath we are called with the
    policy lock taken.

    Dieter did not have lockdep enabled so we dont have a nice stack
    trace proof for this, but using work_on_cpu() in such a lowlevel
    place certainly looks wrong, so we revert the patch.

    work_on_cpu() needs to be reworked to be more generally usable.

    Reported-by: Dieter Ries
    Tested-by: Dieter Ries
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Fix this by reintroducing asm/smp.h include in apic.c - later on
    I will fix this by removing non-smp data from smp.h

    Also fix the __inquire_remote_apic() prototype/inline.

    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: Ingo Molnar

    Jaswinder Singh Rajput
     
  • Fix this by reintroducing asm/smp.h include in mpparse.c - later on
    I will fix this by removing non-smp data from smp.h.

    Reported-by: Petr Titera
    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: Ingo Molnar

    Jaswinder Singh Rajput
     
  • Ajith Kumar noticed:

    I was going through the vmalloc fault handling for x86_64 and am unclear
    about the following lines in the vmalloc_fault() function.

    pgd = pgd_offset(current->mm ?: &init_mm, address);
    pgd_ref = pgd_offset_k(address);

    Here the intention is to get the pgd corresponding to the current process
    and sync it up with the pgd in init_mm(obtained from pgd_offset_k).
    However, for kernel threads current->mm is NULL and hence pgd =
    pgd_offset(init_mm, address) = pgd_ref which means the fault handler
    returns without setting the pgd entry in the MM structure in the context
    of which the kernel thread has faulted. This could lead to never-ending
    faults and busy looping of kernel threads like pdflush. So, shouldn't the
    pgd = pgd_offset(current->mm ?: &init_mm, address); be pgd =
    pgd_offset(current->active_mm ?: &init_mm, address);

    We can use active_mm unconditionally because it should be always set.

    Signed-off-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar

    Andi Kleen
     

12 Jan, 2009

7 commits


11 Jan, 2009

2 commits