]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
10 years agomemcg-mm-introduce-lowlimit-reclaim-fix
Michal Hocko [Thu, 22 May 2014 00:54:35 +0000 (10:54 +1000)]
memcg-mm-introduce-lowlimit-reclaim-fix

mem_cgroup_reclaim_eligible -> mem_cgroup_within_guarantee
follow_low_limit -> honor_memcg_guarantee
and as suggested by Johannes.

Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Hugh Dickins <hughd@google.com>
Cc: Roman Gushchin <klamm@yandex-team.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agomemcg, mm: introduce lowlimit reclaim
Michal Hocko [Thu, 22 May 2014 00:54:34 +0000 (10:54 +1000)]
memcg, mm: introduce lowlimit reclaim

Previous discussions have shown that soft limits cannot be reformed
(http://lwn.net/Articles/555249/).  This series introduces an alternative
approach for protecting memory allocated to processes executing within a
memory cgroup controller.  It is based on a new tunable that was discussed
with Johannes and Tejun held during the kernel summit 2013 and at LSF
2014.

This patchset introduces such low limit that is functionally similar to a
minimum guarantee.  Memcgs which are under their lowlimit are not
considered eligible for the reclaim (both global and hardlimit) unless all
groups under the reclaimed hierarchy are below the low limit when all of
them are considered eligible.

The previous version of the patchset posted as a RFC
(http://marc.info/?l=linux-mm&m=138677140628677&w=2) suggested a hard
guarantee without any fallback.  More discussions led me to reconsidering
the default behavior and come up a more relaxed one.  The hard requirement
can be added later based on a use case which really requires.  It would be
controlled by memory.reclaim_flags knob which would specify whether to OOM
or fallback (default) when all groups are bellow low limit.

The default value of the limit is 0 so all groups are eligible by default
and an interested party has to explicitly set the limit.

The primary use case is to protect an amount of memory allocated to a
workload without it being reclaimed by an unrelated activity.  In some
cases this requirement can be fulfilled by mlock but it is not suitable
for many loads and generally requires application awareness.  Such
application awareness can be complex.  It effectively forbids the use of
memory overcommit as the application must explicitly manage memory
residency.

With the low limit, such workloads can be placed in a memcg with a low
limit that protects the estimated working set.

The hierarchical behavior of the lowlimit is described in the first patch.
 The second patch allows setting the lowlimit.  The last 2 patches clarify
documentation about the memcg reclaim in gereneral (3rd patch) and low
limit (4th patch).

This patch (of 5)

This patch introduces low limit reclaim.  The low_limit acts as a reclaim
protection because groups which are under their low_limit are considered
ineligible for reclaim.  While hardlimit protects from using more memory
than allowed lowlimit protects from getting below memory assigned to the
group due to external memory pressure.

More precisely a group is considered eligible for the reclaim under a
specific hierarchy represented by its root only if the group is above its
low limit and the same applies to all parents up the hierarchy to the
root.  Nevertheless the limit still might be ignored if all groups under
the reclaimed hierarchy are under their low limits.  This will prevent
from OOM rather than protecting the memory.

Consider the following hierarchy with memory pressure coming from the
group A (hard limit reclaim - l-low_limit_in_bytes, u-usage_in_bytes,
h-limit_in_bytes):

root_mem_cgroup
.
  _____/
 /
A (l = 80 u=90 h=90)
       /
      / \_________
     /            \
    B (l=0 u=50)   C (l=50 u=40)
                    \
     D (l=0 u=30)

A and B are reclaimable but C and D are not (D is protected by C).

The low_limit is 0 by default so every group is eligible.  This patch
doesn't provide a way to set the limit yet although the core
infrastructure is there already.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Hugh Dickins <hughd@google.com>
Cc: Roman Gushchin <klamm@yandex-team.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agosysrq,rcu: suppress RCU stall warnings while sysrq runs
Rik van Riel [Thu, 22 May 2014 00:54:34 +0000 (10:54 +1000)]
sysrq,rcu: suppress RCU stall warnings while sysrq runs

Some sysrq handlers can run for a long time, because they dump a lot of
data onto a serial console.  Having RCU stall warnings pop up in the
middle of them only makes the problem worse.

This patch temporarily disables RCU stall warnings while a sysrq request
is handled.

Signed-off-by: Rik van Riel <riel@redhat.com>
Suggested-by: Paul McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Madper Xie <cxie@redhat.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Richard Weinberger <richard@nod.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agosysrq: rcu-ify __handle_sysrq
Rik van Riel [Thu, 22 May 2014 00:54:34 +0000 (10:54 +1000)]
sysrq: rcu-ify __handle_sysrq

Echoing values into /proc/sysrq-trigger seems to be a popular way to get
information out of the kernel.  However, dumping information about
thousands of processes, or hundreds of CPUs to serial console can result
in IRQs being blocked for minutes, resulting in various kinds of cascade
failures.

The most common failure is due to interrupts being blocked for a very long
time.  This can lead to things like failed IO requests, and other things
the system cannot easily recover from.

This problem is easily fixable by making __handle_sysrq use RCU instead of
spin_lock_irqsave.

This leaves the warning that RCU grace periods have not elapsed for a long
time, but the system will come back from that automatically.

It also leaves sysrq-from-irq-context when the sysrq keys are pressed, but
that is probably desired since people want that to work in situations
where the system is already hosed.

The callers of register_sysrq_key and unregister_sysrq_key appear to be
capable of sleeping.

Signed-off-by: Rik van Riel <riel@redhat.com>
Reported-by: Madper Xie <cxie@redhat.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Richard Weinberger <richard@nod.at>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agokernel/kprobes.c: convert printk to pr_foo()
Fabian Frederick [Thu, 22 May 2014 00:54:33 +0000 (10:54 +1000)]
kernel/kprobes.c: convert printk to pr_foo()

Also fixes some checkpatch warnings
-Static initialization
-Lines over 80 characters

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agorwsem-support-optimistic-spinning-fix
Davidlohr Bueso [Thu, 22 May 2014 00:54:33 +0000 (10:54 +1000)]
rwsem-support-optimistic-spinning-fix

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agorwsem-support-optimistic-spinning-checkpatch-fixes
Andrew Morton [Thu, 22 May 2014 00:54:33 +0000 (10:54 +1000)]
rwsem-support-optimistic-spinning-checkpatch-fixes

WARNING: line over 80 characters
#205: FILE: kernel/locking/rwsem-xadd.c:275:
+ old = cmpxchg(&sem->count, count, count + RWSEM_ACTIVE_WRITE_BIAS);

WARNING: line over 80 characters
#376: FILE: kernel/locking/rwsem-xadd.c:434:
+  * If there were already threads queued before us and there are no

WARNING: line over 80 characters
#377: FILE: kernel/locking/rwsem-xadd.c:435:
+  * active writers, the lock must be read owned; so we try to wake

total: 0 errors, 3 warnings, 417 lines checked

./patches/rwsem-support-optimistic-spinning.patch has style problems, please review.

If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Davidlohr Bueso <davidlohr@hp.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agorwsem: Support optimistic spinning
Davidlohr Bueso [Thu, 22 May 2014 00:54:32 +0000 (10:54 +1000)]
rwsem: Support optimistic spinning

We have reached the point where our mutexes are quite fine tuned for a
number of situations.  This includes the use of heuristics and optimistic
spinning, based on MCS locking techniques.

Exclusive ownership of read-write semaphores are, conceptually, just about
the same as mutexes, making them close cousins.  To this end we need to
make them both perform similarly, and right now, rwsems are simply not up
to it.  This was discovered by both reverting commit 4fc3f1d6 (mm/rmap,
migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable)
and similarly, converting some other mutexes (ie: i_mmap_mutex) to rwsems.
 This creates a situation where users have to choose between a rwsem and
mutex taking into account this important performance difference.
Specifically, biggest difference between both locks is when we fail to
acquire a mutex in the fastpath, optimistic spinning comes in to play and
we can avoid a large amount of unnecessary sleeping and overhead of moving
tasks in and out of wait queue.  Rwsems do not have such logic.

This patch, based on the work from Tim Chen and I, adds support for
write-side optimistic spinning when the lock is contended.  It also
includes support for the recently added cancelable MCS locking for
adaptive spinning.  Note that is is only applicable to the xadd method,
and the spinlock rwsem variant remains intact.

Allowing optimistic spinning before putting the writer on the wait queue
reduces wait queue contention and provided greater chance for the rwsem to
get acquired.  With these changes, rwsem is on par with mutex.  The
performance benefits can be seen on a number of workloads.  For instance,
on a 8 socket, 80 core 64bit Westmere box, aim7 shows the following
improvements in throughput:

+--------------+---------------------+-----------------+
|   Workload   | throughput-increase | number of users |
+--------------+---------------------+-----------------+
| alltests     | 20%                 | >1000           |
| custom       | 27%, 60%            | 10-100, >1000   |
| high_systime | 36%, 30%            | >100, >1000     |
| shared       | 58%, 29%            | 10-100, >1000   |
+--------------+---------------------+-----------------+

There was also improvement on smaller systems, such as a quad-core x86-64
laptop running a 30Gb PostgreSQL (pgbench) workload for up to +60% in
throughput for over 50 clients.  Additionally, benefits were also noticed
in exim (mail server) workloads.  When comparing against regular
non-blocking rw locks ([q]rwlock_t), this change proves that it can
outperform them, for instance when studying the popular anon-vma lock:

http://www.spinics.net/lists/linux-mm/msg72705.html

Furthermore, no performance regression have been seen at all.

This patch applies on top of the -tip branch.

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agofs/reiserfs/stree.c: remove obsolete __constant
Fabian Frederick [Thu, 22 May 2014 00:54:32 +0000 (10:54 +1000)]
fs/reiserfs/stree.c: remove obsolete __constant

__constant_cpu_to_le32 converted to cpu_to_le32

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Cc: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agofs/reiserfs/bitmap.c: coding style fixes
Fabian Frederick [Thu, 22 May 2014 00:54:32 +0000 (10:54 +1000)]
fs/reiserfs/bitmap.c: coding style fixes

-Trivial code clean-up
-Fix endif }; (coccinelle warning)

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Cc: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoinit/main.c: code clean-up
Fabian Frederick [Thu, 22 May 2014 00:54:32 +0000 (10:54 +1000)]
init/main.c: code clean-up

Fixing some checkpatch warnings(remove global initialization, move
__initdata, coalesce formats ...)

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agokernel/watchdog.c: convert printk/pr_warning to pr_foo()
Fabian Frederick [Thu, 22 May 2014 00:54:31 +0000 (10:54 +1000)]
kernel/watchdog.c: convert printk/pr_warning to pr_foo()

Replace some obsolete functions.

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agokernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection-fix-2
Jan Moskyto Matejka [Thu, 22 May 2014 00:54:31 +0000 (10:54 +1000)]
kernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection-fix-2

This commit fixes this warning:

kernel/watchdog.c: In function `watchdog_timer_fn':
kernel/watchdog.c:368:4: warning: `smp_mb__after_clear_bit' is deprecated (declared at include/linux/bitops.h:48) [-Wdeprecated-declarations]
    smp_mb__after_clear_bit();

That code was introduced in commit 90e6b763ca8a5eb739e59489f42d45e13431d157
("kernel/watchdog.c: print traces for all cpus on lockup detection") and then
merged with another branch containing commit
febdbfe8a91ce0d11939d4940b592eb0dba8d663 ("arch: Prepare for
smp_mb__{before,after}_atomic()") which deprecates the
smp_mb__after_clear_bit() call in favour of smp_mb__after_atomic().

Signed-off-by: Jan Moskyto Matejka <mq@suse.cz>
Acked-by: Aaron Tomlin <atomlin@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agokernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection-fix
Andrew Morton [Thu, 22 May 2014 00:54:31 +0000 (10:54 +1000)]
kernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection-fix

additional CONFIG_SMP=n optimisations

Cc: Aaron Tomlin <atomlin@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Mateusz Guzik <mguzik@redhat.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agokernel/watchdog.c: print traces for all cpus on lockup detection
Aaron Tomlin [Thu, 22 May 2014 00:54:31 +0000 (10:54 +1000)]
kernel/watchdog.c: print traces for all cpus on lockup detection

A 'softlockup' is defined as a bug that causes the kernel to loop in
kernel mode for more than a predefined period to time, without giving
other tasks a chance to run.

Currently, upon detection of this condition by the per-cpu watchdog task,
debug information (including a stack trace) is sent to the system log.

On some occasions, we have observed that the "victim" rather than the
actual "culprit" (i.e.  the owner/holder of the contended resource) is
reported to the user.  Often this information has proven to be
insufficient to assist debugging efforts.

To avoid loss of useful debug information, for architectures which support
NMI, this patch makes it possible to improve soft lockup reporting.  This
is accomplished by issuing an NMI to each cpu to obtain a stack trace.

If NMI is not supported we just revert back to the old method.  A sysctl
and boot-time parameter is available to toggle this feature.

[dzickus@redhat.com: add CONFIG_SMP in certain areas]
Signed-off-by: Aaron Tomlin <atomlin@redhat.com>
Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Mateusz Guzik <mguzik@redhat.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoblackfin/ptrace: call find_vma with the mmap_sem held
Davidlohr Bueso [Thu, 22 May 2014 00:54:30 +0000 (10:54 +1000)]
blackfin/ptrace: call find_vma with the mmap_sem held

Performing vma lookups without taking the mm->mmap_sem is asking for
trouble.  While doing the search, the vma in question can be modified or
even removed before returning to the caller.  Take the lock (shared) in
order to avoid races while iterating through the vmacache and/or rbtree.

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Cc: Steven Miao <realmz6@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agortc: s5m: consolidate two device type switch statements
Krzysztof Kozlowski [Thu, 22 May 2014 00:54:30 +0000 (10:54 +1000)]
rtc: s5m: consolidate two device type switch statements

In probe the configuration of driver for different chipsets was done in
two switch (pdata->device_type) statements.  Consolidate them into one
switch statement to increase code readability.

Additionally check the return value of regmap_irq_get_virq and exit probe
on error.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agortc: s5m: add support for S2MPS14 RTC
Krzysztof Kozlowski [Thu, 22 May 2014 00:54:30 +0000 (10:54 +1000)]
rtc: s5m: add support for S2MPS14 RTC

Add support for S2MPS14 to the rtc-s5m driver. Differences in S2MPS14
(in comparison to S5M8767):

 - Layout of registers;
 - Lack of century support for time and alarms (7 registers used for
   storing time/alarm);
 - Two buffer control registers: WUDR and RUDR;
 - No register for enabling writing time;
 - RTC interrupts are reported in main PMIC I2C device;

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agortc: s5m: support different register layout
Krzysztof Kozlowski [Thu, 22 May 2014 00:54:30 +0000 (10:54 +1000)]
rtc: s5m: support different register layout

Prepare for adding support for S2MPS14 RTC device to the
rtc-s5m driver:

1. Add a map of registers used by the driver which differ between
   the chipsets (S5M876X and S2MPS14).

2. Move code of checking for alarm pending to separate function.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agortc: s5m: use shorter time of register update
Krzysztof Kozlowski [Thu, 22 May 2014 00:54:29 +0000 (10:54 +1000)]
rtc: s5m: use shorter time of register update

Set the time needed for updating alarm and time registers to 0.45 ms.
The default is 7.32 ms which is too long and leads to warnings when
setting alarm or time:

s5m-rtc: waiting for UDR update, reached max number of retries

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agortc: s5m: remove undocumented time init on first boot
Krzysztof Kozlowski [Thu, 22 May 2014 00:54:29 +0000 (10:54 +1000)]
rtc: s5m: remove undocumented time init on first boot

Remove the code for initializing time if this is first boot.

The code for detecting first boot uses undocumented field RTC_TCON in
RTC_UDR_CON register.  According to S5M8767's datasheet this field is
reserved.  On S2MPS14 it is not documented at all.  On device first boot
the registers will be initialized with reset value (2000-01-01 00:00:00).

The code might work on S5M8763 but still this does not look like a task
for RTC driver.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agomfd/rtc: sec/s5m: rename SEC* symbols to S5M
Krzysztof Kozlowski [Thu, 22 May 2014 00:54:29 +0000 (10:54 +1000)]
mfd/rtc: sec/s5m: rename SEC* symbols to S5M

Prepare for adding support for S2MPS14 RTC device to the rtc-s5m driver:

1. Rename SEC* symbols to S5M.
2. Add S5M prefix to some of defines which are different between S5M876X
   and S2MPS14.

This is only a rename-like patch, new code is not added.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agomm: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:29 +0000 (10:54 +1000)]
mm: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agosysctl: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:28 +0000 (10:54 +1000)]
sysctl: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoipc: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:28 +0000 (10:54 +1000)]
ipc: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agokey: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:28 +0000 (10:54 +1000)]
key: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agofs: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:28 +0000 (10:54 +1000)]
fs: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agontfs: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:27 +0000 (10:54 +1000)]
ntfs: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoinotify: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:27 +0000 (10:54 +1000)]
inotify: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agonfs: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:27 +0000 (10:54 +1000)]
nfs: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agolockd: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:27 +0000 (10:54 +1000)]
lockd: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agofscache: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:26 +0000 (10:54 +1000)]
fscache: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agocoda: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:26 +0000 (10:54 +1000)]
coda: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoscsi: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:26 +0000 (10:54 +1000)]
scsi: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoparport: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:26 +0000 (10:54 +1000)]
parport: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agorandom: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:25 +0000 (10:54 +1000)]
random: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agocdrom: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:25 +0000 (10:54 +1000)]
cdrom: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agotile: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:25 +0000 (10:54 +1000)]
tile: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoia64: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:25 +0000 (10:54 +1000)]
ia64: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoarm: convert use of typedef ctl_table to struct ctl_table
Joe Perches [Thu, 22 May 2014 00:54:24 +0000 (10:54 +1000)]
arm: convert use of typedef ctl_table to struct ctl_table

