Skip to content
  1. Jun 17, 2009
    • H. Peter Anvin's avatar
      x86: cap iomem_resource to addressable physical memory · 95ee14e4
      H. Peter Anvin authored
      
      
      iomem_resource is by default initialized to -1, which means 64 bits of
      physical address space if 64-bit resources are enabled.  However, x86
      CPUs cannot address 64 bits of physical address space.  Thus, we want
      to cap the physical address space to what the union of all CPU can
      actually address.
      
      Without this patch, we may end up assigning inaccessible values to
      uninitialized 64-bit PCI memory resources.
      
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Martin Mares <mj@ucw.cz>
      Cc: stable@kernel.org
      95ee14e4
  2. Jun 16, 2009
    • Ingo Molnar's avatar
      Merge branch 'amd-iommu/fixes' of... · 8a4a6182
      Ingo Molnar authored
      Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent
      8a4a6182
    • Ingo Molnar's avatar
      x86: mm: Read cr2 before prefetching the mmap_lock · 5dfaf90f
      Ingo Molnar authored
      
      
      Prefetch instructions can generate spurious faults on certain
      models of older CPUs. The faults themselves cannot be stopped
      and they can occur pretty much anywhere - so the way we solve
      them is that we detect certain patterns and ignore the fault.
      
      There is one small path of code where we must not take faults
      though: the #PF handler execution leading up to the reading
      of the CR2 (the faulting address). If we take a fault there
      then we destroy the CR2 value (with that of the prefetching
      instruction's) and possibly mishandle user-space or
      kernel-space pagefaults.
      
      It turns out that in current upstream we do exactly that:
      
      	prefetchw(&mm->mmap_sem);
      
      	/* Get the faulting address: */
      	address = read_cr2();
      
      This is not good.
      
      So turn around the order: first read the cr2 then prefetch
      the lock address. Reading cr2 is plenty fast (2 cycles) so
      delaying the prefetch by this amount shouldnt be a big issue
      performance-wise.
      
      [ And this might explain a mystery fault.c warning that sometimes
        occurs on one an old AMD/Semptron based test-system i have -
        which does have such prefetch problems. ]
      
      Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Vegard Nossum <vegard.nossum@gmail.com>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
      LKML-Reference: <20090616030522.GA22162@Krystal>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      5dfaf90f
    • Chris Wright's avatar
      amd-iommu: resume cleanup · 6a047d8b
      Chris Wright authored
      
      
      Now that enable_iommus() will call iommu_disable() for each iommu,
      the call to disable_iommus() during resume is redundant.  Also, the order
      for an invalidation is to invalidate device table entries first, then
      domain translations.
      
      Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      6a047d8b
  3. Jun 15, 2009
  4. Jun 14, 2009
    • Randy Dunlap's avatar
      x86: atomic_32.h: Fix kernel-doc warnings · 46e44328
      Randy Dunlap authored
      
      
      Fix kernel-doc warnings in atomic_32.h:
      
        Warning(arch/x86/include/asm/atomic_32.h:265): No description found for parameter 'ptr'
        Warning(arch/x86/include/asm/atomic_32.h:265): Excess function parameter 'v' description in '__atomic64_read'
        Warning(arch/x86/include/asm/atomic_32.h:305): Excess function parameter 'old_val' description in 'atomic64_xchg'
      
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      LKML-Reference: <4A3467E6.6010907@oracle.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      46e44328
  5. Jun 12, 2009
    • Shaohua Li's avatar
      x86: change kernel_physical_mapping_init() __init to __meminit · 41d840e2
      Shaohua Li authored
      
      
      kernel_physical_mapping_init() could be called in memory hotplug path.
      
      [ Impact: fix potential crash with memory hotplug ]
      
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      LKML-Reference: <20090612045752.GA827@sli10-desk.sh.intel.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      41d840e2
    • Catalin Marinas's avatar
      x86: Provide _sdata in the vmlinux.lds.S file · 1260866a
      Catalin Marinas authored
      
      
      _sdata is a common symbol defined by many architectures and made
      available to the kernel via asm-generic/sections.h. Kmemleak uses this
      symbol when scanning the data sections.
      
      [ Impact: add new global symbol ]
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      LKML-Reference: <20090511122105.26556.96593.stgit@pc1117.cambridge.arm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1260866a
    • Yinghai Lu's avatar
      x86: handle initrd that extends into unusable memory · 8c5dd8f4
      Yinghai Lu authored
      
      
      On a system where system memory (according e820) is not covered by
      mtrr, mtrr_trim_memory converts a portion of memory to reserved, but
      bootloader has already put the initrd in that range.
      
      Thus, we need to have 64bit to use relocate_initrd too.
      
      [ Impact: fix using initrd when mtrr_trim_memory happen ]
      
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: stable@kernel.org
      8c5dd8f4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://linux-arm.org/linux-2.6 · 512626a0
      Linus Torvalds authored
      * 'for-linus' of git://linux-arm.org/linux-2.6:
        kmemleak: Add the corresponding MAINTAINERS entry
        kmemleak: Simple testing module for kmemleak
        kmemleak: Enable the building of the memory leak detector
        kmemleak: Remove some of the kmemleak false positives
        kmemleak: Add modules support
        kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash
        kmemleak: Add the vmalloc memory allocation/freeing hooks
        kmemleak: Add the slub memory allocation/freeing hooks
        kmemleak: Add the slob memory allocation/freeing hooks
        kmemleak: Add the slab memory allocation/freeing hooks
        kmemleak: Add documentation on the memory leak detector
        kmemleak: Add the base support
      
      Manual conflict resolution (with the slab/earlyboot changes) in:
      	drivers/char/vt.c
      	init/main.c
      	mm/slab.c
      512626a0
    • Linus Torvalds's avatar
      Merge branch 'perfcounters-for-linus' of... · 8a1ca8ce
      Linus Torvalds authored
      Merge branch 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (574 commits)
        perf_counter: Turn off by default
        perf_counter: Add counter->id to the throttle event
        perf_counter: Better align code
        perf_counter: Rename L2 to LL cache
        perf_counter: Standardize event names
        perf_counter: Rename enums
        perf_counter tools: Clean up u64 usage
        perf_counter: Rename perf_counter_limit sysctl
        perf_counter: More paranoia settings
        perf_counter: powerpc: Implement generalized cache events for POWER processors
        perf_counters: powerpc: Add support for POWER7 processors
        perf_counter: Accurate period data
        perf_counter: Introduce struct for sample data
        perf_counter tools: Normalize data using per sample period data
        perf_counter: Annotate exit ctx recursion
        perf_counter tools: Propagate signals properly
        perf_counter tools: Small frequency related fixes
        perf_counter: More aggressive frequency adjustment
        perf_counter/x86: Fix the model number of Intel Core2 processors
        perf_counter, x86: Correct some event and umask values for Intel processors
        ...
      8a1ca8ce
    • Linus Torvalds's avatar
      Merge branch 'topic/slab/earlyboot' of... · b640f042
      Linus Torvalds authored
      Merge branch 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
      
      * 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
        vgacon: use slab allocator instead of the bootmem allocator
        irq: use kcalloc() instead of the bootmem allocator
        sched: use slab in cpupri_init()
        sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var()
        memcg: don't use bootmem allocator in setup code
        irq/cpumask: make memoryless node zero happy
        x86: remove some alloc_bootmem_cpumask_var calling
        vt: use kzalloc() instead of the bootmem allocator
        sched: use kzalloc() instead of the bootmem allocator
        init: introduce mm_init()
        vmalloc: use kzalloc() instead of alloc_bootmem()
        slab: setup allocators earlier in the boot sequence
        bootmem: fix slab fallback on numa
        bootmem: use slab if bootmem is no longer available
      b640f042
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 · 871fa907
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
        jfs: Add missing mutex_unlock call to error path
        missing unlock in jfs_quota_write()
      871fa907
    • Linus Torvalds's avatar
      Merge branch 'x86-fixes-for-linus' of... · 7702667b
      Linus Torvalds authored
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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:
        x86: memtest: use pointers of equal type for comparison
      7702667b
    • Oleg Nesterov's avatar
      slow_work_thread() should do the exclusive wait · b415c49a
      Oleg Nesterov authored
      
      
      slow_work_thread() sleeps on slow_work_thread_wq without WQ_FLAG_EXCLUSIVE,
      this means that slow_work_enqueue()->__wake_up(nr_exclusive => 1) wakes up all
      kslowd threads.  This is not what we want, so we change slow_work_thread() to
      use prepare_to_wait_exclusive() instead.
      
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b415c49a
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 6adc74b7
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        [libata] ata_piix: Enable parallel scan
        sata_nv: use hardreset only for post-boot probing
        [libata] ahci: Restore SB600 SATA controller 64 bit DMA
        ata_piix: Remove stale comment
        ata_piix: Turn on hotplugging support for older chips
        ahci: misc cleanups for EM stuff
        [libata] get rid of ATA_MAX_QUEUE loop in ata_qc_complete_multiple() v2
        sata_sil: enable 32-bit PIO
        sata_sx4: speed up ECC initialization
        libata-sff: avoid byte swapping in ata_sff_data_xfer()
        [libata] ahci: use less error-prone array initializers
      6adc74b7
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block · c9059598
      Linus Torvalds authored
      * 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block: (153 commits)
        block: add request clone interface (v2)
        floppy: fix hibernation
        ramdisk: remove long-deprecated "ramdisk=" boot-time parameter
        fs/bio.c: add missing __user annotation
        block: prevent possible io_context->refcount overflow
        Add serial number support for virtio_blk, V4a
        block: Add missing bounce_pfn stacking and fix comments
        Revert "block: Fix bounce limit setting in DM"
        cciss: decode unit attention in SCSI error handling code
        cciss: Remove no longer needed sendcmd reject processing code
        cciss: change SCSI error handling routines to work with interrupts enabled.
        cciss: separate error processing and command retrying code in sendcmd_withirq_core()
        cciss: factor out fix target status processing code from sendcmd functions
        cciss: simplify interface of sendcmd() and sendcmd_withirq()
        cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code
        cciss: Use schedule_timeout_uninterruptible in SCSI error handling code
        block: needs to set the residual length of a bidi request
        Revert "block: implement blkdev_readpages"
        block: Fix bounce limit setting in DM
        Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt
        ...
      
      Manually fix conflicts with tracing updates in:
      	block/blk-sysfs.c
      	drivers/ide/ide-atapi.c
      	drivers/ide/ide-cd.c
      	drivers/ide/ide-floppy.c
      	drivers/ide/ide-tape.c
      	include/trace/events/block.h
      	kernel/trace/blktrace.c
      c9059598
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · 0a33f80a
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (25 commits)
        GFS2: Merge gfs2_get_sb into gfs2_get_sb_meta
        GFS2: Fix cache coherency between truncate and O_DIRECT read
        GFS2: Fix locking issue mounting gfs2meta fs
        GFS2: Remove unused variable
        GFS2: smbd proccess hangs with flock() call.
        GFS2: Remove args subdir from gfs2 sysfs files
        GFS2: Remove lockstruct subdir from gfs2 sysfs files
        GFS2: Move gfs2_unlink_ok into ops_inode.c
        GFS2: Move gfs2_readlinki into ops_inode.c
        GFS2: Move gfs2_rmdiri into ops_inode.c
        GFS2: Merge mount.c and ops_super.c into super.c
        GFS2: Clean up some file names
        GFS2: Be more aggressive in reclaiming unlinked inodes
        GFS2: Add a rgrp bitmap full flag
        GFS2: Improve resource group error handling
        GFS2: Don't warn when delete inode fails on ro filesystem
        GFS2: Update docs
        GFS2: Umount recovery race fix
        GFS2: Remove a couple of unused sysfs entries
        GFS2: Add commit= mount option
        ...
      0a33f80a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · c29f5ec0
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (26 commits)
        amd64_edac: add MAINTAINERS entry
        EDAC: do not enable modules by default
        amd64_edac: do not enable module by default
        amd64_edac: add module registration routines
        amd64_edac: add ECC reporting initializers
        amd64_edac: add EDAC core-related initializers
        amd64_edac: add error decoding logic
        amd64_edac: add ECC chipkill syndrome mapping table
        amd64_edac: add per-family descriptors
        amd64_edac: add F10h-and-later methods-p3
        amd64_edac: add F10h-and-later methods-p2
        amd64_edac: add F10h-and-later methods-p1
        amd64_edac: add k8-specific methods
        amd64_edac: assign DRAM chip select base and mask in a family-specific way
        amd64_edac: add helper to dump relevant registers
        amd64_edac: add DRAM address type conversion facilities
        amd64_edac: add functionality to compute the DRAM hole
        amd64_edac: add sys addr to memory controller mapping helpers
        amd64_edac: add memory scrubber interface
        amd64_edac: add MCA error types
        ...
      c29f5ec0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · d3d07d94
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (266 commits)
        sh: Tie sparseirq in to Kconfig.
        sh: Wire up sys_rt_tgsigqueueinfo.
        sh: Fix sys_pwritev() syscall table entry for sh32.
        sh: Fix sh4a llsc-based cmpxchg()
        sh: sh7724: Add JPU support
        sh: sh7724: INTC setting update
        sh: sh7722 clock framework rewrite
        sh: sh7366 clock framework rewrite
        sh: sh7343 clock framework rewrite
        sh: sh7724 clock framework rewrite V3
        sh: sh7723 clock framework rewrite V2
        sh: add enable()/disable()/set_rate() to div6 code
        sh: add AP325RXA mode pin configuration
        sh: add Migo-R mode pin configuration
        sh: sh7722 mode pin definitions
        sh: sh7724 mode pin comments
        sh: sh7723 mode pin V2
        sh: rework mode pin code
        sh: clock div6 helper code
        sh: clock div4 frequency table offset fix
        ...
      d3d07d94
    • Linus Torvalds's avatar
      Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 6cd8e300
      Linus Torvalds authored
      * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (138 commits)
        KVM: Prevent overflow in largepages calculation
        KVM: Disable large pages on misaligned memory slots
        KVM: Add VT-x machine check support
        KVM: VMX: Rename rmode.active to rmode.vm86_active
        KVM: Move "exit due to NMI" handling into vmx_complete_interrupts()
        KVM: Disable CR8 intercept if tpr patching is active
        KVM: Do not migrate pending software interrupts.
        KVM: inject NMI after IRET from a previous NMI, not before.
        KVM: Always request IRQ/NMI window if an interrupt is pending
        KVM: Do not re-execute INTn instruction.
        KVM: skip_emulated_instruction() decode instruction if size is not known
        KVM: Remove irq_pending bitmap
        KVM: Do not allow interrupt injection from userspace if there is a pending event.
        KVM: Unprotect a page if #PF happens during NMI injection.
        KVM: s390: Verify memory in kvm run
        KVM: s390: Sanity check on validity intercept
        KVM: s390: Unlink vcpu on destroy - v2
        KVM: s390: optimize float int lock: spin_lock_bh --> spin_lock
        KVM: s390: use hrtimer for clock wakeup from idle - v2
        KVM: s390: Fix memory slot versus run - v3
        ...
      6cd8e300
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · ddbb8684
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: remove never-used in6_addr option
        cifs: add addr= mount option alias for ip=
        [CIFS] Add mention of new mount parm (forceuid) to cifs readme
        cifs: make overriding of ownership conditional on new mount options
        cifs: fix IPv6 address length check
        cifs: clean up set_cifs_acl interfaces
        cifs: reorganize get_cifs_acl
        [CIFS] Update readme to indicate change to default mount (serverino)
        cifs: make serverino the default when mounting
        cifs: rename cifs_iget to cifs_root_iget
        cifs: make cnvrtDosUnixTm take a little-endian args and an offset
        cifs: have cifs_NTtimeToUnix take a little-endian arg
        cifs: tighten up default file_mode/dir_mode
        cifs: fix artificial limit on reading symlinks
      ddbb8684
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 3296ca27
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (44 commits)
        nommu: Provide mmap_min_addr definition.
        TOMOYO: Add description of lists and structures.
        TOMOYO: Remove unused field.
        integrity: ima audit dentry_open failure
        TOMOYO: Remove unused parameter.
        security: use mmap_min_addr indepedently of security models
        TOMOYO: Simplify policy reader.
        TOMOYO: Remove redundant markers.
        SELinux: define audit permissions for audit tree netlink messages
        TOMOYO: Remove unused mutex.
        tomoyo: avoid get+put of task_struct
        smack: Remove redundant initialization.
        integrity: nfsd imbalance bug fix
        rootplug: Remove redundant initialization.
        smack: do not beyond ARRAY_SIZE of data
        integrity: move ima_counts_get
        integrity: path_check update
        IMA: Add __init notation to ima functions
        IMA: Minimal IMA policy and boot param for TCB IMA policy
        selinux: remove obsolete read buffer limit from sel_read_bool
        ...
      3296ca27
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · e893123c
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (49 commits)
        ext4: Avoid corrupting the uninitialized bit in the extent during truncate
        ext4: Don't treat a truncation of a zero-length file as replace-via-truncate
        ext4: fix dx_map_entry to support 256k directory blocks
        ext4: truncate the file properly if we fail to copy data from userspace
        ext4: Avoid leaking blocks after a block allocation failure
        ext4: Change all super.c messages to print the device
        ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle()
        ext4: super.c whitespace cleanup
        jbd2: Fix minor typos in comments in fs/jbd2/journal.c
        ext4: Clean up calls to ext4_get_group_desc()
        ext4: remove unused function __ext4_write_dirty_metadata
        ext2: Fix memory leak in ext2_fill_super() in case of a failed mount
        ext3: Fix memory leak in ext3_fill_super() in case of a failed mount
        ext4: Fix memory leak in ext4_fill_super() in case of a failed mount
        ext4: down i_data_sem only for read when walking tree for fiemap
        ext4: Add a comprehensive block validity check to ext4_get_blocks()
        ext4: Clean up ext4_get_blocks() so it does not depend on bh_result->b_state
        ext4: Merge ext4_da_get_block_write() into mpage_da_map_blocks()
        ext4: Add BUG_ON debugging checks to noalloc_get_block_write()
        ext4: Add documentation to the ext4_*get_block* functions
        ...
      e893123c
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 · 27951daa
      Linus Torvalds authored
      * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (28 commits)
        ide-tape: fix debug call
        alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC
        ide-dma: don't reset request fields on dma_timeout_retry()
        ide: drop rq->data handling from ide_map_sg()
        ide-atapi: kill unused fields and callbacks
        ide-tape: simplify read/write functions
        ide-tape: use byte size instead of sectors on rw issue functions
        ide-tape: unify r/w init paths
        ide-tape: kill idetape_bh
        ide-tape: use standard data transfer mechanism
        ide-tape: use single continuous buffer
        ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len
        ide-tape,floppy: fix failed command completion after request sense
        ide-pm: don't abuse rq->data
        ide-cd,atapi: use bio for internal commands
        ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer
        ide-cd: convert to using generic sense request
        ide: add helpers for preparing sense requests
        ide-cd: don't abuse rq->buffer
        ide-atapi: don't abuse rq->buffer
        ...
      27951daa
    • Pekka Enberg's avatar
      vgacon: use slab allocator instead of the bootmem allocator · b8ec7573
      Pekka Enberg authored
      
      
      Slab is initialized before the console subsystem so use the slab allocator in
      vgacon_scrollback_startup().
      
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      b8ec7573
    • Pekka Enberg's avatar
      irq: use kcalloc() instead of the bootmem allocator · 22fb4e71
      Pekka Enberg authored
      
      
      Fixes the following problem:
      
      [    0.000000] Experimental hierarchical RCU init done.
      [    0.000000] NR_IRQS:4352 nr_irqs:256
      [    0.000000] ------------[ cut here ]------------
      [    0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x40/0x7e()
      [    0.000000] Hardware name: To Be Filled By O.E.M.
      [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #59709
      [    0.000000] Call Trace:
      [    0.000000]  [<ffffffff823f8c8e>] ? alloc_arch_preferred_bootmem+0x40/0x7e
      [    0.000000]  [<ffffffff81067168>] warn_slowpath_common+0x88/0xcb
      [    0.000000]  [<ffffffff810671d2>] warn_slowpath_null+0x27/0x3d
      [    0.000000]  [<ffffffff823f8c8e>] alloc_arch_preferred_bootmem+0x40/0x7e
      [    0.000000]  [<ffffffff823f9307>] ___alloc_bootmem_nopanic+0x4e/0xec
      [    0.000000]  [<ffffffff823f93c5>] ___alloc_bootmem+0x20/0x61
      [    0.000000]  [<ffffffff823f962e>] __alloc_bootmem+0x1e/0x34
      [    0.000000]  [<ffffffff823f757c>] early_irq_init+0x6d/0x118
      [    0.000000]  [<ffffffff823e0140>] ? early_idt_handler+0x0/0x71
      [    0.000000]  [<ffffffff823e0cf7>] start_kernel+0x192/0x394
      [    0.000000]  [<ffffffff823e0140>] ? early_idt_handler+0x0/0x71
      [    0.000000]  [<ffffffff823e02ad>] x86_64_start_reservations+0xb4/0xcf
      [    0.000000]  [<ffffffff823e0000>] ? __init_begin+0x0/0x140
      [    0.000000]  [<ffffffff823e0420>] x86_64_start_kernel+0x158/0x17b
      [    0.000000] ---[ end trace a7919e7f17c0a725 ]---
      [    0.000000] Fast TSC calibration using PIT
      [    0.000000] Detected 2002.510 MHz processor.
      [    0.004000] Console: colour VGA+ 80x25
      
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      22fb4e71
    • Pekka Enberg's avatar
      sched: use slab in cpupri_init() · 0fb53029
      Pekka Enberg authored
      
      
      Lets not use the bootmem allocator in cpupri_init() as slab is already up when
      it is run.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      0fb53029
    • Pekka Enberg's avatar
      sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var() · 4bdddf8f
      Pekka Enberg authored
      
      
      Slab is initialized when sched_init() runs now so lets use alloc_cpumask_var().
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      4bdddf8f
    • Yinghai Lu's avatar
      memcg: don't use bootmem allocator in setup code · 959982fe
      Yinghai Lu authored
      
      
      The bootmem allocator is no longer available for page_cgroup_init() because we
      set up the kernel slab allocator much earlier now.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      959982fe
    • Yinghai Lu's avatar
      irq/cpumask: make memoryless node zero happy · dad213ae
      Yinghai Lu authored
      
      
      Don't hardcode to node zero for early boot IRQ setup memory allocations.
      
      [ penberg@cs.helsinki.fi: minor cleanups ]
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      dad213ae
    • Yinghai Lu's avatar
      x86: remove some alloc_bootmem_cpumask_var calling · 38c7fed2
      Yinghai Lu authored
      
      
      Now that we set up the slab allocator earlier, we can get rid of some
      alloc_bootmem_cpumask_var() calls in boot code.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      38c7fed2
    • Pekka Enberg's avatar
      vt: use kzalloc() instead of the bootmem allocator · a5f4f52e
      Pekka Enberg authored
      
      
      Now that kmem_cache_init() happens before console_init(), we should use
      kzalloc() and not the bootmem allocator.
      
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      a5f4f52e
    • Pekka Enberg's avatar
      sched: use kzalloc() instead of the bootmem allocator · 36b7b6d4
      Pekka Enberg authored
      
      
      Now that kmem_cache_init() happens before sched_init(), we should use kzalloc()
      and not the bootmem allocator.
      
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      36b7b6d4
    • Pekka Enberg's avatar
      init: introduce mm_init() · 444f478f
      Pekka Enberg authored
      
      
      As suggested by Christoph Lameter, introduce mm_init() now that we initialize
      all the kernel memory allocations together.
      
      Cc: Christoph Lameter <cl@linux-foundation.org>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      444f478f