)]}'
{
  "log": [
    {
      "commit": "b7c8e55db7141dcbb9d5305a3260fa0ed62a1bcc",
      "tree": "59fbd52d8e80e5a83d9747961d28aaf4d400613a",
      "parents": [
        "ffd386a9a8273dcfa61705d0b349eebc7525ef87",
        "4015d9a865e3bcc42d88bedc8ce1551000bab664"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:23:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 04 15:23:14 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (39 commits)\n  random: Reorder struct entropy_store to remove padding on 64bits\n  padata: update API documentation\n  padata: Remove padata_get_cpumask\n  crypto: pcrypt - Update pcrypt cpumask according to the padata cpumask notifier\n  crypto: pcrypt - Rename pcrypt_instance\n  padata: Pass the padata cpumasks to the cpumask_change_notifier chain\n  padata: Rearrange set_cpumask functions\n  padata: Rename padata_alloc functions\n  crypto: pcrypt - Dont calulate a callback cpu on empty callback cpumask\n  padata: Check for valid cpumasks\n  padata: Allocate cpumask dependend recources in any case\n  padata: Fix cpu index counting\n  crypto: geode_aes - Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)\n  pcrypt: Added sysfs interface to pcrypt\n  padata: Added sysfs primitives to padata subsystem\n  padata: Make two separate cpumasks\n  padata: update documentation\n  padata: simplify serialization mechanism\n  padata: make padata_do_parallel to return zero on success\n  padata: Handle empty padata cpumasks\n  ...\n"
    },
    {
      "commit": "0500e9b3f11ce84fc6ee48a3e29909145e58ba48",
      "tree": "42b21a89575b6b919c09ef33469143f38cf1a04e",
      "parents": [
        "d3f64e46aa21dd86a239274d218ec286461bfa68"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Jul 27 07:19:27 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 31 19:53:06 2010 +0800"
      },
      "message": "padata: Remove padata_get_cpumask\n\nA function that copies the padata cpumasks to a user buffer\nis a bit error prone. The cpumask can change any time so we\ncan\u0027t be sure to have the right cpumask when using this function.\nA user who is interested in the padata cpumasks should register\nto the padata cpumask notifier chain instead. Users of\npadata_get_cpumask are already updated, so we can remove it.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "c635696c7c0fbc720698dbec34bb83e53df6a967",
      "tree": "98774f70f799ed51c990af79bda8bbd0264e6a39",
      "parents": [
        "65ff577e6b6e482ee9de3569e058edebdc02f069"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Jul 27 07:15:50 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 31 19:53:05 2010 +0800"
      },
      "message": "padata: Pass the padata cpumasks to the cpumask_change_notifier chain\n\nWe pass a pointer to the new padata cpumasks to the cpumask_change_notifier\nchain. So users can access the cpumasks without the need of an extra\npadata_get_cpumask function.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "65ff577e6b6e482ee9de3569e058edebdc02f069",
      "tree": "590390375fd44b9c1be49e677a68539883a0463f",
      "parents": [
        "e6cc11707661770ca2bd4db4b0256d28f48e7541"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Jul 27 07:15:06 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 31 19:53:04 2010 +0800"
      },
      "message": "padata: Rearrange set_cpumask functions\n\npadata_set_cpumask needs to be protected by a lock. We make\n__padata_set_cpumasks unlocked and static. So this function\ncan be used by the exported and locked padata_set_cpumask and\npadata_set_cpumasks functions.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e6cc11707661770ca2bd4db4b0256d28f48e7541",
      "tree": "885f2ea00e90ac9e379d54adf8e5ad0fbb9d9892",
      "parents": [
        "cc74f4bc111e9554bcd6445ad0fe1d90e5d2eb34"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Jul 27 07:14:28 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 31 19:53:04 2010 +0800"
      },
      "message": "padata: Rename padata_alloc functions\n\nWe rename padata_alloc to padata_alloc_possible because this\nfunction allocates a padata_instance and uses the cpu_possible\nmask for parallel and serial workers. Also we rename __padata_alloc\nto padata_alloc to avoid to export underlined functions. Underlined\nfunctions are considered to be private to padata. Users are updated\naccordingly.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7424713b83587006da72da84d7922471e366faba",
      "tree": "f6b8cf5db118494fc70be8f97309fd2434545223",
      "parents": [
        "b89661dff525a46edb7ee8a4423b5212068c05c0"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Jul 20 08:51:25 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 26 14:13:58 2010 +0800"
      },
      "message": "padata: Check for valid cpumasks\n\nNow that we allow to change the cpumasks from userspace, we have\nto check for valid cpumasks in padata_do_parallel. This patch adds\nthe necessary check. This fixes a division by zero crash if the\nparallel cpumask contains no active cpu.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b89661dff525a46edb7ee8a4423b5212068c05c0",
      "tree": "06f669f3efe74d37a546b8e75b3a5bd142a6a41f",
      "parents": [
        "fad3a906d324c02b3c25ef51f702384154089846"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Jul 20 08:49:20 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 26 14:13:58 2010 +0800"
      },
      "message": "padata: Allocate cpumask dependend recources in any case\n\nThe cpumask separation work assumes the cpumask dependend recources\npresent regardless of valid or invalid cpumasks. With this patch\nwe allocate the cpumask dependend recources in any case. This fixes\ntwo NULL pointer dereference crashes in padata_replace and in\npadata_get_cpumask.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "fad3a906d324c02b3c25ef51f702384154089846",
      "tree": "73f860f5547c9bf5c87040fa032ae9302f886a46",
      "parents": [
        "1fb1defbb00eb2954483a7d9a70f8a02edf51753"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Jul 20 08:48:34 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 26 14:13:57 2010 +0800"
      },
      "message": "padata: Fix cpu index counting\n\nThe counting of the cpu index got lost with a recent commit.\nThis patch restores it. This fixes a hang of the parallel worker\nthreads on cpu hotplug.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5e017dc3f8bc9e4a28983666e6bc00114a2018bb",
      "tree": "4057e6322bc43d5b833b65b5f7372ae57a709fb3",
      "parents": [
        "e15bacbebb9dcc95f148f28dfc83a6d5e48b60b8"
      ],
      "author": {
        "name": "Dan Kruchinin",
        "email": "dkruchinin@acm.org",
        "time": "Wed Jul 14 14:33:08 2010 +0400"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 19 13:50:19 2010 +0800"
      },
      "message": "padata: Added sysfs primitives to padata subsystem\n\nAdded sysfs primitives to padata subsystem. Now API user may\nembedded kobject each padata instance contains into any sysfs\nhierarchy. For now padata sysfs interface provides only\ntwo objects:\n    serial_cpumask   [RW] - cpumask for serial workers\n    parallel_cpumask [RW] - cpumask for parallel workers\n\nSigned-off-by: Dan Kruchinin \u003cdkruchinin@acm.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e15bacbebb9dcc95f148f28dfc83a6d5e48b60b8",
      "tree": "bf1ccd1a70247c91662077f31cb22e48103ce2b8",
      "parents": [
        "2197f9a16df9de94655992941d80953ba47042c2"
      ],
      "author": {
        "name": "Dan Kruchinin",
        "email": "dkruchinin@acm.org",
        "time": "Wed Jul 14 14:31:57 2010 +0400"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 19 13:50:19 2010 +0800"
      },
      "message": "padata: Make two separate cpumasks\n\nThe aim of this patch is to make two separate cpumasks\nfor padata parallel and serial workers respectively.\nIt allows user to make more thin and sophisticated configurations\nof padata framework. For example user may bind parallel and serial workers to non-intersecting\nCPU groups to gain better performance. Also each padata instance has notifiers chain for its\ncpumasks now. If either parallel or serial or both masks were changed all\ninterested subsystems will get notification about that. It\u0027s especially useful\nif padata user uses algorithm for callback CPU selection according to serial cpumask.\n\nSigned-off-by: Dan Kruchinin \u003cdkruchinin@acm.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5f1a8c1bc724498ff32acbd59ed5263275676b9d",
      "tree": "0aa917ae98ebf20ec865930b75d0b16841b0b28f",
      "parents": [
        "83f619f3c8abb82cac9158cf23c656ec5c184607"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Jul 07 15:32:39 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 14 20:29:30 2010 +0800"
      },
      "message": "padata: simplify serialization mechanism\n\nWe count the number of processed objects on a percpu basis,\nso we need to go through all the percpu reorder queues to calculate\nthe sequence number of the next object that needs serialization.\nThis patch changes this to count the number of processed objects\nglobal. So we can calculate the sequence number and the percpu\nreorder queue of the next object that needs serialization without\nsearching through the percpu reorder queues. This avoids some\naccesses to memory of foreign cpus.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "83f619f3c8abb82cac9158cf23c656ec5c184607",
      "tree": "552107eeccfdb89eeb2d387280dd487a737299e0",
      "parents": [
        "33e54450683c5e970ac007489d7921ba792d093c"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Jul 07 15:32:02 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 14 20:29:29 2010 +0800"
      },
      "message": "padata: make padata_do_parallel to return zero on success\n\nTo return -EINPROGRESS on success in padata_do_parallel was\nconsidered to be odd. This patch changes this to return zero\non success. Also the only user of padata, pcrypt is adapted to\nconvert a return of zero to -EINPROGRESS within the crypto layer.\nThis also removes the pcrypt fallback if padata_do_parallel\nwas called on a not running padata instance as we can\u0027t handle it\nanymore. This fallback was unused, so it\u0027s save to remove it.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "33e54450683c5e970ac007489d7921ba792d093c",
      "tree": "1e3d0a7fcc007bfa97c88c68d411b8e1691bb7e5",
      "parents": [
        "ee836555120140f770005b8ce6673c913d1b9a98"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Jul 07 15:31:26 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 14 20:29:29 2010 +0800"
      },
      "message": "padata: Handle empty padata cpumasks\n\nThis patch fixes a bug when the padata cpumask does not\nintersect with the active cpumask. In this case we get a\ndivision by zero in padata_alloc_pd and we end up with a\nuseless padata instance. Padata can end up with an empty\ncpumask for two reasons:\n\n1. A user removed the last cpu that belongs to the padata\ncpumask and the active cpumask.\n\n2. The last cpu that belongs to the padata cpumask and the\nactive cpumask goes offline.\n\nWe introduce a function padata_validate_cpumask to check if the padata\ncpumask does intersect with the active cpumask. If the cpumasks do not\nintersect we mark the instance as invalid, so it can\u0027t be used. We do not\nallocate the cpumask dependend recources in this case. This fixes the\ndivision by zero and keeps the padate instance in a consistent state.\n\nIt\u0027s not possible to trigger this bug by now because the only padata user,\npcrypt uses always the possible cpumask.\n\nReported-by: Dan Kruchinin \u003cdkruchinin@acm.org\u003e\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ee836555120140f770005b8ce6673c913d1b9a98",
      "tree": "73f62f460c8b18997a76cf38e7f5021086558c56",
      "parents": [
        "4c879170296174bde05cd1c643dac16594edee77"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Jul 07 15:30:47 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 14 20:29:29 2010 +0800"
      },
      "message": "padata: Block until the instance is unused on stop\n\nThis patch makes padata_stop to block until the padata\ninstance is unused. Also we split padata_stop to a locked\nand a unlocked version. This is in preparation to be able\nto change the cpumask after a call to patata stop.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "4c879170296174bde05cd1c643dac16594edee77",
      "tree": "467afaa9ad1235caa110789621edb7726fdcb4cd",
      "parents": [
        "7e3de7b1be6ce0643f60aed697070e2286db32cd"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Jul 07 15:30:10 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 14 20:29:28 2010 +0800"
      },
      "message": "padata: Check for valid padata instance on start\n\nThis patch introduces the PADATA_INVALID flag which is\nchecked on padata start. This will be used to mark a padata\ninstance as invalid, if the padata cpumask does not intersect\nwith the active cpumask. we change padata_start to return an\nerror if the PADATA_INVALID is set. Also we adapt the only\npadata user, pcrypt to this change.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "749d811f10a410b64cf4c674c498ec04316ec373",
      "tree": "c2367d21524c3e581a2cc9f75296a927862688ce",
      "parents": [
        "50d1e9302bab7d35dae7146f8c468e0943015616"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Jun 03 20:19:28 2010 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 03 20:19:28 2010 +1000"
      },
      "message": "padata: add parenthesis in MAX_SEQ_NR macro\n\nMAX_SEQ_NR is used in padata_alloc_pd() like this:\n\n        pd-\u003emax_seq_nr \u003d (MAX_SEQ_NR / num_cpus) * num_cpus - 1;\n\nIt needs parenthesis or the divide by num_cpus takes precedence over the\nsubtraction.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "80b5184cc537718122e036afe7e62d202b70d077",
      "tree": "d4e2b400f0e951156d64d546fd563fa5a8ab02d3",
      "parents": [
        "ad84bb5b98bf81deae97e3bcd814675d6b4e6f72"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 26 14:43:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:48 2010 -0700"
      },
      "message": "kernel/: convert cpu notifier to return encapsulate errno value\n\nBy the previous modification, the cpu notifier can return encapsulate\nerrno value.  This converts the cpu notifiers for kernel/*.c\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3789ae7dcd29fa146b23dc30377925d1f73c8adf",
      "tree": "39f4bc70ccbfafa9290f21bc23bbf296d8656538",
      "parents": [
        "0198ffd135f51d4fbb0c50036395716c06632ed9"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed May 19 13:45:35 2010 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 19 13:45:35 2010 +1000"
      },
      "message": "padata: Use get_online_cpus/put_online_cpus in padata_free\n\nAdd get_online_cpus/put_online_cpus to ensure that no cpu goes\noffline during the flushing of the padata percpu queues.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "0198ffd135f51d4fbb0c50036395716c06632ed9",
      "tree": "70ee8c360df43a2077eac0e033ab54a65394a29f",
      "parents": [
        "2b73b07ab8a44ce171e07a328439f311481a7ea7"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed May 19 13:44:27 2010 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 19 13:44:27 2010 +1000"
      },
      "message": "padata: Add some code comments\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "2b73b07ab8a44ce171e07a328439f311481a7ea7",
      "tree": "0a050dbe8eca78e1a8efff9b023e192c1f11633f",
      "parents": [
        "d46a5ac7a7e2045e33c6ad6ffb8cf18a7e86a15a"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed May 19 13:43:46 2010 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 19 13:43:46 2010 +1000"
      },
      "message": "padata: Flush the padata queues actively\n\nyield was used to wait until all references of the internal control\nstructure in use are dropped before it is freed. This patch implements\npadata_flush_queues which actively flushes the padata percpu queues\nin this case.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d46a5ac7a7e2045e33c6ad6ffb8cf18a7e86a15a",
      "tree": "2ccfba3ee24ed28e80ae3e3be330a7b44f77dbcf",
      "parents": [
        "18eb8ea6ee4cc9ed39b45f95b734f523bcfb586b"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed May 19 13:43:14 2010 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 19 13:43:14 2010 +1000"
      },
      "message": "padata: Use a timer to handle remaining objects in the reorder queues \n\npadata_get_next needs to check whether the next object that\nneed serialization must be parallel processed by the local cpu.\nThis check was wrong implemented and returned always true,\nso the try_again loop in padata_reorder was never taken. This\ncan lead to object leaks in some rare cases due to a race that\nappears with the trylock in padata_reorder. The try_again loop\nwas not a good idea after all, because a cpu could take that\nloop frequently, so we handle this with a timer instead.\n\nThis patch adds a timer to handle the race that appears with\nthe trylock. If cpu1 queues an object to the reorder queue while\ncpu2 holds the pd-\u003elock but left the while loop in padata_reorder\nalready, cpu2 can\u0027t care for this object and cpu1 exits because\nit can\u0027t get the lock. Usually the next cpu that takes the lock\ncares for this object too. We need the timer just if this object\nwas the last one that arrives to the reorder queues. The timer\nfunction sends it out in this case.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6751fb3c0e0cfcc40a1a0acabca97370c9ec6c6b",
      "tree": "30ab0d2a12715e4c95e1858639b4f540ce45c6b5",
      "parents": [
        "7b389b2cc539dc2dc60b049240942be54958c93a"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Apr 29 14:42:30 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 03 11:32:12 2010 +0800"
      },
      "message": "padata: Use get_online_cpus/put_online_cpus\n\nThis patch puts get_online_cpus/put_online_cpus around the places\nwe modify the padata cpumask to ensure that no cpu goes offline\nduring this operation.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7b389b2cc539dc2dc60b049240942be54958c93a",
      "tree": "7ab93b0052445c147d88c4479d7b0994769c671c",
      "parents": [
        "7d0d2d385ca7cc511f7d1c64735a1b4aaefd9a1b"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Apr 29 14:41:36 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 03 11:32:11 2010 +0800"
      },
      "message": "padata: Initialize the padata queues only for the used cpus\n\npadata_alloc_pd set up queues for all possible cpus.\nThis patch changes this to set up the queues just for\nthe used cpus.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7d0d2d385ca7cc511f7d1c64735a1b4aaefd9a1b",
      "tree": "f25de7e27e7cf8f0aabf56462c6394ee950d21ee",
      "parents": [
        "e2cb2f1c2ccf19914e941859c07558ba5f8a4610"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Apr 29 14:40:53 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 03 11:32:11 2010 +0800"
      },
      "message": "padata: Remove superfluous might_sleep\n\nmight_sleep() was placed before mutex_lock() in some places.\nWe remove them because mutex_lock() does might_sleep() too.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e2cb2f1c2ccf19914e941859c07558ba5f8a4610",
      "tree": "48abe8d63bb72052da1dd974ebe967a36e9e4af3",
      "parents": [
        "df2071bd081408318d659cd14a9cf6ff23d874c9"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Apr 29 14:40:10 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 03 11:32:11 2010 +0800"
      },
      "message": "padata: cpu hotplug code should depend on CONFIG_HOTPLUG_CPU\n\nThis patch makes the padata cpu hotplug code dependend on CONFIG_HOTPLUG_CPU.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "df2071bd081408318d659cd14a9cf6ff23d874c9",
      "tree": "b31291b5fd4b9f84c629833afbfaa8d431857475",
      "parents": [
        "97e3d94aac1c3e95bd04d1b186479a4df3663ab8",
        "be1066bbcd443a65df312fdecea7e4959adedb45"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 03 11:28:58 2010 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 03 11:28:58 2010 +0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "97e3d94aac1c3e95bd04d1b186479a4df3663ab8",
      "tree": "4cc049a6dfa84554279d39daca2db4dca0001751",
      "parents": [
        "8628e7c89075834fc7b44629d09ff4f9043af114"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Apr 29 14:37:32 2010 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 03 11:16:13 2010 +0800"
      },
      "message": "padata: Dont scale the parallel objects with the cpus\n\nScaling the maximum number of objects in the parallel\ncodepath can lead to out of memory problems on bigsmp\nmachines.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "975d260355fca4734b545a0e3366672af0356905",
      "tree": "821f50038706bc50e923a7e86fcaa0d28db88527",
      "parents": [
        "62e7bec49479e0c61e8cfd914f722a9ca6fd52e5"
      ],
      "author": {
        "name": "Henrik Kretzschmar",
        "email": "henne@nachtwindheim.de",
        "time": "Mon Mar 29 16:15:31 2010 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 29 16:15:31 2010 +0800"
      },
      "message": "padata: Section cleanup\n\nThis patch removes the __cupinit from padata_cpu_callback(),\nwhich is refered by the exportet function padata_alloc().\n\nThis could lead to problems if CONFIG_HOTPLUG_CPU is disabled,\nwhich should happen very often.\n\nWARNING: kernel/built-in.o(.text+0x7ffcb): Section mismatch in reference from the function padata_alloc() to the function .cpuinit.text:padata_cpu_callback()\nThe function padata_alloc() references\nthe function __cpuinit padata_cpu_callback().\nThis is often because padata_alloc lacks a __cpuinit\nannotation or the annotation of padata_cpu_callback is wrong.\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "74781387822cd7a549123ae2b35862bf802689be",
      "tree": "3f6844cfbe3a58206e382b82a01c9300ae582c8a",
      "parents": [
        "50beceba7fdf5f10a04d8a053e62d40b742099ad"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Mar 04 13:30:22 2010 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 04 13:30:22 2010 +0800"
      },
      "message": "padata: Allocate the cpumask for the padata instance\n\nThe cpumask of the padata instance was used without allocated.\nThis caused boot crashes if CONFIG_CPUMASK_OFFSTACK is enabled.\nThis patch fixes this by doing proper allocation for this cpumask.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "16295bec6398a3eedc9377e1af6ff4c71b98c300",
      "tree": "992d82d920b5e6b81fe08df58f8c2d677244f759",
      "parents": [
        "863b557a88f8c033f7419fabafef4712a5055f85"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Jan 06 19:47:10 2010 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jan 06 19:47:10 2010 +1100"
      },
      "message": "padata: Generic parallelization/serialization interface\n\nThis patch introduces an interface to process data objects\nin parallel. The parallelized objects return after serialization\nin the same order as they were before the parallelization.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    }
  ]
}
