{"push_id":680040620,"size":12,"distinct_size":12,"ref":"refs/heads/zram","head":"59a0266f6871eb2896fc11abdbd676bebed1c8d2","before":"002bf6e10a61f02b347d4a9978e73ad5fa66866d","commits":[{"sha":"3fa306421c78686611e47c96df41fbfe1078c1fc","author":{"email":"51b0aed1a48556115b152d4619664105ddea9243@lge.com","name":"Kyungsik Lee"},"message":"decompressor: add LZ4 decompressor module\n\nAdd support for LZ4 decompression in the Linux Kernel.  LZ4 Decompression\nAPIs for kernel are based on LZ4 implementation by Yann Collet.\n\nBenchmark Results(PATCH v3)\nCompiler: Linaro ARM gcc 4.6.2\n\n1. ARMv7, 1.5GHz based board\n   Kernel: linux 3.4\n   Uncompressed Kernel Size: 14MB\n        Compressed Size  Decompression Speed\n   LZO  6.7MB            20.1MB/s, 25.2MB/s(UA)\n   LZ4  7.3MB            29.1MB/s, 45.6MB/s(UA)\n\n2. ARMv7, 1.7GHz based board\n   Kernel: linux 3.7\n   Uncompressed Kernel Size: 14MB\n        Compressed Size  Decompression Speed\n   LZO  6.0MB            34.1MB/s, 52.2MB/s(UA)\n   LZ4  6.5MB            86.7MB/s\n- UA: Unaligned memory Access support\n- Latest patch set for LZO applied\n\nThis patch set is for adding support for LZ4-compressed Kernel.  LZ4 is a\nvery fast lossless compression algorithm and it also features an extremely\nfast decoder [1].\n\nBut we have five of decompressors already and one question which does\narise, however, is that of where do we stop adding new ones?  This issue\nhad been discussed and came to the conclusion [2].\n\nRussell King said that we should have:\n\n - one decompressor which is the fastest\n - one decompressor for the highest compression ratio\n - one popular decompressor (eg conventional gzip)\n\nIf we have a replacement one for one of these, then it should do exactly\nthat: replace it.\n\nThe benchmark shows that an 8% increase in image size vs a 66% increase\nin decompression speed compared to LZO(which has been known as the\nfastest decompressor in the Kernel).  Therefore the \"fast but may not be\nsmall\" compression title has clearly been taken by LZ4 [3].\n\n[1] http://code.google.com/p/lz4/\n[2] http://thread.gmane.org/gmane.linux.kbuild.devel/9157\n[3] http://thread.gmane.org/gmane.linux.kbuild.devel/9347\n\nLZ4 homepage: http://fastcompression.blogspot.com/p/lz4.html\nLZ4 source repository: http://code.google.com/p/lz4/\n\nSigned-off-by: Kyungsik Lee <kyungsik.lee@lge.com>\nSigned-off-by: Yann Collet <yann.collet.73@gmail.com>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: Russell King <rmk@arm.linux.org.uk>\nCc: Borislav Petkov <bp@alien8.de>\nCc: Florian Fainelli <florian@openwrt.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nChange-Id: I1cf752fa48886aeff3c8732e3413f53c82b30e56\nReviewed-on: http://gerrit.mot.com/694981\nSubmit-Approved: Jira Key <jirakey@motorola.com>\nTested-by: Jira Key <jirakey@motorola.com>\nReviewed-by: Jeffrey Carlyle <jeff.carlyle@motorola.com>\nSLTApproved: Christopher Fries <cfries@motorola.com>\n(cherry picked from commit b94a1d3f57d659195911077b087a9f7661492812)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/3fa306421c78686611e47c96df41fbfe1078c1fc"},{"sha":"baf5d408c793697076419ffbbac0d9e40c3f206b","author":{"email":"51b0aed1a48556115b152d4619664105ddea9243@lge.com","name":"Kyungsik Lee"},"message":"lib: add support for LZ4-compressed kernel\n\nAdd support for extracting LZ4-compressed kernel images, as well as\nLZ4-compressed ramdisk images in the kernel boot process.\n\nSigned-off-by: Kyungsik Lee <kyungsik.lee@lge.com>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: Russell King <rmk@arm.linux.org.uk>\nCc: Borislav Petkov <bp@alien8.de>\nCc: Florian Fainelli <florian@openwrt.org>\nCc: Yann Collet <yann.collet.73@gmail.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n(cherry picked from commit d1eda0bf70a124b333c0a362e998eed6d2249eaf)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/baf5d408c793697076419ffbbac0d9e40c3f206b"},{"sha":"5da872e60fac05201c5825581d8a347bbf91c261","author":{"email":"f29209e176deba8cfd2e79bb6b9166c7d43dc10b@lge.com","name":"Chanho Min"},"message":"lib: add lz4 compressor module\n\nThis patchset is for supporting LZ4 compression and the crypto API using\nit.\n\nAs shown below, the size of data is a little bit bigger but compressing\nspeed is faster under the enabled unaligned memory access.  We can use\nlz4 de/compression through crypto API as well.  Also, It will be useful\nfor another potential user of lz4 compression.\n\nlz4 Compression Benchmark:\nCompiler: ARM gcc 4.6.4\nARMv7, 1 GHz based board\n   Kernel: linux 3.4\n   Uncompressed data Size: 101 MB\n         Compressed Size  compression Speed\n   LZO   72.1MB\t\t  32.1MB/s, 33.0MB/s(UA)\n   LZ4   75.1MB\t\t  30.4MB/s, 35.9MB/s(UA)\n   LZ4HC 59.8MB\t\t   2.4MB/s,  2.5MB/s(UA)\n- UA: Unaligned memory Access support\n- Latest patch set for LZO applied\n\nThis patch:\n\nAdd support for LZ4 compression in the Linux Kernel.  LZ4 Compression APIs\nfor kernel are based on LZ4 implementation by Yann Collet and were changed\nfor kernel coding style.\n\nLZ4 homepage : http://fastcompression.blogspot.com/p/lz4.html\nLZ4 source repository : http://code.google.com/p/lz4/\nsvn revision : r90\n\nTwo APIs are added:\n\nlz4_compress() support basic lz4 compression whereas lz4hc_compress()\nsupport high compression or CPU performance get lower but compression\nratio get higher.  Also, we require the pre-allocated working memory with\nthe defined size and destination buffer must be allocated with the size of\nlz4_compressbound.\n\n[akpm@linux-foundation.org: make lz4_compresshcctx() static]\nSigned-off-by: Chanho Min <chanho.min@lge.com>\nCc: \"Darrick J. Wong\" <djwong@us.ibm.com>\nCc: Bob Pearson <rpearson@systemfabricworks.com>\nCc: Richard Weinberger <richard@nod.at>\nCc: Herbert Xu <herbert@gondor.hengli.com.au>\nCc: Yann Collet <yann.collet.73@gmail.com>\nCc: Kyungsik Lee <kyungsik.lee@lge.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n(cherry picked from commit ae54eec1285f644c7acec9c4c0c3963178e93c3f)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/5da872e60fac05201c5825581d8a347bbf91c261"},{"sha":"7b9961ba9862a0b19c530f10f9bde78ea25185f2","author":{"email":"81addaf2b3de238efaf0d9cab41b694990e42b0b@wiktel.com","name":"Richard Laager"},"message":"lib/lz4: correct the LZ4 license\n\nThe LZ4 code is listed as using the \"BSD 2-Clause License\".\n\nSigned-off-by: Richard Laager <rlaager@wiktel.com>\nAcked-by: Kyungsik Lee <kyungsik.lee@lge.com>\nCc: Chanho Min <chanho.min@lge.com>\nCc: Richard Yao <ryao@gentoo.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\n[ The 2-clause BSD can be just converted into GPL, but that's rude and\n  pointless, so don't do it   - Linus ]\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n(cherry picked from commit acea9a08809ac718b4e04063f6872067fcc2dbe6)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/7b9961ba9862a0b19c530f10f9bde78ea25185f2"},{"sha":"8a297ca26c8f052a78ad17252baa70011b97ecaf","author":{"email":"d9c384f6b6e27869ff3b53bd225c29030ac4166b@gmail.com","name":"Sergey Senozhatsky"},"message":"lz4: fix compression/decompression signedness mismatch\n\nLZ4 compression and decompression functions require different in\nsignedness input/output parameters: unsigned char for compression and\nsigned char for decompression.\n\nChange decompression API to require \"(const) unsigned char *\".\n\nSigned-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>\nCc: Kyungsik Lee <kyungsik.lee@lge.com>\nCc: Geert Uytterhoeven <geert@linux-m68k.org>\nCc: Yann Collet <yann.collet.73@gmail.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n(cherry picked from commit 6d695cba0642a8c843dd1f9edc47accec5bb5a95)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/8a297ca26c8f052a78ad17252baa70011b97ecaf"},{"sha":"21e18946907190002943da866aa44db6739316f5","author":{"email":"4645f7897fd33786a2ee1264d590b3c400559d85@linuxfoundation.org","name":"Greg Kroah-Hartman"},"message":"lz4: ensure length does not wrap\n\nGiven some pathologically compressed data, lz4 could possibly decide to\nwrap a few internal variables, causing unknown things to happen.  Catch\nthis before the wrapping happens and abort the decompression.\n\nReported-by: \"Don A. Bailey\" <donb@securitymouse.com>\nCc: stable <stable@vger.kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n(cherry picked from commit 8664dea287c77a320eeaf42ace763e40b45ba449)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/21e18946907190002943da866aa44db6739316f5"},{"sha":"09960cb66d54bbdb4f1868e4fb7ba1b2b88a9ff1","author":{"email":"4645f7897fd33786a2ee1264d590b3c400559d85@linuxfoundation.org","name":"Greg Kroah-Hartman"},"message":"lz4: fix another possible overrun\n\nThere is one other possible overrun in the lz4 code as implemented by\nLinux at this point in time (which differs from the upstream lz4\ncodebase, but will get synced at in a future kernel release.)  As\npointed out by Don, we also need to check the overflow in the data\nitself.\n\nWhile we are at it, replace the odd error return value with just a\n\"simple\" -1 value as the return value is never used for anything other\nthan a basic \"did this work or not\" check.\n\nReported-by: \"Don A. Bailey\" <donb@securitymouse.com>\nReported-by: Willy Tarreau <w@1wt.eu>\nCc: stable <stable@vger.kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n(cherry picked from commit 82fce7033b481e85fc1a9489d0b3a295a2afd446)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/09960cb66d54bbdb4f1868e4fb7ba1b2b88a9ff1"},{"sha":"ea7ccbcdd01c03a63190049e44c9d4d47c59864b","author":{"email":"4645f7897fd33786a2ee1264d590b3c400559d85@linuxfoundation.org","name":"Greg Kroah-Hartman"},"message":"lz4: add overrun checks to lz4_uncompress_unknownoutputsize()\n\nJan points out that I forgot to make the needed fixes to the\nlz4_uncompress_unknownoutputsize() function to mirror the changes done\nin lz4_decompress() with regards to potential pointer overflows.\n\nThe only in-kernel user of this function is the zram code, which only\ntakes data from a valid compressed buffer that it made itself, so it's\nnot a big issue.  But due to external kernel modules using this\nfunction, it's better to be safe here.\n\nReported-by: Jan Beulich <JBeulich@suse.com>\nCc: \"Don A. Bailey\" <donb@securitymouse.com>\nCc: stable <stable@vger.kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n(cherry picked from commit d0c5ea7736728fbd7302902eafdcddfde286c7bf)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/ea7ccbcdd01c03a63190049e44c9d4d47c59864b"},{"sha":"9806b10f524fe291bc43352288bb48bd8978d7e8","author":{"email":"62f920e72569192f20c5089d3b5d6d5802cdac61@motorola.com","name":"Shashank Shekhar"},"message":"lib: lz4: Set ARM_EFFICIENT_UNALIGNED_ACCESS\n\nSet ARM_EFFICIENT_UNALIGNED_ACCESS to improve performance in lz4\ncompression and decompression.\n\nOn msm8x26 cortex-a7,\n\n                       LZO                LZ4               LZ4 w/ UA\ndecompress (bs=4k)     121.21             115.52            148.7\n\n                       LZO                LZ4               LZ4 w/ UA\ncompress (bs=4k)       37.5               34.5              44.8\n\nChange-Id: I10dfea380f7558e29576d65f91c8cee13bf8e166\nSigned-off-by: Chris Fries <cfries@motorola.com>\nReviewed-on: http://gerrit.mot.com/697567\nTested-by: Jira Key <jirakey@motorola.com>\nReviewed-by: Shashank Shekhar <shashankshekhar@motorola.com>\nReviewed-by: Igor Kovalenko <igork@motorola.com>\nSubmit-Approved: Jira Key <jirakey@motorola.com>\n(cherry picked from commit 0fbb0d508f7904f0741a174de83f7aa2a65fa1a0)","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/9806b10f524fe291bc43352288bb48bd8978d7e8"},{"sha":"228b37cbe5b9b0c572f9122d051aef573084a4b2","author":{"email":"c48a977c99df211699aa56461f1372547350aebb@gmail.com","name":"LaboDJ"},"message":"crypto: add lz4 Cryptographic API\n\nAdd support for lz4 and lz4hc compression algorithm using the lib/lz4/*\ncodebase.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Chanho Min <chanho.min@lge.com>\nCc: \"Darrick J. Wong\" <djwong@us.ibm.com>\nCc: Bob Pearson <rpearson@systemfabricworks.com>\nCc: Richard Weinberger <richard@nod.at>\nCc: Herbert Xu <herbert@gondor.hengli.com.au>\nCc: Yann Collet <yann.collet.73@gmail.com>\nCc: Kyungsik Lee <kyungsik.lee@lge.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: flar2 <asegaert@gmail.com>\n\nChange-Id: I622aeb367e8d21c3be9cc31677f87271c0cdb38a\n\nConflicts:\n\tcrypto/Kconfig\n\tcrypto/Makefile","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/228b37cbe5b9b0c572f9122d051aef573084a4b2"},{"sha":"3a3b31c03db9d54e31eff385abd03921c38a08a7","author":{"email":"925aa76529e740fe0d5152049d90ba90ccc9d68b@gmail.com","name":"pattyboi"},"message":"make zzram use lz4","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/3a3b31c03db9d54e31eff385abd03921c38a08a7"},{"sha":"59a0266f6871eb2896fc11abdbd676bebed1c8d2","author":{"email":"925aa76529e740fe0d5152049d90ba90ccc9d68b@gmail.com","name":"pattyboi"},"message":"defconfig","distinct":true,"url":"https://api.github.com/repos/pattyboi/Rhinstone-a11/commits/59a0266f6871eb2896fc11abdbd676bebed1c8d2"}]}