This typedef is unnecessary and should just be removed.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agomm/page_io.c: work around gcc bug
Andrew Morton [Thu, 22 May 2014 00:54:24 +0000 (10:54 +1000)]
mm/page_io.c: work around gcc bug

gcc-4.4.4 (at least) screws up this initialization.

mm/page_io.c: In function '__swap_writepage':
mm/page_io.c:277: error: unknown field 'bvec' specified in initializer
mm/page_io.c:278: warning: excess elements in struct initializer
mm/page_io.c:278: warning: (near initialization for 'from')

Fixes f990bbc9bfa3cbd2d ("bio_vec-backed iov_iter").

Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agodrivers/gpio/gpio-zevio.c: fix build
Andrew Morton [Thu, 22 May 2014 00:54:23 +0000 (10:54 +1000)]
drivers/gpio/gpio-zevio.c: fix build

Unbreak i386 allmodconfig.

This is a hack - please fix properly ;)

Cc: Fabian Vogt <fabian@ritter-vogt.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
10 years agoMerge branch 'akpm-current/current'
Stephen Rothwell [Fri, 30 May 2014 06:46:55 +0000 (16:46 +1000)]
Merge branch 'akpm-current/current'

Conflicts:
arch/powerpc/include/asm/topology.h
fs/ext4/page-io.c
kernel/kexec.c
mm/memcontrol.c

