)]}'
{
  "log": [
    {
      "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": "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": "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"
    }
  ]
}
