25 May, 2011

2 commits

  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (43 commits)
    TOMOYO: Fix wrong domainname validation.
    SELINUX: add /sys/fs/selinux mount point to put selinuxfs
    CRED: Fix load_flat_shared_library() to initialise bprm correctly
    SELinux: introduce path_has_perm
    flex_array: allow 0 length elements
    flex_arrays: allow zero length flex arrays
    flex_array: flex_array_prealloc takes a number of elements, not an end
    SELinux: pass last path component in may_create
    SELinux: put name based create rules in a hashtable
    SELinux: generic hashtab entry counter
    SELinux: calculate and print hashtab stats with a generic function
    SELinux: skip filename trans rules if ttype does not match parent dir
    SELinux: rename filename_compute_type argument to *type instead of *con
    SELinux: fix comment to state filename_compute_type takes an objname not a qstr
    SMACK: smack_file_lock can use the struct path
    LSM: separate LSM_AUDIT_DATA_DENTRY from LSM_AUDIT_DATA_PATH
    LSM: split LSM_AUDIT_DATA_FS into _PATH and _INODE
    SELINUX: Make selinux cache VFS RCU walks safe
    SECURITY: Move exec_permission RCU checks into security modules
    SELinux: security_read_policy should take a size_t not ssize_t
    ...

    Linus Torvalds
     
  • * 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: Unify input section names
    percpu: Avoid extra NOP in percpu_cmpxchg16b_double
    percpu: Cast away printk format warning
    percpu: Always align percpu output section to PAGE_SIZE

    Fix up fairly trivial conflict in arch/x86/include/asm/percpu.h as per Tejun

    Linus Torvalds
     

24 May, 2011