10 years agoMerge branch 'rd-docs/master'
Stephen Rothwell [Fri, 30 May 2014 06:32:18 +0000 (16:32 +1000)]
Merge branch 'rd-docs/master'

10 years agoMerge remote-tracking branch 'llvmlinux/for-next'
Stephen Rothwell [Fri, 30 May 2014 06:30:46 +0000 (16:30 +1000)]
Merge remote-tracking branch 'llvmlinux/for-next'

10 years agoMerge remote-tracking branch 'aio/master'
Stephen Rothwell [Fri, 30 May 2014 06:29:26 +0000 (16:29 +1000)]
Merge remote-tracking branch 'aio/master'

10 years agoMerge remote-tracking branch 'lzo-update/lzo-update'
Stephen Rothwell [Fri, 30 May 2014 06:27:51 +0000 (16:27 +1000)]
Merge remote-tracking branch 'lzo-update/lzo-update'

10 years agoMerge remote-tracking branch 'clk/clk-next'
Stephen Rothwell [Fri, 30 May 2014 06:26:33 +0000 (16:26 +1000)]
Merge remote-tracking branch 'clk/clk-next'

Conflicts:
Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt

10 years agoMerge remote-tracking branch 'ktest/for-next'
Stephen Rothwell [Fri, 30 May 2014 06:25:36 +0000 (16:25 +1000)]
Merge remote-tracking branch 'ktest/for-next'

