17 Jun, 2009

7 commits

  • Just in case someone aggressively sets a huge readahead size.

    Cc: Nick Piggin
    Signed-off-by: Wu Fengguang
    Cc: Ying Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wu Fengguang
     
  • Impact: code simplification.

    Cc: Nick Piggin
    Signed-off-by: Wu Fengguang
    Cc: Ying Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wu Fengguang
     
  • This makes the performance impact of possible mmap_miss wrap around to be
    temporary and tolerable: i.e. MMAP_LOTSAMISS=100 extra readarounds.

    Otherwise if ever mmap_miss wraps around to negative, it takes INT_MAX
    cache misses to bring it back to normal state. During the time mmap
    readaround will be _enabled_ for whatever wild random workload. That's
    almost permanent performance impact.

    Signed-off-by: Wu Fengguang
    Cc: Ying Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wu Fengguang
     
  • * create mm/init-mm.c, move init_mm there
    * remove INIT_MM, initialize init_mm with C99 initializer
    * unexport init_mm on all arches:

    init_mm is already unexported on x86.

    One strange place is some OMAP driver (drivers/video/omap/) which
    won't build modular, but it's already wants get_vm_area() export.
    Somebody should look there.

    [akpm@linux-foundation.org: add missing #includes]
    Signed-off-by: Alexey Dobriyan
    Cc: Mike Frysinger
    Cc: Americo Wang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13484

    Peer reported:
    | The bug is introduced from kernel 2.6.27, if E820 table reserve the memory
    | above 4G in 32bit OS(BIOS-e820: 00000000fff80000 - 0000000120000000
    | (reserved)), system will report Int 6 error and hang up. The bug is caused by
    | the following code in drivers/firmware/memmap.c, the resource_size_t is 32bit
    | variable in 32bit OS, the BUG_ON() will be invoked to result in the Int 6
    | error. I try the latest 32bit Ubuntu and Fedora distributions, all hit this
    | bug.
    |======
    |static int firmware_map_add_entry(resource_size_t start, resource_size_t end,
    | const char *type,
    | struct firmware_map_entry *entry)

    and it only happen with CONFIG_PHYS_ADDR_T_64BIT is not set.

    it turns out we need to pass u64 instead of resource_size_t for that.

    [akpm@linux-foundation.org: add comment]
    Reported-and-tested-by: Peer Chen
    Signed-off-by: Yinghai Lu
    Cc: Ingo Molnar
    Acked-by: H. Peter Anvin
    Cc: Thomas Gleixner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Do not take the size of a pointer to determine the size of the pointed-to
    type.

    Signed-off-by: Roel Kluin
    Acked-by: Anton Vorontsov
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Cc: Kumar Gala
    Acked-by: Grant Likely
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • PIT_TICK_RATE is currently defined in four architectures, but in three
    different places. While linux/timex.h is not the perfect place for it, it
    is still a reasonable replacement for those drivers that traditionally use
    asm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency.

    Note that for Alpha, the actual value changed from 1193182UL to 1193180UL.
    This is unlikely to make a difference, and probably can only improve
    accuracy. There was a discussion on the correct value of CLOCK_TICK_RATE
    a few years ago, after which every existing instance was getting changed
    to 1193182. According to the specification, it should be
    1193181.818181...

    Signed-off-by: Arnd Bergmann
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Len Brown
    Cc: john stultz
    Cc: Dmitry Torokhov
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

16 Jun, 2009

10 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] fix compile error in arch/ia64/mm/extable.c

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

    * 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timers: Logic to move non pinned timers
    timers: /proc/sys sysctl hook to enable timer migration
    timers: Identifying the existing pinned timers
    timers: Framework for identifying pinned timers
    timers: allow deferrable timers for intervals tv2-tv5 to be deferred

    Fix up conflicts in kernel/sched.c and kernel/timer.c manually

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

    * 'timers-for-linus-clockevents' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    clockevent: export register_device and delta2ns
    clockevents: tick_broadcast_device can become static

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

    * 'timers-for-linus-clocksource' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    clocksource: prevent selection of low resolution clocksourse also for nohz=on
    clocksource: sanity check sysfs clocksource changes

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

    * 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    ntp: fix comment typos
    ntp: adjust SHIFT_PLL to improve NTP convergence

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1244 commits)
    pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US
    ipv4: Fix fib_trie rebalancing
    Bluetooth: Fix issue with uninitialized nsh.type in DTL-1 driver
    Bluetooth: Fix Kconfig issue with RFKILL integration
    PIM-SM: namespace changes
    ipv4: update ARPD help text
    net: use a deferred timer in rt_check_expire
    ieee802154: fix kconfig bool/tristate muckup
    bonding: initialization rework
    bonding: use is_zero_ether_addr
    bonding: network device names are case sensative
    bonding: elminate bad refcount code
    bonding: fix style issues
    bonding: fix destructor
    bonding: remove bonding read/write semaphore
    bonding: initialize before registration
    bonding: bond_create always called with default parameters
    x_tables: Convert printk to pr_err
    netfilter: conntrack: optional reliable conntrack event delivery
    list_nulls: add hlist_nulls_add_head and hlist_nulls_del
    ...

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (103 commits)
    powerpc: Fix bug in move of altivec code to vector.S
    powerpc: Add support for swiotlb on 32-bit
    powerpc/spufs: Remove unused error path
    powerpc: Fix warning when printing a resource_size_t
    powerpc/xmon: Remove unused variable in xmon.c
    powerpc/pseries: Fix warnings when printing resource_size_t
    powerpc: Shield code specific to 64-bit server processors
    powerpc: Separate PACA fields for server CPUs
    powerpc: Split exception handling out of head_64.S
    powerpc: Introduce CONFIG_PPC_BOOK3S
    powerpc: Move VMX and VSX asm code to vector.S
    powerpc: Set init_bootmem_done on NUMA platforms as well
    powerpc/mm: Fix a AB->BA deadlock scenario with nohash MMU context lock
    powerpc/mm: Fix some SMP issues with MMU context handling
    powerpc: Add PTRACE_SINGLEBLOCK support
    fbdev: Add PLB support and cleanup DCR in xilinxfb driver.
    powerpc/virtex: Add ml510 reference design device tree
    powerpc/virtex: Add Xilinx ML510 reference design support
    powerpc/virtex: refactor intc driver and add support for i8259 cascading
    powerpc/virtex: Add support for Xilinx PCI host bridge
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
    regulator/max1586: fix V3 gain calculation integer overflow
    regulator/max1586: support increased V3 voltage range
    regulator: lp3971 - fix driver link error when built-in.
    LP3971 PMIC regulator driver (updated and combined version)
    regulator: remove driver_data direct access of struct device
    regulator: Set MODULE_ALIAS for regulator drivers
    regulator: Support list_voltage for fixed voltage regulator
    regulator: Move regulator drivers to subsys_initcall()
    regulator: build fix for powerpc - renamed show_state
    regulator: add userspace-consumer driver
    Maxim 1586 regulator driver

    Linus Torvalds
     
  • ad6561dffa17f17bb68d7207d422c26c381c4313 ("module: trim exception table on init
    free.") put a bogus trim_init_extable() function into ia64 which didn't compile.

    Signed-off-by: Rusty Russell
    Signed-off-by: Tony Luck

    Rusty Russell
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (22 commits)
    nilfs2: support contiguous lookup of blocks
    nilfs2: add sync_page method to page caches of meta data
    nilfs2: use device's backing_dev_info for btree node caches
    nilfs2: return EBUSY against delete request on snapshot
    nilfs2: modify list of unsupported features in caveats
    nilfs2: enable sync_page method
    nilfs2: set bio unplug flag for the last bio in segment
    nilfs2: allow future expansion of metadata read out via get info ioctl
    NILFS2: Pagecache usage optimization on NILFS2
    nilfs2: remove nilfs_btree_operations from btree mapping
    nilfs2: remove nilfs_direct_operations from direct mapping
    nilfs2: remove bmap pointer operations
    nilfs2: remove useless b_low and b_high fields from nilfs_bmap struct
    nilfs2: remove pointless NULL check of bpop_commit_alloc_ptr function
    nilfs2: move get block functions in bmap.c into btree codes
    nilfs2: remove nilfs_bmap_delete_block
    nilfs2: remove nilfs_bmap_put_block
    nilfs2: remove header file for segment list operations
    nilfs2: eliminate removal list of segments
    nilfs2: add sufile function that can modify multiple segment usages
    ...

    Linus Torvalds
     

15 Jun, 2009

23 commits

  • On Thu, May 28, 2009 at 10:59 AM, Mark Brown wrote:
    > On Thu, May 28, 2009 at 07:15:16AM +0200, Philipp Zabel wrote:
    >> The V3 regulator can be configured with an external resistor
    >> connected to the feedback pin (R24 in the data sheet) to
    >> increase the voltage range.
    >>
    >> For example, hx4700 has R24 = 3.32 kOhm to achieve a maximum
    >> V3 voltage of 1.55 V which is needed for 624 MHz CPU frequency.
    >>
    >> Signed-off-by: Philipp Zabel
    >
    > Looks good.
    >
    > Acked-by: Mark Brown

    Thanks, but it turns out I hit a 32 bit integer overflow in
    the gain calculation. I'd like to mend that with the following
    patch. Now max_uV could be increased up to 4.294 V, enough to
    charge LiPo cells.

    Signed-off-by: Philipp Zabel
    Acked-by: Robert Jarzmik
    Signed-off-by: Liam Girdwood

    Philipp Zabel
     
  • The V3 regulator can be configured with an external resistor
    connected to the feedback pin (R24 in the data sheet) to
    increase the voltage range.

    For example, hx4700 has R24 = 3.32 kOhm to achieve a maximum
    V3 voltage of 1.55 V which is needed for 624 MHz CPU frequency.

    Signed-off-by: Philipp Zabel
    Acked-by: Mark Brown
    Acked-by: Robert Jarzmik
    Signed-off-by: Liam Girdwood

    Philipp Zabel
     
  • lp3971_i2c_remove' referenced in section `.data' of drivers/built-in.o:
    defined in discarded section `.devexit.text' of drivers/built-in.o

    Signed-off-by: Liam Girdwood

    Liam Girdwood
     
  • This patch adds regulator drivers for National Semiconductors LP3971 PMIC.
    This LP3971 PMIC controller has 3 DC/DC voltage converters and 5 low
    drop-out (LDO) regulators. LP3971 PMIC controller uses I2C interface.

    Reviewed-by: Kyungmin Park
    Signed-off-by: Marek Szyprowski
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Marek Szyprowski
     
  • In the near future, the driver core is going to not allow direct access
    to the driver_data pointer in struct device. Instead, the functions
    dev_get_drvdata() and dev_set_drvdata() should be used. These functions
    have been around since the beginning, so are backwards compatible with
    all older kernel versions.

    Cc: Mark Brown
    Cc: Liam Girdwood
    Signed-off-by: Greg Kroah-Hartman
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Greg Kroah-Hartman
     
  • Several of the regulator drivers didn't have MODULE_ALIAS so couldn't be
    auto loaded. Add the MODULE_ALIAS in case they do get built as modules.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • Regulators need to be available early in init in order to allow them
    to be available for consumers when requested. This is generally done
    by registering them at subsys_initcall() time but not all regulator
    drivers have done that. Convert these drivers to do so in order to
    mimimise future support.

    Signed-off-by: Mark Brown
    Acked-by: Mike Rapoport
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • This patch fixes the follwing build failure on powerpc:-

    > Today's linux-next build (powerpc allyesconfig) failed like this:
    >
    > drivers/regulator/userspace-consumer.c:43: error: conflicting types
    > for 'show_state'
    > include/linux/sched.h:273: note: previous definition of 'show_state'
    > was here
    >
    > Caused by commit 5defa2bce704ca4151cfe24e4297aa7797cafd22 ("regulator:
    > add userspace-consumer driver") which I have reverted for today.

    Signed-off-by: Liam Girdwood

    Liam Girdwood
     
  • The userspace-consumer driver allows control of voltage and current
    regulator state from userspace. This is required for fine-grained
    power management of devices that are completely controller by userspace
    applications, e.g. a GPS transciever connected to a serial port.

    Signed-off-by: Mike Rapoport
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mike Rapoport
     
  • The Maxim 1586 regulator is a voltage regulator with 2
    voltage outputs, specially suitable for Marvell PXA
    chips. One output is in the range of required VCC_CORE by
    the PXA27x chips, the other in the VCC_USIM required as well
    by PXA27x chips.

    The chip is controlled through the I2C bus.

    Signed-off-by: Robert Jarzmik
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Robert Jarzmik
     
  • Conflicts:
    Documentation/feature-removal-schedule.txt
    drivers/scsi/fcoe/fcoe.c
    net/core/drop_monitor.c
    net/core/net-traces.c

    David S. Miller
     
  • Let's use TICKS instead of US, so PSCHED_TICKS2NS and PSCHED_NS2TICKS
    (like in PSCHED_TICKS_PER_SEC already) to avoid misleading.

    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • While doing trie_rebalance(): resize(), inflate(), halve() RCU free
    tnodes before updating their parents. It depends on RCU delaying the
    real destruction, but if RCU readers start after call_rcu() and before
    parent update they could access freed memory.

    It is currently prevented with preempt_disable() on the update side,
    but it's not safe, except maybe classic RCU, plus it conflicts with
    memory allocations with GFP_KERNEL flag used from these functions.

    This patch explicitly delays freeing of tnodes by adding them to the
    list, which is flushed after the update is finished.

    Reported-by: Yan Zheng
    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • On systems where CONFIG_SHMEM is disabled, mounting tmpfs filesystems can
    fail when tmpfs options are used. This is because tmpfs creates a small
    wrapper around ramfs which rejects unknown options, and ramfs itself only
    supports a tiny subset of what tmpfs supports. This makes it pretty hard
    to use the same userspace systems across different configuration systems.
    As such, ramfs should ignore the tmpfs options when tmpfs is merely a
    wrapper around ramfs.

    This used to work before commit c3b1b1cbf0 as previously, ramfs would
    ignore all options. But now, we get:
    ramfs: bad mount option: size=10M
    mount: mounting mdev on /dev failed: Invalid argument

    Another option might be to restore the previous behavior, where ramfs
    simply ignored all unknown mount options ... which is what Hugh prefers.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Hugh Dickins
    Acked-by: Matt Mackall
    Acked-by: Wu Fengguang
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (53 commits)
    .gitignore: ignore *.lzma files
    kbuild: add generic --set-str option to scripts/config
    kbuild: simplify argument loop in scripts/config
    kbuild: handle non-existing options in scripts/config
    kallsyms: generalize text region handling
    kallsyms: support kernel symbols in Blackfin on-chip memory
    documentation: make version fix
    kbuild: fix a compile warning
    gitignore: Add GNU GLOBAL files to top .gitignore
    kbuild: fix delay in setlocalversion on readonly source
    README: fix misleading pointer to the defconf directory
    vmlinux.lds.h update
    kernel-doc: cleanup perl script
    Improve vmlinux.lds.h support for arch specific linker scripts
    kbuild: fix headers_exports with boolean expression
    kbuild/headers_check: refine extern check
    kbuild: fix "Argument list too long" error for "make headers_check",
    ignore *.patch files
    Remove bashisms from scripts
    menu: fix embedded menu presentation
    ...

    Linus Torvalds
     
  • Signed-off-by: Sam Ravnborg

    Arne Janbu
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    mlx4_core: Don't double-free IRQs when falling back from MSI-X to INTx
    IB/mthca: Don't double-free IRQs when falling back from MSI-X to INTx
    IB/mlx4: Add strong ordering to local inval and fast reg work requests
    IB/ehca: Remove superfluous bitmasks from QP control block
    RDMA/cxgb3: Limit fast register size based on T3 limitations
    RDMA/cxgb3: Report correct port state and MTU
    mlx4_core: Add module parameter for number of MTTs per segment
    IB/mthca: Add module parameter for number of MTTs per segment
    RDMA/nes: Fix off-by-one bugs in reset_adapter_ne020() and init_serdes()
    infiniband: Remove void casts
    IB/ehca: Increment version number
    IB/ehca: Remove unnecessary memory operations for userspace queue pairs
    IB/ehca: Fall back to vmalloc() for big allocations
    IB/ehca: Replace vmalloc() with kmalloc() for queue allocation

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/headers-check-2.6:
    headers_check fix: mn10300, setup.h
    headers_check fix: mn10300, ptrace.h

    Linus Torvalds
     
  • Fix recent fusion driver kernel-doc fatal error and warnings.

    Signed-off-by: Randy Dunlap
    Cc: Eric.Moore@lsi.com
    Cc: support@lsi.com
    Cc: DL-MPTFusionLinux@lsi.com
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • In addition to KT_DEAD which has limited support for diacriticals,
    there is KT_DEAD2 that can support 256 criticals, so let's advertise
    it in .

    This lets userland know abut the drivers/char/keyboard.c function
    k_dead2, which supports more than the few trivial ones that k_dead
    supports.

    Signed-off-by: Samuel Thibault
    Signed-off-by: Linus Torvalds

    Samuel Thibault
     
  • Signed-off-by: Michal Marek
    Signed-off-by: Sam Ravnborg

    Michal Marek
     
  • Signed-off-by: Michal Marek
    Signed-off-by: Sam Ravnborg

    Michal Marek