)]}'
{
  "log": [
    {
      "commit": "7847777a45f9f8bfc8617dbf107bde1ecb59caee",
      "tree": "f9e31828db79e607a763f1eaea2119b2f270dcdb",
      "parents": [
        "f24219b4e90cf70ec4a211b17fbabc725a0ddf3c"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: cleanup asm-generic atomic*.h inclusion\n\nAfter changing all consumers of atomics to include \u003clinux/atomic.h\u003e, we\nran into some compile time errors due to this dependency chain:\n\nlinux/atomic.h\n  -\u003e asm/atomic.h\n    -\u003e asm-generic/atomic-long.h\n\nwhere atomic-long.h could use funcs defined later in linux/atomic.h\nwithout a prototype.  This patches moves the code that includes\nasm-generic/atomic*.h to linux/atomic.h.\n\nArchs that need \u003casm-generic/atomic64.h\u003e need to select\nCONFIG_GENERIC_ATOMIC64 from now on (some of them used to include it\nunconditionally).\n\nCompile tested on i386 and x86_64 with allnoconfig.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f24219b4e90cf70ec4a211b17fbabc725a0ddf3c",
      "tree": "c1c753bd425d61a5094995d9835b23b46383d9b2",
      "parents": [
        "60063497a95e716c9a689af3be2687d261f115b4"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: move atomic_add_unless to generic code\n\nThis is in preparation for more generic atomic primitives based on\n__atomic_add_unless.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nSigned-off-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed",
      "tree": "75cc7df62c9713bc1a44738026878a79653faa38",
      "parents": [
        "b2c9cd3793e5878e301ec2219785a7b8ca402ef1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "asm-generic: add another generic ext2 atomic bitops\n\nThe majority of architectures implement ext2 atomic bitops as\ntest_and_{set,clear}_bit() without spinlock.\n\nThis adds this type of generic implementation in ext2-atomic-setbit.h and\nuse it wherever possible.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSuggested-by: Andreas Dilger \u003cadilger@dilger.ca\u003e\nSuggested-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2c9cd3793e5878e301ec2219785a7b8ca402ef1",
      "tree": "e0a8a447ea8c6d59c20a1e190e2c397bfcd46a49",
      "parents": [
        "b2588c4b4c3c075e9b45d61065d86c60de2b6441"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "fail_make_request: cleanup should_fail_request\n\nThis changes should_fail_request() to more usable wrapper function of\nshould_fail().  It can avoid putting #ifdef CONFIG_FAIL_MAKE_REQUEST in\nthe middle of a function.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2588c4b4c3c075e9b45d61065d86c60de2b6441",
      "tree": "66942e8a252101aaa7e1f0a2ee2c3d8288dda659",
      "parents": [
        "810f09b87b75d7cc3906ffffe4311003f37caa2a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "fail_page_alloc: simplify debugfs initialization\n\nNow cleanup_fault_attr_dentries() recursively removes a directory, So we\ncan simplify the error handling in the initialization code and no need\nto hold dentry structs for each debugfs file.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "810f09b87b75d7cc3906ffffe4311003f37caa2a",
      "tree": "0c1df5b5dbcc724d3c5cefd9ae4e5168121183d5",
      "parents": [
        "7f5ddcc8d3eaccd5e169fda738530f937509645e"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "failslab: simplify debugfs initialization\n\nNow cleanup_fault_attr_dentries() recursively removes a directory, So we\ncan simplify the error handling in the initialization code and no need\nto hold dentry structs for each debugfs file.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f5ddcc8d3eaccd5e169fda738530f937509645e",
      "tree": "14f5581871040f98bbdab864314e1afc00a19a4c",
      "parents": [
        "8307fc257cf3931d87e172bd8663e80c3d1e56a3"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "fault-injection: use debugfs_remove_recursive\n\nUse debugfs_remove_recursive() to simplify initialization and\ndeinitialization of fault injection debugfs files.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8307fc257cf3931d87e172bd8663e80c3d1e56a3",
      "tree": "4f265586a0617284be4baec5b5d6990cdea13b31",
      "parents": [
        "6b16f748a0d4546726bb53cad58525adfd6425e9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "fault-injection: cleanup simple attribute of stacktrace_depth\n\nMinor cosmetic changes for simple attribute of stacktrace_depth:\n\n - use min_t()\n - reduce #ifdef by moving a function\n - do not use partly capitalized function name\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b16f748a0d4546726bb53cad58525adfd6425e9",
      "tree": "7adfca0e9adf5601650a137e93025b52cee6eb2d",
      "parents": [
        "35f46764f0101f1aca60c26de96e0c4e8e3d011f"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "fault-injection: remove nonexistent function extern\n\nshould_fail_srandom() does not exist.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35f46764f0101f1aca60c26de96e0c4e8e3d011f",
      "tree": "ca52d73e99da5774f960d320e0afe2e7e8868e46",
      "parents": [
        "3e5c4fadb9943c7539364d0c8425db071a2020e4"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 26 16:09:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "fault-injection: do not include unneeded header\n\nNo need to include linux/kallsyms.h.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e5c4fadb9943c7539364d0c8425db071a2020e4",
      "tree": "34f1d5c4cbf2f330e9fd1210da6dabde3befa6bf",
      "parents": [
        "6b4d2a2733b9a17112f746d498c9f9a0427dcdd8"
      ],
      "author": {
        "name": "Sergiu Iordache",
        "email": "sergiu@chromium.org",
        "time": "Tue Jul 26 16:08:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:46 2011 -0700"
      },
      "message": "ramoops: make record_size a module parameter\n\nThe size of the dump is currently set using the RECORD_SIZE macro which\nis set to a page size.  This patch makes the record size a module\nparameter and allows it to be set through platform data as well to allow\nlarger dumps if needed.\n\nSigned-off-by: Sergiu Iordache \u003csergiu@chromium.org\u003e\nAcked-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: \"Ahmed S. Darwish\" \u003cdarwish.07@gmail.com\u003e\nCc: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b4d2a2733b9a17112f746d498c9f9a0427dcdd8",
      "tree": "c0c637da5ede8828728bad87fba41e7ca7f11ca1",
      "parents": [
        "0169256e4bbf29e507cdd1df5812c093d610f1d5"
      ],
      "author": {
        "name": "Sergiu Iordache",
        "email": "sergiu@chromium.org",
        "time": "Tue Jul 26 16:08:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "ramoops: move dump_oops into platform data\n\nThe platform driver currently allows setting the mem_size and\nmem_address.\n\nince dump_oops is also a module parameter it would be more consistent if\nit could be set through platform data as well.\n\nSigned-off-by: Sergiu Iordache \u003csergiu@chromium.org\u003e\nAcked-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: \"Ahmed S. Darwish\" \u003cdarwish.07@gmail.com\u003e\nCc: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0169256e4bbf29e507cdd1df5812c093d610f1d5",
      "tree": "9eb6a08580341cc4d8499217f89063577e604d3d",
      "parents": [
        "13aefd7293e7a697bbf452fca65e69cc1fa8a31c"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Tue Jul 26 16:08:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "ramoops: add new line to each print\n\nAdd new line to each print.\n\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nReported-by: Stevie Trujillo \u003cstevie.trujillo@gmail.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13aefd7293e7a697bbf452fca65e69cc1fa8a31c",
      "tree": "2d8c2039904eda4b9079cae83145c541e8dc8c01",
      "parents": [
        "beda94da38d2a3bf7f40c01f0a8e6d86067c91cc"
      ],
      "author": {
        "name": "Marco Stornelli",
        "email": "marco.stornelli@gmail.com",
        "time": "Tue Jul 26 16:08:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "ramoops: use module parameters instead of platform data if not available\n\nUse generic module parameters instead of platform data, if platform data\nare not available.  This limitation has been introduced with commit\nc3b92ce9e75 (\"ramoops: use the platform data structure instead of module\nparams\").\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nReported-by: Stevie Trujillo \u003cstevie.trujillo@gmail.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "beda94da38d2a3bf7f40c01f0a8e6d86067c91cc",
      "tree": "8ba71064abc8d9ee10370ac40d66a1189dba1423",
      "parents": [
        "f7b1371eb6b3ff72e38de220663b22f7cc9df296"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Tue Jul 26 16:08:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "Vmware balloon: switch to using sysem-wide freezable workqueue\n\nWith the arrival of concurrency-managed workqueues there is no need for\nour driver to use dedicated workqueue; system-wide one should suffice just\nfine.\n\n[akpm@linux-foundation.org: fix comment layout \u0026 grammar]\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7b1371eb6b3ff72e38de220663b22f7cc9df296",
      "tree": "77befe95ffea3a30a5ca70ed2c7c18338516a779",
      "parents": [
        "c958474b6d721ff09e4abf143efc07365d63aea5"
      ],
      "author": {
        "name": "Christian Glindkamp",
        "email": "christian.glindkamp@taskit.de",
        "time": "Tue Jul 26 16:08:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "drivers/w1/slaves/w1_therm.c: add support for DS28EA00\n\nSigned-off-by: Christian Glindkamp \u003cchristian.glindkamp@taskit.de\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c958474b6d721ff09e4abf143efc07365d63aea5",
      "tree": "9fbf1f273fcb39d72d5e66a17ed9f0f45c4e7cb6",
      "parents": [
        "4302fbc8ec2ccae279c939f241bf8ce64e1a0bb7"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Tue Jul 26 16:08:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "panic, vt: do not force oops output when panic_timeout \u003c 0\n\nDon\u0027t force output if you intend to reboot immediately.\n\nIn this patch, I\u0027m disabling the functionality enabled by\nvc-\u003evc_panic_force_write if panic_timeout \u003c 0 (i.e.  no timeout).\nvc_panic_force_write is only enabled for fb video consoles if the\nFBINFO_CAN_FORCE_OUTPUT flag is set.\n\nFor our application, we\u0027re using ram_oops to preserved the panic in\nmemory.  We want to reliably, and as fast as possible, machine_restart.\nThe vc_panic_force_write flag results in a bunch of graphics driver code\nto be invoked which slows down restart and decreases reliability.  Since\nwe\u0027re already storing the panic in RAM and are going to reboot\nimmediately, there is no benefit in mode switching back to the vc in\norder to display the panic output.  The log buffer will get flushed by\nthe console_unblank() call so remote management consoles should see all\noutput.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4302fbc8ec2ccae279c939f241bf8ce64e1a0bb7",
      "tree": "01b7bfa2388d7996fee86c6a4e291605d2303530",
      "parents": [
        "3f0fb4e85b3842a2606c647c0a66afe2073574b4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@chromium.org",
        "time": "Tue Jul 26 16:08:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "panic: panic\u003d-1 for immediate reboot\n\nWhen a kernel BUG or oops occurs, ChromeOS intends to panic and\nimmediately reboot, with stacktrace and other messages preserved in RAM\nacross reboot.\n\nBut the longer we delay, the more likely the user is to poweroff and\nlose the info.\n\npanic_timeout (seconds before rebooting) is set by panic\u003d boot option or\nsysctl or /proc/sys/kernel/panic; but 0 means wait forever, so at\npresent we have to delay at least 1 second.\n\nLet a negative number mean reboot immediately (with the small cosmetic\nbenefit of suppressing that newline-less \"Rebooting in %d seconds..\"\nmessage).\n\nSigned-off-by: Hugh Dickins \u003chughd@chromium.org\u003e\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f0fb4e85b3842a2606c647c0a66afe2073574b4",
      "tree": "071ed60729b9c14bc88db707d0e4020cf717184c",
      "parents": [
        "91f6cdf86e8a2bd9b9c292a750179dc2c728a2d4"
      ],
      "author": {
        "name": "Michal Miroslaw",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Jul 26 16:08:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "Documentation/DMA-API-HOWTO.txt: fix misleading example\n\nSee: DMA-API.txt, part Id, DMA_FROM_DEVICE description.\n\nSigned-off-by: Michal Miroslaw \u003cmirq-linux@rere.qmqm.pl\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91f6cdf86e8a2bd9b9c292a750179dc2c728a2d4",
      "tree": "9c58979358d38c20e2f299c1dfb830a4d66b8e62",
      "parents": [
        "947be5dfdaaef01b43a3d5444688ebef2bd263d4"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Jul 26 16:08:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "include/linux/dma-mapping.h: remove DMA_xxBIT_MASK macros\n\ngit grep shows there are no users in tree, so we can remove them safely.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "947be5dfdaaef01b43a3d5444688ebef2bd263d4",
      "tree": "5abd88d64059278c952a84c9a07a59d8b50040d6",
      "parents": [
        "444d2921215ae6c21f90eb5fa5d03f784f84f1aa"
      ],
      "author": {
        "name": "Vitaliy Ivanov",
        "email": "vitalivanov@gmail.com",
        "time": "Tue Jul 26 16:08:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "gcov: disable CONSTRUCTORS for UML\n\nSelecting GCOV for UML causing configuration mismatch:\n\n  warning: (GCOV_KERNEL) selects CONSTRUCTORS which has unmet direct dependencies (!UML)\n\nConstructors are not needed for UML.\n\nSigned-off-by: Vitaliy Ivanov \u003cvitalivanov@gmail.com\u003e\nCc: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nAcked-by: Richard Weinberger \u003crichard@nod.at\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "444d2921215ae6c21f90eb5fa5d03f784f84f1aa",
      "tree": "576048f72d3460958b466849282ce9866d29ea27",
      "parents": [
        "b34a6b1da371ed8af1221459a18c67970f7e3d53"
      ],
      "author": {
        "name": "Kai.Jiang",
        "email": "Kai.Jiang@freescale.com",
        "time": "Tue Jul 26 16:08:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "drivers/edac/mpc85xx_edac.c: correct offset_in_page mask bits in edac_mc_handle_ce()\n\nParameter offset_in_page in edac_mc_handle_ce() should mask the higher\nbits above the page size, not the lower bits.  The original input\nsometimes causes a crash.\n\nSigned-off-by: Kai.Jiang \u003cKai.Jiang@freescale.com\u003e\nSigned-off-by: Shaohui Xie \u003cShaohui.Xie@freescale.com\u003e\nCc: Anton Vorontsov \u003cavorontsov@mvista.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b34a6b1da371ed8af1221459a18c67970f7e3d53",
      "tree": "5addc850de13623b172395b9d0d7d670930fa6b3",
      "parents": [
        "d40dcdb0172a1ba853464983a059fb45e0aaf61a"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Jul 26 16:08:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "ipc: introduce shm_rmid_forced sysctl\n\nAdd support for the shm_rmid_forced sysctl.  If set to 1, all shared\nmemory objects in current ipc namespace will be automatically forced to\nuse IPC_RMID.\n\nThe POSIX way of handling shmem allows one to create shm objects and\ncall shmdt(), leaving shm object associated with no process, thus\nconsuming memory not counted via rlimits.\n\nWith shm_rmid_forced\u003d1 the shared memory object is counted at least for\none process, so OOM killer may effectively kill the fat process holding\nthe shared memory.\n\nIt obviously breaks POSIX - some programs relying on the feature would\nstop working.  So set shm_rmid_forced\u003d1 only if you\u0027re sure nobody uses\n\"orphaned\" memory.  Use shm_rmid_forced\u003d0 by default for compatability\nreasons.\n\nThe feature was previously impemented in -ow as a configure option.\n\n[akpm@linux-foundation.org: fix documentation, per Randy]\n[akpm@linux-foundation.org: fix warning]\n[akpm@linux-foundation.org: readability/conventionality tweaks]\n[akpm@linux-foundation.org: fix shm_rmid_forced/shm_forced_rmid confusion, use standard comment layout]\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserge.hallyn@canonical.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Solar Designer \u003csolar@openwall.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d40dcdb0172a1ba853464983a059fb45e0aaf61a",
      "tree": "aa785c01ad6763c92191b86ec10f526fa772b808",
      "parents": [
        "04715206c0c2fd4ec5ca77fa51e3a5b41ce71492"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Jul 26 16:08:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "ipc/mqueue.c: fix mq_open() return value\n\nWe return ENOMEM from mqueue_get_inode even when we have enough memory.\nNamely in case the system rlimit of mqueue was reached.  This error\npropagates to mq_queue and user sees the error unexpectedly.  So fix\nthis up to properly return EMFILE as described in the manpage:\n\n\tEMFILE The process already has the maximum number of files and\n\t       message queues open.\n\ninstead of:\n\n\tENOMEM Insufficient memory.\n\nWith the previous patch we just switch to ERR_PTR/PTR_ERR/IS_ERR error\nhandling here.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04715206c0c2fd4ec5ca77fa51e3a5b41ce71492",
      "tree": "fbead768d176d82e5e1ff6021c030b8cd6d26c9f",
      "parents": [
        "a64a26e822ddb739de464540dfd2cbb6abce47d5"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Jul 26 16:08:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "ipc/mqueue.c: refactor failure handling\n\nIf new_inode fails to allocate an inode we need only to return with\nNULL.  But now we test the opposite and have all the work in a nested\nblock.  So do the opposite to save one indentation level (and remove\nunnecessary line breaks).\n\nThis is only a preparation/cleanup for the next patch where we fix up\nreturn values from mqueue_get_inode.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a64a26e822ddb739de464540dfd2cbb6abce47d5",
      "tree": "95d8e783342d64c2c63d98ec5814b4405cab7370",
      "parents": [
        "37e7b5f1535dddaace865b25df34a2d049a3a66f"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "cpumask: add cpumask_var_t documentation\n\ncpumask_var_t has one notable difference from cpumask_t.  Add the\nexplanation.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Thiago Farina \u003ctfransosi@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37e7b5f1535dddaace865b25df34a2d049a3a66f",
      "tree": "b7e86149b5b74170039cbd1cbe2c172f6408bd3d",
      "parents": [
        "95918f4a72ce1dbbd2ce67a7c3bfff31335f4219"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "cpumask: alloc_cpumask_var() use NUMA_NO_NODE\n\nNUMA_NO_NODE and numa_node_id() have different meanings.  NUMA_NO_NODE is\nobviously the recommended fallback.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95918f4a72ce1dbbd2ce67a7c3bfff31335f4219",
      "tree": "b9dc883f7b96a774522cfbb0bd87d46aed525e2d",
      "parents": [
        "32e107f71e4a993ac438f0049aa4019457911ffb"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "cpumask: convert for_each_cpumask() with for_each_cpu()\n\nAdapt new API fashion.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32e107f71e4a993ac438f0049aa4019457911ffb",
      "tree": "3c022205c424db5d614448f5de1fbd8d9a485e89",
      "parents": [
        "b4edf8bd06916645b57df23a720b17cae4051c43"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jul 26 16:08:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "fs/exec.c:acct_arg_size(): ptl is no longer needed for add_mm_counter()\n\nacct_arg_size() takes -\u003epage_table_lock around add_mm_counter() if\n!SPLIT_RSS_COUNTING.  This is not needed after commit 172703b08cd0 (\"mm:\ndelete non-atomic mm counter implementation\").\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Matt Fleming \u003cmatt.fleming@linux.intel.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4edf8bd06916645b57df23a720b17cae4051c43",
      "tree": "d0b6a63dfb043822d28498eae9a89553765ce3fe",
      "parents": [
        "912193521b719fbfc2f16776febf5232fe8ba261"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@i-love.sakura.ne.jp",
        "time": "Tue Jul 26 16:08:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "exec: do not retry load_binary method if CONFIG_MODULES\u003dn\n\nIf CONFIG_MODULES\u003dn, it makes no sense to retry the list of binary formats\nhandler because the list will not be modified by request_module().\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "912193521b719fbfc2f16776febf5232fe8ba261",
      "tree": "df180e94ec0595744da6eb11f6164e539c73ea91",
      "parents": [
        "aacb3d17a73f6447c04e4d769391238dcf85568d"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Tue Jul 26 16:08:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "exec: do not call request_module() twice from search_binary_handler()\n\nCurrently, search_binary_handler() tries to load binary loader module\nusing request_module() if a loader for the requested program is not yet\nloaded.  But second attempt of request_module() does not affect the result\nof search_binary_handler().\n\nIf request_module() triggered recursion, calling request_module() twice\ncauses 2 to the power of MAX_KMOD_CONCURRENT (\u003d 50) repetitions.  It is\nnot an infinite loop but is sufficient for users to consider as a hang up.\n\nTherefore, this patch changes not to call request_module() twice, making 1\nto the power of MAX_KMOD_CONCURRENT repetitions in case of recursion.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nReported-by: Richard Weinberger \u003crichard@nod.at\u003e\nTested-by: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aacb3d17a73f6447c04e4d769391238dcf85568d",
      "tree": "6f593f5399c72de51dc320476fa8d04e04ae46a0",
      "parents": [
        "fb0a685cb95a0267a96153af2f72486f27be5847"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "fs/exec.c: use BUILD_BUG_ON for VM_STACK_FLAGS \u0026 VM_STACK_INCOMPLETE_SETUP\n\nCommit a8bef8ff6ea1 (\"mm: migration: avoid race between\nshift_arg_pages() and rmap_walk() during migration by not migrating\ntemporary stacks\") introduced a BUG_ON() to ensure that VM_STACK_FLAGS\nand VM_STACK_INCOMPLETE_SETUP do not overlap.  The check is a compile\ntime one, so BUILD_BUG_ON is more appropriate.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb0a685cb95a0267a96153af2f72486f27be5847",
      "tree": "99ffae5ab7733ce8a1819fec51ca137a3af48d37",
      "parents": [
        "293eb1e7772b25a93647c798c7b89bf26c2da2e0"
      ],
      "author": {
        "name": "Daniel Rebelo de Oliveira",
        "email": "psykon@gmail.com",
        "time": "Tue Jul 26 16:08:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "kernel/fork.c: fix a few coding style issues\n\nSigned-off-by: Daniel Rebelo de Oliveira \u003cpsykon@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "293eb1e7772b25a93647c798c7b89bf26c2da2e0",
      "tree": "debd49012773091732ee1e1b2388462b759525a7",
      "parents": [
        "d2857e79a2ba7c155eaa1a7d3581c8d26b31e54e"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Jul 26 16:08:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "proc: fix a race in do_io_accounting()\n\nIf an inode\u0027s mode permits opening /proc/PID/io and the resulting file\ndescriptor is kept across execve() of a setuid or similar binary, the\nptrace_may_access() check tries to prevent using this fd against the\ntask with escalated privileges.\n\nUnfortunately, there is a race in the check against execve().  If\nexecve() is processed after the ptrace check, but before the actual io\ninformation gathering, io statistics will be gathered from the\nprivileged process.  At least in theory this might lead to gathering\nsensible information (like ssh/ftp password length) that wouldn\u0027t be\navailable otherwise.\n\nHolding task-\u003esignal-\u003ecred_guard_mutex while gathering the io\ninformation should protect against the race.\n\nThe order of locking is similar to the one inside of ptrace_attach():\nfirst goes cred_guard_mutex, then lock_task_sighand().\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2857e79a2ba7c155eaa1a7d3581c8d26b31e54e",
      "tree": "6e008e65884e991c8696de2862166b7a0d603e06",
      "parents": [
        "5296f6d315bdd8f1dc97348b788638327a6ab192"
      ],
      "author": {
        "name": "Daisuke Ogino",
        "email": "ogino.daisuke@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "procfs: return ENOENT on opening a being-removed proc entry\n\nChange the return value to ENOENT.  This return value is then returned\nwhen opening the proc entry that have been removed.  For example,\nopen(\"/proc/bus/pci/XX/YY\") when the corresponding device is being\nhot-removed.\n\nSigned-off-by: Daisuke Ogino \u003cogino.daisuke@jp.fujitsu.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5296f6d315bdd8f1dc97348b788638327a6ab192",
      "tree": "311668f20565389a8dacaf1acdfc7c6406e649a4",
      "parents": [
        "99b64567486716d18b2156cad188d86478816e4f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jul 26 16:08:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "h8300/m68k/xtensa: __FD_ISSET should return 0/1\n\nHarmonise these return values with other architectures.  In some cases\nthis affects all compilers and in other cases non-gcc compilers only.\n\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: Ulrich Drepper \u003cdrepper@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99b64567486716d18b2156cad188d86478816e4f",
      "tree": "40ab51505909d417c01877c3dff97b7cabcf473d",
      "parents": [
        "2c563731fee0f625924f72e854957bc77601e8b3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jul 26 16:08:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "do_coredump: fix the \"ispipe\" error check\n\ndo_coredump() assumes that if format_corename() fails it should return\n-ENOMEM.  This is not true, for example cn_print_exe_file() can propagate\nthe error from d_path.  Even if it was true, this is too fragile.  Change\nthe code to check \"ispipe \u003c 0\".\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReviewed-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c563731fee0f625924f72e854957bc77601e8b3",
      "tree": "76091ee6de5c2ca1eea2919b4dc5322e9472cf52",
      "parents": [
        "3141c8b165644774eb0e83d8330fbe47e45b37bf"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Jul 26 16:08:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "coredump: escape / in hostname and comm\n\nChange every occurence of / in comm and hostname to !.  If the process\nchanges its name to contain /, the core is not dumped (if the directory\ntree doesn\u0027t exist like that).  The same with hostname being something\nlike myhost/3.  Fix this behaviour by using the escape loop used in %E.\n(We extract it to a separate function.)\n\nNow both with comm \u003d\u003d myprocess/1 and hostname \u003d\u003d myhost/1, the core is\ndumped like (kernel.core_pattern\u003d\u0027core.%p.%e.%h):\ncore.2349.myprocess!1.myhost!1\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3141c8b165644774eb0e83d8330fbe47e45b37bf",
      "tree": "e3b970cc1afd1900d86d69c18a8ed0f7cfd01c5d",
      "parents": [
        "0e9a6cb5e66f4b23e2a8f6b3f00949b7b3125dda"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Jul 26 16:08:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "coredump: use task comm instead of (unknown)\n\nIf we don\u0027t know the file corresponding to the binary (i.e.  exe_file is\nunknown), use \"task-\u003ecomm (path unknown)\" instead of simple \"(unknown)\"\nas suggested by ak.\n\nThe fallback is the same as %e except it will append \"(path unknown)\".\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Oleg Nesterov \u003coleg@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": "0e9a6cb5e66f4b23e2a8f6b3f00949b7b3125dda",
      "tree": "f5ae8bd305b7df5f9dcb75ea86b05174c3dc5b90",
      "parents": [
        "778d3b0ff0654ad7092bf823fd32010066b12365"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Jul 26 16:08:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "ptrace: unify show_regs() prototype\n\n[ poleg@redhat.com: no need to declare show_regs() in ptrace.h, sched.h does this ]\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@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": "778d3b0ff0654ad7092bf823fd32010066b12365",
      "tree": "cd0073d8c513e1c56fd6950c4ec985f16fd004ad",
      "parents": [
        "8521fc50d433507a7cdc96bec280f9e5888a54cc"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "cpusets: randomize node rotor used in cpuset_mem_spread_node()\n\n[ This patch has already been accepted as commit 0ac0c0d0f837 but later\n  reverted (commit 35926ff5fba8) because it itroduced arch specific\n  __node_random which was defined only for x86 code so it broke other\n  archs.  This is a followup without any arch specific code.  Other than\n  that there are no functional changes.]\n\nSome workloads that create a large number of small files tend to assign\ntoo many pages to node 0 (multi-node systems).  Part of the reason is\nthat the rotor (in cpuset_mem_spread_node()) used to assign nodes starts\nat node 0 for newly created tasks.\n\nThis patch changes the rotor to be initialized to a random node number\nof the cpuset.\n\n[akpm@linux-foundation.org: fix layout]\n[Lee.Schermerhorn@hp.com: Define stub numa_random() for !NUMA configuration]\n[mhocko@suse.cz: Make it arch independent]\n[akpm@linux-foundation.org: fix CONFIG_NUMA\u003dy, MAX_NUMNODES\u003e1 build]\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8521fc50d433507a7cdc96bec280f9e5888a54cc",
      "tree": "b89d7b2eb34ba80b52e1f89ca767a86847df59b8",
      "parents": [
        "3e92041d68b40c47faa34c7dc08fc650a6c36adc"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "memcg: get rid of percpu_charge_mutex lock\n\npercpu_charge_mutex protects from multiple simultaneous per-cpu charge\ncaches draining because we might end up having too many work items.  At\nleast this was the case until commit 26fe61684449 (\"memcg: fix percpu\ncached charge draining frequency\") when we introduced a more targeted\ndraining for async mode.\n\nNow that also sync draining is targeted we can safely remove mutex\nbecause we will not send more work than the current number of CPUs.\nFLUSHING_CACHED_CHARGE protects from sending the same work multiple\ntimes and stock-\u003enr_pages \u003d\u003d 0 protects from pointless sending a work if\nthere is obviously nothing to be done.  This is of course racy but we\ncan live with it as the race window is really small (we would have to\nsee FLUSHING_CACHED_CHARGE cleared while nr_pages would be still\nnon-zero).\n\nThe only remaining place where we can race is synchronous mode when we\nrely on FLUSHING_CACHED_CHARGE test which might have been set by other\ndrainer on the same group but we should wait in that case as well.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e92041d68b40c47faa34c7dc08fc650a6c36adc",
      "tree": "29eab5bcd1bbf333cb25ed140a245645f9d7e0c4",
      "parents": [
        "d38144b7a5f8d0a5e05d549177191374c6911009"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "memcg: add mem_cgroup_same_or_subtree() helper\n\nWe are checking whether a given two groups are same or at least in the\nsame subtree of a hierarchy at several places.  Let\u0027s make a helper for\nit to make code easier to read.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d38144b7a5f8d0a5e05d549177191374c6911009",
      "tree": "ca0737291d22791c66aad10ad1218afc3dac51fd",
      "parents": [
        "d1a05b6973c7cb33144fa965d73facc708ffc37d"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: unify sync and async per-cpu charge cache draining\n\nCurrently we have two ways how to drain per-CPU caches for charges.\ndrain_all_stock_sync will synchronously drain all caches while\ndrain_all_stock_async will asynchronously drain only those that refer to\na given memory cgroup or its subtree in hierarchy.  Targeted async\ndraining has been introduced by 26fe6168 (memcg: fix percpu cached\ncharge draining frequency) to reduce the cpu workers number.\n\nsync draining is currently triggered only from mem_cgroup_force_empty\nwhich is triggered only by userspace (mem_cgroup_force_empty_write) or\nwhen a cgroup is removed (mem_cgroup_pre_destroy).  Although these are\nnot usually frequent operations it still makes some sense to do targeted\ndraining as well, especially if the box has many CPUs.\n\nThis patch unifies both methods to use the single code (drain_all_stock)\nwhich relies on the original async implementation and just adds\nflush_work to wait on all caches that are still under work for the sync\nmode.  We are using FLUSHING_CACHED_CHARGE bit check to prevent from\nwaiting on a work that we haven\u0027t triggered.  Please note that both sync\nand async functions are currently protected by percpu_charge_mutex so we\ncannot race with other drainers.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1a05b6973c7cb33144fa965d73facc708ffc37d",
      "tree": "463a8bfedd56b4972f273c816fa62a55d7bc4754",
      "parents": [
        "82f9d486e59f588c7d100865c36510644abda356"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: do not try to drain per-cpu caches without pages\n\ndrain_all_stock_async tries to optimize a work to be done on the work\nqueue by excluding any work for the current CPU because it assumes that\nthe context we are called from already tried to charge from that cache\nand it\u0027s failed so it must be empty already.\n\nWhile the assumption is correct we can optimize it even more by checking\nthe current number of pages in the cache.  This will also reduce a work\non other CPUs with an empty stock.\n\nFor the current CPU we can simply call drain_local_stock rather than\ndeferring it to the work queue.\n\n[kamezawa.hiroyu@jp.fujitsu.com: use drain_local_stock for current CPU optimization]\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82f9d486e59f588c7d100865c36510644abda356",
      "tree": "266f3dcf4f57538196bddd77a129adfb2752335b",
      "parents": [
        "108b6a78463bb8c7163e4f9779f36ad8bbade334"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: add memory.vmscan_stat\n\nThe commit log of 0ae5e89c60c9 (\"memcg: count the soft_limit reclaim\nin...\") says it adds scanning stats to memory.stat file.  But it doesn\u0027t\nbecause we considered we needed to make a concensus for such new APIs.\n\nThis patch is a trial to add memory.scan_stat. This shows\n  - the number of scanned pages(total, anon, file)\n  - the number of rotated pages(total, anon, file)\n  - the number of freed pages(total, anon, file)\n  - the number of elaplsed time (including sleep/pause time)\n\n  for both of direct/soft reclaim.\n\nThe biggest difference with oringinal Ying\u0027s one is that this file\ncan be reset by some write, as\n\n  # echo 0 ...../memory.scan_stat\n\nExample of output is here. This is a result after make -j 6 kernel\nunder 300M limit.\n\n  [kamezawa@bluextal ~]$ cat /cgroup/memory/A/memory.scan_stat\n  [kamezawa@bluextal ~]$ cat /cgroup/memory/A/memory.vmscan_stat\n  scanned_pages_by_limit 9471864\n  scanned_anon_pages_by_limit 6640629\n  scanned_file_pages_by_limit 2831235\n  rotated_pages_by_limit 4243974\n  rotated_anon_pages_by_limit 3971968\n  rotated_file_pages_by_limit 272006\n  freed_pages_by_limit 2318492\n  freed_anon_pages_by_limit 962052\n  freed_file_pages_by_limit 1356440\n  elapsed_ns_by_limit 351386416101\n  scanned_pages_by_system 0\n  scanned_anon_pages_by_system 0\n  scanned_file_pages_by_system 0\n  rotated_pages_by_system 0\n  rotated_anon_pages_by_system 0\n  rotated_file_pages_by_system 0\n  freed_pages_by_system 0\n  freed_anon_pages_by_system 0\n  freed_file_pages_by_system 0\n  elapsed_ns_by_system 0\n  scanned_pages_by_limit_under_hierarchy 9471864\n  scanned_anon_pages_by_limit_under_hierarchy 6640629\n  scanned_file_pages_by_limit_under_hierarchy 2831235\n  rotated_pages_by_limit_under_hierarchy 4243974\n  rotated_anon_pages_by_limit_under_hierarchy 3971968\n  rotated_file_pages_by_limit_under_hierarchy 272006\n  freed_pages_by_limit_under_hierarchy 2318492\n  freed_anon_pages_by_limit_under_hierarchy 962052\n  freed_file_pages_by_limit_under_hierarchy 1356440\n  elapsed_ns_by_limit_under_hierarchy 351386416101\n  scanned_pages_by_system_under_hierarchy 0\n  scanned_anon_pages_by_system_under_hierarchy 0\n  scanned_file_pages_by_system_under_hierarchy 0\n  rotated_pages_by_system_under_hierarchy 0\n  rotated_anon_pages_by_system_under_hierarchy 0\n  rotated_file_pages_by_system_under_hierarchy 0\n  freed_pages_by_system_under_hierarchy 0\n  freed_anon_pages_by_system_under_hierarchy 0\n  freed_file_pages_by_system_under_hierarchy 0\n  elapsed_ns_by_system_under_hierarchy 0\n\ntotal_xxxx is for hierarchy management.\n\nThis will be useful for further memcg developments and need to be\ndevelopped before we do some complicated rework on LRU/softlimit\nmanagement.\n\nThis patch adds a new struct memcg_scanrecord into scan_control struct.\nsc-\u003enr_scanned at el is not designed for exporting information.  For\nexample, nr_scanned is reset frequentrly and incremented +2 at scanning\nmapped pages.\n\nTo avoid complexity, I added a new param in scan_control which is for\nexporting scanning score.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Andrew Bresticker \u003cabrestic@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "108b6a78463bb8c7163e4f9779f36ad8bbade334",
      "tree": "f23a3d4835cf61ba73b918169355bafbf20e3966",
      "parents": [
        "4508378b9523e22a2a0175d8bf64d932fb10a67d"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Tue Jul 26 16:08:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: fix behavior of mem_cgroup_resize_limit()\n\nCommit 22a668d7c3ef (\"memcg: fix behavior under memory.limit equals to\nmemsw.limit\") introduced \"memsw_is_minimum\" flag, which becomes true\nwhen mem_limit \u003d\u003d memsw_limit.  The flag is checked at the beginning of\nreclaim, and \"noswap\" is set if the flag is true, because using swap is\nmeaningless in this case.\n\nThis works well in most cases, but when we try to shrink mem_limit,\nwhich is the same as memsw_limit now, we might fail to shrink mem_limit\nbecause swap doesn\u0027t used.\n\nThis patch fixes this behavior by:\n - check MEM_CGROUP_RECLAIM_SHRINK at the begining of reclaim\n - If it is set, don\u0027t set \"noswap\" flag even if memsw_is_minimum is true.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4508378b9523e22a2a0175d8bf64d932fb10a67d",
      "tree": "f7ebd57322edc18ff91ed7d71236fbbd5633c21c",
      "parents": [
        "1af8efe965676ab30d6c8a5b1fccc9229f339a3b"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: fix vmscan count in small memcgs\n\nCommit 246e87a93934 (\"memcg: fix get_scan_count() for small targets\")\nfixes the memcg/kswapd behavior against small targets and prevent vmscan\npriority too high.\n\nBut the implementation is too naive and adds another problem to small\nmemcg.  It always force scan to 32 pages of file/anon and doesn\u0027t handle\nswappiness and other rotate_info.  It makes vmscan to scan anon LRU\nregardless of swappiness and make reclaim bad.  This patch fixes it by\nadjusting scanning count with regard to swappiness at el.\n\nAt a test \"cat 1G file under 300M limit.\" (swappiness\u003d20)\n before patch\n        scanned_pages_by_limit 360919\n        scanned_anon_pages_by_limit 180469\n        scanned_file_pages_by_limit 180450\n        rotated_pages_by_limit 31\n        rotated_anon_pages_by_limit 25\n        rotated_file_pages_by_limit 6\n        freed_pages_by_limit 180458\n        freed_anon_pages_by_limit 19\n        freed_file_pages_by_limit 180439\n        elapsed_ns_by_limit 429758872\n after patch\n        scanned_pages_by_limit 180674\n        scanned_anon_pages_by_limit 24\n        scanned_file_pages_by_limit 180650\n        rotated_pages_by_limit 35\n        rotated_anon_pages_by_limit 24\n        rotated_file_pages_by_limit 11\n        freed_pages_by_limit 180634\n        freed_anon_pages_by_limit 0\n        freed_file_pages_by_limit 180634\n        elapsed_ns_by_limit 367119089\n        scanned_pages_by_system 0\n\nthe numbers of scanning anon are decreased(as expected), and elapsed time\nreduced. By this patch, small memcgs will work better.\n(*) Because the amount of file-cache is much bigger than anon,\n    recalaim_stat\u0027s rotate-scan counter make scanning files more.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1af8efe965676ab30d6c8a5b1fccc9229f339a3b",
      "tree": "832cfd92cae498d9af1687bccc77344143df97a1",
      "parents": [
        "79dfdaccd1d5b40ff7cf4a35a0e63696ebb78b4d"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: change memcg_oom_mutex to spinlock\n\nmemcg_oom_mutex is used to protect memcg OOM path and eventfd interface\nfor oom_control.  None of the critical sections which it protects sleep\n(eventfd_signal works from atomic context and the rest are simple linked\nlist resp.  oom_lock atomic operations).\n\nMutex is also too heavyweight for those code paths because it triggers a\nlot of scheduling.  It also makes makes convoying effects more visible\nwhen we have a big number of oom killing because we take the lock\nmutliple times during mem_cgroup_handle_oom so we have multiple places\nwhere many processes can sleep.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79dfdaccd1d5b40ff7cf4a35a0e63696ebb78b4d",
      "tree": "27eeb38c9ca690a19f05e06a2a46f094b20bfd52",
      "parents": [
        "bb2a0de92c891b8feeedc0178acb3ae009d899a8"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: make oom_lock 0 and 1 based rather than counter\n\nCommit 867578cb (\"memcg: fix oom kill behavior\") introduced a oom_lock\ncounter which is incremented by mem_cgroup_oom_lock when we are about to\nhandle memcg OOM situation.  mem_cgroup_handle_oom falls back to a sleep\nif oom_lock \u003e 1 to prevent from multiple oom kills at the same time.\nThe counter is then decremented by mem_cgroup_oom_unlock called from the\nsame function.\n\nThis works correctly but it can lead to serious starvations when we have\nmany processes triggering OOM and many CPUs available for them (I have\ntested with 16 CPUs).\n\nConsider a process (call it A) which gets the oom_lock (the first one\nthat got to mem_cgroup_handle_oom and grabbed memcg_oom_mutex) and other\nprocesses that are blocked on the mutex.  While A releases the mutex and\ncalls mem_cgroup_out_of_memory others will wake up (one after another)\nand increase the counter and fall into sleep (memcg_oom_waitq).\n\nOnce A finishes mem_cgroup_out_of_memory it takes the mutex again and\ndecreases oom_lock and wakes other tasks (if releasing memory by\nsomebody else - e.g.  killed process - hasn\u0027t done it yet).\n\nA testcase would look like:\n  Assume malloc XXX is a program allocating XXX Megabytes of memory\n  which touches all allocated pages in a tight loop\n  # swapoff SWAP_DEVICE\n  # cgcreate -g memory:A\n  # cgset -r memory.oom_control\u003d0   A\n  # cgset -r memory.limit_in_bytes\u003d 200M\n  # for i in `seq 100`\n  # do\n  #     cgexec -g memory:A   malloc 10 \u0026\n  # done\n\nThe main problem here is that all processes still race for the mutex and\nthere is no guarantee that we will get counter back to 0 for those that\ngot back to mem_cgroup_handle_oom.  In the end the whole convoy\nin/decreases the counter but we do not get to 1 that would enable\nkilling so nothing useful can be done.  The time is basically unbounded\nbecause it highly depends on scheduling and ordering on mutex (I have\nseen this taking hours...).\n\nThis patch replaces the counter by a simple {un}lock semantic.  As\nmem_cgroup_oom_{un}lock works on the a subtree of a hierarchy we have to\nmake sure that nobody else races with us which is guaranteed by the\nmemcg_oom_mutex.\n\nWe have to be careful while locking subtrees because we can encounter a\nsubtree which is already locked: hierarchy:\n\n          A\n        /   \\\n       B     \\\n      /\\      \\\n     C  D     E\n\nB - C - D tree might be already locked.  While we want to enable locking\nE subtree because OOM situations cannot influence each other we\ndefinitely do not want to allow locking A.\n\nTherefore we have to refuse lock if any subtree is already locked and\nclear up the lock for all nodes that have been set up to the failure\npoint.\n\nOn the other hand we have to make sure that the rest of the world will\nrecognize that a group is under OOM even though it doesn\u0027t have a lock.\nTherefore we have to introduce under_oom variable which is incremented\nand decremented for the whole subtree when we enter resp.  leave\nmem_cgroup_handle_oom.  under_oom, unlike oom_lock, doesn\u0027t need be\nupdated under memcg_oom_mutex because its users only check a single\ngroup and they use atomic operations for that.\n\nThis can be checked easily by the following test case:\n\n  # cgcreate -g memory:A\n  # cgset -r memory.use_hierarchy\u003d1 A\n  # cgset -r memory.oom_control\u003d1   A\n  # cgset -r memory.limit_in_bytes\u003d 100M\n  # cgset -r memory.memsw.limit_in_bytes\u003d 100M\n  # cgcreate -g memory:A/B\n  # cgset -r memory.oom_control\u003d1 A/B\n  # cgset -r memory.limit_in_bytes\u003d20M\n  # cgset -r memory.memsw.limit_in_bytes\u003d20M\n  # cgexec -g memory:A/B malloc 30  \u0026    #-\u003ethis will be blocked by OOM of group B\n  # cgexec -g memory:A   malloc 80  \u0026    #-\u003ethis will be blocked by OOM of group A\n\nWhile B gets oom_lock A will not get it.  Both of them go into sleep and\nwait for an external action.  We can make the limit higher for A to\nenforce waking it up\n\n  # cgset -r memory.memsw.limit_in_bytes\u003d300M A\n  # cgset -r memory.limit_in_bytes\u003d300M A\n\nmalloc in A has to wake up even though it doesn\u0027t have oom_lock.\n\nFinally, the unlock path is very easy because we always unlock only the\nsubtree we have locked previously while we always decrement under_oom.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb2a0de92c891b8feeedc0178acb3ae009d899a8",
      "tree": "c2c0b3ad66c8da0e48c021927b2d747fb08b7ef3",
      "parents": [
        "1f4c025b5a5520fd2571244196b1b01ad96d18f6"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: consolidate memory cgroup lru stat functions\n\nIn mm/memcontrol.c, there are many lru stat functions as..\n\n  mem_cgroup_zone_nr_lru_pages\n  mem_cgroup_node_nr_file_lru_pages\n  mem_cgroup_nr_file_lru_pages\n  mem_cgroup_node_nr_anon_lru_pages\n  mem_cgroup_nr_anon_lru_pages\n  mem_cgroup_node_nr_unevictable_lru_pages\n  mem_cgroup_nr_unevictable_lru_pages\n  mem_cgroup_node_nr_lru_pages\n  mem_cgroup_nr_lru_pages\n  mem_cgroup_get_local_zonestat\n\nSome of them are under #ifdef MAX_NUMNODES \u003e1 and others are not.\nThis seems bad. This patch consolidates all functions into\n\n  mem_cgroup_zone_nr_lru_pages()\n  mem_cgroup_node_nr_lru_pages()\n  mem_cgroup_nr_lru_pages()\n\nFor these functions, \"which LRU?\" information is passed by a mask.\n\nexample:\n  mem_cgroup_nr_lru_pages(mem, BIT(LRU_ACTIVE_ANON))\n\nAnd I added some macro as ALL_LRU, ALL_LRU_FILE, ALL_LRU_ANON.\n\nexample:\n  mem_cgroup_nr_lru_pages(mem, ALL_LRU)\n\nBTW, considering layout of NUMA memory placement of counters, this patch seems\nto be better.\n\nNow, when we gather all LRU information, we scan in following orer\n    for_each_lru -\u003e for_each_node -\u003e for_each_zone.\n\nThis means we\u0027ll touch cache lines in different node in turn.\n\nAfter patch, we\u0027ll scan\n    for_each_node -\u003e for_each_zone -\u003e for_each_lru(mask)\n\nThen, we\u0027ll gather information in the same cacheline at once.\n\n[akpm@linux-foundation.org: fix warnigns, build error]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f4c025b5a5520fd2571244196b1b01ad96d18f6",
      "tree": "f2123a44c9e838eac7d08fe13443cfa04cc23f33",
      "parents": [
        "b830ac1d9a2262093bb0f3f6a2fd2a1c8278daf5"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "memcg: export memory cgroup\u0027s swappiness with mem_cgroup_swappiness()\n\nEach memory cgroup has a \u0027swappiness\u0027 value which can be accessed by\nget_swappiness(memcg).  The major user is try_to_free_mem_cgroup_pages()\nand swappiness is passed by argument.  It\u0027s propagated by scan_control.\n\nget_swappiness() is a static function but some planned updates will need\nto get swappiness from files other than memcontrol.c This patch exports\nget_swappiness() as mem_cgroup_swappiness().  With this, we can remove the\nargument of swapiness from try_to_free...  and drop swappiness from\nscan_control.  only memcg uses it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b830ac1d9a2262093bb0f3f6a2fd2a1c8278daf5",
      "tree": "580f61a7a8a621792e8ac48d2ec4a9721165eecd",
      "parents": [
        "431e2bcc371016824f419baa745f82388258f3ee"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 16:08:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "rtc: fix hrtimer deadlock\n\nBen reported a lockup related to rtc. The lockup happens due to:\n\nCPU0                                        CPU1\n\nrtc_irq_set_state()\t\t\t    __run_hrtimer()\n  spin_lock_irqsave(\u0026rtc-\u003eirq_task_lock)    rtc_handle_legacy_irq();\n\t\t\t\t\t      spin_lock(\u0026rtc-\u003eirq_task_lock);\n  hrtimer_cancel()\n    while (callback_running);\n\nSo the running callback never finishes as it\u0027s blocked on\nrtc-\u003eirq_task_lock.\n\nUse hrtimer_try_to_cancel() instead and drop rtc-\u003eirq_task_lock while\nwaiting for the callback.  Fix this for both rtc_irq_set_state() and\nrtc_irq_set_freq().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "431e2bcc371016824f419baa745f82388258f3ee",
      "tree": "11ed612c73773e5e61160efa6ff5f0c3efe5c936",
      "parents": [
        "2c4f57d12df7696d65b0247bfd57fd082a7719e6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 16:08:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:42 2011 -0700"
      },
      "message": "rtc: limit frequency\n\nDue to the hrtimer self rearming mode a user can DoS the machine simply\nbecause it\u0027s starved by hrtimer events.\n\nThe RTC hrtimer is self rearming.  We really need to limit the frequency\nto something sensible.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c4f57d12df7696d65b0247bfd57fd082a7719e6",
      "tree": "920060fbbbc18643711e61526be4040e57118145",
      "parents": [
        "b45d59fb92f60c9c3cda01355d42b907b863e47a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 16:08:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:41 2011 -0700"
      },
      "message": "rtc: handle errors correctly in rtc_irq_set_state()\n\nThe code checks the correctness of the parameters, but unconditionally\narms/disarms the hrtimer.\n\nThe result is that a random task might arm/disarm rtc timer and surprise\nthe real owner by either generating events or by stopping them.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ben Greear \u003cgreearb@candelatech.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b45d59fb92f60c9c3cda01355d42b907b863e47a",
      "tree": "99d3973697009bc2b4b712e4702f8df70fd9311e",
      "parents": [
        "fc92805a8e25e5e2b0ba7c413cc15d9f05962ee8"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Tue Jul 26 16:08:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:41 2011 -0700"
      },
      "message": "mn10300, exec: remove redundant set_fs(USER_DS)\n\nThe address limit is already set in flush_old_exec() so this\nset_fs(USER_DS) is redundant.\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nAcked-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": "fc92805a8e25e5e2b0ba7c413cc15d9f05962ee8",
      "tree": "841ba603726e0168d0cddaf528e9e5c472a7fed1",
      "parents": [
        "adc400f69053b16756ff3b00daa64884c8df0787"
      ],
      "author": {
        "name": "Jonghwan Choi",
        "email": "jhbird.choi@samsung.com",
        "time": "Tue Jul 26 16:08:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:41 2011 -0700"
      },
      "message": "drivers/base/power/opp.c: fix dev_opp initial value\n\nDev_opp initial value shoule be ERR_PTR(), IS_ERR() is used to check\nerror.\n\nSigned-off-by: Jonghwan Choi \u003cjhbird.choi@samsung.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adc400f69053b16756ff3b00daa64884c8df0787",
      "tree": "e1217453e0aba0aed1adfec0bfba9baf611dd334",
      "parents": [
        "6fd4ce886440c7a1b08b6642e606ee19097829df"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Tue Jul 26 16:08:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:41 2011 -0700"
      },
      "message": "frv, exec: remove redundant set_fs(USER_DS)\n\nThe address limit is already set in flush_old_exec() so those calls to\nset_fs(USER_DS) are redundant.\n\nAlso removed the dead code in flush_thread().\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nAcked-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": "6fd4ce886440c7a1b08b6642e606ee19097829df",
      "tree": "cd12dc0ec7e40e9d9a26e942999de93a5e673b4d",
      "parents": [
        "ba5b56cb3e3d2cab73d4fee9a022bb69462a8cd9",
        "bf28607fbe529e20180080c4a0295b0a47834fde"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 14:17:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 14:17:28 2011 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus: (31 commits)\n  MIPS: Close races in TLB modify handlers.\n  MIPS: Add uasm UASM_i_SRL_SAFE macro.\n  MIPS: RB532: Use hex_to_bin()\n  MIPS: Enable cpu_has_clo_clz for MIPS Technologies\u0027 platforms\n  MIPS: PowerTV: Provide cpu-feature-overrides.h\n  MIPS: Remove pointless return statement from empty void functions.\n  MIPS: Limit fixrange_init() to the FIXMAP region\n  MIPS: Install handlers for software IRQs\n  MIPS: Move FIXADDR_TOP into spaces.h\n  MIPS: Add SYNC after cacheflush\n  MIPS: pfn_valid() is broken on low memory HIGHMEM systems\n  MIPS: HIGHMEM DMA on noncoherent MIPS32 processors\n  MIPS: topdown mmap support\n  MIPS: Remove redundant addr_limit assignment on exec.\n  MIPS: AR7: Replace __attribute__((__packed__)) with __packed\n  MIPS: AR7: Remove \u0027space before tabs\u0027 in platform.c\n  MIPS: Lantiq: Add missing clk_enable and clk_disable functions.\n  MIPS: AR7: Fix trailing semicolon bug in clock.c\n  MAINTAINERS: Update MIPS entry.\n  MIPS: BCM63xx: Remove duplicate PERF_IRQSTAT_REG definition\n  ...\n"
    },
    {
      "commit": "ba5b56cb3e3d2cab73d4fee9a022bb69462a8cd9",
      "tree": "eda7ea059a41ae5d68e2ad5a36a87069187ef22a",
      "parents": [
        "243dd2809a5edd2e0e3e62781083aa44049af37d",
        "d79698da32b317e96216236f265a9b72b78ae568"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 13:38:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 13:38:50 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (23 commits)\n  ceph: document unlocked d_parent accesses\n  ceph: explicitly reference rename old_dentry parent dir in request\n  ceph: document locking for ceph_set_dentry_offset\n  ceph: avoid d_parent in ceph_dentry_hash; fix ceph_encode_fh() hashing bug\n  ceph: protect d_parent access in ceph_d_revalidate\n  ceph: protect access to d_parent\n  ceph: handle racing calls to ceph_init_dentry\n  ceph: set dir complete frag after adding capability\n  rbd: set blk_queue request sizes to object size\n  ceph: set up readahead size when rsize is not passed\n  rbd: cancel watch request when releasing the device\n  ceph: ignore lease mask\n  ceph: fix ceph_lookup_open intent usage\n  ceph: only link open operations to directory unsafe list if O_CREAT|O_TRUNC\n  ceph: fix bad parent_inode calc in ceph_lookup_open\n  ceph: avoid carrying Fw cap during write into page cache\n  libceph: don\u0027t time out osd requests that haven\u0027t been received\n  ceph: report f_bfree based on kb_avail rather than diffing.\n  ceph: only queue capsnap if caps are dirty\n  ceph: fix snap writeback when racing with writes\n  ...\n"
    },
    {
      "commit": "243dd2809a5edd2e0e3e62781083aa44049af37d",
      "tree": "2e3b28cc31dd2ff2b9121f12be71e6eba1806cc5",
      "parents": [
        "9c646cfc3d98f2e595f7757e42ff59286c6f327e"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Jul 25 15:18:44 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:55:14 2011 -0700"
      },
      "message": "gma500: udelay(20000) it too long again\n\nso replace it with mdelay(20).\n\nFixes build error:\n\n  ERROR: \"__bad_udelay\" [drivers/staging/gma500/psb_gfx.ko] undefined!\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c646cfc3d98f2e595f7757e42ff59286c6f327e",
      "tree": "539c2334964dcd103b7c747b5308de1ddd2ce952",
      "parents": [
        "6c0cbef6662aa685c6a47a18039b9d4f1d5abcb1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 26 20:51:01 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:52:55 2011 -0700"
      },
      "message": "USB / Renesas: Fix build issue related to struct scatterlist\n\nFix build issue caused by undefined struct scatterlist in\ndrivers/usb/renesas_usbhs/fifo.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c0cbef6662aa685c6a47a18039b9d4f1d5abcb1",
      "tree": "f252a8acb18b40603fda064ebc45f040bf467fc5",
      "parents": [
        "2ac232f37fa0e8551856a575fe299c47b65b4d66"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 26 20:50:23 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:52:55 2011 -0700"
      },
      "message": "MMC / TMIO: Fix build issue related to struct scatterlist\n\nFix build issue caused by undefined struct scatterlist in\ndrivers/mmc/host/tmio_mmc.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ac232f37fa0e8551856a575fe299c47b65b4d66",
      "tree": "58ff15ecdbc383415a82ea678e5191db16a479f3",
      "parents": [
        "fa8f53ace4af9470d8414427cb3dc3c0ffc4f182",
        "5cf49d763eb141d236e92be6d4a0dc94e31fa886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:34:40 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  jbd: change the field \"b_cow_tid\" of struct journal_head from type unsigned to tid_t\n  ext3.txt: update the links in the section \"useful links\" to the latest ones\n  ext3: Fix data corruption in inodes with journalled data\n  ext2: check xattr name_len before acquiring xattr_sem in ext2_xattr_get\n  ext3: Fix compilation with -DDX_DEBUG\n  quota: Remove unused declaration\n  jbd: Use WRITE_SYNC in journal checkpoint.\n  jbd: Fix oops in journal_remove_journal_head()\n  ext3: Return -EINVAL when start is beyond the end of fs in ext3_trim_fs()\n  ext3/ioctl.c: silence sparse warnings about different address spaces\n  ext3/ext4 Documentation: remove bh/nobh since it has been deprecated\n  ext3: Improve truncate error handling\n  ext3: use proper little-endian bitops\n  ext2: include fs.h into ext2_fs.h\n  ext3: Fix oops in ext3_try_to_allocate_with_rsv()\n  jbd: fix a bug of leaking jh-\u003eb_jcount\n  jbd: remove dependency on __GFP_NOFAIL\n  ext3: Convert ext3 to new truncate calling convention\n  jbd: Add fixed tracepoints\n  ext3: Add fixed tracepoints\n\nResolve conflicts in fs/ext3/fsync.c due to fsync locking push-down and\nnew fixed tracepoints.\n"
    },
    {
      "commit": "d79698da32b317e96216236f265a9b72b78ae568",
      "tree": "97f98e83c699794d6a5d979688587fbfdbba2ba7",
      "parents": [
        "41b02e1f9bb87b07d792b64aaeb7af3d00d69cd2"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:31:26 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:31:26 2011 -0700"
      },
      "message": "ceph: document unlocked d_parent accesses\n\nFor the most part we don\u0027t care about racing with rename when directing\nMDS requests; either the old or new parent is fine.  Document that, and\ndo some minor cleanup.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "41b02e1f9bb87b07d792b64aaeb7af3d00d69cd2",
      "tree": "87c9524ff96cbff2ff29d659cbefd516b553ca1f",
      "parents": [
        "4f1772645296a230e04f5c53e79cfb6f841ce634"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:31:14 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:31:14 2011 -0700"
      },
      "message": "ceph: explicitly reference rename old_dentry parent dir in request\n\nWe carry a pin on the parent directory for the rename source and dest\ndentries.  For the source it\u0027s r_locked_dir; we need to explicitly\nreference the old_dentry parent as well, since the dentry\u0027s d_parent may\nchange between when the request was created and pinned and when it is\nfreed.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4f1772645296a230e04f5c53e79cfb6f841ce634",
      "tree": "b46dab3e88acef56a074c5d519a851dec5c1ade1",
      "parents": [
        "e5f86dc377e7ff2b4195831153a85a3e76fefff2"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:31:08 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:31:08 2011 -0700"
      },
      "message": "ceph: document locking for ceph_set_dentry_offset\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e5f86dc377e7ff2b4195831153a85a3e76fefff2",
      "tree": "f15c11fc2c9b08e64555bbb601e582dc8f7325bd",
      "parents": [
        "bf1c6aca96c9d2f117dc7e590c2bc2304e7febe1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:55 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:55 2011 -0700"
      },
      "message": "ceph: avoid d_parent in ceph_dentry_hash; fix ceph_encode_fh() hashing bug\n\nHave caller pass in a safely-obtained reference to the parent directory\nfor calculating a dentry\u0027s hash valud.\n\nWhile we\u0027re here, simpify the flow through ceph_encode_fh() so that there\nis a single exit point and cleanup.\n\nAlso fix a bug with the dentry hash calculation: calculate the hash for the\ndentry we were given, not its parent.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "bf1c6aca96c9d2f117dc7e590c2bc2304e7febe1",
      "tree": "1ecb6f35e572ba1e498390d1b09faf3c309bbaee",
      "parents": [
        "5f21c96dd5c615341963036ae8f5e4f5227a818d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:43 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:43 2011 -0700"
      },
      "message": "ceph: protect d_parent access in ceph_d_revalidate\n\nProtect d_parent with d_lock.  Carry a reference.  Simplify the flow so\nthat there is a single exit point and cleanup.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5f21c96dd5c615341963036ae8f5e4f5227a818d",
      "tree": "898c5781623b68527427d201e3f975827d08935c",
      "parents": [
        "48d0cbd1242aac969560ef8b90f26ee3b09a6a5c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:29 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:29 2011 -0700"
      },
      "message": "ceph: protect access to d_parent\n\nd_parent is protected by d_lock: use it when looking up a dentry\u0027s parent\ndirectory inode.  Also take a reference and drop it in the caller to avoid\na use-after-free.\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "48d0cbd1242aac969560ef8b90f26ee3b09a6a5c",
      "tree": "228a26f8ee7d555d67c6a00e5346f3b558a2e48c",
      "parents": [
        "dfabbed6fdd509dc2beb89c954bc36014a1bc7cb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:15 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:15 2011 -0700"
      },
      "message": "ceph: handle racing calls to ceph_init_dentry\n\nThe -\u003elookup() and prepopulate_readdir() callers are working with unhashed\ndentries, so we don\u0027t have to worry.  The export.c callers, though, need\nto initialize something they got back from d_obtain_alias() and are\npotentially racing with other callers.  Make sure we don\u0027t return unless\nthe dentry is properly initialized (by us or someone else).\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "dfabbed6fdd509dc2beb89c954bc36014a1bc7cb",
      "tree": "34186b6bba311438cccbd572f4f93d8165dce89b",
      "parents": [
        "029bcbd8b076fd19787b8c73e58dd0a6f2c0caf1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:02 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:30:02 2011 -0700"
      },
      "message": "ceph: set dir complete frag after adding capability\n\nCurretly ceph_add_cap clears the complete bit if we are newly issued the\nFILE_SHARED cap, which is normally the case for a newly issue cap on a new\ndirectory.  That means we clear the just-set bit.  Move the check that sets\nthe flag to after the cap is added/updated.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "029bcbd8b076fd19787b8c73e58dd0a6f2c0caf1",
      "tree": "305128db78ecfb09e6a236caeeac1fbb9ece1175",
      "parents": [
        "e9852227431a0ed6ceda064f33e4218757acab6c"
      ],
      "author": {
        "name": "Josh Durgin",
        "email": "josh.durgin@dreamhost.com",
        "time": "Fri Jul 22 11:35:23 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:29:35 2011 -0700"
      },
      "message": "rbd: set blk_queue request sizes to object size\n\nThis improves performance since more requests can be merged.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Josh Durgin \u003cjosh.durgin@dreamhost.com\u003e\n"
    },
    {
      "commit": "e9852227431a0ed6ceda064f33e4218757acab6c",
      "tree": "e48c6a6ffb96780d562943dfc45c78a0a7edc0cd",
      "parents": [
        "79e3057c4c9d32b88e6745fd220d91b0a8b2030b"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Jul 22 11:12:28 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:29:14 2011 -0700"
      },
      "message": "ceph: set up readahead size when rsize is not passed\n\nThis should improve the default read performance, as without it\nreadahead is practically disabled.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "79e3057c4c9d32b88e6745fd220d91b0a8b2030b",
      "tree": "fb6f4bff64c4e6014af3bdaa5284e921d24111bd",
      "parents": [
        "2f90b852e3ae73889d7f6de6ecf429b9b6a6b103"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Jul 12 16:56:57 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:29:04 2011 -0700"
      },
      "message": "rbd: cancel watch request when releasing the device\n\nWe were missing this cleanup, so when a device was released\nthe osd didn\u0027t clean up its watchers list, so following notifications\ncould be slow as osd needed to timeout on the client.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "2f90b852e3ae73889d7f6de6ecf429b9b6a6b103",
      "tree": "584e53ef3a6919e68ee0d8804da8f3d63838a3fc",
      "parents": [
        "468640e32c7f6bfdaaa011095cc388786755d159"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:28:25 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:28:25 2011 -0700"
      },
      "message": "ceph: ignore lease mask\n\nThe lease mask is no longer used (and it changed a while back).  Instead,\nuse a non-zero duration to indicate that there is a lease being issued.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "468640e32c7f6bfdaaa011095cc388786755d159",
      "tree": "beb059d860c2ca39cda9ca3aa45603025655e1a6",
      "parents": [
        "9bae113a085b790de384bf86f09e15b42a65a985"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:28:11 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:28:11 2011 -0700"
      },
      "message": "ceph: fix ceph_lookup_open intent usage\n\nWe weren\u0027t properly calling lookup_instantiate_filp when setting up the\nlookup intent, which could lead to file leakage on errors.  So:\n\n - use separate helper for the hidden snapdir translation, immediately\n   following the mds request\n - use ceph_finish_lookup for the final dentry/return value dance in the\n   exit path\n - lookup_instantiate_filp on success\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9bae113a085b790de384bf86f09e15b42a65a985",
      "tree": "44d42141bf2d61a3098cedb381ec775cded8ac89",
      "parents": [
        "acda76578813ef893004ecad0e5ad2bb6039e5f7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:59 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:59 2011 -0700"
      },
      "message": "ceph: only link open operations to directory unsafe list if O_CREAT|O_TRUNC\n\nWe only need to put these on the directory unsafe list if they have\nside effects that fsync(2) should flush out.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "acda76578813ef893004ecad0e5ad2bb6039e5f7",
      "tree": "d77d818eb8e783437e25d7590dd9864001a7e1b3",
      "parents": [
        "d8de9ab63a57326d21154c13c365f949f53ce8e1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:48 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:48 2011 -0700"
      },
      "message": "ceph: fix bad parent_inode calc in ceph_lookup_open\n\nWe were always getting NULL here because the intent file f_dentry is always\nNULL at this point, which means we were always passing NULL to\nceph_mdsc_do_request.  In reality, this was fine, since this isn\u0027t\ncurrently ever a write operation that needs to get strung on the dir\u0027s\nunsafe list.\n\nUse the dir explicitly, and only pass it if this open has side-effects that\na dir fsync should flush.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d8de9ab63a57326d21154c13c365f949f53ce8e1",
      "tree": "283aac6bf2cc91a772d9cc04c97f46f60267e4c5",
      "parents": [
        "4cf9d544631c92809cb94ea680c71df56e9437aa"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:34 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:34 2011 -0700"
      },
      "message": "ceph: avoid carrying Fw cap during write into page cache\n\nThe generic_file_aio_write call may block on balance_dirty_pages while we\nflush data to the OSDs.  If we hold a reference to the FILE_WR cap during\nthat interval revocation by the MDS (e.g., to do a stat(2)) may be very\nslow.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4cf9d544631c92809cb94ea680c71df56e9437aa",
      "tree": "419e162dfb25e69ef1a89c56a318ad322cf21053",
      "parents": [
        "8f04d42276048b3baff5a5d8fa769f433c62b63e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:24 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:24 2011 -0700"
      },
      "message": "libceph: don\u0027t time out osd requests that haven\u0027t been received\n\nKeep track of when an outgoing message is ACKed (i.e., the server fully\nreceived it and, presumably, queued it for processing).  Time out OSD\nrequests only if it\u0027s been too long since they\u0027ve been received.\n\nThis prevents timeouts and connection thrashing when the OSDs are simply\nbusy and are throttling the requests they read off the network.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8f04d42276048b3baff5a5d8fa769f433c62b63e",
      "tree": "dd9cdb99079d193ceab74f9b2f4b11d4b2fb7508",
      "parents": [
        "e77dc3e9c061e50c67e2e1a604d0a370f40db298"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregory.farnum@dreamhost.com",
        "time": "Tue Jul 26 11:26:54 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:06 2011 -0700"
      },
      "message": "ceph: report f_bfree based on kb_avail rather than diffing.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Greg Farnum \u003cgregory.farnum@dreamhost.com\u003e\n"
    },
    {
      "commit": "e77dc3e9c061e50c67e2e1a604d0a370f40db298",
      "tree": "8ed497994e3e1b9949c3d6907ed901ff502b1f5e",
      "parents": [
        "af0ed569d7019f1b49e9e51e77b47092e656b00e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:41 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:41 2011 -0700"
      },
      "message": "ceph: only queue capsnap if caps are dirty\n\nWe used to go into this branch if i_wrbuffer_ref_head was non-zero.  This\nwas an ancient check from before we were careful about dealing with all\nkinds of caps (and not just dirty pages).  It is cleaner to only queue a\ncapsnap if there is an actual dirty cap.  If we are racing with...\nsomething...we will end up here with ci-\u003ei_wrbuffer_refs but no dirty\ncaps.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "af0ed569d7019f1b49e9e51e77b47092e656b00e",
      "tree": "a8b0ad426b22548eec9e2d350c131426e13af989",
      "parents": [
        "9cfa1098dcfb34f71c5f3b7bcdbbb435a0cecab2"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:31 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:31 2011 -0700"
      },
      "message": "ceph: fix snap writeback when racing with writes\n\nThere are two problems that come up when we try to queue a capsnap while a\nwrite is in progress:\n\n - The FILE_WR cap is held, but not yet dirty, so we may queue a capsnap\n   with dirty \u003d\u003d 0.  That will crash later in __ceph_flush_snaps().  Or\n   on the FILE_WR cap if a write is in progress.\n - We may not have i_head_snapc set, which causes problems pretty quickly.\n   Look to the snaprealm in this case.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9cfa1098dcfb34f71c5f3b7bcdbbb435a0cecab2",
      "tree": "cecff467984dd0d5e8fef2014e296b682c7a0267",
      "parents": [
        "4918b6d140c4822201ebbe2f070875332aff337b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:18 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:18 2011 -0700"
      },
      "message": "ceph: use flag bit for at_end readdir flag\n\nThis saves us a word of memory per file.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4918b6d140c4822201ebbe2f070875332aff337b",
      "tree": "0327a0a68acd2f8209893b4770ba3c9d9264041c",
      "parents": [
        "252c6728de604d6a897d85e212996811d5c8c46c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:07 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:26:07 2011 -0700"
      },
      "message": "ceph: add F_SYNC file flag to force sync (non-O_DIRECT) io\n\nThis allows us to force IO through the sync path which you normally only\nget when multiple clients are reading/writing to the same file or by\nmounting with -o sync.  Among other things, this lets test programs verify\ncorrectness with a single mount.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "252c6728de604d6a897d85e212996811d5c8c46c",
      "tree": "2b93fa141ca38789e00610dfa641dc7fefc3be72",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:25:27 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:25:27 2011 -0700"
      },
      "message": "ceph: add flags field to file_info\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fa8f53ace4af9470d8414427cb3dc3c0ffc4f182",
      "tree": "23fadefaa50c5ee1a68730757dab3bbaf994243f",
      "parents": [
        "1d87c28e680ce4ecb8c260d8ce070b8339d52abb",
        "07d5b38e14b7ff98eb52e4a6db4e20abcc608da3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:11:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:11:54 2011 -0700"
      },
      "message": "Merge branch \u0027x86-olpc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-olpc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc-xo15-sci: Enable EC wakeup capability\n  x86, olpc: Fix dependency on POWER_SUPPLY\n  x86, olpc: Add XO-1.5 SCI driver\n  x86, olpc: Add XO-1 RTC driver\n  x86, olpc-xo1-sci: Propagate power supply/battery events\n  x86, olpc-xo1-sci: Add lid switch functionality\n  x86, olpc-xo1-sci: Add GPE handler and ebook switch functionality\n  x86, olpc: EC SCI wakeup mask functionality\n  x86, olpc: Add XO-1 SCI driver and power button control\n  x86, olpc: Add XO-1 suspend/resume support\n  x86, olpc: Rename olpc-xo1 to olpc-xo1-pm\n  x86, olpc: Move CS5536-related constants to cs5535.h\n  x86, olpc: Add missing elements to device tree\n"
    },
    {
      "commit": "1d87c28e680ce4ecb8c260d8ce070b8339d52abb",
      "tree": "84d145886c982d1193418bb9e43de774beb21d3b",
      "parents": [
        "aebdd82e18c38258fe84ea080a43c098e826ef63",
        "14cae3243b555afda69a57778069ddca65532c06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:11:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:11:28 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: Cleanup: check return codes of crypto api calls\n  CIFS: Fix oops while mounting with prefixpath\n  [CIFS] Redundant null check after dereference\n  cifs: use cifs_dirent in cifs_save_resume_key\n  cifs: use cifs_dirent to replace cifs_get_name_from_search_buf\n  cifs: introduce cifs_dirent\n  cifs: cleanup cifs_filldir\n"
    },
    {
      "commit": "aebdd82e18c38258fe84ea080a43c098e826ef63",
      "tree": "29172b6857b184d643981b246bcd653cbd8648df",
      "parents": [
        "f01ef569cddb1a8627b1c6b3a134998ad1cf4b22",
        "250bae8be0177fcc1435cb46d1aba7e40a0366b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:10:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:10:56 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest:\n  ktest: Fix bug when ADD_CONFIG is set but MIN_CONFIG is not\n  ktest: Keep fonud configs separate from default configs\n  ktest: Add prompt to use OUTPUT_MIN_CONFIG\n  ktest: Use Kconfig dependencies to shorten time to make min_config\n  ktest: Add test type make_min_config\n  ktest: Require one TEST_START in config file\n  ktest: Add helper function to avoid duplicate code\n  ktest: Add IGNORE_WARNINGS to ignore warnings in some patches\n  ktest: Fix tar extracting of modules to target\n  ktest: Have the testing tmp dir include machine name\n  ktest: Add POST/PRE_BUILD options\n  ktest: Allow initrd processing without modules defined\n  ktest: Have LOG_FILE evaluate options as well\n  ktest: Have wait on stdio honor bug timeout\n  ktest: Implement our own force min config\n  ktest: Add TEST_NAME option\n  ktest: Add CONFIG_BISECT_GOOD option\n  ktest: Add detection of triple faults\n  ktest: Notify reason to break out of monitoring boot\n"
    },
    {
      "commit": "f01ef569cddb1a8627b1c6b3a134998ad1cf4b22",
      "tree": "29ea1a0942c8549c24411e976cd6891c7e995e89",
      "parents": [
        "a93a1329271038f0e8337061d3b41b3b212a851e",
        "bcff25fc8aa47a13faff8b4b992589813f7b450a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 10:39:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 10:39:54 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback: (27 commits)\n  mm: properly reflect task dirty limits in dirty_exceeded logic\n  writeback: don\u0027t busy retry writeback on new/freeing inodes\n  writeback: scale IO chunk size up to half device bandwidth\n  writeback: trace global_dirty_state\n  writeback: introduce max-pause and pass-good dirty limits\n  writeback: introduce smoothed global dirty limit\n  writeback: consolidate variable names in balance_dirty_pages()\n  writeback: show bdi write bandwidth in debugfs\n  writeback: bdi write bandwidth estimation\n  writeback: account per-bdi accumulated written pages\n  writeback: make writeback_control.nr_to_write straight\n  writeback: skip tmpfs early in balance_dirty_pages_ratelimited_nr()\n  writeback: trace event writeback_queue_io\n  writeback: trace event writeback_single_inode\n  writeback: remove .nonblocking and .encountered_congestion\n  writeback: remove writeback_control.more_io\n  writeback: skip balance_dirty_pages() for in-memory fs\n  writeback: add bdi_dirty_limit() kernel-doc\n  writeback: avoid extra sync work at enqueue time\n  writeback: elevate queue_io() into wb_writeback()\n  ...\n\nFix up trivial conflicts in fs/fs-writeback.c and mm/filemap.c\n"
    },
    {
      "commit": "a93a1329271038f0e8337061d3b41b3b212a851e",
      "tree": "e33d0e6a2959e8aae8a7a9cb03581340010d752c",
      "parents": [
        "757c26b804428ef10888b8e00f34994dbe361d3a",
        "11ccf116d0d756d06989775288e41f737d98e0c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 10:02:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 10:02:58 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix warning with calling smp_processor_id() in preemptible section\n"
    },
    {
      "commit": "757c26b804428ef10888b8e00f34994dbe361d3a",
      "tree": "4695afbf476ce9818bc01d34d4c266811365296c",
      "parents": [
        "e08dc1325feaf49eec392ee52feb2974ec3f5155",
        "5a96a899bbdee86024ab9ea6d02b9e242faacbed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 09:21:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 09:21:09 2011 -0700"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (135 commits)\n  drm/radeon/kms: fix DP training for DPEncoderService revision bigger than 1.1\n  drm/radeon/kms: add missing vddci setting on NI+\n  drm/radeon: Add a rmb() in IH processing\n  drm/radeon: ATOM Endian fix for atombios_crtc_program_pll()\n  drm/radeon: Fix the definition of RADEON_BUF_SWAP_32BIT\n  drm/radeon: Do an MMIO read on interrupts when not uisng MSIs\n  drm/radeon: Writeback endian fixes\n  drm/radeon: Remove a bunch of useless _iomem casts\n  drm/gem: add support for private objects\n  DRM: clean up and document parsing of video\u003d parameter\n  DRM: Radeon: Fix section mismatch.\n  drm: really make debug levels match in edid failure code\n  drm/radeon/kms: fix i2c map for rv250/280\n  drm/nouveau/gr: disable fifo access and idle before suspend ctx unload\n  drm/nouveau: pass flag to engine fini() method on suspend\n  drm/nouveau: replace nv04_graph_fifo_access() use with direct reg bashing\n  drm/nv40/gr: rewrite/split context takedown functions\n  drm/nouveau: detect disabled device in irq handler and return IRQ_NONE\n  drm/nouveau: ignore connector type when deciding digital/analog on DVI-I\n  drm/nouveau: Add a quirk for Gigabyte NX86T\n  ...\n"
    },
    {
      "commit": "11ccf116d0d756d06989775288e41f737d98e0c5",
      "tree": "457ceb665282ed1c8ec2aa6faaba9cd4e4652e8c",
      "parents": [
        "45b583b10a8b438b970e95a7d1d4db22c9e35004"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jul 26 15:01:15 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jul 26 15:01:15 2011 +0200"
      },
      "message": "block: fix warning with calling smp_processor_id() in preemptible section\n\nAfter commit 5757a6d7 introduced an unsafe calling of\nsmp_processor_id(), with preempt debuggin turned on we spew a lot of:\n\nBUG: using smp_processor_id() in preemptible [00000000] code: kjournald/514\ncaller is __make_request+0x1b8/0x308\n[\u003cc0019f44\u003e] (unwind_backtrace+0x0/0xe8) from [\u003cc024b4cc\u003e] (debug_smp_processor_id+0xbc/0xf0)\n[\u003cc024b4cc\u003e] (debug_smp_processor_id+0xbc/0xf0) from [\u003cc0223d14\u003e] (__make_request+0x1b8/0x308)\n[\u003cc0223d14\u003e] (__make_request+0x1b8/0x308) from [\u003cc02215ac\u003e] (generic_make_request+0x4dc/0x558)\n[\u003cc02215ac\u003e] (generic_make_request+0x4dc/0x558) from [\u003cc022173c\u003e] (submit_bio+0x114/0x138)\n[\u003cc022173c\u003e] (submit_bio+0x114/0x138) from [\u003cc011f504\u003e] (submit_bh+0x148/0x16c)\n[\u003cc011f504\u003e] (submit_bh+0x148/0x16c) from [\u003cc0121ed8\u003e] (__sync_dirty_buffer+0x88/0xd8)\n[\u003cc0121ed8\u003e] (__sync_dirty_buffer+0x88/0xd8) from [\u003cc01aff78\u003e] (journal_commit_transaction+0x1198/0x1688)\n[\u003cc01aff78\u003e] (journal_commit_transaction+0x1198/0x1688) from [\u003cc01b4034\u003e] (kjournald+0xb4/0x224)\n[\u003cc01b4034\u003e] (kjournald+0xb4/0x224) from [\u003cc0069ea0\u003e] (kthread+0x8c/0x94)\n[\u003cc0069ea0\u003e] (kthread+0x8c/0x94) from [\u003cc00137f8\u003e] (kernel_thread_exit+0x0/0x8)\n\nFix this by just using raw_smp_processor_id(), it\u0027s just a hint\nafter all. There\u0027s no pinning of the CPU or accessing per-cpu\nstructures involved.\n\nReported-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5a96a899bbdee86024ab9ea6d02b9e242faacbed",
      "tree": "af48e2ad77177f56d5448c89eaec95d5ccb5aff7",
      "parents": [
        "4639dd21e759e32125adc7171abf6cb8140d54cf"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Mon Jul 25 11:57:43 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jul 26 12:30:55 2011 +0100"
      },
      "message": "drm/radeon/kms: fix DP training for DPEncoderService revision bigger than 1.1\n\nDPEncoderService newer than 1.1 can\u0027t properly program the DP (display port)\nlink training. When facing such version use the DIGxEncoderControl method\ninstead. Fix DP link training on some R7XX.\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4639dd21e759e32125adc7171abf6cb8140d54cf",
      "tree": "d7a63d9440ca523c328a7c4490c7ad64099f3e93",
      "parents": [
        "964f664520a4c6a247e2c9ff8b4481631cf746df"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Mon Jul 25 18:50:08 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jul 26 12:30:34 2011 +0100"
      },
      "message": "drm/radeon/kms: add missing vddci setting on NI+\n\nNeed to add vddci setting to pm init as well as\nresume.  Fixes hangs on load on some boards.\n\nFixes:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d38754\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e08dc1325feaf49eec392ee52feb2974ec3f5155",
      "tree": "07e0b7a436d75ba344955b7cfa4d5b49f3b115d6",
      "parents": [
        "138051659902da7e6a09d379fee5dade2a80fcfd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:43:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:43:53 2011 -0700"
      },
      "message": "p9: avoid unused variable warning\n\nCommit 4e34e719e457 (\"fs: take the ACL checks to common code\") removed\nthe use of the \u0027acl\u0027 variable in v9fs_iop_get_acl(), but left the\nvariable definition around.  Remove it to get rid of the warning:\n\n  fs/9p/acl.c: In function ‘v9fs_iop_get_acl’:\n  fs/9p/acl.c:101:20: warning: unused variable ‘acl’\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "138051659902da7e6a09d379fee5dade2a80fcfd",
      "tree": "e0a90e27451b1fcd812675092d30c1059369cb87",
      "parents": [
        "d5ef642355bdd9b383ff5c18cbc6102a06eecbaf",
        "e1703b329f7c7ea82ea181dc4c50020f25061a2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:26:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:26:34 2011 -0700"
      },
      "message": "Merge branch \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6\n\n* \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (741 commits)\n  staging:iio:meter:ade7753 should be 16 bit read not 8 bit for mode register.\n  staging:iio:kfifo_buf fix double initialization of the ring device structure.\n  staging:iio:accel:lis3l02dq: fix incorrect pointer passed to spi_set_drvdata.\n  staging:iio:imu fix missing register table index for some channels\n  spectra: enable device before poking it\n  staging: rts_pstor: Fix a miswriting\n  staging/lirc_bt829: Return -ENODEV when no hardware is found.\n  staging/lirc_parallel: remove pointless prototypes.\n  staging/lirc_parallel: fix panic on rmmod\n  staging:iio:adc:ad7476: Incorrect pointer into spi_set_drvdata.\n  Staging: zram: Fix kunmapping order\n  Revert \"gma500: Fix dependencies\"\n  gma500: Add medfield header\n  gma500: wire up the mrst i2c bus from chip_info\n  gma500: Fix DPU build\n  gma500: Clean up the DPU config and make it runtime\n  gma500: resync with Medfield progress\n  gma500: Use the mrst helpers and power control for mode commit\n  gma500@ Fix backlight range error\n  gma500: More Moorestown muddle meddling means MM maybe might modeset\n  ...\n\nFix up fairly trivial conflicts all over, mostly due to header file\ncleanup conflicts, but some deleted files and some just context changes:\n - Documentation/feature-removal-schedule.txt\n - drivers/staging/bcm/headers.h\n - drivers/staging/brcm80211/brcmfmac/dhd_linux.c\n - drivers/staging/brcm80211/brcmfmac/dhd_sdio.c\n - drivers/staging/brcm80211/brcmfmac/wl_cfg80211.h\n - drivers/staging/brcm80211/brcmfmac/wl_iw.c\n - drivers/staging/et131x/et131x_netdev.c\n - drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c\n - drivers/staging/rtl8192e/r8192E.h\n - drivers/staging/usbip/userspace/src/utils.h\n"
    },
    {
      "commit": "d5ef642355bdd9b383ff5c18cbc6102a06eecbaf",
      "tree": "fcf78d33c1790c6c24efbfd0c3695f7874f053d7",
      "parents": [
        "f549953c15deab4c54708b39af86d4edecc6cddc",
        "def90f4239f094f3846c108c1c41a4cd55c33e8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:09:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:09:27 2011 -0700"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (26 commits)\n  amba pl011: workaround for uart registers lockup\n  n_gsm: fix the wrong FCS handling\n  pch_uart: add missing comment about OKI ML7223\n  pch_uart: Add MSI support\n  tty: fix \"IRQ45: nobody cared\"\n  PTI feature to allow user to name and mark masterchannel request.\n  0 for o PTI Makefile bug.\n  tty: serial: samsung.c remove legacy PM code.\n  SERIAL: SC26xx: Fix link error.\n  serial: mrst_max3110: initialize waitqueue earlier\n  mrst_max3110: Change max missing message priority.\n  tty: s5pv210: Add delay loop on fifo reset function for UART\n  tty/serial: Fix XSCALE serial ports, e.g. ce4100\n  serial: bfin_5xx: fix off-by-one with resource size\n  drivers/tty: use printk_ratelimited() instead of printk_ratelimit()\n  tty: n_gsm: Added refcount usage to gsm_mux and gsm_dlci structs\n  tty: n_gsm: Add raw-ip support\n  tty: n_gsm: expose gsmtty device nodes at ldisc open time\n  pch_phub: Fix register miss-setting issue\n  serial: 8250, increase PASS_LIMIT\n  ...\n"
    }
  ],
  "next": "f549953c15deab4c54708b39af86d4edecc6cddc"
}