10 years agoMerge remote-tracking branch 'userns/for-next'
Stephen Rothwell [Fri, 30 May 2014 06:16:07 +0000 (16:16 +1000)]
Merge remote-tracking branch 'userns/for-next'

Conflicts:
fs/dcache.c
fs/namei.c
fs/namespace.c

10 years agoMerge remote-tracking branch 'dma-buf/for-next'
Stephen Rothwell [Fri, 30 May 2014 06:14:29 +0000 (16:14 +1000)]
Merge remote-tracking branch 'dma-buf/for-next'

Conflicts:
drivers/gpu/drm/i915/i915_gem_dmabuf.c
drivers/staging/android/sync.c

10 years agoMerge remote-tracking branch 'pwm/for-next'
Stephen Rothwell [Fri, 30 May 2014 06:13:14 +0000 (16:13 +1000)]
Merge remote-tracking branch 'pwm/for-next'

Conflicts:
drivers/leds/leds-pwm.c

10 years agoMerge remote-tracking branch 'dma-mapping/dma-mapping-next'
Stephen Rothwell [Fri, 30 May 2014 06:12:11 +0000 (16:12 +1000)]
Merge remote-tracking branch 'dma-mapping/dma-mapping-next'

10 years agoMerge remote-tracking branch 'gpio/for-next'
Stephen Rothwell [Fri, 30 May 2014 06:10:39 +0000 (16:10 +1000)]
Merge remote-tracking branch 'gpio/for-next'

