Hello!
Tejun just this week posted patches that park the workqueue kthreads,
which should reduce CPU-online latency under load. The easiest way to
get these patches appears to be to pull them from Tejun's git tree:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-wq-hotplug
They pass some extremely mild rcutorture/hotplug testing, and more testing
will follow. Please take a look at these and give them a go.
Thanx, Paul
Hi Andrey,
V4 contains following updates:
- wq-hotplug patches from Tejun
- slow-fast CPU DT support from Tixy
- All branches rebased on v3.5
They are compile tested.
---------------------8<------------------------
The following changes since commit 28a33cbc24e4256c143dce96c7d93bf423229f92:
Linux 3.5 (2012-07-21 13:58:29 -0700)
are available in the git repository at:
git://git.linaro.org/arm/big.LITTLE/mp.git big-LITTLE-MP-v4
for you to fetch changes up to 5ac93ea2e717a4aef7cdc4b09466955b25d4c42c:
Merge branches 'arm-asymmetric-support-v3', 'cpuidle-next-v4',
'per-cpu-thread-hotplug-v3', 'fast-slow-cpu-dt-v1', 'wq-hotplug-v1' and
'config-fragments' into big-LITTLE-MP-v4 (2012-07-25 10:36:36 +0100)
----------------------------------------------------------------
Ben Segall (1):
sched: maintain per-rq runnable averages
Colin Cross (4):
cpuidle: refactor out cpuidle_enter_state
cpuidle: fix error handling in __cpuidle_register_device
cpuidle: add support for states that affect multiple cpus
cpuidle: coupled: add parallel barrier function
Jon Medhurst (4):
configs: Initial core configs
configs: Make CONFIG_MODULES part of linaro-base
Merge branch 'config-core-3.4' into config-core-tracking
configs: Replace CONFIG_PERF_COUNTERS with CONFIG_PERF_EVENTS
Jon Medhurst (Tixy) (1):
sched: Use device-tree to provide fast/slow CPU list for HMP
Morten Rasmussen (5):
sched: Add ftrace events for entity load-tracking
sched: entity load-tracking load_avg_ratio
sched: load-tracking driven wakeup migration for HMP platforms
sched: Forced migration of high load task on HMP platforms
sched: Add HMP forced task migration ftrace event
Paul E. McKenney (1):
rcu: Use smp_hotplug_thread facility for RCUs per-CPU kthread
Paul Turner (15):
sched: track the runnable average on a per-task entitiy basis
sched: aggregate load contributed by task entities on parenting cfs_rq
sched: maintain the load contribution of blocked entities
sched: add an rq migration call-back to sched_class
sched: account for blocked load waking back up
sched: aggregate total task_group load
sched: compute load contribution by a group entity
sched: normalize tg load contributions against runnable time
sched: maintain runnable averages across throttled periods
sched: replace update_shares weight distribution with per-entity
computation
sched: refactor update_shares_cpu() -> update_blocked_avgs()
sched: update_cfs_shares at period edge
sched: make __update_entity_runnable_avg() fast
sched: implement usage tracking
sched: introduce temporary FAIR_GROUP_SCHED dependency for
load-tracking
Peter Zijlstra (1):
sched, x86: Remove broken power estimation
Ricardo Salveti de Araujo (8):
configs: moving previous ubuntu.conf as ubuntu-minimal and creating a
full ubuntu one
configs: ubuntu: be compatible with the enforce script
configs: ubuntu: disabling CODA_FS, seems to be broken atm
configs: ubuntu: disabling CGROUPS as default
Merge branch 'config-core-3.4' into config-core-tracking
configs: ubuntu: updating configs for 3.5
configs: ubuntu: disabling CONFIG_MTD_NAND_NANDSIM=m, breaking build
config: ubuntu: ATH6KL should be platform dependent
Tejun Heo (18):
workqueue: don't use WQ_HIGHPRI for unbound workqueues
workqueue: factor out worker_pool from global_cwq
workqueue: use @pool instead of @gcwq or @cpu where applicable
workqueue: separate out worker_pool flags
workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()
workqueue: reimplement WQ_HIGHPRI using a separate worker_pool
workqueue: perform cpu down operations from low priority
cpu_notifier()
workqueue: drop CPU_DYING notifier operation
workqueue: ROGUE workers are UNBOUND workers
workqueue: use mutex for global_cwq manager exclusion
workqueue: drop @bind from create_worker()
workqueue: reimplement CPU online rebinding to handle idle workers
workqueue: don't butcher idle workers on an offline CPU
workqueue: remove CPU offline trustee
workqueue: simplify CPU hotplug code
kthread_worker: reorganize to prepare for flush_kthread_work()
reimplementation
kthread_worker: reimplement flush_kthread_work() to allow freeing the
work item being executed
workqueue: fix spurious CPU locality WARN from process_one_work()
Thomas Gleixner (6):
rcu: Yield simpler
kthread: Implement park/unpark facility
smpboot: Provide infrastructure for percpu hotplug threads
softirq: Use hotplug thread infrastructure
watchdog: Use hotplug thread infrastructure
infiniband: ehca: Use hotplug thread infrastructure
Vincent Guittot (4):
ARM: topology: Add arch_scale_freq_power function
ARM: topology: factorize the update of sibling masks
ARM: topology: Update cpu_power according to DT information
sched: cpu_power: enable ARCH_POWER
Viresh Kumar (3):
configs: Add config fragments for big LITTLE MP
linaro/configs: Update big LITTLE MP fragment for task placement work
Merge branches 'arm-asymmetric-support-v3', 'cpuidle-next-v4',
'per-cpu-thread-hotplug-v3', 'fast-slow-cpu-dt-v1', 'wq-hotplug-v1' and
'config-fragments' into big-LITTLE-MP-v4
Documentation/workqueue.txt | 103 +-
arch/arm/Kconfig | 29 +
arch/arm/kernel/topology.c | 278 ++++-
arch/x86/kernel/cpu/Makefile | 2 +-
arch/x86/kernel/cpu/sched.c | 55 -
drivers/cpuidle/Kconfig | 3 +
drivers/cpuidle/Makefile | 1 +
drivers/cpuidle/coupled.c | 715 +++++++++++
drivers/cpuidle/cpuidle.c | 68 +-
drivers/cpuidle/cpuidle.h | 32 +
drivers/infiniband/hw/ehca/ehca_irq.c | 253 ++--
drivers/infiniband/hw/ehca/ehca_irq.h | 6 +-
include/linux/cpu.h | 5 +-
include/linux/cpuidle.h | 11 +
include/linux/kthread.h | 19 +-
include/linux/sched.h | 19 +
include/linux/smpboot.h | 43 +
include/trace/events/sched.h | 151 +++
include/trace/events/workqueue.h | 2 +-
kernel/cpu.c | 10 +-
kernel/kthread.c | 273 ++++-
kernel/rcutree.c | 12 +-
kernel/rcutree.h | 15 +-
kernel/rcutree_plugin.h | 403 ++-----
kernel/rcutree_trace.c | 3 +-
kernel/sched/core.c | 5 +
kernel/sched/debug.c | 39 +-
kernel/sched/fair.c | 1099 ++++++++++++++---
kernel/sched/features.h | 2 +-
kernel/sched/sched.h | 60 +-
kernel/smpboot.c | 229 ++++
kernel/smpboot.h | 4 +
kernel/softirq.c | 107 +-
kernel/watchdog.c | 263 ++--
kernel/workqueue.c | 1144 ++++++++----------
linaro/configs/android.conf | 30 +
linaro/configs/big-LITTLE-MP.conf | 9 +
linaro/configs/linaro-base.conf | 84 ++
linaro/configs/ubuntu-minimal.conf | 24 +
linaro/configs/ubuntu.conf | 2133
+++++++++++++++++++++++++++++++++
40 files changed, 5935 insertions(+), 1808 deletions(-)
delete mode 100644 arch/x86/kernel/cpu/sched.c
create mode 100644 drivers/cpuidle/coupled.c
create mode 100644 include/linux/smpboot.h
create mode 100644 linaro/configs/android.conf
create mode 100644 linaro/configs/big-LITTLE-MP.conf
create mode 100644 linaro/configs/linaro-base.conf
create mode 100644 linaro/configs/ubuntu-minimal.conf
create mode 100644 linaro/configs/ubuntu.conf
Hello
I would like to announce backport of cross compiler for Ubuntu 12.04 LTS
distribution.
Release contains:
- binutils 2.22.52 snapshot
- gcc 4.6.3 (Linaro 12.06)
- gcc 4.7.1 (Linaro 12.07)
- eglibc 2.15
- linux 3.5.0 headers
Packages are available for amd64 and i386 architectures and support
building for both armel and armhf targets.
PPA: https://launchpad.net/~linaro-maintainers/+archive/toolchain
Previous Ubuntu releases are not supported - please upgrade to 12.04 LTS.
Hi,
I am studying the tinyhal with linaro android source on pandaboard in order
to port tinyhal to our custom board.
>> Does the latest pandaboard binaries from
https://android-build.linaro.org/builds/~linaro-android/panda-ics-gcc47-til…
include the tinyhal(Mark XML) modifications?
>> Also, I got the source from
https://wiki.linaro.org/Platform/Android/GetSource
and built using steps in
https://wiki.linaro.org/Platform/Android/BuildSource
I followed the steps in attached README file from the
tinyhal-linaro-5e2c100.
I get the below error
build/core/base_rules.mk:166: *** hardware/linaro/tinyhal:
MODULE.TARGET.SHARED_LIBRARIES.audio.primary.omap4 already defined by
device/linaro/pandaboard/audio. Stop.
The tinyhal panda code is present in hardware/linaro/tinyhal and according
to README should also be copied to device/linaro/pandaboard?
Please let me know.
Thanks,
Asha
Hi all,
I am in the process of documenting the major developments that have
occurred since last year in big.LITTLE processing and I will post a
formal RFC soon, before that I wanted to get some idea of whether I'm
going in the right direction. So following some wiki-pages and pull
requests, I'm going to document the following:
==================
- Paul Turner's load tracking patchset (15)
- Thomas Gleixner's per-cpu-thread hotplugging (6)
- Vincent Guittot's topology patchset and the ARM topology definition
patchset: http://patches.linaro.org/2444/ (~6)
- Colin Cross's patchset removing the cpuidle patchset that removes
cpu0 power down restriction (4)
- Morten Rasmussen's forced HMP task migration patchset (5)
==================
Please let me know if I missing out any important patch-sets? These
patches come with ample documentation but thus far I haven't seen a
single hub to get updates or information regarding them. Thanks for
your time!
--
Regards,
Vikram Dhillon