1. 15 Sep, 2009 18 commits
    • Kirill A. Shutemov's avatar
      ARM: 5701/1: ARM: copy_page.S: take into account the size of the cache line · dca230f0
      Kirill A. Shutemov authored
      Optimized version of copy_page() was written with assumption that cache
      line size is 32 bytes. On Cortex-A8 cache line size is 64 bytes.
      
      This patch tries to generalize copy_page() to work with any cache line
      size if cache line size is multiple of 16 and page size is multiple of
      two cache line size.
      
      After this optimization we've got ~25% speedup on OMAP3(tested in
      userspace).
      
      There is test for kernelspace which trigger copy-on-write after fork():
      
       #include <stdlib.h>
       #include <string.h>
       #include <unistd.h>
      
       #define BUF_SIZE (10000*4096)
       #define NFORK 200
      
       int main(int argc, char **argv)
       {
               char *buf = malloc(BUF_SIZE);
               int i;
      
               memset(buf, 0, BUF_SIZE);
      
               for(i = 0; i < NFORK; i++) {
                       if (fork()) {
                               wait(NULL);
                       } else {
                               int j;
      
                               for(j = 0; j < BUF_SIZE; j+= 4096)
                                       buf[j] = (j & 0xFF) + 1;
                               break;
                       }
               }
      
               free(buf);
               return 0;
       }
      
      Before optimization this test takes ~66 seconds, after optimization
      takes ~56 seconds.
      Signed-off-by: default avatarSiarhei Siamashka <siarhei.siamashka@nokia.com>
      Signed-off-by: default avatarKirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      dca230f0
    • Kirill A. Shutemov's avatar
      ARM: 5700/1: ARM: Introduce ARM_L1_CACHE_SHIFT to define cache line size · 910a17e5
      Kirill A. Shutemov authored
      Currently kernel believes that all ARM CPUs have L1_CACHE_SHIFT == 5.
      It's not true at least for CPUs based on Cortex-A8.
      
      List of CPUs with cache line size != 32 should be expanded later.
      Signed-off-by: default avatarKirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      910a17e5
    • Linus Walleij's avatar
      ARM: 5696/1: Include device.h in VIC driver · 59fcf48f
      Linus Walleij authored
      Currently build with the next head fails on archs using PL190
      VIC because when we include amba/bus.h we need to include
      device.h first.
      Signed-off-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      59fcf48f
    • Linus Torvalds's avatar
      Merge branch 'for-linus3' of... · 18240904
      Linus Torvalds authored
      Merge branch 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
        SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX
        KEYS: Fix garbage collector
        KEYS: Unlock tasklist when exiting early from keyctl_session_to_parent
        CRED: Allow put_cred() to cope with a NULL groups list
        SELinux: flush the avc before disabling SELinux
        SELinux: seperate avc_cache flushing
        Creds: creds->security can be NULL is selinux is disabled
      18240904
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · f86054c2
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (23 commits)
        at_hdmac: Rework suspend_late()/resume_early()
        PM: Reset transition_started at dpm_resume_noirq
        PM: Update kerneldoc comments in drivers/base/power/main.c
        PM: Add convenience macro to make switching to dev_pm_ops less error-prone
        hp-wmi: Switch driver to dev_pm_ops
        floppy: Switch driver to dev_pm_ops
        PM: Trivial fixes
        PM / Hibernate / Memory hotplug: Always use for_each_populated_zone()
        PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2)
        PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2)
        PM/Hibernate: Rework shrinking of memory
        PM: Fix typo in label name s/Platofrm_finish/Platform_finish/
        PM: Run-time PM platform device bus support
        PM: Introduce core framework for run-time PM of I/O devices (rev. 17)
        Driver Core: Make PM operations a const pointer
        PM: Remove platform device suspend_late()/resume_early() V2
        USB: Rework musb suspend()/resume_early()
        I2C: Rework i2c-s3c2410 suspend_late()/resume() V2
        I2C: Rework i2c-pxa suspend_late()/resume_early()
        DMA: Rework txx9dmac suspend_late()/resume_early()
        ...
      
      Fix trivial conflict in drivers/base/platform.c (due to same
      constification patch being merged in both sides, along with some other
      PM work in the PM branch)
      f86054c2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig · c91d7d54
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig:
        kconfig: add missing dependency of conf to localyesconfig
        kconfig: test if a .config already exists
        kconfig: make local .config default for streamline_config
        kconfig: test for /boot/config-uname after /proc/config.gz in localconfig
        kconfig: unset IKCONFIG_PROC and clean up nesting
        kconfig: search for a config to base the local(mod|yes)config on
        kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set
        kconfig: have extract-ikconfig read ELF files
        kconfig: add check if end exists in extract-ikconfig
        kconfig: enable CONFIG_IKCONFIG from streamline_config.pl
        kconfig: do not warn about modules built in
        kconfig: streamline_config.pl do not stop with no depends
        kconfig: add make localyesconfig option
        kconfig: make localmodconfig to run streamline_config.pl
        kconfig: add streamline_config.pl to scripts
      c91d7d54
    • Eric Paris's avatar
      SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX · 8a478905
      Eric Paris authored
      Without this patch building a kernel emits millions of warning like:
      
      include/linux/selinux.h:92: warning: ?selinux_is_enabled? defined but not used
      
      When it is build without CONFIG_SECURITY_SELINUX.  This is harmless, but
      the function should be inlined, so it gets compiled out.
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      8a478905
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 133309a8
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (52 commits)
        Input: bcm5974 - silence uninitialized variables warnings
        Input: wistron_btns - add keymap for AOpen 1557
        Input: psmouse - use boolean type
        Input: i8042 - use platform_driver_probe
        Input: i8042 - use boolean type where it makes sense
        Input: i8042 - try disabling and re-enabling AUX port at close
        Input: pxa27x_keypad - allow modifying keymap from userspace
        Input: sunkbd - fix formatting
        Input: i8042 - bypass AUX IRQ delivery test on laptops
        Input: wacom_w8001 - simplify querying logic
        Input: atkbd - allow setting force-release bitmap via sysfs
        Input: w90p910_keypad - move a dereference below a NULL test
        Input: add twl4030_keypad driver
        Input: matrix-keypad - add function to build device keymap
        Input: tosakbd - fix cleaning up KEY_STROBEs after error
        Input: joydev - validate axis/button maps before clobbering current ones
        Input: xpad - add USB ID for the drumkit controller from Rock Band
        Input: w90p910_keypad - rename driver name to match platform
        Input: add new driver for Sentelic Finger Sensing Pad
        Input: psmouse - allow defining read-only attributes
        ...
      133309a8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 5489375d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: completely remove apple mightymouse from blacklist
        HID: support larger reports than 64 bytes in hiddev
        HID: local function should be static
        HID: ignore Philips IEEE802.15.4 RF Dongle
        HID: ignore all recent SoundGraph iMON devices
        HID: fix memory leak on error patch in debug code
        HID: fix overrun in quirks initialization
        HID: Drop NULL test on list_entry result
        HID: driver for Twinhan USB 6253:0100 remote control
        HID: adding __init/__exit macros to module init/exit functions
        HID: add rumble support for Thrustmaster Dual Trigger 3-in-1
        HID: ntrig tool separation and pen usages
        HID: Avoid double spin_lock_init on usbhid->lock
        HID: add force feedback support for Logitech WingMan Formula Force GP
        HID: Support new variants of Samsung USB IR receiver (0419:0001)
        HID: fix memory leak on error path in debug code
        HID: fix debugfs build with !CONFIG_DEBUG_FS
        HID: use debugfs for events/reports dumping
        HID: use debugfs for report dumping descriptor
      5489375d
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block · 355bbd8c
      Linus Torvalds authored
      * 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block: (29 commits)
        block: use blkdev_issue_discard in blk_ioctl_discard
        Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads
        block: don't assume device has a request list backing in nr_requests store
        block: Optimal I/O limit wrapper
        cfq: choose a new next_req when a request is dispatched
        Seperate read and write statistics of in_flight requests
        aoe: end barrier bios with EOPNOTSUPP
        block: trace bio queueing trial only when it occurs
        block: enable rq CPU completion affinity by default
        cfq: fix the log message after dispatched a request
        block: use printk_once
        cciss: memory leak in cciss_init_one()
        splice: update mtime and atime on files
        block: make blk_iopoll_prep_sched() follow normal 0/1 return convention
        cfq-iosched: get rid of must_alloc flag
        block: use interrupts disabled version of raise_softirq_irqoff()
        block: fix comment in blk-iopoll.c
        block: adjust default budget for blk-iopoll
        block: fix long lines in block/blk-iopoll.c
        block: add blk-iopoll, a NAPI like approach for block devices
        ...
      355bbd8c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · 39695224
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (209 commits)
        [SCSI] fix oops during scsi scanning
        [SCSI] libsrp: fix memory leak in srp_ring_free()
        [SCSI] libiscsi, bnx2i: make bound ep check common
        [SCSI] libiscsi: add completion function for drivers that do not need pdu processing
        [SCSI] scsi_dh_rdac: changes for rdac debug logging
        [SCSI] scsi_dh_rdac: changes to collect the rdac debug information during the initialization
        [SCSI] scsi_dh_rdac: move the init code from rdac_activate to rdac_bus_attach
        [SCSI] sg: fix oops in the error path in sg_build_indirect()
        [SCSI] mptsas : Bump version to 3.04.12
        [SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command
        [SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device
        [SCSI] mptsas : PAE Kernel more than 4 GB kernel panic
        [SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off
        [SCSI] mptsas : Sanity check for phyinfo is added
        [SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530
        [SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller
        [SCSI] qla2xxx: Update version number to 8.03.01-k6.
        [SCSI] qla2xxx: Properly delete rports attached to a vport.
        [SCSI] qla2xxx: Correct various NPIV issues.
        [SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly.
        ...
      39695224
    • Linus Torvalds's avatar
      Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 · a9bbd210
      Linus Torvalds authored
      * 'docs-next' of git://git.lwn.net/linux-2.6:
        Document the flex_array library.
        Doc: seq_file.txt fix wrong dd command example.
      a9bbd210
    • Linus Torvalds's avatar
      Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm · 2ca7d674
      Linus Torvalds authored
      * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (257 commits)
        [ARM] Update mach-types
        ARM: 5636/1: Move vendor enum to AMBA include
        ARM: Fix pfn_valid() for sparse memory
        [ARM] orion5x: Add LaCie NAS 2Big Network support
        [ARM] pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume
        ARM: 5686/1: at91: Correct AC97 reset line in at91sam9263ek board
        ARM: 5640/1: This patch modifies the support of AC97 on the at91sam9263 ek board
        ARM: 5689/1: Update default config of HP Jornada 700-series machines
        ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() with highmem
        ARM: 5688/1: ks8695_serial: disable_irq() lockup
        ARM: 5687/1: fix an oops with highmem
        ARM: 5684/1: Add nuc960 platform to w90x900
        ARM: 5683/1: Add nuc950 platform to w90x900
        ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform
        ARM: 5626/1: add suspend/resume functions to amba-pl011 serial driver
        ARM: 5625/1: fix hard coded 4K resource size in amba bus detection
        MMC: MMCI: convert realview MMC to use gpiolib
        ARM: 5685/1: Make MMCI driver compile without gpiolib
        ARM: implement highpte
        ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ
        ...
      
      Fix up trivial conflict in arch/arm/kernel/signal.c.
      
      It was due to the TIF_NOTIFY_RESUME addition in commit d0420c83 ("KEYS:
      Extend TIF_NOTIFY_RESUME to (almost) all architectures") and follow-ups.
      2ca7d674
    • Hugh Dickins's avatar
      fix undefined reference to user_shm_unlock · 2195d281
      Hugh Dickins authored
      My 353d5c30 "mm: fix hugetlb bug due to
      user_shm_unlock call" broke the CONFIG_SYSVIPC !CONFIG_MMU build of both
      2.6.31 and 2.6.30.6: "undefined reference to `user_shm_unlock'".
      
      gcc didn't understand my comment! so couldn't figure out to optimize
      away user_shm_unlock() from the error path in the hugetlb-less case, as
      it does elsewhere.  Help it to do so, in a language it understands.
      Reported-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarHugh Dickins <hugh.dickins@tiscali.co.uk>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2195d281
    • Linus Torvalds's avatar
      Merge branch 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 69def9f0
      Linus Torvalds authored
      * 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (202 commits)
        MAINTAINERS: update KVM entry
        KVM: correct error-handling code
        KVM: fix compile warnings on s390
        KVM: VMX: Check cpl before emulating debug register access
        KVM: fix misreporting of coalesced interrupts by kvm tracer
        KVM: x86: drop duplicate kvm_flush_remote_tlb calls
        KVM: VMX: call vmx_load_host_state() only if msr is cached
        KVM: VMX: Conditionally reload debug register 6
        KVM: Use thread debug register storage instead of kvm specific data
        KVM guest: do not batch pte updates from interrupt context
        KVM: Fix coalesced interrupt reporting in IOAPIC
        KVM guest: fix bogus wallclock physical address calculation
        KVM: VMX: Fix cr8 exiting control clobbering by EPT
        KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp
        KVM: Document KVM_CAP_IRQCHIP
        KVM: Protect update_cr8_intercept() when running without an apic
        KVM: VMX: Fix EPT with WP bit change during paging
        KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors
        KVM: x86 emulator: Add adc and sbb missing decoder flags
        KVM: Add missing #include
        ...
      69def9f0
    • Anirban Sinha's avatar
      cleanup console_print() · 353f6dd2
      Anirban Sinha authored
      console_print() is an old legacy interface mostly unused in the entire
      kernel tree. It's best to clean up its existing use and let developers
      use their own implementation of it as they feel fit.
      Signed-off-by: default avatarAnirban Sinha <asinha@zeugmasystems.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      353f6dd2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 · bb193c98
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
        slub: fix slab_pad_check()
        slub: release kobject if sysfs_create_group failed in sysfs_slab_add
        SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256
        SLUB: Fix some coding style issues
        SLUB: Drop write permission to /proc/slabinfo
        slab: remove duplicate kmem_cache_init_late() declarations
        slub: change kmem_cache->align to record the real alignment
        slub: use size and objsize orders to disable debug flags
        slub: add option to disable higher order debugging slabs
      bb193c98
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · f65ac45e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        x86, mce: do not compile mcelog message on AMD
        EDAC, AMD: decode FR MCEs
        EDAC, AMD: decode load store MCEs
        EDAC, AMD: decode bus unit MCEs
        EDAC, AMD: decode instruction cache MCEs
        EDAC, AMD: decode data cache MCEs
        EDAC, AMD: carve out decoding of MCi_STATUS ErrorCode
        EDAC, AMD: carve out MCi_STATUS decoding
        x86, mce: pass mce info to EDAC for decoding
        amd64_edac: cleanup amd64_decode_bus_error
        amd64_edac: remove memory and GART TLB error decoders
        amd64_edac: cleanup/complete NB MCE decoding
        amd64_edac: cleanup amd64_process_error_info
        EDAC: beef up ErrorCodeExt error signatures
        EDAC: move MCE error descriptions to EDAC core
      f65ac45e
  2. 14 Sep, 2009 22 commits