Conflicts:
Documentation/driver-model/devres.txt
drivers/gpio/gpio-mcp23s08.c

10 years agonext-20140529/pinctrl
Stephen Rothwell [Fri, 30 May 2014 06:08:19 +0000 (16:08 +1000)]
next-20140529/pinctrl

10 years agoMerge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Fri, 30 May 2014 05:57:41 +0000 (15:57 +1000)]
Merge remote-tracking branch 'target-updates/for-next'

Conflicts:
drivers/scsi/qla2xxx/qla_target.c
drivers/scsi/virtio_scsi.c

10 years agoMerge remote-tracking branch 'scsi/for-next'
Stephen Rothwell [Fri, 30 May 2014 05:55:46 +0000 (15:55 +1000)]
Merge remote-tracking branch 'scsi/for-next'

10 years agoMerge remote-tracking branch 'cgroup/for-next'
Stephen Rothwell [Fri, 30 May 2014 05:49:43 +0000 (15:49 +1000)]
Merge remote-tracking branch 'cgroup/for-next'

Conflicts:
mm/memcontrol.c

10 years agoMerge remote-tracking branch 'char-misc/char-misc-next'
Stephen Rothwell [Fri, 30 May 2014 05:43:55 +0000 (15:43 +1000)]
Merge remote-tracking branch 'char-misc/char-misc-next'

