1. 17 11月, 2016 1 次提交
  2. 16 11月, 2016 2 次提交
    • C
      locking/core, arch: Remove cpu_relax_lowlatency() · 5bd0b85b
      Christian Borntraeger 提交于
      As there are no users left, we can remove cpu_relax_lowlatency()
      implementations from every architecture.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Nicholas Piggin <npiggin@gmail.com>
      Cc: Noam Camus <noamc@ezchip.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: virtualization@lists.linux-foundation.org
      Cc: xen-devel@lists.xenproject.org
      Cc: <linux-arch@vger.kernel.org>
      Link: http://lkml.kernel.org/r/1477386195-32736-6-git-send-email-borntraeger@de.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      5bd0b85b
    • C
      locking/core: Introduce cpu_relax_yield() · 79ab11cd
      Christian Borntraeger 提交于
      For spinning loops people do often use barrier() or cpu_relax().
      For most architectures cpu_relax and barrier are the same, but on
      some architectures cpu_relax can add some latency.
      For example on power,sparc64 and arc, cpu_relax can shift the CPU
      towards other hardware threads in an SMT environment.
      On s390 cpu_relax does even more, it uses an hypercall to the
      hypervisor to give up the timeslice.
      In contrast to the SMT yielding this can result in larger latencies.
      In some places this latency is unwanted, so another variant
      "cpu_relax_lowlatency" was introduced. Before this is used in more
      and more places, lets revert the logic and provide a cpu_relax_yield
      that can be called in places where yielding is more important than
      latency. By default this is the same as cpu_relax on all architectures.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Nicholas Piggin <npiggin@gmail.com>
      Cc: Noam Camus <noamc@ezchip.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: virtualization@lists.linux-foundation.org
      Cc: xen-devel@lists.xenproject.org
      Link: http://lkml.kernel.org/r/1477386195-32736-2-git-send-email-borntraeger@de.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      79ab11cd
  3. 25 10月, 2016 1 次提交
  4. 22 9月, 2016 1 次提交
    • N
      cris: use generic io.h · 4c241d3c
      Niklas Cassel 提交于
      fixes the warning:
      
      lib/iomap.c: In function ‘ioread8_rep’:
      ./arch/cris/include/asm/io.h:139:31: warning: statement with no effect [-Wunused-value]
       #define insb(port,addr,count) (cris_iops ? cris_iops->read_io(port,addr,1,count) : 0)
                                     ^
      lib/iomap.c:56:3: note: in definition of macro ‘IO_COND’
         is_pio;      \
         ^
      lib/iomap.c:197:16: note: in expansion of macro ‘insb’
        IO_COND(addr, insb(port,dst,count), mmio_insb(addr, dst, count));
                      ^
      
      cris_iops was previously set to NULL (no matter if CONFIG_PCI was set or
      not), but was removed in commit ab28e96f ("CRIS v32: remove old GPIO
      and LEDs code"). Before commit ab28e96f ("CRIS v32: remove old GPIO
      and LEDs code"), cris_iops could have been set from an external module,
      since it was exported, but as commit c24bf9b4 ("CRIS: fix I/O
      macros") noted, the macros using cris_iops have been broken since first
      included, so they could never have worked.
      
      Because of this, instead of readding cris_iops, remove all special
      handling of cris_iops. By doing so, we can rely on the default
      implementation of almost all functions previously defined in our arch
      specific io.h.
      Signed-off-by: NNiklas Cassel <nks@flawful.org>
      Signed-off-by: NJesper Nilsson <jespern@axis.com>
      4c241d3c
  5. 14 9月, 2016 1 次提交
  6. 25 6月, 2016 1 次提交
    • M
      tree wide: get rid of __GFP_REPEAT for order-0 allocations part I · 32d6bd90
      Michal Hocko 提交于
      This is the third version of the patchset previously sent [1].  I have
      basically only rebased it on top of 4.7-rc1 tree and dropped "dm: get
      rid of superfluous gfp flags" which went through dm tree.  I am sending
      it now because it is tree wide and chances for conflicts are reduced
      considerably when we want to target rc2.  I plan to send the next step
      and rename the flag and move to a better semantic later during this
      release cycle so we will have a new semantic ready for 4.8 merge window
      hopefully.
      
      Motivation:
      
      While working on something unrelated I've checked the current usage of
      __GFP_REPEAT in the tree.  It seems that a majority of the usage is and
      always has been bogus because __GFP_REPEAT has always been about costly
      high order allocations while we are using it for order-0 or very small
      orders very often.  It seems that a big pile of them is just a
      copy&paste when a code has been adopted from one arch to another.
      
      I think it makes some sense to get rid of them because they are just
      making the semantic more unclear.  Please note that GFP_REPEAT is
      documented as
      
      * __GFP_REPEAT: Try hard to allocate the memory, but the allocation attempt
      
      * _might_ fail.  This depends upon the particular VM implementation.
        while !costly requests have basically nofail semantic.  So one could
        reasonably expect that order-0 request with __GFP_REPEAT will not loop
        for ever.  This is not implemented right now though.
      
      I would like to move on with __GFP_REPEAT and define a better semantic
      for it.
      
        $ git grep __GFP_REPEAT origin/master | wc -l
        111
        $ git grep __GFP_REPEAT | wc -l
        36
      
      So we are down to the third after this patch series.  The remaining
      places really seem to be relying on __GFP_REPEAT due to large allocation
      requests.  This still needs some double checking which I will do later
      after all the simple ones are sorted out.
      
      I am touching a lot of arch specific code here and I hope I got it right
      but as a matter of fact I even didn't compile test for some archs as I
      do not have cross compiler for them.  Patches should be quite trivial to
      review for stupid compile mistakes though.  The tricky parts are usually
      hidden by macro definitions and thats where I would appreciate help from
      arch maintainers.
      
      [1] http://lkml.kernel.org/r/1461849846-27209-1-git-send-email-mhocko@kernel.org
      
      This patch (of 19):
      
      __GFP_REPEAT has a rather weak semantic but since it has been introduced
      around 2.6.12 it has been ignored for low order allocations.  Yet we
      have the full kernel tree with its usage for apparently order-0
      allocations.  This is really confusing because __GFP_REPEAT is
      explicitly documented to allow allocation failures which is a weaker
      semantic than the current order-0 has (basically nofail).
      
      Let's simply drop __GFP_REPEAT from those places.  This would allow to
      identify place which really need allocator to retry harder and formulate
      a more specific semantic for what the flag is supposed to do actually.
      
      Link: http://lkml.kernel.org/r/1464599699-30131-2-git-send-email-mhocko@kernel.orgSigned-off-by: NMichal Hocko <mhocko@suse.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Chen Liqin <liqin.linux@gmail.com>
      Cc: Chris Metcalf <cmetcalf@mellanox.com> [for tile]
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jan Kara <jack@suse.cz>
      Cc: John Crispin <blogic@openwrt.org>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      32d6bd90
  7. 14 3月, 2016 1 次提交
    • A
      ipv4: Update parameters for csum_tcpudp_magic to their original types · 01cfbad7
      Alexander Duyck 提交于
      This patch updates all instances of csum_tcpudp_magic and
      csum_tcpudp_nofold to reflect the types that are usually used as the source
      inputs.  For example the protocol field is populated based on nexthdr which
      is actually an unsigned 8 bit value.  The length is usually populated based
      on skb->len which is an unsigned integer.
      
      This addresses an issue in which the IPv6 function csum_ipv6_magic was
      generating a checksum using the full 32b of skb->len while
      csum_tcpudp_magic was only using the lower 16 bits.  As a result we could
      run into issues when attempting to adjust the checksum as there was no
      protocol agnostic way to update it.
      
      With this change the value is still truncated as many architectures use
      "(len + proto) << 8", however this truncation only occurs for values
      greater than 16776960 in length and as such is unlikely to occur as we stop
      the inner headers at ~64K in size.
      
      I did have to make a few minor changes in the arm, mn10300, nios2, and
      score versions of the function in order to support these changes as they
      were either using things such as an OR to combine the protocol and length,
      or were using ntohs to convert the length which would have truncated the
      value.
      
      I also updated a few spots in terms of whitespace and type differences for
      the addresses.  Most of this was just to make sure all of the definitions
      were in sync going forward.
      Signed-off-by: NAlexander Duyck <aduyck@mirantis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      01cfbad7
  8. 08 3月, 2016 1 次提交
  9. 21 1月, 2016 2 次提交
  10. 03 11月, 2015 2 次提交
  11. 05 9月, 2015 13 次提交
    • R
      CRIS: fix switch_mm() lockdep splat · 7f0144e7
      Rabin Vincent 提交于
      With lockdep support implemented on CRISv32, we get the following splat.
      switch_mm() can be called both from the scheduler() (with interrupts
      disabled) and from flush_old_exec (via activate_mm()), with interrupts
      enabled.  Fix it by disabling interrupts in activate_mm(), similar to
      powerpc and hexagon.
      
       t======================================================
       [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]
       3.19.0-08802-g20bc9f1-dirty #323 Not tainted
       ------------------------------------------------------
       init/1 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
        (mmu_context_lock){+.+...}, at: [<c0009290>] switch_mm+0x22/0xc6
      
       and this task is already holding:
        (&rq->lock){-.-.-.}, at: [<c01a0756>] __schedule+0x5e/0x648
       which would create a new lock dependency:
        (&rq->lock){-.-.-.} -> (mmu_context_lock){+.+...}
      
       but this new dependency connects a HARDIRQ-irq-safe lock:
        (&rq->lock){-.-.-.}
       ... which became HARDIRQ-irq-safe at:
         [<c002b03c>] scheduler_tick+0x28/0x5e
         [<c0007c6c>] timer_interrupt+0x4e/0x6a
         [<c0043ac4>] handle_irq_event_percpu+0x54/0x13c
         [<c004343c>] generic_handle_irq+0x2a/0x36
      
       to a HARDIRQ-irq-unsafe lock:
        (mmu_context_lock){+.+...}
       ... which became HARDIRQ-irq-unsafe at:
       ...  [<c0039e60>] __lock_acquire+0x8f8/0x1d9c
         [<c0009290>] switch_mm+0x22/0xc6
         [<c009c260>] flush_old_exec+0x500/0x5d4
         [<c00da4c6>] load_elf_phdrs+0x7a/0x84
         [<c00dbdb0>] load_elf_binary+0x21c/0x13b4
         [<c009cdb6>] do_execve+0x22/0x2c
         [<c001dcf2>] ____call_usermodehelper+0x0/0x154
         [<c000581e>] ret_from_kernel_thread+0xe/0x14
      
       other info that might help us debug this:
      
        Possible interrupt unsafe locking scenario:
      
              CPU0                    CPU1
              ----                    ----
         lock(mmu_context_lock);
                                      local_irq_disable();
                                      lock(&rq->lock);
                                      lock(mmu_context_lock);
         <Interrupt>
           lock(&rq->lock);
      
        *** DEADLOCK ***
      
       1 lock held by init/1:
        #0:  (&rq->lock){-.-.-.}, at: [<c01a0756>] __schedule+0x5e/0x648
      
       Call Trace:
       [<c019fe9e>] printk+0x0/0x4e
       [<c00368f8>] print_shortest_lock_dependencies+0x0/0x15c
       [<c0048628>] print_stack_trace+0x0/0x88
       [<c0038912>] __lock_is_held+0x3e/0x5e
       [<c003b894>] lock_acquire+0x8a/0xcc
       [<c01a50c4>] _raw_spin_lock+0x44/0x7a
       [<c0009290>] switch_mm+0x22/0xc6
       [<c01a06f8>] __schedule+0x0/0x648
       [<c01a0d76>] schedule+0x36/0x7c
       [<c0037d04>] trace_hardirqs_on+0x0/0x1e
       [<c0004e18>] do_work_pending+0x30/0xd4
       [<c000591a>] _work_pending+0xe/0x12
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      7f0144e7
    • R
      CRIS: add STACKTRACE_SUPPORT · aa6f4d2b
      Rabin Vincent 提交于
      Add stacktrace support, which is required for lockdep and tracing.  The
      stack tracing simply looks at all kernel text symbols found on the
      stack, similar to the trap stack dumping code, which can also be
      converted to use this.
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      aa6f4d2b
    • R
      CRIS: UAPI: use generic types.h · 20ae2473
      Rabin Vincent 提交于
      CRIS' types.h is functionally identical to the asm-generic version.
      
      Effective diff:
      
       +#ifndef _ASM_GENERIC_TYPES_H
       +#define _ASM_GENERIC_TYPES_H
       +
        #include <asm-generic/int-ll64.h>
       +
       +#endif
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      20ae2473
    • R
      CRIS: UAPI: use generic shmbuf.h · 258a9ff6
      Rabin Vincent 提交于
      CRIS' shmbuf.h is equivalent to the asm-generic verison.
      
      Effective diff:
      
       -#ifndef _CRIS_SHMBUF_H
       -#define _CRIS_SHMBUF_H
       +#ifndef __ASM_GENERIC_SHMBUF_H
       +#define __ASM_GENERIC_SHMBUF_H
       +
       +#include <asm/bitsperlong.h>
      
        	struct ipc64_perm	shm_perm;
        	size_t			shm_segsz;
        	__kernel_time_t		shm_atime;
       +#if __BITS_PER_LONG != 64
        	unsigned long		__unused1;
       +#endif
        	__kernel_time_t		shm_dtime;
       +#if __BITS_PER_LONG != 64
        	unsigned long		__unused2;
       +#endif
        	__kernel_time_t		shm_ctime;
       +#if __BITS_PER_LONG != 64
        	unsigned long		__unused3;
       +#endif
        	__kernel_pid_t		shm_cpid;
        	__kernel_pid_t		shm_lpid;
       -	unsigned long		shm_nattch;
       -	unsigned long		__unused4;
       -	unsigned long		__unused5;
       +	__kernel_ulong_t	shm_nattch;
       +	__kernel_ulong_t	__unused4;
       +	__kernel_ulong_t	__unused5;
        };
      
        struct shminfo64 {
       -	unsigned long	shmmax;
       -	unsigned long	shmmin;
       -	unsigned long	shmmni;
       -	unsigned long	shmseg;
       -	unsigned long	shmall;
       -	unsigned long	__unused1;
       -	unsigned long	__unused2;
       -	unsigned long	__unused3;
       -	unsigned long	__unused4;
       +	__kernel_ulong_t	shmmax;
       +	__kernel_ulong_t	shmmin;
       +	__kernel_ulong_t	shmmni;
       +	__kernel_ulong_t	shmseg;
       +	__kernel_ulong_t	shmall;
       +	__kernel_ulong_t	__unused1;
       +	__kernel_ulong_t	__unused2;
       +	__kernel_ulong_t	__unused3;
       +	__kernel_ulong_t	__unused4;
        };
      
        #endif
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      258a9ff6
    • R
      CRIS: UAPI: use generic msgbuf.h · 74d94adb
      Rabin Vincent 提交于
      CRIS' msgbuf.h is equivalent to the asm-generic version.
      
      Effective diff:
      
       -#ifndef _CRIS_MSGBUF_H
       -#define _CRIS_MSGBUF_H
       -
       -
       +#ifndef __ASM_GENERIC_MSGBUF_H
       +#define __ASM_GENERIC_MSGBUF_H
      
       +#include <asm/bitsperlong.h>
      
        struct msqid64_ds {
        	struct ipc64_perm msg_perm;
        	__kernel_time_t msg_stime;
       +#if __BITS_PER_LONG != 64
        	unsigned long	__unused1;
       +#endif
        	__kernel_time_t msg_rtime;
       +#if __BITS_PER_LONG != 64
        	unsigned long	__unused2;
       +#endif
        	__kernel_time_t msg_ctime;
       +#if __BITS_PER_LONG != 64
        	unsigned long	__unused3;
       -	unsigned long  msg_cbytes;
       -	unsigned long  msg_qnum;
       -	unsigned long  msg_qbytes;
       +#endif
       +	__kernel_ulong_t msg_cbytes;
       +	__kernel_ulong_t msg_qnum;
       +	__kernel_ulong_t msg_qbytes;
        	__kernel_pid_t msg_lspid;
        	__kernel_pid_t msg_lrpid;
       -	unsigned long  __unused4;
       -	unsigned long  __unused5;
       +	__kernel_ulong_t __unused4;
       +	__kernel_ulong_t __unused5;
        };
      
        #endif
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      74d94adb
    • R
      CRIS: UAPI: use generic socket.h · 45266922
      Rabin Vincent 提交于
      CRIS' socket.h is equivalent to the asm-generic version.
      
      Effective diff:
      
       -#ifndef _ASM_SOCKET_H
       -#define _ASM_SOCKET_H
       -
       -
       +#ifndef __ASM_GENERIC_SOCKET_H
       +#define __ASM_GENERIC_SOCKET_H
      
        #include <asm/sockios.h>
      
        #define SO_LINGER	13
        #define SO_BSDCOMPAT	14
        #define SO_REUSEPORT	15
       +#ifndef SO_PASSCRED
        #define SO_PASSCRED	16
        #define SO_PEERCRED	17
        #define SO_RCVLOWAT	18
        #define SO_SNDLOWAT	19
        #define SO_RCVTIMEO	20
        #define SO_SNDTIMEO	21
       +#endif
      
       #define SO_SECURITY_AUTHENTICATION		22
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      45266922
    • R
      CRIS: UAPI: use generic sembuf.h · 53789d25
      Rabin Vincent 提交于
      CRIS's sembuf.h is equivalent to the asm-generic version.
      Effective diff:
      
       -#ifndef _CRIS_SEMBUF_H
       -#define _CRIS_SEMBUF_H
       +#ifndef __ASM_GENERIC_SEMBUF_H
       +#define __ASM_GENERIC_SEMBUF_H
      
       +#include <asm/bitsperlong.h>
      
        struct semid64_ds {
        	struct ipc64_perm sem_perm;
        	__kernel_time_t	sem_otime;
       +#if __BITS_PER_LONG != 64
        	unsigned long	__unused1;
       +#endif
        	__kernel_time_t	sem_ctime;
       +#if __BITS_PER_LONG != 64
        	unsigned long	__unused2;
       +#endif
        	unsigned long	sem_nsems;
        	unsigned long	__unused3;
        	unsigned long	__unused4;
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      53789d25
    • R
      CRIS: UAPI: use generic sockios.h · c823b970
      Rabin Vincent 提交于
      CRIS' sockios.h is equivalent to the asm-generic version.
      
      Effective diff:
      
       -#ifndef __ARCH_CRIS_SOCKIOS__
       -#define __ARCH_CRIS_SOCKIOS__
       +#ifndef __ASM_GENERIC_SOCKIOS_H
       +#define __ASM_GENERIC_SOCKIOS_H
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      c823b970
    • R
      CRIS: UAPI: use generic auxvec.h · 889d74a4
      Rabin Vincent 提交于
      CRIS's auxvec.h is empty just like the asm-generic version.
      
      Effective diff:
      
       -#ifndef __ASMCRIS_AUXVEC_H
       -#define __ASMCRIS_AUXVEC_H
       +#ifndef __ASM_GENERIC_AUXVEC_H
       +#define __ASM_GENERIC_AUXVEC_H
       +
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      889d74a4
    • R
      CRIS: UAPI: use generic headers via Kbuild · 0c02fa2f
      Rabin Vincent 提交于
      Use Kbuild magic to include the generic headers.
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      0c02fa2f
    • R
      CRIS: UAPI: fix elf.h export · 2493d3e2
      Rabin Vincent 提交于
      CRIS userspace (uClibc for one) expects asm/elf.h to be exported but
      this header appears to have gone missing at some point.  Move it to
      uapi/ and export it.
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      2493d3e2
    • R
      CRIS: don't make asm/elf.h depend on asm/user.h · 3a79a075
      Rabin Vincent 提交于
      We're going to export asm/elf.h; remove its dependencies on the
      non-exported asm/user.h and the unused asm/system.h include.
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      3a79a075
    • C
      CRIS: Wire up missing syscalls · ee59843c
      Chen Gang 提交于
      The related warnings:
      
          CALL    scripts/checksyscalls.sh
        <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp]
        <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp]
        <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp]
        <stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
        <stdin>:1241:2: warning: #warning syscall getrandom not implemented [-Wcpp]
        <stdin>:1244:2: warning: #warning syscall memfd_create not implemented [-Wcpp]
        <stdin>:1247:2: warning: #warning syscall bpf not implemented [-Wcpp]
        <stdin>:1250:2: warning: #warning syscall execveat not implemented [-Wcpp]
      Signed-off-by: NChen Gang <gang.chen.5i5j@gmail.com>
      Signed-off-by: NJesper Nilsson <jespern@axis.com>
      ee59843c
  12. 18 7月, 2015 1 次提交
  13. 09 7月, 2015 1 次提交
    • C
      Make asm/word-at-a-time.h available on all architectures · a6e2f029
      Chris Metcalf 提交于
      Added the x86 implementation of word-at-a-time to the
      generic version, which previously only supported big-endian.
      
      Omitted the x86-specific load_unaligned_zeropad(), which in
      any case is also not present for the existing BE-only
      implementation of a word-at-a-time, and is only used under
      CONFIG_DCACHE_WORD_ACCESS.
      
      Added as a "generic-y" to the Kbuilds of all architectures
      that didn't previously have it.
      Signed-off-by: NChris Metcalf <cmetcalf@ezchip.com>
      a6e2f029
  14. 25 6月, 2015 1 次提交
    • L
      mm: new mm hook framework · 2ae416b1
      Laurent Dufour 提交于
      CRIU is recreating the process memory layout by remapping the checkpointee
      memory area on top of the current process (criu).  This includes remapping
      the vDSO to the place it has at checkpoint time.
      
      However some architectures like powerpc are keeping a reference to the
      vDSO base address to build the signal return stack frame by calling the
      vDSO sigreturn service.  So once the vDSO has been moved, this reference
      is no more valid and the signal frame built later are not usable.
      
      This patch serie is introducing a new mm hook framework, and a new
      arch_remap hook which is called when mremap is done and the mm lock still
      hold.  The next patch is adding the vDSO remap and unmap tracking to the
      powerpc architecture.
      
      This patch (of 3):
      
      This patch introduces a new set of header file to manage mm hooks:
      - per architecture empty header file (arch/x/include/asm/mm-arch-hooks.h)
      - a generic header (include/linux/mm-arch-hooks.h)
      
      The architecture which need to overwrite a hook as to redefine it in its
      header file, while architecture which doesn't need have nothing to do.
      
      The default hooks are defined in the generic header and are used in the
      case the architecture is not defining it.
      
      In a next step, mm hooks defined in include/asm-generic/mm_hooks.h should
      be moved here.
      Signed-off-by: NLaurent Dufour <ldufour@linux.vnet.ibm.com>
      Suggested-by: NAndrew Morton <akpm@linux-foundation.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2ae416b1
  15. 19 5月, 2015 1 次提交
  16. 06 5月, 2015 1 次提交
  17. 13 4月, 2015 1 次提交
  18. 25 3月, 2015 6 次提交
  19. 15 2月, 2015 2 次提交