)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "f549953c15deab4c54708b39af86d4edecc6cddc",
      "tree": "f0412f989b77cdceab34c18aa85a8a25d5942a1f",
      "parents": [
        "f0deb97ab13ad1f89cd0993f7339655d59788405",
        "e04f5f7e423018bcec84c11af2058cdce87816f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:08:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:08:32 2011 -0700"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (115 commits)\n  EHCI: fix direction handling for interrupt data toggles\n  USB: serial: add IDs for WinChipHead USB-\u003eRS232 adapter\n  USB: OHCI: fix another regression for NVIDIA controllers\n  usb: gadget: m66592-udc: add pullup function\n  usb: gadget: m66592-udc: add function for external controller\n  usb: gadget: r8a66597-udc: add pullup function\n  usb: renesas_usbhs: support multi driver\n  usb: renesas_usbhs: inaccessible pipe is not an error\n  usb: renesas_usbhs: care buff alignment when dma handler\n  USB: PL2303: correctly handle baudrates above 115200\n  usb: r8a66597-hcd: fixup USB_PORT_STAT_C_SUSPEND shift\n  usb: renesas_usbhs: compile/config are rescued\n  usb: renesas_usbhs: fixup comment-out\n  usb: update email address in ohci-sh and r8a66597-hcd\n  usb: r8a66597-hcd: add function for external controller\n  EHCI: only power off port if over-current is active\n  USB: mon: Allow to use usbmon without debugfs\n  USB: EHCI: go back to using the system clock for QH unlinks\n  ehci: add pci quirk for Ordissimo and RM Slate 100 too\n  ehci: refactor pci quirk to use standard dmi_check_system method\n  ...\n\nFix up trivial conflicts in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "f0deb97ab13ad1f89cd0993f7339655d59788405",
      "tree": "41572e643cb4983115707ae330b5896ae76e1ea1",
      "parents": [
        "184475029a724b6b900d88fc3a5f462a6107d5af",
        "21d541aa19e90752232bf6c43002f019f204f988"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:06:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:06:24 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  updated Documentation/ja_JP/SubmittingPatches\n  debugfs: add documentation for debugfs_create_x64\n  uio: uio_pdrv_genirq: Add OF support\n  firmware: gsmi: remove sysfs entries when unload the module\n  Documentation/zh_CN: Fix messy code file email-clients.txt\n  driver core: add more help description for \"path to uevent helper\"\n  driver-core: modify FIRMWARE_IN_KERNEL help message\n  driver-core: Kconfig grammar corrections in firmware configuration\n  DOCUMENTATION: Replace create_device() with device_create().\n  DOCUMENTATION: Update overview.txt in Doc/driver-model.\n  pti: pti_tty_install documentation mispelling.\n"
    },
    {
      "commit": "184475029a724b6b900d88fc3a5f462a6107d5af",
      "tree": "408320b46df221a2424bf94282b1b8e5b7aff7a1",
      "parents": [
        "3b76eefe0f970c2e19f165d4a1650abc523d10bc",
        "f1f4ee01c0d3dce0e3aa7d04e4332677db7af478"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:59:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:59:39 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (99 commits)\n  drivers/virt: add missing linux/interrupt.h to fsl_hypervisor.c\n  powerpc/85xx: fix mpic configuration in CAMP mode\n  powerpc: Copy back TIF flags on return from softirq stack\n  powerpc/64: Make server perfmon only built on ppc64 server devices\n  powerpc/pseries: Fix hvc_vio.c build due to recent changes\n  powerpc: Exporting boot_cpuid_phys\n  powerpc: Add CFAR to oops output\n  hvc_console: Add kdb support\n  powerpc/pseries: Fix hvterm_raw_get_chars to accept \u003c 16 chars, fixing xmon\n  powerpc/irq: Quieten irq mapping printks\n  powerpc: Enable lockup and hung task detectors in pseries and ppc64 defeconfigs\n  powerpc: Add mpt2sas driver to pseries and ppc64 defconfig\n  powerpc: Disable IRQs off tracer in ppc64 defconfig\n  powerpc: Sync pseries and ppc64 defconfigs\n  powerpc/pseries/hvconsole: Fix dropped console output\n  hvc_console: Improve tty/console put_chars handling\n  powerpc/kdump: Fix timeout in crash_kexec_wait_realmode\n  powerpc/mm: Fix output of total_ram.\n  powerpc/cpufreq: Add cpufreq driver for Momentum Maple boards\n  powerpc: Correct annotations of pmu registration functions\n  ...\n\nFix up trivial Kconfig/Makefile conflicts in arch/powerpc, drivers, and\ndrivers/cpufreq\n"
    },
    {
      "commit": "3b76eefe0f970c2e19f165d4a1650abc523d10bc",
      "tree": "1987bc1b2b61ea70170094e3cb1204f5b0a0401e",
      "parents": [
        "91d44d99992ff2587104df5760bfffbb3564b3c2",
        "8c9f08f9de38c9af3a946faf0cccd7fc46978443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:50:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:50:54 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68k: Revive reporting of spurious interrupts\n  m68knommu: Move forward declaration of do_IRQ() from machdep.h to irq.h\n  m68k: fix some atomic operation asm address modes for ColdFire\n  m68k: use CPU_HAS_NO_BITFIELDS for signal functions\n  m68k: merge and clean up delay.h files\n  m68knommu: correctly use trap_init\n  m68knommu: merge ColdFire 5206 and 5206e platform code\n  m68k: merge mmu and non-mmu bitops.h\n  m68k: merge MMU and non MMU versions of system.h\n  m68k: merge MMU and non-MMU versions of asm/hardirq.h\n  m68k: merge the non-mmu and mmu versions of module.c\n  m68knommu: Fix printk() format in free_initrd_mem()\n  m68knommu: Make empty_zero_page \"void *\", like on m68k\n"
    },
    {
      "commit": "91d44d99992ff2587104df5760bfffbb3564b3c2",
      "tree": "71316dfc11385f5594962f91d7192fdd851e86a8",
      "parents": [
        "2dad3206db5c3832cde1f58650027fea3ff7adf3",
        "cc6d3497141adedb71de8ddce62bf4cd4817832d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:50:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:50:35 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: Make ZLIB compression support optional\n  Squashfs: Update documentation for XZ and add squashfs-tools devel tree\n"
    },
    {
      "commit": "2dad3206db5c3832cde1f58650027fea3ff7adf3",
      "tree": "96314a554afdab5904a939793156d4ae23ec11c1",
      "parents": [
        "84635d68be4b846ba984a89f386524153330c597",
        "0c12eaffdf09466f36a9ffe970dda8f4aeb6efc0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:49:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:49:19 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-3.1\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: don\u0027t break lease on CLAIM_DELEGATE_CUR\n  locks: rename lock-manager ops\n  nfsd4: update nfsv4.1 implementation notes\n  nfsd: turn on reply cache for NFSv4\n  nfsd4: call nfsd4_release_compoundargs from pc_release\n  nfsd41: Deny new lock before RECLAIM_COMPLETE done\n  fs: locks: remove init_once\n  nfsd41: check the size of request\n  nfsd41: error out when client sets maxreq_sz or maxresp_sz too small\n  nfsd4: fix file leak on open_downgrade\n  nfsd4: remember to put RW access on stateid destruction\n  NFSD: Added TEST_STATEID operation\n  NFSD: added FREE_STATEID operation\n  svcrpc: fix list-corrupting race on nfsd shutdown\n  rpc: allow autoloading of gss mechanisms\n  svcauth_unix.c: quiet sparse noise\n  svcsock.c: include sunrpc.h to quiet sparse noise\n  nfsd: Remove deprecated nfsctl system call and related code.\n  NFSD: allow OP_DESTROY_CLIENTID to be only op in COMPOUND\n\nFix up trivial conflicts in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "bf28607fbe529e20180080c4a0295b0a47834fde",
      "tree": "101ca3c89186e1feb07ceb61ba91a9150d19218f",
      "parents": [
        "f0daaaf5236297ea81ec7732cd0df5dbd84a5042"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Tue Jul 05 16:34:46 2011 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jul 26 06:47:47 2011 +0100"
      },
      "message": "MIPS: Close races in TLB modify handlers.\n\nPage table entries are made invalid by writing a zero into the the PTE\nslot in a page table.  This creates a race condition with the TLB\nmodify handlers when they are updating the PTE.\n\nCPU0                              CPU1\n\nTest for _PAGE_PRESENT\n.                                 set to not _PAGE_PRESENT (zero)\nSet to _PAGE_VALID\n\nSo now the page not present value (zero) is suddenly valid and user\nspace programs have access to physical page zero.\n\nWe close the race by putting the test for _PAGE_PRESENT and setting of\n_PAGE_VALID into an atomic LL/SC section.  This requires more registers\nthan just K0 and K1 in the handlers, so we need to save some registers\nto a save area and then restore them when we are done.\n\nThe save area is an array of cacheline aligned structures that should\nnot suffer cache line bouncing as they are CPU private.\n\n[ralf@linux-mips.org: Fix !defined(CONFIG_MIPS_PGD_C0_CONTEXT) build error.]\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2577/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "f0daaaf5236297ea81ec7732cd0df5dbd84a5042",
      "tree": "75e6a1dc2c0501639ec4e30169eb03765fc85072",
      "parents": [
        "c8e58856f2f288bfe076ad9205d9a10623498c96"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Tue Jul 05 16:34:45 2011 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jul 26 06:47:36 2011 +0100"
      },
      "message": "MIPS: Add uasm UASM_i_SRL_SAFE macro.\n\nThis can be used from either 32-bit or 64-bit code to generate logical\nright shifts of any constant amount.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2576/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "84635d68be4b846ba984a89f386524153330c597",
      "tree": "f9195d7eecccef6e421e483fa18755706bc2ad66",
      "parents": [
        "45b583b10a8b438b970e95a7d1d4db22c9e35004"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:47:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:47:03 2011 -0700"
      },
      "message": "vfs: fix check_acl compile error when CONFIG_FS_POSIX_ACL is  not set\n\nCommit e77819e57f08 (\"vfs: move ACL cache lookup into generic code\")\ndidn\u0027t take the FS_POSIX_ACL config variable into account - when that is\nnot set, ACL\u0027s go away, and the cache helper functions do not exist,\ncausing compile errors like\n\n  fs/namei.c: In function \u0027check_acl\u0027:\n  fs/namei.c:191:10: error: implicit declaration of function \u0027negative_cached_acl\u0027\n  fs/namei.c:196:2: error: implicit declaration of function \u0027get_cached_acl\u0027\n  fs/namei.c:196:6: warning: assignment makes pointer from integer without a cast\n  fs/namei.c:212:11: error: implicit declaration of function \u0027set_cached_acl\u0027\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45b583b10a8b438b970e95a7d1d4db22c9e35004",
      "tree": "14fa481598289df0459580c582b48a9d95db51f6",
      "parents": [
        "154dd78d30b56ffb8b447f629bfcceb14150e5c4",
        "f19da2ce8ef5e49b8b8ea199c3601dd45d71b262"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 21:00:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 21:00:19 2011 -0700"
      },
      "message": "Merge \u0027akpm\u0027 patch series\n\n* Merge akpm patch series: (122 commits)\n  drivers/connector/cn_proc.c: remove unused local\n  Documentation/SubmitChecklist: add RCU debug config options\n  reiserfs: use hweight_long()\n  reiserfs: use proper little-endian bitops\n  pnpacpi: register disabled resources\n  drivers/rtc/rtc-tegra.c: properly initialize spinlock\n  drivers/rtc/rtc-twl.c: check return value of twl_rtc_write_u8() in twl_rtc_set_time()\n  drivers/rtc: add support for Qualcomm PMIC8xxx RTC\n  drivers/rtc/rtc-s3c.c: support clock gating\n  drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200\n  init: skip calibration delay if previously done\n  misc/eeprom: add eeprom access driver for digsy_mtc board\n  misc/eeprom: add driver for microwire 93xx46 EEPROMs\n  checkpatch.pl: update $logFunctions\n  checkpatch: make utf-8 test --strict\n  checkpatch.pl: add ability to ignore various messages\n  checkpatch: add a \"prefer __aligned\" check\n  checkpatch: validate signature styles and To: and Cc: lines\n  checkpatch: add __rcu as a sparse modifier\n  checkpatch: suggest using min_t or max_t\n  ...\n\nDid this as a merge because of (trivial) conflicts in\n - Documentation/feature-removal-schedule.txt\n - arch/xtensa/include/asm/uaccess.h\nthat were just easier to fix up in the merge than in the patch series.\n"
    },
    {
      "commit": "f19da2ce8ef5e49b8b8ea199c3601dd45d71b262",
      "tree": "a4c273a088ad429373f40408d587cf9c2797eb26",
      "parents": [
        "df2694d80a84fb0b61ce9fa31353eb9c5f36ad36"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 25 17:13:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "drivers/connector/cn_proc.c: remove unused local\n\nFix the warning\n\n  drivers/connector/cn_proc.c: In function \u0027proc_ptrace_connector\u0027:\n  drivers/connector/cn_proc.c:176: warning: unused variable \u0027tracer\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df2694d80a84fb0b61ce9fa31353eb9c5f36ad36",
      "tree": "48b1fef71261897760fca422b7de17ea106ff3ab",
      "parents": [
        "9d6bf5aa177ee7ffdcee2a590ef8a1bf9e8ade87"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jul 25 17:13:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "Documentation/SubmitChecklist: add RCU debug config options\n\nThere have been persistent lockdep RCU splats, indicating that submitters\nare not testing with CONFIG_PROVE_RCU.  Add this config option to the list\nin Documentation/SubmitChecklist.  Also add CONFIG_DEBUG_OBJECTS_RCU_HEAD\nfor good measure.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d6bf5aa177ee7ffdcee2a590ef8a1bf9e8ade87",
      "tree": "563a7b08688ba07ebdbdfc5e1d13ab89e2ed8062",
      "parents": [
        "0c2fd1bfb155947a821fdaeb3c46aa1cfa20ad64"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 25 17:13:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "reiserfs: use hweight_long()\n\nUse hweight_long() to count free bits in the bitmap.\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": "0c2fd1bfb155947a821fdaeb3c46aa1cfa20ad64",
      "tree": "2826372d34e387dad42dffefb96658ed2d9e28f9",
      "parents": [
        "29df8d8f8702f0f53c1375015f09f04bc8d023c1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jul 25 17:13:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "reiserfs: use proper little-endian bitops\n\nUsing __test_and_{set,clear}_bit_le() with ignoring its return value can\nbe replaced with __{set,clear}_bit_le().\n\nThis introduces reiserfs_{set,clear}_le_bit for __{set,clear}_bit_le and\ndoes the above change with them.\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": "29df8d8f8702f0f53c1375015f09f04bc8d023c1",
      "tree": "32a7f6d0190bfdbe602bb969192010c91a0fbf6a",
      "parents": [
        "e57ee01750c4954fd0b5e3c6109cd4b870880eb9"
      ],
      "author": {
        "name": "Witold Szczeponik",
        "email": "Witold.Szczeponik@gmx.net",
        "time": "Mon Jul 25 17:13:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "pnpacpi: register disabled resources\n\nWhen parsing PnP ACPI resource structures, it may happen that some of\nthe resources are disabled (in which case \"the size\" of the resource\nequals zero).\n\nThe current solution is to skip these resources completely - with the\nunfortunate side effect that they are not registered despite the fact\nthat they exist, after all.  (The downside of this approach is that\nthese resources cannot be used as templates for setting the actual\ndevice\u0027s resources because they are missing from the template.) The\nkernel\u0027s APM implementation does not suffer from this problem and\nregisters all resources regardless of \"their size\".\n\nThis patch fixes a problem with (at least) the vintage IBM ThinkPad 600E\n(and most likely also with the 600, 600X, and 770X which have a very\nsimilar layout) where some of its PnP devices support options where\neither an IRQ, a DMA, or an IO port is disabled.  Without this patch,\nthe devices can not be configured using the\n\"/sys/bus/pnp/devices/*/resources\" interface.\n\nThe manipulation of these resources is important because the 600E has\nvery demanding requirements.  For instance, the number of IRQs is not\nsufficient to support all devices of the 600E.  Fortunately, some of the\ndevices, like the sound card\u0027s MPU-401 UART, can be configured to not\nuse any IRQ, hence freeing an IRQ for a device that requires one.\n(Still, the device\u0027s \"ResourceTemplate\" requires an IRQ resource\ndescriptor which cannot be created if the resource has not been\nregistered in the first place.)\n\nAs an example, the dependent sets of the 600E\u0027s CSC0103 device (the\nMPU-401 UART) are listed, with the patch applied, as:\n\n  Dependent: 00 - Priority preferred\n    port 0x300-0x330, align 0xf, size 0x4, 16-bit address decoding\n    irq \u003cnone\u003e High-Edge\n  Dependent: 01 - Priority acceptable\n    port 0x300-0x330, align 0xf, size 0x4, 16-bit address decoding\n    irq 5,7,2/9,10,11,15 High-Edge\n\n(The same result is obtained when PNPBIOS is used instead of PnP ACPI.)\nWithout the patch, the IRQ resource in the preferred option is not\nlisted at all:\n\n  Dependent: 00 - Priority preferred\n    port 0x300-0x330, align 0xf, size 0x4, 16-bit address decoding\n  Dependent: 01 - Priority acceptable\n    port 0x300-0x330, align 0xf, size 0x4, 16-bit address decoding\n    irq 5,7,2/9,10,11,15 High-Edge\n\nAnd in fact, the 600E\u0027s DSDT lists the disabled IRQ as an option, as can\nbe seen from the following excerpt from the DSDT:\n\n\tName (_PRS, ResourceTemplate ()\n\t{\n        StartDependentFn (0x00, 0x00)\n        {\n            IO (Decode16, 0x0300, 0x0330, 0x10, 0x04)\n            IRQNoFlags () {}\n        }\n        StartDependentFn (0x01, 0x00)\n        {\n            IO (Decode16, 0x0300, 0x0330, 0x10, 0x04)\n            IRQNoFlags () {5,7,9,10,11,15}\n        }\n        EndDependentFn ()\n\t})\n\nWith this patch applied, a user space program - or maybe even the kernel\n- can allocate all devices\u0027 resources optimally.  For the 600E, this\nmeans to find optimal resources for (at least) the serial port, the\nparallel port, the infrared port, the MWAVE modem, the sound card, and\nthe MPU-401 UART.\n\nThe patch applies the idea to register disabled resources to all types\nof resources, not just to IRQs, DMAs, and IO ports.  At the same time,\nit mimics the behavior of the \"pnp_assign_xxx\" functions from\n\"drivers/pnp/manager.c\" where resources with \"no size\" are considered\ndisabled.\n\nNo regressions were observed on hardware that does not require this\npatch.\n\nThe patch is applied against 2.6.39.\n\nNB: The kernel\u0027s current PnP interface does not allow for disabling individual\nresources using the \"/sys/bus/pnp/devices/$device/resources\" file.  Assuming\nthis could be done, a device could be configured to use a disabled resource\nusing a simple series of calls:\n\n  echo disable \u003e /sys/bus/pnp/devices/$device/resources\n  echo clear \u003e /sys/bus/pnp/devices/$device/resources\n  echo set irq disabled \u003e /sys/bus/pnp/devices/$device/resources\n  echo fill \u003e /sys/bus/pnp/devices/$device/resources\n  echo activate \u003e /sys/bus/pnp/devices/$device/resources\n\nThis patch addresses only the parsing of PnP ACPI devices.\n\nChangeLog (v1 -\u003e v2):\n - extend patch description\n - fix typo in patch itself\n\nSigned-off-by: Witold Szczeponik \u003cWitold.Szczeponik@gmx.net\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Adam Belay \u003cabelay@mit.edu\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Matthew Garrett \u003cmjg@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": "e57ee01750c4954fd0b5e3c6109cd4b870880eb9",
      "tree": "73356d5604cc10ca8e6e86616276da4531984004",
      "parents": [
        "8f6b0dd369868559b384a66aa17512ae5aae2d9b"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Jul 25 17:13:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "drivers/rtc/rtc-tegra.c: properly initialize spinlock\n\nUsing __SPIN_LOCK_UNLOCKED for a dynamically allocated lock is wrong and\nbreaks the build with PREEMPT_RT_FULL.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Andrew Chew \u003cachew@nvidia.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": "8f6b0dd369868559b384a66aa17512ae5aae2d9b",
      "tree": "b98bcc40d158d96fe30af93e5bdede28fbeac77d",
      "parents": [
        "9a9a54ad7aa2c7420c96c6fd33538f55d81775cb"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Jul 25 17:13:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "drivers/rtc/rtc-twl.c: check return value of twl_rtc_write_u8() in twl_rtc_set_time()\n\nWe forget to save the return value of the call to\ntwl_rtc_write_u8(save_control, REG_RTC_CTRL_REG); in \u0027ret\u0027, making the\ntest of \u0027ret \u003c 0\u0027 dead code since \u0027ret\u0027 then couldn\u0027t possibly have\nchanged since the last test just a few lines above.  It also makes us not\ndetect failures from that specific twl_rtc_write_u8() call.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Alexandre Rusev \u003csource@mvista.com\u003e\nCc: \"George G. Davis\" \u003cgdavis@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a9a54ad7aa2c7420c96c6fd33538f55d81775cb",
      "tree": "4ffc127f3ea38c210f37d75b8eb41d82cd4398ce",
      "parents": [
        "cefe4fbbaab8e20a7581a187db82d33c1e3320c0"
      ],
      "author": {
        "name": "Anirudh Ghayal",
        "email": "aghayal@codeaurora.org",
        "time": "Mon Jul 25 17:13:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "drivers/rtc: add support for Qualcomm PMIC8xxx RTC\n\nAdd support for PMIC8xxx based RTC.  PMIC8xxx is Qualcomm\u0027s power\nmanagement IC that internally houses an RTC module.  This driver\ncommunicates with the PMIC module over SSBI bus.\n\n[akpm@linux-foundation.org: cosmetic tweaks]\nAcked-by: Wan ZongShun \u003cmcuos.com@gmail.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Anirudh Ghayal \u003caghayal@codeaurora.org\u003e\nSigned-off-by: Ashay Jaiswal \u003cashayj@codeaurora.org\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Wan ZongShun \u003cmcuos.com@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cefe4fbbaab8e20a7581a187db82d33c1e3320c0",
      "tree": "a40203a65c87c09136a38d3927c643a119364f7f",
      "parents": [
        "955dbea3c7133d3ccfaa79c7eba1244c1de42865"
      ],
      "author": {
        "name": "Donggeun Kim",
        "email": "dg77.kim@samsung.com",
        "time": "Mon Jul 25 17:13:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "drivers/rtc/rtc-s3c.c: support clock gating\n\nAdd support for clock gating.  Power consumption can be reduced by setting\nrtc_clk disabled state except for when RTC related registers are accessed.\n\nSigned-off-by: Donggeun Kim \u003cdg77.kim@samsung.com\u003e\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: KyungMin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Ben Dooks \u003cben@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "955dbea3c7133d3ccfaa79c7eba1244c1de42865",
      "tree": "43c62ac01d5b620553b199a6b6a1d8c125aa8975",
      "parents": [
        "7afe1845dd1e7c90828c942daed7e57ffa7c38d6"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Jul 25 17:13:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200\n\nMPC5200B contains a limited version of RTC from MPC5121.  Add support for\nthe RTC on that CPU.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Anatolij Gustschin \u003cagust@denx.de\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7afe1845dd1e7c90828c942daed7e57ffa7c38d6",
      "tree": "dabdded21b9d03cf04719b684e393929378f6c8d",
      "parents": [
        "469dded1839105cfbfc265376e23e24dbc48d2a7"
      ],
      "author": {
        "name": "Sameer Nanda",
        "email": "snanda@chromium.org",
        "time": "Mon Jul 25 17:13:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "init: skip calibration delay if previously done\n\nFor each CPU, do the calibration delay only once.  For subsequent calls,\nuse the cached per-CPU value of loops_per_jiffy.\n\nThis saves about 200ms of resume time on dual core Intel Atom N5xx based\nsystems.  This helps bring down the kernel resume time on such systems\nfrom about 500ms to about 300ms.\n\n[akpm@linux-foundation.org: make cpu_loops_per_jiffy static]\n[akpm@linux-foundation.org: clean up message text]\n[akpm@linux-foundation.org: fix things up after upstream rmk changes]\nSigned-off-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Andrew Worsley \u003camworsley@gmail.com\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "469dded1839105cfbfc265376e23e24dbc48d2a7"
}