10 years agoMerge remote-tracking branch 'staging/staging-next'
Stephen Rothwell [Fri, 30 May 2014 05:34:02 +0000 (15:34 +1000)]
Merge remote-tracking branch 'staging/staging-next'

Conflicts:
drivers/staging/rtl8821ae/core.c

10 years agoMerge remote-tracking branch 'usb/usb-next'
Stephen Rothwell [Fri, 30 May 2014 05:31:46 +0000 (15:31 +1000)]
Merge remote-tracking branch 'usb/usb-next'

10 years agoMerge remote-tracking branch 'tty/tty-next'
Stephen Rothwell [Fri, 30 May 2014 05:30:23 +0000 (15:30 +1000)]
Merge remote-tracking branch 'tty/tty-next'

10 years agoMerge remote-tracking branch 'driver-core/driver-core-next'
Stephen Rothwell [Fri, 30 May 2014 05:19:21 +0000 (15:19 +1000)]
Merge remote-tracking branch 'driver-core/driver-core-next'

Conflicts:
drivers/iommu/exynos-iommu.c

10 years agoMerge remote-tracking branch 'leds/for-next'
Stephen Rothwell [Fri, 30 May 2014 05:18:12 +0000 (15:18 +1000)]
Merge remote-tracking branch 'leds/for-next'

10 years agoMerge remote-tracking branch 'hsi/for-next'
Stephen Rothwell [Fri, 30 May 2014 05:16:54 +0000 (15:16 +1000)]
Merge remote-tracking branch 'hsi/for-next'

10 years agoMerge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Fri, 30 May 2014 05:15:31 +0000 (15:15 +1000)]
Merge remote-tracking branch 'regmap/for-next'

