)]}'
{
  "log": [
    {
      "commit": "254eff771441f4ee7aa9cf770a6e4820492c9dab",
      "tree": "aa657717e9c52ce7941179c11da78f4173f333c5",
      "parents": [
        "25c38d3fb92fc23af7730a1601bc20af8216ae44"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Feb 19 14:42:19 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 19 14:42:19 2009 +0800"
      },
      "message": "crypto: cryptd - Per-CPU thread implementation based on kcrypto_wq\n\nOriginal cryptd thread implementation has scalability issue, this\npatch solve the issue with a per-CPU thread implementation.\n\nstruct cryptd_queue is defined to be a per-CPU queue, which holds one\nstruct cryptd_cpu_queue for each CPU. In struct cryptd_cpu_queue, a\nstruct crypto_queue holds all requests for the CPU, a struct\nwork_struct is used to run all requests for the CPU.\n\nTesting based on dm-crypt on an Intel Core 2 E6400 (two cores) machine\nshows 19.2% performance gain. The testing script is as follow:\n\n-------------------- script begin ---------------------------\n#!/bin/sh\n\ndmc_create()\n{\n        # Create a crypt device using dmsetup\n        dmsetup create $2 --table \"0 `blockdev --getsize $1` crypt cbc(aes-asm)?cryptd?plain:plain babebabebabebabebabebabebabebabe 0 $1 0\"\n}\n\ndmsetup remove crypt0\ndmsetup remove crypt1\n\ndd if\u003d/dev/zero of\u003d/dev/ram0 bs\u003d1M count\u003d4 \u003e\u0026 /dev/null\ndd if\u003d/dev/zero of\u003d/dev/ram1 bs\u003d1M count\u003d4 \u003e\u0026 /dev/null\n\ndmc_create /dev/ram0 crypt0\ndmc_create /dev/ram1 crypt1\n\ncat \u003etr.sh \u003c\u003cEOF\n#!/bin/sh\n\nfor n in \\$(seq 10); do\n        dd if\u003d/dev/dm-0 of\u003d/dev/null \u003e\u0026 /dev/null \u0026\n        dd if\u003d/dev/dm-1 of\u003d/dev/null \u003e\u0026 /dev/null \u0026\ndone\nwait\nEOF\n\nfor n in $(seq 10); do\n        /usr/bin/time sh tr.sh\ndone\nrm tr.sh\n-------------------- script end   ---------------------------\n\nThe separator of dm-crypt parameter is changed from \"-\" to \"?\", because\n\"-\" is used in some cipher driver name too, and cryptds need to specify\ncipher driver name instead of cipher name.\n\nThe test result on an Intel Core2 E6400 (two cores) is as follow:\n\nwithout patch:\n-----------------wo begin --------------------------\n0.04user 0.38system 0:00.39elapsed 107%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6566minor)pagefaults 0swaps\n0.07user 0.35system 0:00.35elapsed 121%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6567minor)pagefaults 0swaps\n0.06user 0.34system 0:00.30elapsed 135%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6562minor)pagefaults 0swaps\n0.05user 0.37system 0:00.36elapsed 119%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6607minor)pagefaults 0swaps\n0.06user 0.36system 0:00.35elapsed 120%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6562minor)pagefaults 0swaps\n0.05user 0.37system 0:00.31elapsed 136%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6594minor)pagefaults 0swaps\n0.04user 0.34system 0:00.30elapsed 126%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6597minor)pagefaults 0swaps\n0.06user 0.32system 0:00.31elapsed 125%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6571minor)pagefaults 0swaps\n0.06user 0.34system 0:00.31elapsed 134%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6581minor)pagefaults 0swaps\n0.05user 0.38system 0:00.31elapsed 138%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6600minor)pagefaults 0swaps\n-----------------wo end   --------------------------\n\n\nwith patch:\n------------------w begin --------------------------\n0.02user 0.31system 0:00.24elapsed 141%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6554minor)pagefaults 0swaps\n0.05user 0.34system 0:00.31elapsed 127%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6606minor)pagefaults 0swaps\n0.07user 0.33system 0:00.26elapsed 155%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6559minor)pagefaults 0swaps\n0.07user 0.32system 0:00.26elapsed 151%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6562minor)pagefaults 0swaps\n0.05user 0.34system 0:00.26elapsed 150%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6603minor)pagefaults 0swaps\n0.03user 0.36system 0:00.31elapsed 124%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6562minor)pagefaults 0swaps\n0.04user 0.35system 0:00.26elapsed 147%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6586minor)pagefaults 0swaps\n0.03user 0.37system 0:00.27elapsed 146%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6562minor)pagefaults 0swaps\n0.04user 0.36system 0:00.26elapsed 154%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6594minor)pagefaults 0swaps\n0.04user 0.35system 0:00.26elapsed 154%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+0outputs (0major+6557minor)pagefaults 0swaps\n------------------w end   --------------------------\n\nThe middle value of elapsed time is:\nwo cryptwq: 0.31\nw  cryptwq: 0.26\n\nThe performance gain is about (0.31-0.26)/0.26 \u003d 0.192.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1cac2cbc76b9f3fce0d4ccc374e724e7f2533a47",
      "tree": "ea54d0d42ca3775a57620cb3c4c115e15d96d9a3",
      "parents": [
        "1693531e9ef11959300617c68a8322ad006b5475"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Sun Jan 18 16:19:46 2009 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 18 16:48:05 2009 +0800"
      },
      "message": "crypto: cryptd - Add support to access underlying blkcipher\n\ncryptd_alloc_ablkcipher() will allocate a cryptd-ed ablkcipher for\nspecified algorithm name. The new allocated one is guaranteed to be\ncryptd-ed ablkcipher, so the blkcipher underlying can be gotten via\ncryptd_ablkcipher_child().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "18e33e6d5cc0495826f5245777cd267732815e01",
      "tree": "5cf0151630a63c27e06daad39556c423d4e2ef36",
      "parents": [
        "5773a3e6e396d5fd9de58372abe6a86b7e258e3e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 16:01:22 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 20:35:18 2008 +0800"
      },
      "message": "crypto: hash - Move ahash functions into crypto/hash.h\n\nAll new crypto interfaces should go into individual files as much\nas possible in order to ensure that crypto.h does not collapse under\nits own weight.\n\nThis patch moves the ahash code into crypto/hash.h and crypto/internal/hash.h\nrespectively.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b8a28251c2066a2ac6481fc49ced5eb7f078e49b",
      "tree": "daebe6369c2f2a37aca5990547faaf161dc29489",
      "parents": [
        "004a403c2e954734090a69aedc7f4f822bdcc142"
      ],
      "author": {
        "name": "Loc Ho",
        "email": "lho@amcc.com",
        "time": "Wed May 14 21:23:00 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 20:35:14 2008 +0800"
      },
      "message": "[CRYPTO] cryptd: Add asynchronous hash support\n\nThis patch adds asynchronous hash support to crypto daemon.\n\nSigned-off-by: Loc Ho \u003clho@amcc.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "93aa7f8a12d1b229bcee12a1100a6df4945f5432",
      "tree": "6b5636274f289139d8b9e52410141399950275cb",
      "parents": [
        "872ac8743cb400192a9fce4ba2d3ffd7bb309685"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 07 21:10:13 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 20:35:09 2008 +0800"
      },
      "message": "[CRYPTO] cryptd: Fix EINPROGRESS notification context\n\nThe EINPROGRESS notifications should be done just like the final\ncall-backs, i.e., with BH off.  This patch fixes the call in cryptd\nsince previously it was called with BH on.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b1145ce395f7785487c128fe8faf8624e6586d84",
      "tree": "3700e861a1cd2f2152408a84e72ad1688875bfa5",
      "parents": [
        "46f8153cc59384eb09a426d044668d4801f818ce"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Apr 30 00:27:14 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 01 18:22:28 2008 +0800"
      },
      "message": "[CRYPTO] cryptd: Correct kzalloc error test\n\nNormally, kzalloc returns NULL or a valid pointer value, not a value to be\ntested using IS_ERR.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f",
      "tree": "d4b17ef65960594681397a3acac02c2d248200b5",
      "parents": [
        "d1bc8e95445224276d7896b8b08cbb0b28a0ca80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)\n\nConvert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:\n\nperl -spi -e \u0027s/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\\1)/\u0027 `grep -rl \u0027ERR_PTR[(]*PTR_ERR\u0027 fs crypto net security`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "927eead52c958829ef62c8aa5da2751033a2cf98",
      "tree": "9ff2fec245f1357677902125172c30bc5b4290fc",
      "parents": [
        "23508e11ab3bb405dca66bf4d77e488bf2b07b0c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 27 21:15:31 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:43 2008 +1100"
      },
      "message": "[CRYPTO] cryptd: Use geniv of the underlying algorithm\n\nIf the underlying algorithm specifies a specific geniv algorithm then\nwe should use it for the cryptd version as well.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "332f8840f7095d294f9bb066b175a100bcde214c",
      "tree": "fa2e610da8e943765dfdb8f23817027424a1339d",
      "parents": [
        "86f578de5ba6ea11ead9284d9f036fee01ba5893"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 15 22:36:07 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:15 2008 +1100"
      },
      "message": "[CRYPTO] ablkcipher: Add distinct ABLKCIPHER type\n\nUp until now we have ablkcipher algorithms have been identified as\ntype BLKCIPHER with the ASYNC bit set.  This is suboptimal because\nablkcipher refers to two things.  On the one hand it refers to the\ntop-level ablkcipher interface with requests.  On the other hand it\nrefers to and algorithm type underneath.\n\nAs it is you cannot request a synchronous block cipher algorithm\nwith the ablkcipher interface on top.  This is a problem because\nwe want to be able to eventually phase out the blkcipher top-level\ninterface.\n\nThis patch fixes this by making ABLKCIPHER its own type, just as\nwe have distinct types for HASH and DIGEST.  The type it associated\nwith the algorithm implementation only.\n\nWhich top-level interface is used for synchronous block ciphers is\nthen determined by the mask that\u0027s used.  If it\u0027s a specific mask\nthen the old blkcipher interface is given, otherwise we go with the\nnew ablkcipher interface.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "2de98e75449fc1c43d2fbb857668ae62d4f5eece",
      "tree": "da472cafdc8688664011cf05b655db55a051b4e7",
      "parents": [
        "791b4d5f73cbc16ee532ebac5bd82d51524d4f99"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 26 19:12:47 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:41 2007 -0700"
      },
      "message": "[CRYPTO] ablkcipher: Remove queue pointer from common alg object\n\nSince not everyone needs a queue pointer and those who need it can\nalways get it from the context anyway the queue pointer in the\ncommon alg object is redundant.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "189fe3174ce93f4c949325426c87c4d875a13424",
      "tree": "b3ba6ff513bdb234a29f1b5a578fb3a995fd1aa8",
      "parents": [
        "7a74fc4925067c2102175baef73f9b07ab519b71"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu May 31 18:10:22 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 31 18:10:22 2007 +1000"
      },
      "message": "[CRYPTO] cryptd: Fix problem with cryptd and the freezer\n\nMake sure that cryptd is marked as nonfreezable and does not hold up the\nfreezer.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "124b53d020622ffa24e27406f2373d5a3debd0d3",
      "tree": "e1a89ac6745ce9afea6fd2ea358ebd40e60abb76",
      "parents": [
        "a73e69965fa2647faa36caf40f4132b9c99d61fd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 16 20:49:20 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:32 2007 +1000"
      },
      "message": "[CRYPTO] cryptd: Add software async crypto daemon\n\nThis patch adds the cryptd module which is a template that takes a\nsynchronous software crypto algorithm and converts it to an asynchronous\none by executing it in a kernel thread.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    }
  ]
}