9 commits

  • James Morris
     
  • Tejun Heo
     
  • …l/git/tip/linux-2.6-tip

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools: Fix sample type size calculation in 32 bits archs
    profile: Use vzalloc() rather than vmalloc() & memset()

    Linus Torvalds
     
  • We try to enforce it by using -Wstrict-prototypes, but apparently they
    sometimes get through. Introduced by 4eec42f39204 ("watchdog: Change
    the default timeout and configure nmi watchdog period based").

    Reported-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

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

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Increase SCHED_LOAD_SCALE resolution
    sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations
    sched: Cleanup set_load_weight()

    Linus Torvalds
     
  • * 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (970 commits)
    staging: usbip: replace usbip_u{dbg,err,info} and printk with dev_ and pr_
    staging:iio: Trivial kconfig reorganization and uniformity improvements.
    staging:iio:documenation partial update.
    staging:iio: use pollfunc allocation helpers in remaining drivers.
    staging:iio:max1363 misc cleanups and use of for_each_bit_set to simplify event code spitting out.
    staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev.
    staging:iio:meter:ade7758: Use private data space from iio_allocate_device
    staging:iio:accel:lis3l02dq make write_reg_8 take value not a pointer to value.
    staging:iio: ring core cleanups + check if read_last available in lis3l02dq
    staging:iio:core cleanup: squash tiny wrappers and use dev_set_name to handle creation of event interface name.
    staging:iio: poll func allocation clean up.
    staging:iio:ad7780 trivial unused header cleanup.
    staging:iio:adc: AD7780: Use private data space from iio_allocate_device + trivial fixes
    staging:iio:adc:AD7780: Convert to new channel registration method
    staging:iio:adc: AD7606: Drop dev_data in favour of iio_priv()
    staging:iio:adc: AD7606: Consitently use indio_dev
    staging:iio: Rip out helper for software rings.
    staging:iio:adc:AD7298: Use private data space from iio_allocate_device
    staging:iio: rationalization of different buffer implementation hooks.
    staging:iio:imu:adis16400 avoid allocating rx, tx, and state separately from iio_dev.
    ...

    Fix up trivial conflicts in
    - drivers/staging/intel_sst/intelmid.c: patches applied in both branches
    - drivers/staging/rt2860/common/cmm_data_{pci,usb}.c: removed vs spelling
    - drivers/staging/usbip/vhci_sysfs.c: trivial header file inclusion

    Linus Torvalds
     
  • * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    hrtimers: Reorder clock bases
    hrtimers: Avoid touching inactive timer bases
    hrtimers: Make struct hrtimer_cpu_base layout less stupid
    timerfd: Manage cancelable timers in timerfd
    clockevents: Move C3 stop test outside lock
    alarmtimer: Drop device refcount after rtc_open()
    alarmtimer: Check return value of class_find_device()
    timerfd: Allow timers to be cancelled when clock was set
    hrtimers: Prepare for cancel on clock was set timers

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

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools: Fix sample size bit operations
    perf tools: Fix ommitted mmap data update on remap
    watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh
    watchdog: Disable watchdog when thresh is zero
    watchdog: Only disable/enable watchdog if neccessary
    watchdog: Fix rounding bug in get_sample_period()
    perf tools: Propagate event parse error handling
    perf tools: Robustify dynamic sample content fetch
    perf tools: Pre-check sample size before parsing
    perf tools: Move evlist sample helpers to evlist area
    perf tools: Remove junk code in mmap size handling
    perf tools: Check we are able to read the event size on mmap

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    b43: fix comment typo reqest -> request
    Haavard Skinnemoen has left Atmel
    cris: typo in mach-fs Makefile
    Kconfig: fix copy/paste-ism for dell-wmi-aio driver
    doc: timers-howto: fix a typo ("unsgined")
    perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
    md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
    treewide: fix a few typos in comments
    regulator: change debug statement be consistent with the style of the rest
    Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
    audit: acquire creds selectively to reduce atomic op overhead
    rtlwifi: don't touch with treewide double semicolon removal
    treewide: cleanup continuations and remove logging message whitespace
    ath9k_hw: don't touch with treewide double semicolon removal
    include/linux/leds-regulator.h: fix syntax in example code
    tty: fix typo in descripton of tty_termios_encode_baud_rate
    xtensa: remove obsolete BKL kernel option from defconfig
    m68k: fix comment typo 'occcured'
    arch:Kconfig.locks Remove unused config option.
    treewide: remove extra semicolons
    ...

    Linus Torvalds
     

23 May, 2011

9 commits

  • Merge reason: this commit was queued up quite some time ago but was
    forgotten about.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The ordering of the clock bases is historical due to the
    CLOCK_REALTIME and CLOCK_MONOTONIC constants. Now the hrtimer bases
    have their own enumeration due to the gap between CLOCK_MONOTONIC and
    CLOCK_BOOTTIME. So we can be more clever as most timers end up on the
    CLOCK_MONOTONIC base due to the virtue of POSIX declaring that
    relative CLOCK_REALTIME timers are not affected by time changes. In
    desktop environments this is slowly changing as applications switch to
    absolute timers, but I've observed empty CLOCK_REALTIME bases often
    enough. There is no performance penalty or overhead when
    CLOCK_REALTIME timers are active, but in case they are not we don't
    skip over a full cache line.

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Peter Zijlstra

    Thomas Gleixner
     
  • Instead of iterating over all possible timer bases avoid it by marking
    the active bases in the cpu base.

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Peter Zijlstra

    Thomas Gleixner
     
  • Peter is concerned about the extra scan of CLOCK_REALTIME_COS in the
    timer interrupt. Yes, I did not think about it, because the solution
    was so elegant. I didn't like the extra list in timerfd when it was
    proposed some time ago, but with a rcu based list the list walk it's
    less horrible than the original global lock, which was held over the
    list iteration.

    Requested-by: Peter Zijlstra
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Peter Zijlstra

    Thomas Gleixner
     
  • Before the conversion of the NMI watchdog to perf event, the
    watchdog timeout was 5 seconds. Now it is 60 seconds. For my
    particular application, netbooks, 5 seconds was a better
    timeout. With a short timeout, we catch faults earlier and are
    able to send back a panic. With a 60 second timeout, the user is
    unlikely to wait and will instead hit the power button, causing
    us to lose the panic info.

    This change configures the NMI period to watchdog_thresh and
    sets the softlockup_thresh to watchdog_thresh * 2. In addition,
    watchdog_thresh was reduced to 10 seconds as suggested by Ingo
    Molnar.

    Signed-off-by: Mandeep Singh Baines
    Cc: Marcin Slusarz
    Cc: Don Zickus
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/1306127423-3347-4-git-send-email-msb@chromium.org
    Signed-off-by: Ingo Molnar
    LKML-Reference:

    Mandeep Singh Baines
     
  • This restores the previous behavior of softlock_thresh.

    Currently, setting watchdog_thresh to zero causes the watchdog
    kthreads to consume a lot of CPU.

    In addition, the logic of proc_dowatchdog_thresh and
    proc_dowatchdog_enabled has been factored into proc_dowatchdog.

    Signed-off-by: Mandeep Singh Baines
    Cc: Marcin Slusarz
    Cc: Don Zickus
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/1306127423-3347-3-git-send-email-msb@chromium.org
    Signed-off-by: Ingo Molnar
    LKML-Reference:

    Mandeep Singh Baines
     
  • Don't take any action on an unsuccessful write to /proc.

    Signed-off-by: Mandeep Singh Baines
    Cc: Marcin Slusarz
    Cc: Don Zickus
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/1306127423-3347-2-git-send-email-msb@chromium.org
    Signed-off-by: Ingo Molnar

    Mandeep Singh Baines
     
  • In get_sample_period(), softlockup_thresh is integer divided by
    5 before the multiplication by NSEC_PER_SEC. This results in
    softlockup_thresh being rounded down to the nearest integer
    multiple of 5.

    For example, a softlockup_thresh of 4 rounds down to 0.

    Signed-off-by: Mandeep Singh Baines
    Cc: Marcin Slusarz
    Cc: Don Zickus
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/1306127423-3347-1-git-send-email-msb@chromium.org
    Signed-off-by: Ingo Molnar

    Mandeep Singh Baines
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (28 commits)
    sparc32: fix build, fix missing cpu_relax declaration
    SCHED_TTWU_QUEUE is not longer needed since sparc32 now implements IPI
    sparc32,leon: Remove unnecessary page_address calls in LEON DMA API.
    sparc: convert old cpumask API into new one
    sparc32, sun4d: Implemented SMP IPIs support for SUN4D machines
    sparc32, sun4m: Implemented SMP IPIs support for SUN4M machines
    sparc32,leon: Implemented SMP IPIs for LEON CPU
    sparc32: implement SMP IPIs using the generic functions
    sparc32,leon: SMP power down implementation
    sparc32,leon: added some SMP comments
    sparc: add {read,write}*_be routines
    sparc32,leon: don't rely on bootloader to mask IRQs
    sparc32,leon: operate on boot-cpu IRQ controller registers
    sparc32: always define boot_cpu_id
    sparc32: removed unused code, implemented by generic code
    sparc32: avoid build warning at mm/percpu.c:1647
    sparc32: always register a PROM based early console
    sparc32: probe for cpu info only during startup
    sparc: consolidate show_cpuinfo in cpu.c
    sparc32,leon: implement genirq CPU affinity
    ...

    Linus Torvalds
     

21 May, 2011

9 commits

  • When building with:

    CONFIG_64BIT=y
    CONFIG_MIPS32_COMPAT=y
    CONFIG_COMPAT=y
    CONFIG_MIPS32_O32=y
    CONFIG_MIPS32_N32=y
    CONFIG_SYSVIPC is not set
    (and implicitly: CONFIG_SYSVIPC_COMPAT is not set)

    the final link fails with unresolved symbols for:

    compat_sys_semctl, compat_sys_msgsnd, compat_sys_msgrcv,
    compat_sys_shmctl, compat_sys_msgctl, compat_sys_semtimedop

    The fix is to add cond_syscall declarations for all syscalls in
    ipc/compat.c

    Signed-off-by: Kevin Cernekee
    Acked-by: Ralf Baechle
    Acked-by: Arnd Bergmann
    Cc: Andrew Morton
    Cc: Al Viro
    Cc: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Kevin Cernekee
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)
    macvlan: fix panic if lowerdev in a bond
    tg3: Add braces around 5906 workaround.
    tg3: Fix NETIF_F_LOOPBACK error
    macvlan: remove one synchronize_rcu() call
    networking: NET_CLS_ROUTE4 depends on INET
    irda: Fix error propagation in ircomm_lmp_connect_response()
    irda: Kill set but unused variable 'bytes' in irlan_check_command_param()
    irda: Kill set but unused variable 'clen' in ircomm_connect_indication()
    rxrpc: Fix set but unused variable 'usage' in rxrpc_get_transport()
    be2net: Kill set but unused variable 'req' in lancer_fw_download()
    irda: Kill set but unused vars 'saddr' and 'daddr' in irlan_provider_connect_indication()
    atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.
    rxrpc: Fix set but unused variable 'usage' in rxrpc_get_peer().
    rxrpc: Kill set but unused variable 'local' in rxrpc_UDP_error_handler()
    rxrpc: Kill set but unused variable 'sp' in rxrpc_process_connection()
    rxrpc: Kill set but unused variable 'sp' in rxrpc_rotate_tx_window()
    pkt_sched: Kill set but unused variable 'protocol' in tc_classify()
    isdn: capi: Use pr_debug() instead of ifdefs.
    tg3: Update version to 3.119
    tg3: Apply rx_discards fix to 5719/5720
    ...

    Fix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c
    as per Davem.

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

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    MAINTAINERS: Add drivers/clocksource to TIMEKEEPING
    clockevents/source: Use u64 to make 32bit happy

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

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    extable, core_kernel_data(): Make sure all archs define _sdata
    core_kernel_data(): Fix architectures that do not define _sdata

    Linus Torvalds
     
  • * 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (41 commits)
    signal: trivial, fix the "timespec declared inside parameter list" warning
    job control: reorganize wait_task_stopped()
    ptrace: fix signal->wait_chldexit usage in task_clear_group_stop_trapping()
    signal: sys_sigprocmask() needs retarget_shared_pending()
    signal: cleanup sys_sigprocmask()
    signal: rename signandsets() to sigandnsets()
    signal: do_sigtimedwait() needs retarget_shared_pending()
    signal: introduce do_sigtimedwait() to factor out compat/native code
    signal: sys_rt_sigtimedwait: simplify the timeout logic
    signal: cleanup sys_rt_sigprocmask()
    x86: signal: sys_rt_sigreturn() should use set_current_blocked()
    x86: signal: handle_signal() should use set_current_blocked()
    signal: sigprocmask() should do retarget_shared_pending()
    signal: sigprocmask: narrow the scope of ->siglock
    signal: retarget_shared_pending: optimize while_each_thread() loop
    signal: retarget_shared_pending: consider shared/unblocked signals only
    signal: introduce retarget_shared_pending()
    ptrace: ptrace_check_attach() should not do s/STOPPED/TRACED/
    signal: Turn SIGNAL_STOP_DEQUEUED into GROUP_STOP_DEQUEUED
    signal: do_signal_stop: Remove the unneeded task_clear_group_stop_pending()
    ...

    Linus Torvalds
     
  • Signed-off-by: Daniel Hellstrom
    Reported-by: Peter Zijlstra
    Acked-by: Peter Zijlstra
    Signed-off-by: David S. Miller

    Daniel Hellstrom
     
  • Conflicts:
    arch/sparc/kernel/smp_32.c

    With merge conflict help from Daniel Hellstrom.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Commit e66eed651fd1 ("list: remove prefetching from regular list
    iterators") removed the include of prefetch.h from list.h, which
    uncovered several cases that had apparently relied on that rather
    obscure header file dependency.

    So this fixes things up a bit, using

    grep -L linux/prefetch.h $(git grep -l '[^a-z_]prefetchw*(' -- '*.[ch]')
    grep -L 'prefetchw*(' $(git grep -l 'linux/prefetch.h' -- '*.[ch]')

    to guide us in finding files that either need
    inclusion, or have it despite not needing it.

    There are more of them around (mostly network drivers), but this gets
    many core ones.

    Reported-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Reason: Get upstream fixes and kfree_rcu which is necessary for a
    follow up patch.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

20 May, 2011

11 commits

  • Introduce SCHED_LOAD_RESOLUTION, which scales is added to
    SCHED_LOAD_SHIFT and increases the resolution of
    SCHED_LOAD_SCALE. This patch sets the value of
    SCHED_LOAD_RESOLUTION to 10, scaling up the weights for all
    sched entities by a factor of 1024. With this extra resolution,
    we can handle deeper cgroup hiearchies and the scheduler can do
    better shares distribution and load load balancing on larger
    systems (especially for low weight task groups).

    This does not change the existing user interface, the scaled
    weights are only used internally. We do not modify
    prio_to_weight values or inverses, but use the original weights
    when calculating the inverse which is used to scale execution
    time delta in calc_delta_mine(). This ensures we do not lose
    accuracy when accounting time to the sched entities. Thanks to
    Nikunj Dadhania for fixing an bug in c_d_m() that broken fairness.

    Below is some analysis of the performance costs/improvements of
    this patch.

    1. Micro-arch performance costs:

    Experiment was to run Ingo's pipe_test_100k 200 times with the
    task pinned to one cpu. I measured instruction, cycles and
    stalled-cycles for the runs. See:

    http://thread.gmane.org/gmane.linux.kernel/1129232/focus=1129389

    for more info.

    -tip (baseline):

    Performance counter stats for '/root/load-scale/pipe-test-100k' (200 runs):

    964,991,769 instructions # 0.82 insns per cycle
    # 0.33 stalled cycles per insn
    # ( +- 0.05% )
    1,171,186,635 cycles # 0.000 GHz ( +- 0.08% )
    306,373,664 stalled-cycles-backend # 26.16% backend cycles idle ( +- 0.28% )
    314,933,621 stalled-cycles-frontend # 26.89% frontend cycles idle ( +- 0.34% )

    1.122405684 seconds time elapsed ( +- 0.05% )

    -tip+patches:

    Performance counter stats for './load-scale/pipe-test-100k' (200 runs):

    963,624,821 instructions # 0.82 insns per cycle
    # 0.33 stalled cycles per insn
    # ( +- 0.04% )
    1,175,215,649 cycles # 0.000 GHz ( +- 0.08% )
    315,321,126 stalled-cycles-backend # 26.83% backend cycles idle ( +- 0.28% )
    316,835,873 stalled-cycles-frontend # 26.96% frontend cycles idle ( +- 0.29% )

    1.122238659 seconds time elapsed ( +- 0.06% )

    With this patch, instructions decrease by ~0.10% and cycles
    increase by 0.27%. This doesn't look statistically significant.
    The number of stalled cycles in the backend increased from
    26.16% to 26.83%. This can be attributed to the shifts we do in
    c_d_m() and other places. The fraction of stalled cycles in the
    frontend remains about the same, at 26.96% compared to 26.89% in -tip.

    2. Balancing low-weight task groups

    Test setup: run 50 tasks with random sleep/busy times (biased
    around 100ms) in a low weight container (with cpu.shares = 2).
    Measure %idle as reported by mpstat over a 10s window.

    -tip (baseline):

    06:47:48 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle intr/s
    06:47:49 PM all 94.32 0.00 0.06 0.00 0.00 0.00 0.00 0.00 5.62 15888.00
    06:47:50 PM all 94.57 0.00 0.62 0.00 0.00 0.00 0.00 0.00 4.81 16180.00
    06:47:51 PM all 94.69 0.00 0.06 0.00 0.00 0.00 0.00 0.00 5.25 15966.00
    06:47:52 PM all 95.81 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.19 16053.00
    06:47:53 PM all 94.88 0.06 0.00 0.00 0.00 0.00 0.00 0.00 5.06 15984.00
    06:47:54 PM all 93.31 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.69 15806.00
    06:47:55 PM all 94.19 0.00 0.06 0.00 0.00 0.00 0.00 0.00 5.75 15896.00
    06:47:56 PM all 92.87 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7.13 15716.00
    06:47:57 PM all 94.88 0.00 0.00 0.00 0.00 0.00 0.00 0.00 5.12 15982.00
    06:47:58 PM all 95.44 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.56 16075.00
    Average: all 94.49 0.01 0.08 0.00 0.00 0.00 0.00 0.00 5.42 15954.60

    -tip+patches:

    06:47:03 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle intr/s
    06:47:04 PM all 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16630.00
    06:47:05 PM all 99.69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.31 16580.20
    06:47:06 PM all 99.69 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.25 16596.00
    06:47:07 PM all 99.20 0.00 0.74 0.00 0.00 0.06 0.00 0.00 0.00 17838.61
    06:47:08 PM all 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16540.00
    06:47:09 PM all 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16575.00
    06:47:10 PM all 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16614.00
    06:47:11 PM all 99.94 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 16588.00
    06:47:12 PM all 99.94 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 16593.00
    06:47:13 PM all 99.94 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 16551.00
    Average: all 99.84 0.00 0.09 0.00 0.00 0.01 0.00 0.00 0.06 16711.58

    We see an improvement in idle% on the system (drops from 5.42% on -tip to 0.06%
    with the patches).

    We see an improvement in idle% on the system (drops from 5.42%
    on -tip to 0.06% with the patches).

    Signed-off-by: Nikhil Rao
    Acked-by: Peter Zijlstra
    Cc: Nikunj A. Dadhania
    Cc: Srivatsa Vaddagiri
    Cc: Stephan Barwolf
    Cc: Mike Galbraith
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/1305754668-18792-1-git-send-email-ncrao@google.com
    Signed-off-by: Ingo Molnar

    Nikhil Rao
     
  • SCHED_LOAD_SCALE is used to increase nice resolution and to
    scale cpu_power calculations in the scheduler. This patch
    introduces SCHED_POWER_SCALE and converts all uses of
    SCHED_LOAD_SCALE for scaling cpu_power to use SCHED_POWER_SCALE
    instead.

    This is a preparatory patch for increasing the resolution of
    SCHED_LOAD_SCALE, and there is no need to increase resolution
    for cpu_power calculations.

    Signed-off-by: Nikhil Rao
    Acked-by: Peter Zijlstra
    Cc: Nikunj A. Dadhania
    Cc: Srivatsa Vaddagiri
    Cc: Stephan Barwolf
    Cc: Mike Galbraith
    Link: http://lkml.kernel.org/r/1305738580-9924-3-git-send-email-ncrao@google.com
    Signed-off-by: Ingo Molnar

    Nikhil Rao
     
  • Avoid using long repetitious names; make this simpler and nicer
    to read. No functional change introduced in this patch.

    Signed-off-by: Nikhil Rao
    Acked-by: Peter Zijlstra
    Cc: Nikunj A. Dadhania
    Cc: Srivatsa Vaddagiri
    Cc: Stephan Barwolf
    Cc: Mike Galbraith
    Link: http://lkml.kernel.org/r/1305738580-9924-2-git-send-email-ncrao@google.com
    Signed-off-by: Ingo Molnar

    Nikhil Rao
     
  • unsigned long is not 64bit on 32bit machine.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • A new utility function (core_kernel_data()) is used to determine if a
    passed in address is part of core kernel data or not. It may or may not
    return true for RO data, but this utility must work for RW data.

    Thus both _sdata and _edata must be defined and continuous,
    without .init sections that may later be freed and replaced by
    volatile memory (memory that can be freed).

    This utility function is used to determine if data is safe from
    ever being freed. Thus it should return true for all RW global
    data that is not in a module or has been allocated, or false
    otherwise.

    Also change core_kernel_data() back to the more precise _sdata condition
    and document the function.

    Signed-off-by: Steven Rostedt
    Acked-by: Ralf Baechle
    Acked-by: Hirokazu Takata
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: Kyle McMartin
    Cc: Helge Deller
    Cc: JamesE.J.Bottomley
    Link: http://lkml.kernel.org/r/1305855298.1465.19.camel@gandalf.stny.rr.com
    Signed-off-by: Ingo Molnar
    ----
    arch/alpha/kernel/vmlinux.lds.S | 1 +
    arch/m32r/kernel/vmlinux.lds.S | 1 +
    arch/m68k/kernel/vmlinux-std.lds | 2 ++
    arch/m68k/kernel/vmlinux-sun3.lds | 1 +
    arch/mips/kernel/vmlinux.lds.S | 1 +
    arch/parisc/kernel/vmlinux.lds.S | 3 +++
    kernel/extable.c | 12 +++++++++++-
    7 files changed, 20 insertions(+), 1 deletion(-)

    Steven Rostedt
     
  • Merge reason: One pending commit was left in perf/core after Linus merged
    perf/core - continue v2.6.40 work in the perf/urgent reason.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits)
    debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
    sysfs: remove "last sysfs file:" line from the oops messages
    drivers/base/memory.c: fix warning due to "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION"
    memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION
    SYSFS: Fix erroneous comments for sysfs_update_group().
    driver core: remove the driver-model structures from the documentation
    driver core: Add the device driver-model structures to kerneldoc
    Translated Documentation/email-clients.txt
    RAW driver: Remove call to kobject_put().
    reboot: disable usermodehelper to prevent fs access
    efivars: prevent oops on unload when efi is not enabled
    Allow setting of number of raw devices as a module parameter
    Introduce CONFIG_GOOGLE_FIRMWARE
    driver: Google Memory Console
    driver: Google EFI SMI
    x86: Better comments for get_bios_ebda()
    x86: get_bios_ebda_length()
    misc: fix ti-st build issues
    params.c: Use new strtobool function to process boolean inputs
    debugfs: move to new strtobool
    ...

    Fix up trivial conflicts in fs/debugfs/file.c due to the same patch
    being applied twice, and an unrelated cleanup nearby.

    Linus Torvalds
     
  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)
    Revert "rcu: Decrease memory-barrier usage based on semi-formal proof"
    net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree
    batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu
    batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()
    batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu
    net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()
    net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()
    net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()
    perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()
    perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()
    net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()
    net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()
    net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()
    net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()
    security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()
    net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()
    net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()
    net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()
    ...

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

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    hrtimer: Make lookup table const
    RTC: Disable CONFIG_RTC_CLASS from being built as a module
    timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS=n
    timers: Remove delayed irqwork from alarmtimers implementation
    timers: Improve alarmtimer comments and minor fixes
    timers: Posix interface for alarm-timers
    timers: Introduce in-kernel alarm-timer interface
    timers: Add rb_init_node() to allow for stack allocated rb nodes
    time: Add timekeeping_inject_sleeptime

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

    * 'timers-clockevents-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: hpet: Cleanup the clockevents init and register code
    x86: Convert PIT to clockevents_config_and_register()
    clockevents: Provide interface to reconfigure an active clock event device
    clockevents: Provide combined configure and register function
    clockevents: Restructure clock_event_device members
    clocksource: Get rid of the hardcoded 5 seconds sleep time limit
    clocksource: Restructure clocksource struct members

    Linus Torvalds
     
  • …kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)
    sched: Fix and optimise calculation of the weight-inverse
    sched: Avoid going ahead if ->cpus_allowed is not changed
    sched, rt: Update rq clock when unthrottling of an otherwise idle CPU
    sched: Remove unused parameters from sched_fork() and wake_up_new_task()
    sched: Shorten the construction of the span cpu mask of sched domain
    sched: Wrap the 'cfs_rq->nr_spread_over' field with CONFIG_SCHED_DEBUG
    sched: Remove unused 'this_best_prio arg' from balance_tasks()
    sched: Remove noop in alloc_rt_sched_group()
    sched: Get rid of lock_depth
    sched: Remove obsolete comment from scheduler_tick()
    sched: Fix sched_domain iterations vs. RCU
    sched: Next buddy hint on sleep and preempt path
    sched: Make set_*_buddy() work on non-task entities
    sched: Remove need_migrate_task()
    sched: Move the second half of ttwu() to the remote cpu
    sched: Restructure ttwu() some more
    sched: Rename ttwu_post_activation() to ttwu_do_wakeup()
    sched: Remove rq argument from ttwu_stat()
    sched: Remove rq->lock from the first half of ttwu()
    sched: Drop rq->lock from sched_exec()
    ...

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix rt_rq runtime leakage bug

    Linus Torvalds