1. 21 Aug, 2008 3 commits
  2. 15 Aug, 2008 3 commits
    • Nick Piggin's avatar
      x86, pat: avoid highmem cache attribute aliasing · 5843d9a4
      Nick Piggin authored
      Highmem code can leave ptes and tlb entries around for a given page even after
      kunmap, and after it has been freed.
      
      >From what I can gather, the PAT code may change the cache attributes of
      arbitrary physical addresses (ie. including highmem pages), which would result
      in aliases in the case that it operates on one of these lazy tlb highmem
      pages.
      
      Flushing kmaps should solve the problem.
      
      I've also just added code for conditional flushing if we haven't got
      any dangling highmem aliases -- this should help performance if we
      change page attributes frequently or systems that aren't using much
      highmem pages (eg. if < 4G RAM). Should be turned into 2 patches, but
      just for RFC...
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      5843d9a4
    • Shaohua Li's avatar
      reduce tlb/cache flush times of agpgart memory allocation · 466ae837
      Shaohua Li authored
      To reduce tlb/cache flush, makes agp memory allocation do one flush
      after all pages in a region are changed to uc.
      
      All agp drivers except agp-sgi uses agp_generic_alloc_page()
      for .agp_alloc_page, so the patch should work for them. agp-sgi is only
      for ia64, so not a problem too.
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      Cc: airlied@linux.ie
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      466ae837
    • Shaohua Li's avatar
      introduce two APIs for page attribute · 1ac2f7d5
      Shaohua Li authored
      Introduce two APIs for page attribute. flushing tlb/cache in every page
      attribute is expensive. AGP gart usually will do a lot of operations to
      change a page to uc, new APIs can reduce flush.
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      Cc: airlied@linux.ie
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1ac2f7d5
  3. 11 Aug, 2008 15 commits
    • Andreas Herrmann's avatar
      x86: compile pat debugfs interface only if CONFIG_X86_PAT is set · 012f09e7
      Andreas Herrmann authored
      Recently I've run a kernel w/o PAT support and wondered why there was
      a file "x86/pat_memtype_list" in debugfs. Of course it's empty if PAT
      is disabled ... so just get rid of this interface if PAT is disabled.
      Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann3@amd.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      012f09e7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd · 10fec20e
      Linus Torvalds authored
      * 'for-linus' of git://git.o-hand.com/linux-mfd:
        mfd: tc6393 cleanup and update
        mfd: have TMIO drivers and subdevices depend on ARM
        mfd: TMIO MMC driver
        mfd: driver for the TMIO NAND controller
        mfd: t7l66 MMC platform data
        mfd: tc6387 MMC platform data
        mfd: Fix 7l66 and 6387 according to the new mfd-core API
        mfd: Fix tc6393 according to the new tmio.h
        mfd: driver for the TC6387XB TMIO controller.
        mfd: driver for the T7L66XB TMIO SoC
        mfd: TMIO MMC structures and accessors.
      10fec20e
    • Linus Torvalds's avatar
      Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 · 29bb1bdb
      Linus Torvalds authored
      * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
        hwmon: (lm75) Drop legacy i2c driver
        i2c: correct some size_t printk formats
        i2c: Check for address business before creating clients
        i2c: Let users select algorithm drivers manually again
        i2c: Fix NULL pointer dereference in i2c_new_probed_device
        i2c: Fix oops on bus multiplexer driver loading
      29bb1bdb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · 3f1ae223
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        [WATCHDOG] pcwd.c - fix open_allowed type.
        [WATCHDOG] fix watchdog/ixp4xx_wdt.c compilation
        [WATCHDOG] fix watchdog/wdt285.c compilation
        [WATCHDOG] fix watchdog/at91rm9200_wdt.c compilation
        [WATCHDOG] fix watchdog/shwdt.c compilation
        [WATCHDOG] fix watchdog/txx9wdt.c compilation
        [WATCHDOG] MAINTAINERS: remove ZF MACHZ WATCHDOG entry
        [WATCHDOG] Fix build with CONFIG_ITCO_VENDOR_SUPPORT=n
      3f1ae223
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · e2205a15
      Linus Torvalds authored
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
        powerpc: Remove include/linux/harrier_defs.h
        powerpc: Do not ignore arch/powerpc/include
        powerpc: Delete completed "ppc removal" task from feature removal file
        powerpc/mm: Fix attribute confusion with htab_bolt_mapping()
        powerpc/pci: Don't keep ISA memory hole resources in the tree
        powerpc: Zero fill the return values of rtas argument buffer
        powerpc/4xx: Update defconfig files for 2.6.27-rc1
        powerpc/44x: Incorrect NOR offset in Warp DTS
        powerpc/44x: Warp DTS changes for board updates
        powerpc/4xx: Cleanup Warp for i2c driver changes.
        powerpc/44x: Adjust warp-nand resource end address
      e2205a15
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 · a7ef6a40
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
        PCI: Limit VPD length for Broadcom 5708S
        PCI PM: Export pci_pme_active to drivers
        PCI: remove duplicate symbol from pci_ids.h
        PCI: check the return value of device_create_bin_file() in pci_create_bus()
        PCI: fully restore MSI state at resume time
        DMA: make dma-coherent.c documentation kdoc-friendly
        PCI: make pci_register_driver() a macro
        PCI: add Broadcom 5708S to VPD length quirk
      a7ef6a40
    • Christian Borntraeger's avatar
      Fix race/oops in tty layer after BKL pushdown · 000b9151
      Christian Borntraeger authored
      While testing our KVM code for s390 (starting and killall kvm in a loop)
      I can reproduce the following oops:
      
        Unable to handle kernel pointer dereference at virtual kernel address 6b6b6b6b6b6b6000 Oops: 0038 [#1] SMP
        Modules linked in: dm_multipath sunrpc qeth_l3 qeth_l2 dm_mod qeth
        ccwgroup CPU: 1 Not tainted 2.6.27-rc1 #54
        Process kuli (pid: 4409, task: 00000000b6aa5940, ksp: 00000000b7343e10)
        Krnl PSW : 0704e00180000000 00000000002e0b8c
        (disassociate_ctty+0x1c0/0x288) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3
        CC:2 PM:0 EA:3 Krnl GPRS: 0000000000000000 6b6b6b6b6b6b6b6b
        0000000000000001 00000000000003a6 00000000002e0a46 00000000004b4160
        0000000000000001 00000000bbd79758 00000000b7343e58 00000000b8854148
        00000000bd34dea0 00000000b7343c20 0000000000000001 00000000004b6d08
        00000000002e0a46 00000000b7343c20 Krnl Code: 00000000002e0b7e:
        eb9fb0a00004	lmg	%r9,%r15,160(%r11) 00000000002e0b84:
        07f4		bcr	15,%r4 00000000002e0b86:
        e31090080004	lg	%r1,8(%r9) >00000000002e0b8c:
        d501109cd000	clc	156(2,%r1),0(%r13) 00000000002e0b92:
        a784ff5d		brc	8,2e0a4c 00000000002e0b96:
        b9040029		lgr	%r2,%r9 00000000002e0b9a:
        c0e5fffff9c3	brasl	%r14,2dff20 00000000002e0ba0:
        a7f4ff56		brc	15,2e0a4c Call Trace:
        ([<00000000002e0a46>] disassociate_ctty+0x7a/0x288)
         [<0000000000141fe6>] do_exit+0x212/0x8d4
         [<0000000000142708>] do_group_exit+0x60/0xcc
         [<0000000000150660>] get_signal_to_deliver+0x270/0x3ac
         [<000000000010bfd6>] do_signal+0x8e/0x8dc
         [<0000000000113772>] sysc_sigpending+0xe/0x22
         [<000001ff0000b134>] 0x1ff0000b134
        INFO: lockdep is turned off.
        Last Breaking-Event-Address:
         [<00000000002e0a48>] disassociate_ctty+0x7c/0x288
        Kernel panic - not syncing: Fatal exception: panic_on_oops
      
      It seems that tty was already free in disassocate_ctty when it tries
      to dereference tty->driver.
      
      After moving the lock_kernel before the mutex_unlock, I can no longer
      reproduce the problem.
      
      [ This is a temporary partial fix for the documented and long standing
        race in disassociate_tty.  This stops most problem cases for now.
      
        For the next release the -next tree has an initial implementation of
        kref counting for tty structures and this quickfix will be dropped.
      
                                                                    - Alan ]
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by; Alan Cox <alan@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      000b9151
    • Geert Uytterhoeven's avatar
      m68k{,nommu}: Wire up new system calls · 0e7d5bb8
      Geert Uytterhoeven authored
      Wire up for m68k{,nommu} the system calls that were added in the last merge
      window:
      
       - 4006553b ("flag parameters: inotify_init")
       - ed8cae8b ("flag parameters: pipe")
       - 336dd1f7 ("flag parameters: dup2")
       - a0998b50 ("flag parameters: epoll_create")
       - 9fe5ad9c ("flag parameters add-on: remove
      						 epoll_create size param")
       - b087498e ("flag parameters: eventfd")
       - 9deb27ba ("flag parameters: signalfd")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0e7d5bb8
    • Linus Torvalds's avatar
      Revert "fbcon: bgcolor fix" · 3838f59f
      Linus Torvalds authored
      This reverts commit 2d04a4a7, which made
      it impossible to make the softcursor use the highlight colors.
      
      Yes, the fourth bit should be "blinking", but since we cannot reasonably
      blink in fbcon, highlighting it with a bright background is preferable.
      Reported-by: default avatarPavel Machek <pavel@suse.cz>
      Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Cc: Antonino A. Daplas <adaplas@pol.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3838f59f
    • Paul Mackerras's avatar
      powerpc: Remove include/linux/harrier_defs.h · 13fa00a8
      Paul Mackerras authored
      It was only used by code in arch/ppc, and arch/ppc is gone, so remove
      the unused harrier_defs.h as well.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      13fa00a8
    • Junio C Hamano's avatar
      powerpc: Do not ignore arch/powerpc/include · 0afd2ac9
      Junio C Hamano authored
      Back when .gitignore file was added to arch/powerpc/ in 06f2138e ([POWERPC]
      Add files build to .gitignore, 2006-11-26), there indeed was nothing
      tracked in the ignored hierarchy and ignoring everything made sense.  But
      we have very many tracked files there these days, and having a higher
      level .gitignore that ignores everything is asking for future troubles..
      
      This should have been part of b8b572e1 (powerpc: Move include files to
      arch/powerpc/include/asm, 2008-08-01).
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      Acked-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      0afd2ac9
    • Robert P. J. Day's avatar
    • Benjamin Herrenschmidt's avatar
      powerpc/mm: Fix attribute confusion with htab_bolt_mapping() · bc033b63
      Benjamin Herrenschmidt authored
      The function htab_bolt_mapping() is used to create permanent
      mappings in the MMU hash table, for example, in order to create
      the linear mapping of vmemmap.  It's also used by early boot
      ioremap (before mem_init_done).
      
      However, the way ioremap uses it is incorrect as it passes it the
      protection flags in the "linux PTE" form while htab_bolt_mapping()
      expects them in the hash table format.  This is made more confusing by
      the fact that some of those flags are actually in the same position in
      both cases.
      
      This fixes it all by making htab_bolt_mapping() take normal linux
      protection flags instead, and use a little helper to convert them to
      htab flags. Callers can now use the usual PAGE_* definitions safely.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      
       arch/powerpc/include/asm/mmu-hash64.h |    2 -
       arch/powerpc/mm/hash_utils_64.c       |   65 ++++++++++++++++++++--------------
       arch/powerpc/mm/init_64.c             |    9 +---
       3 files changed, 44 insertions(+), 32 deletions(-)
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      bc033b63
    • Benjamin Herrenschmidt's avatar
      powerpc/pci: Don't keep ISA memory hole resources in the tree · 8db13a0e
      Benjamin Herrenschmidt authored
      When we have an ISA memory hole (ie, a PCI window that allows us to
      generate PCI memory cycles at low PCI address) mixed with other
      resources using a different CPU <=> PCI mapping, we must not keep
      the ISA hole in the bridge resource list.
      
      If we do, things might start trying to allocate device resources
      in there and will get the PCI addresses wrong.
      
      This fixes it by arranging to remove the ISA memory hole resource in
      this case.  This fixes various cases of PCMCIA breakage on PowerBooks
      using the MPC106 "grackle" bridge.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      8db13a0e
    • Nathan Fontenot's avatar
      powerpc: Zero fill the return values of rtas argument buffer · b79998fc
      Nathan Fontenot authored
      The kernel copy of the rtas args struct contains the return
      value(s) for the specified rtas call.  These are copied back
      to user space with the assumption that every value has been
      set by the rtas call, which turns out to be not always true.
      Thus userspace can see random values and think the call failed
      when in fact it succeeded, but for some reason didn't set one
      of the return values.
      
      This fixes the problem by zeroing out the return value fields
      of the rtas args struct before processing the rtas call.
      Signed-off-by: default avatarNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      b79998fc
  4. 10 Aug, 2008 19 commits