Commit b5dd0c65 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'akpm' (patches from Andrew)

Merge more updates from Andrew Morton:

 - some of the rest of MM

 - various misc things

 - dynamic-debug updates

 - checkpatch

 - some epoll speedups

 - autofs

 - rapidio

 - lib/, lib/lzo/ updates

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (83 commits)
  samples/mic/mpssd/mpssd.h: remove duplicate header
  kernel/fork.c: remove duplicated include
  include/linux/relay.h: fix percpu annotation in struct rchan
  arch/nios2/mm/fault.c: remove duplicate include
  unicore32: stop printing the virtual memory layout
  MAINTAINERS: fix GTA02 entry and mark as orphan
  mm: create the new vm_fault_t type
  arm, s390, unicore32: remove oneliner wrappers for memblock_alloc()
  arch: simplify several early memory allocations
  openrisc: simplify pte_alloc_one_kernel()
  sh: prefer memblock APIs returning virtual address
  microblaze: prefer memblock API returning virtual address
  powerpc: prefer memblock APIs returning virtual address
  lib/lzo: separate lzo-rle from lzo
  lib/lzo: implement run-length encoding
  lib/lzo: fast 8-byte copy on arm64
  lib/lzo: 64-bit CTZ on arm64
  lib/lzo: tidy-up ifdefs
  ipc/sem.c: replace kvmalloc/memset with kvzalloc and use struct_size
  ipc: annotate implicit fall through
  ...
parents 610cd4ea fe0436e1
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -106,7 +106,6 @@ compile.h*
conf
config
config-*
config_data.h*
config.mak
config.mak.autogen
conmakehash
+32 −7
Original line number Diff line number Diff line
@@ -78,16 +78,34 @@ Description
     is an implementation design choice independent on the algorithm or
     encoding.

Versions

0: Original version
1: LZO-RLE

Version 1 of LZO implements an extension to encode runs of zeros using run
length encoding. This improves speed for data with many zeros, which is a
common case for zram. This modifies the bitstream in a backwards compatible way
(v1 can correctly decompress v0 compressed data, but v0 cannot read v1 data).

For maximum compatibility, both versions are available under different names
(lzo and lzo-rle). Differences in the encoding are noted in this document with
e.g.: version 1 only.

Byte sequences
==============

  First byte encoding::

      0..17   : follow regular instruction encoding, see below. It is worth
                noting that codes 16 and 17 will represent a block copy from
                the dictionary which is empty, and that they will always be
      0..16   : follow regular instruction encoding, see below. It is worth
                noting that code 16 will represent a block copy from the
                dictionary which is empty, and that it will always be
                invalid at this place.

      17      : bitstream version. If the first byte is 17, the next byte
                gives the bitstream version (version 1 only). If the first byte
                is not 17, the bitstream version is 0.

      18..21  : copy 0..3 literals
                state = (byte - 17) = 0..3  [ copy <state> literals ]
                skip byte
@@ -140,6 +158,11 @@ Byte sequences
           state = S (copy S literals after this block)
           End of stream is reached if distance == 16384

        In version 1 only, this instruction is also used to encode a run of
        zeros if distance = 0xbfff, i.e. H = 1 and the D bits are all 1.
           In this case, it is followed by a fourth byte, X.
           run length = ((X << 3) | (0 0 0 0 0 L L L)) + 4.

      0 0 1 L L L L L  (32..63)
           Copy of small block within 16kB distance (preferably less than 34B)
           length = 2 + (L ?: 31 + (zero_bytes * 255) + non_zero_byte)
@@ -165,7 +188,9 @@ Authors
=======

  This document was written by Willy Tarreau <w@1wt.eu> on 2014/07/19 during an
  analysis of the decompression code available in Linux 3.16-rc5. The code is
  tricky, it is possible that this document contains mistakes or that a few
  corner cases were overlooked. In any case, please report any doubt, fix, or
  proposed updates to the author(s) so that the document can be updated.
  analysis of the decompression code available in Linux 3.16-rc5, and updated
  by Dave Rodgman <dave.rodgman@arm.com> on 2018/10/30 to introduce run-length
  encoding. The code is tricky, it is possible that this document contains
  mistakes or that a few corner cases were overlooked. In any case, please
  report any doubt, fix, or proposed updates to the author(s) so that the
  document can be updated.
+1 −1
Original line number Diff line number Diff line
@@ -249,7 +249,7 @@ features; most of these are found in the "kernel hacking" submenu. Several
of these options should be turned on for any kernel used for development or
testing purposes.  In particular, you should turn on:

 - ENABLE_WARN_DEPRECATED, ENABLE_MUST_CHECK, and FRAME_WARN to get an
 - ENABLE_MUST_CHECK and FRAME_WARN to get an
   extra set of warnings for problems like the use of deprecated interfaces
   or ignoring an important return value from a function.  The output
   generated by these warnings can be verbose, but one need not worry about
+1 −1
Original line number Diff line number Diff line
@@ -264,7 +264,7 @@ La maggior parte di queste opzioni possono essere attivate per qualsiasi
kernel utilizzato per lo sviluppo o a scopo di test.  In particolare dovreste
attivare:

 - ENABLE_WARN_DEPRECATED, ENABLE_MUST_CHECK, e FRAME_WARN per ottenere degli
 - ENABLE_MUST_CHECK e FRAME_WARN per ottenere degli
   avvertimenti dedicati a problemi come l'uso di interfacce deprecate o
   l'ignorare un importante valore di ritorno di una funzione.  Il risultato
   generato da questi avvertimenti può risultare verboso, ma non bisogna
+3 −2
Original line number Diff line number Diff line
@@ -1899,10 +1899,11 @@ F: drivers/usb/host/ehci-w90x900.c
F:	drivers/video/fbdev/nuc900fb.c

ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
M:	Nelson Castillo <arhuaco@freaks-unidos.net>
L:	openmoko-kernel@lists.openmoko.org (subscribers-only)
W:	http://wiki.openmoko.org/wiki/Neo_FreeRunner
S:	Supported
S:	Orphan
F:	arch/arm/mach-s3c24xx/mach-gta02.c
F:	arch/arm/mach-s3c24xx/gta02.h

ARM/Orion SoC/Technologic Systems TS-78xx platform support
M:	Alexander Clouter <alex@digriz.org.uk>
Loading