10 years agoMerge remote-tracking branch 'drivers-x86/linux-next'
Stephen Rothwell [Fri, 30 May 2014 05:15:23 +0000 (15:15 +1000)]
Merge remote-tracking branch 'drivers-x86/linux-next'

10 years agoMerge remote-tracking branch 'workqueues/for-next'
Stephen Rothwell [Fri, 30 May 2014 05:04:25 +0000 (15:04 +1000)]
Merge remote-tracking branch 'workqueues/for-next'

10 years agoMerge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Fri, 30 May 2014 04:53:24 +0000 (14:53 +1000)]
Merge remote-tracking branch 'percpu/for-next'

10 years agoMerge remote-tracking branch 'xen-tip/linux-next'
Stephen Rothwell [Fri, 30 May 2014 04:44:39 +0000 (14:44 +1000)]
Merge remote-tracking branch 'xen-tip/linux-next'

10 years agoMerge remote-tracking branch 'kvm-arm/next'
Stephen Rothwell [Fri, 30 May 2014 04:43:25 +0000 (14:43 +1000)]
Merge remote-tracking branch 'kvm-arm/next'

10 years agoMerge remote-tracking branch 'kvm/linux-next'
Stephen Rothwell [Fri, 30 May 2014 04:42:05 +0000 (14:42 +1000)]
Merge remote-tracking branch 'kvm/linux-next'

10 years agoMerge remote-tracking branch 'ftrace/for-next'
Stephen Rothwell [Fri, 30 May 2014 04:39:27 +0000 (14:39 +1000)]
Merge remote-tracking branch 'ftrace/for-next'

10 years agoMerge remote-tracking branch 'irqchip/irqchip/for-next'
Stephen Rothwell [Fri, 30 May 2014 04:38:29 +0000 (14:38 +1000)]
Merge remote-tracking branch 'irqchip/irqchip/for-next'

10 years agoMerge remote-tracking branch 'edac-amd/for-next'
Stephen Rothwell [Fri, 30 May 2014 04:37:26 +0000 (14:37 +1000)]
Merge remote-tracking branch 'edac-amd/for-next'

10 years agoMerge remote-tracking branch 'clockevents/clockevents/next'
Stephen Rothwell [Fri, 30 May 2014 04:36:10 +0000 (14:36 +1000)]
Merge remote-tracking branch 'clockevents/clockevents/next'

Conflicts:
arch/arm/boot/dts/vf610.dtsi

10 years agox86,vdso: Fix cross-compilation from big-endian architectures
Andy Lutomirski [Thu, 29 May 2014 21:57:18 +0000 (14:57 -0700)]
x86,vdso: Fix cross-compilation from big-endian architectures

This adds a macro GET(x) to convert x from big-endian to
little-endian.  Hopefully I put it everywhere it needs to go and got
all the cases needed for everyone's linux/elf.h.

Signed-off-by: Andy Lutomirski <luto@amacapital.net>
10 years agox86,vdso: When vdso2c fails, unlink the output
Andy Lutomirski [Thu, 29 May 2014 21:57:17 +0000 (14:57 -0700)]
x86,vdso: When vdso2c fails, unlink the output

This avoids bizarre failures if make is run again.

Signed-off-by: Andy Lutomirski <luto@amacapital.net>
10 years agoMerge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Fri, 30 May 2014 04:21:30 +0000 (14:21 +1000)]
Merge remote-tracking branch 'tip/auto-latest'

Conflicts:
arch/arm64/include/asm/thread_info.h
arch/arm64/mm/mmu.c
drivers/block/mtip32xx/mtip32xx.c

10 years agoMerge remote-tracking branch 'spi/for-next'
Stephen Rothwell [Fri, 30 May 2014 04:20:09 +0000 (14:20 +1000)]
Merge remote-tracking branch 'spi/for-next'

10 years agoMerge remote-tracking branch 'dt-rh/for-next'
Stephen Rothwell [Fri, 30 May 2014 04:10:26 +0000 (14:10 +1000)]
Merge remote-tracking branch 'dt-rh/for-next'

Conflicts:
Documentation/kernel-parameters.txt

10 years agoMerge remote-tracking branch 'devicetree/devicetree/next'
Stephen Rothwell [Fri, 30 May 2014 03:59:26 +0000 (13:59 +1000)]
Merge remote-tracking branch 'devicetree/devicetree/next'

Conflicts:
arch/arm/mach-vexpress/platsmp.c

10 years agoMerge remote-tracking branch 'audit/master'
Stephen Rothwell [Fri, 30 May 2014 03:57:42 +0000 (13:57 +1000)]
Merge remote-tracking branch 'audit/master'

Conflicts:
arch/mips/include/asm/syscall.h
arch/mips/kernel/ptrace.c
arch/x86/Kconfig
kernel/audit.c

10 years agoMerge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Fri, 30 May 2014 03:55:56 +0000 (13:55 +1000)]
Merge remote-tracking branch 'trivial/for-next'

Conflicts:
Documentation/devicetree/bindings/arm/omap/omap.txt

10 years agoMerge remote-tracking branch 'osd/linux-next'
Stephen Rothwell [Fri, 30 May 2014 03:54:58 +0000 (13:54 +1000)]
Merge remote-tracking branch 'osd/linux-next'

10 years agoMerge remote-tracking branch 'iommu/next'
Stephen Rothwell [Fri, 30 May 2014 03:53:45 +0000 (13:53 +1000)]
Merge remote-tracking branch 'iommu/next'

Conflicts:
drivers/iommu/exynos-iommu.c

10 years agoMerge remote-tracking branch 'watchdog/master'
Stephen Rothwell [Fri, 30 May 2014 03:52:41 +0000 (13:52 +1000)]
Merge remote-tracking branch 'watchdog/master'

10 years agoMerge remote-tracking branch 'selinux/next'
Stephen Rothwell [Fri, 30 May 2014 03:51:28 +0000 (13:51 +1000)]
Merge remote-tracking branch 'selinux/next'

10 years agoMerge remote-tracking branch 'security/next'
Stephen Rothwell [Fri, 30 May 2014 03:41:42 +0000 (13:41 +1000)]
Merge remote-tracking branch 'security/next'

10 years agoMerge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Fri, 30 May 2014 03:40:08 +0000 (13:40 +1000)]
Merge remote-tracking branch 'regulator/for-next'

10 years agoMerge remote-tracking branch 'omap_dss2/for-next'
Stephen Rothwell [Fri, 30 May 2014 03:38:15 +0000 (13:38 +1000)]
Merge remote-tracking branch 'omap_dss2/for-next'

Conflicts:
arch/arm/boot/dts/am437x-gp-evm.dts

10 years agoMerge remote-tracking branch 'mfd-lj/for-mfd-next'
Stephen Rothwell [Fri, 30 May 2014 03:26:37 +0000 (13:26 +1000)]
Merge remote-tracking branch 'mfd-lj/for-mfd-next'

Conflicts:
drivers/mmc/host/rtsx_usb_sdmmc.c

10 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Fri, 30 May 2014 03:25:26 +0000 (13:25 +1000)]
Merge remote-tracking branch 'md/for-next'

10 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Fri, 30 May 2014 03:24:02 +0000 (13:24 +1000)]
Merge remote-tracking branch 'slab/for-next'

10 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Fri, 30 May 2014 03:23:48 +0000 (13:23 +1000)]
Merge remote-tracking branch 'kgdb/kgdb-next'

10 years agoMerge remote-tracking branch 'mmc-uh/next'
Stephen Rothwell [Fri, 30 May 2014 03:22:50 +0000 (13:22 +1000)]
Merge remote-tracking branch 'mmc-uh/next'

10 years agoRevert "mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs"
Stephen Rothwell [Fri, 30 May 2014 03:21:23 +0000 (13:21 +1000)]
Revert "mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs"

This reverts commit 19b7f796c375a8098924717b171ac5058129d2c4.

10 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Fri, 30 May 2014 02:44:18 +0000 (12:44 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

Conflicts:
include/linux/omap-dma.h

10 years agoMerge remote-tracking branch 'device-mapper/for-next'
Stephen Rothwell [Fri, 30 May 2014 02:26:45 +0000 (12:26 +1000)]
Merge remote-tracking branch 'device-mapper/for-next'

10 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Fri, 30 May 2014 02:17:01 +0000 (12:17 +1000)]
Merge remote-tracking branch 'block/for-next'

Conflicts:
drivers/block/virtio_blk.c