)]}'
{
  "log": [
    {
      "commit": "a107e5a3a473a2ea62bd5af24e11b84adf1486ff",
      "tree": "d36c2cb38d8be88d4d75cdebc354aa140aa0e470",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
        "a269029d0e2192046be4c07ed78a45022469ee4c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "message": "Merge branch \u0027next\u0027 into upstream-merge\n\nConflicts:\n\tfs/ext4/inode.c\n\tfs/ext4/mballoc.c\n\tinclude/trace/events/ext4.h\n"
    },
    {
      "commit": "a269029d0e2192046be4c07ed78a45022469ee4c",
      "tree": "6ec7b7d2686a344ac77d10c4930fc3699461d198",
      "parents": [
        "3d287de3b828226e5a450c7fd5bf4283792dc2b0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "message": "ext4,jbd2: convert tracepoints to use major/minor numbers\n\nUnfortunately perf can\u0027t deal with anything other than direct structure\naccesses in the TP_printk() section.  It will drop dead when it sees\njbd2_dev_to_name() in the \"print fmt\" section of the tracepoint.\n\nAddresses-Google-Bug: 3138508\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
      "tree": "cd22f8051a456c9d2b95698b6fe402776a67469b",
      "parents": [
        "9ae6d039224def926656206725ae6e89d1331417",
        "964dc256bb91e990277010a3f6dc66daa130be8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (48 commits)\n  DMAENGINE: move COH901318 to arch_initcall\n  dma: imx-dma: fix signedness bug\n  dma/timberdale: simplify conditional\n  ste_dma40: remove channel_type\n  ste_dma40: remove enum for endianess\n  ste_dma40: remove TIM_FOR_LINK option\n  ste_dma40: move mode_opt to separate config\n  ste_dma40: move channel mode to a separate field\n  ste_dma40: move priority to separate field\n  ste_dma40: add variable to indicate valid dma_cfg\n  async_tx: make async_tx channel switching opt-in\n  move async raid6 test to lib/Kconfig.debug\n  dmaengine: Add Freescale i.MX1/21/27 DMA driver\n  intel_mid_dma: change the slave interface\n  intel_mid_dma: fix the WARN_ONs\n  intel_mid_dma: Add sg list support to DMA driver\n  intel_mid_dma: Allow DMAC2 to share interrupt\n  intel_mid_dma: Allow IRQ sharing\n  intel_mid_dma: Add runtime PM support\n  DMAENGINE: define a dummy filter function for ste_dma40\n  ...\n"
    },
    {
      "commit": "bdab225015fbbb45ccd8913f5d7c01b2bf67d8b2",
      "tree": "5ef62301face958977a084bf2b6c5300296a25f2",
      "parents": [
        "7c5814c7199851c5fe9395d08fc1ab3c8c1531ea",
        "7c7fcf762e405eb040ee10d22d656a791f616122"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300: (44 commits)\n  MN10300: Save frame pointer in thread_info struct rather than global var\n  MN10300: Change \"Matsushita\" to \"Panasonic\".\n  MN10300: Create a defconfig for the ASB2364 board\n  MN10300: Update the ASB2303 defconfig\n  MN10300: ASB2364: Add support for SMSC911X and SMC911X\n  MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA\n  MN10300: Generic time support\n  MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support\n  MN10300: Map userspace atomic op regs as a vmalloc page\n  MN10300: And Panasonic AM34 subarch and implement SMP\n  MN10300: Delete idle_timestamp from irq_cpustat_t\n  MN10300: Make various interrupt priority settings configurable\n  MN10300: Optimise do_csum()\n  MN10300: Implement atomic ops using atomic ops unit\n  MN10300: Make the FPU operate in non-lazy mode under SMP\n  MN10300: SMP TLB flushing\n  MN10300: Use the [ID]PTEL2 registers rather than [ID]PTEL for TLB control\n  MN10300: Make the use of PIDR to mark TLB entries controllable\n  MN10300: Rename __flush_tlb*() to local_flush_tlb*()\n  MN10300: AM34 erratum requires MMUCTR read and write on exception entry\n  ...\n"
    },
    {
      "commit": "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
      "tree": "c1a7a8bda41b99caa4b4a0fe320fc73278879f7d",
      "parents": [
        "f66dd539feb849a3a00f7fac67c026e0935e373a",
        "e25804a0327dad954f7d43803178fdef2fd35b4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf python scripting: Add futex-contention script\n  perf python scripting: Fixup cut\u0027n\u0027paste error in sctop script\n  perf scripting: Shut up \u0027perf record\u0027 final status\n  perf record: Remove newline character from perror() argument\n  perf python scripting: Support fedora 11 (audit 1.7.17)\n  perf python scripting: Improve the syscalls-by-pid script\n  perf python scripting: print the syscall name on sctop\n  perf python scripting: Improve the syscalls-counts script\n  perf python scripting: Improve the failed-syscalls-by-pid script\n  kprobes: Remove redundant text_mutex lock in optimize\n  x86/oprofile: Fix uninitialized variable use in debug printk\n  tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n  perf probe: Fix format specified for Dwarf_Off parameter\n  perf trace: Fix detection of script extension\n  perf trace: Use $PERF_EXEC_PATH in canned report scripts\n  perf tools: Document event modifiers\n  perf tools: Remove direct slang.h include\n  perf_events: Fix for transaction recovery in group_sched_in()\n  perf_events: Revert: Fix transaction recovery in group_sched_in()\n  perf, x86: Use NUMA aware allocations for PEBS/BTS/DS allocations\n  ...\n"
    },
    {
      "commit": "17bb51d56cdc8cbf252031db3107de034cfeb44c",
      "tree": "f9fb2c16b29a152d3413fa0028e660e3b6146584",
      "parents": [
        "0671b7674f42ab3a200401ea0e48d6f47d34acae",
        "95aac7b1cd224f568fb83937044cd303ff11b029"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:42:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:42:52 2010 -0700"
      },
      "message": "Merge branch \u0027akpm-incoming-2\u0027\n\n* akpm-incoming-2: (139 commits)\n  epoll: make epoll_wait() use the hrtimer range feature\n  select: rename estimate_accuracy() to select_estimate_accuracy()\n  Remove duplicate includes from many files\n  ramoops: use the platform data structure instead of module params\n  kernel/resource.c: handle reinsertion of an already-inserted resource\n  kfifo: fix kfifo_alloc() to return a signed int value\n  w1: don\u0027t allow arbitrary users to remove w1 devices\n  alpha: remove dma64_addr_t usage\n  mips: remove dma64_addr_t usage\n  sparc: remove dma64_addr_t usage\n  fuse: use release_pages()\n  taskstats: use real microsecond granularity for CPU times\n  taskstats: split fill_pid function\n  taskstats: separate taskstats commands\n  delayacct: align to 8 byte boundary on 64-bit systems\n  delay-accounting: reimplement -c for getdelays.c to report information on a target command\n  namespaces Kconfig: move namespace menu location after the cgroup\n  namespaces Kconfig: remove the cgroup device whitelist experimental tag\n  namespaces Kconfig: remove pointless cgroup dependency\n  namespaces Kconfig: make namespace a submenu\n  ...\n"
    },
    {
      "commit": "0671b7674f42ab3a200401ea0e48d6f47d34acae",
      "tree": "a35d3347e927dfe621f42ff82289f61f45564393",
      "parents": [
        "0b2d8d9e562de3ee2476f549549e4fefbb7a4213",
        "47f19a0814e80e1d4e5c17d61b70fca85ea09162"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:38:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:38:55 2010 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  percpu: Remove the multi-page alignment facility\n  x86-32: Allocate irq stacks seperate from percpu area\n  x86-32, mm: Remove duplicated #include\n  x86, printk: Get rid of \u003c0\u003e from stack output\n  x86, kexec: Make sure to stop all CPUs before exiting the kernel\n  x86/vsmp: Eliminate kconfig dependency warning\n"
    },
    {
      "commit": "7f93cff90fa9be6ed45f6189e136153d1d8631b0",
      "tree": "e48cbf01bc646e63df2fea10a2208015e028b95b",
      "parents": [
        "72f84e6560d18d60a091df27edf81409be6641cb"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: fix kernel oops if the journal superblock has a non-zero j_errno\n\nCommit 84061e0 fixed an accounting bug only to introduce the\npossibility of a kernel OOPS if the journal has a non-zero j_errno\nfield indicating that the file system had detected a fs inconsistency.\nAfter the journal replay, if the journal superblock indicates that the\nfile system has an error, this indication is transfered to the file\nsystem and then ext4_commit_super() is called to write this to the\ndisk.\n\nBut since the percpu counters are now initialized after the journal\nreplay, the call to ext4_commit_super() will cause a kernel oops since\nit needs to use the percpu counters the ext4 superblock structure.\n\nThe fix is to skip setting the ext4 free block and free inode fields\nif the percpu counter has not been set.\n\nThanks to Ken Sumrall for reporting and analyzing the root causes of\nthis bug.\n\nAddresses-Google-Bug: #3054080\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5b41d92437f1ae19b3f3ffa3b16589fd5df50ac0",
      "tree": "ed7e1999a2349811e3cae0f0bdd53a93aea413d7",
      "parents": [
        "bbd08344e3df8c7c1d7aa04bc0c8c9367806e12d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: implement writeback livelock avoidance using page tagging\n\nThis is analogous to Jan Kara\u0027s commit,\nf446daaea9d4a420d16c606f755f3689dcb2d0ce\nmm: implement writeback livelock avoidance using page tagging\n\nbut since we forked write_cache_pages, we need to reimplement\nit there (and in ext4_da_writepages, since range_cyclic handling\nwas moved to there)\n\nIf you start a large buffered IO to a file, and then set\nfsync after it, you\u0027ll find that fsync does not complete\nuntil the other IO stops.\n\nIf you continue re-dirtying the file (say, putting dd\nwith conv\u003dnotrunc in a loop), when fsync finally completes\n(after all IO is done), it reports via tracing that\nit has written many more pages than the file contains;\nin other words it has synced and re-synced pages in\nthe file multiple times.\n\nThis then leads to problems with our writeback_index\nupdate, since it advances it by pages written, and\nessentially sets writeback_index off the end of the\nfile...\n\nWith the following patch, we only sync as much as was\ndirty at the time of the sync.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "367a51a339020ba4d9edb0ce0f21d65bd50b00c9",
      "tree": "696cbb5ca3108cd0cf8a7c3f494947cc9a4179c7",
      "parents": [
        "77ca6cdf0ab8a42f481ec997911bc89e79138723"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "message": "fs: Add FITRIM ioctl\n\nAdds an filesystem independent ioctl to allow implementation of file\nsystem batched discard support. I takes fstrim_range structure as an\nargument. fstrim_range is definec in the include/fs.h and its\ndefinition is as follows.\n\nstruct fstrim_range {\n\tstart;\n\tlen;\n\tminlen;\n}\n\nstart\t- first Byte to trim\nlen\t- number of Bytes to trim from start\nminlen\t- minimum extent length to trim, free extents shorter than this\n\t  number of Bytes will be ignored. This will be rounded up to fs\n\t  block size.\n\nIt is also possible to specify NULL as an argument. In this case the\narguments will set itself as follows:\n\nstart \u003d 0;\nlen \u003d ULLONG_MAX;\nminlen \u003d 0;\n\nSo it will trim the whole file system at one run.\n\nAfter the FITRIM is done, the number of actually discarded Bytes is stored\nin fstrim_range.len to give the user better insight on how much storage\nspace has been really released for wear-leveling.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nReviewed-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3e1e5f501632460184a98237d5460c521510535e",
      "tree": "9bb5006c9bcb1651f9c447869f4e90deb116e6e8",
      "parents": [
        "4d5476164a052e80d4ef430e368e76dbde96801f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: don\u0027t use ext4_allocation_contexts for tracing\n\nMany tracepoints were populating an ext4_allocation_context\nto pass in, but this requires a slab allocation even when\ntracepoints are off.  In fact, 4 of 5 of these allocations\nwere only for tracing.  In addition, we were only using a\nsmall fraction of the 144 bytes of this structure for this\npurpose.\n\nWe can do away with all these alloc/frees of the ac and\nsimply pass in the bits we care about, instead.\n\nI tested this by turning on tracing and running through\nxfstests on x86_64.  I did not actually do anything with\nthe trace output, however.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4d5476164a052e80d4ef430e368e76dbde96801f",
      "tree": "c4949f899392c99896e3e81250c5f667a5ae0ba3",
      "parents": [
        "0c9169ccad4aed233fdd49e95da4eada2536a06d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: fix oops in trace_ext4_mb_release_group_pa\n\nOur QA reported an oops in the ext4_mb_release_group_pa tracing,\nand Josef Bacik pointed out that it was because we may have a\nnon-null but uninitialized ac_inode in the allocation context.\n\nI can reproduce it when running xfstests with ext4 tracepoints on, \non a CONFIG_SLAB_DEBUG kernel.\n\nWe call trace_ext4_mb_release_group_pa from 2 places, \next4_mb_discard_group_preallocations and \next4_mb_discard_lg_preallocations\n\nIn both cases we allocate an ac as a container just for tracing (!)\nand never fill in the ac_inode.  There\u0027s no reason to be assigning,\ntesting, or printing it as far as I can see, so just remove it from\nthe tracepoint.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e6fa0be699449d28a20e815bfe9ce26725ec4962",
      "tree": "2e979f57060c50a73eef51fdbc19d4666d463c4e",
      "parents": [
        "5c2178e785244341d1e6f2bc3b62f20a337cc44f"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "message": "Add helper function for blkdev_issue_zeroout (sb_issue_discard)\n\nThis is done the same way as helper sb_issue_discard for\nblkdev_issue_discard.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "22cdbd1d5789cc16c37102eb6f62c3ae377b849e",
      "tree": "f86d3d798351c4bde69afbfa80e940aad01abaad",
      "parents": [
        "55f335a8857db2ee22c068e7ab7141fc79928296",
        "ce45b873028fdf94a24f0850cd554e6fda593e16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:28:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:28:00 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (108 commits)\n  ehea: Fixing statistics\n  bonding: Fix lockdep warning after bond_vlan_rx_register()\n  tunnels: Fix tunnels change rcu protection\n  caif-u5500: Build config for CAIF shared mem driver\n  caif-u5500: CAIF shared memory mailbox interface\n  caif-u5500: CAIF shared memory transport protocol\n  caif-u5500: Adding shared memory include\n  drivers/isdn: delete double assignment\n  drivers/net/typhoon.c: delete double assignment\n  drivers/net/sb1000.c: delete double assignment\n  qlcnic: define valid vlan id range\n  qlcnic: reduce rx ring size\n  qlcnic: fix mac learning\n  ehea: fix use after free\n  inetpeer: __rcu annotations\n  fib_rules: __rcu annotates ctarget\n  tunnels: add __rcu annotations\n  net: add __rcu annotations to protocol\n  ipv4: add __rcu annotations to routes.c\n  qlge: bugfix: Restoring the vlan setting.\n  ...\n"
    },
    {
      "commit": "b853fd364810a241050778124842a8c415c72a69",
      "tree": "5fbc9f7ed51db48f9ef68343f69fa5b5b537a901",
      "parents": [
        "39e3ac2599a5f9aba499b5f8af809108e70a6163"
      ],
      "author": {
        "name": "Wen Congyang",
        "email": "wency@cn.fujitsu.com",
        "time": "Wed Oct 27 21:27:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:27:12 2010 -0400"
      },
      "message": "ext4: avoid null dereference in trace_ext4_mballoc_discard\n\nac-\u003einode is set to null in function ext4_mb_release_group_pa(),\nand then trace_ext4_mballoc_discard(ac) is called, the kernel\nwill panic.\n\nBUG: unable to handle kernel NULL pointer dereference at 000000a4\nIP: [\u003cf87e1714\u003e] ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]\n*pdpt \u003d 0000000000abd001 *pde \u003d 0000000000000000\nOops: 0000 [#1] SMP\n\nPid: 550, comm: flush-8:16 Not tainted 2.6.36-rc1 #1 SE7320EP2/Altos G530\nEIP: 0060:[\u003cf87e1714\u003e] EFLAGS: 00010206 CPU: 1\nEIP is at ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]\nEAX: f32ac840 EBX: f3f1cf88 ECX: f32ac840 EDX: 00000000\nESI: f32ac83c EDI: f880b9d8 EBP: 00000000 ESP: f4b77ae4\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess flush-8:16 (pid: 550, ti\u003df4b76000 task\u003df613e540 task.ti\u003df4b76000)\nCall Trace:\n [\u003cf87f5ac1\u003e] ? ext4_mb_release_group_pa+0x121/0x150 [ext4]\n [\u003cf87f8356\u003e] ? ext4_mb_discard_group_preallocations+0x336/0x400 [ext4]\n [\u003cf87fb7f1\u003e] ? ext4_mb_new_blocks+0x3d1/0x4f0 [ext4]\n [\u003cc05a6c5b\u003e] ? __make_request+0x10b/0x440\n [\u003cf87f1fb4\u003e] ? ext4_ext_map_blocks+0x1334/0x1980 [ext4]\n [\u003cc04ac78a\u003e] ? rb_reserve_next_event+0xaa/0x3b0\n [\u003cf87d18d6\u003e] ? ext4_map_blocks+0xd6/0x1d0 [ext4]\n [\u003cf87d2da7\u003e] ? mpage_da_map_blocks+0xc7/0x8a0 [ext4]\n [\u003cc04c8a68\u003e] ? find_get_pages_tag+0x38/0x110\n [\u003cc04d23a5\u003e] ? __pagevec_release+0x15/0x20\n [\u003cf87d3ca5\u003e] ? ext4_da_writepages+0x2b5/0x5d0 [ext4]\n [\u003cc04cfbe0\u003e] ? __writepage+0x0/0x30\n [\u003cc04d0e34\u003e] ? do_writepages+0x14/0x30\n [\u003cc0526600\u003e] ? writeback_single_inode+0xa0/0x240\n [\u003cc0526971\u003e] ? writeback_sb_inodes+0xc1/0x180\n [\u003cc0526ab8\u003e] ? writeback_inodes_wb+0x88/0x140\n [\u003cc0526d7b\u003e] ? wb_writeback+0x20b/0x320\n [\u003cc045aca7\u003e] ? lock_timer_base+0x27/0x50\n [\u003cc0526fe0\u003e] ? wb_do_writeback+0x150/0x190\n [\u003cc05270a8\u003e] ? bdi_writeback_thread+0x88/0x1f0\n [\u003cc043b680\u003e] ? complete+0x40/0x60\n [\u003cc0527020\u003e] ? bdi_writeback_thread+0x0/0x1f0\n [\u003cc0469474\u003e] ? kthread+0x74/0x80\n [\u003cc0469400\u003e] ? kthread+0x0/0x80\n [\u003cc040a23e\u003e] ? kernel_thread_helper+0x6/0x10\n\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "39e3ac2599a5f9aba499b5f8af809108e70a6163",
      "tree": "16c9d790029c36f217b1689b42869c8739e8ac5e",
      "parents": [
        "58590b06d79f7ce5ab64ff3b6d537180fa50dc84"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Wed Oct 27 21:25:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:25:12 2010 -0400"
      },
      "message": "jbd2: Fix I/O hang in jbd2_journal_release_jbd_inode\n\nThis fixes a hang seen in jbd2_journal_release_jbd_inode\non a lot of Power 6 systems running with ext4. When we get\nin the hung state, all I/O to the disk in question gets blocked\nwhere we stay indefinitely. Looking at the task list, I can see\nwe are stuck in jbd2_journal_release_jbd_inode waiting on a\nwake up. I added some debug code to detect this scenario and\ndump additional data if we were stuck in jbd2_journal_release_jbd_inode\nfor longer than 30 minutes. When it hit, I was able to see that\ni_flags was 0, suggesting we missed the wake up.\n\nThis patch changes i_flags to be an unsigned long, uses bit operators\nto access it, and adds barriers around the accesses. Prior to applying\nthis patch, we were regularly hitting this hang on numerous systems\nin our test environment. After applying the patch, the hangs no longer\noccur.\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7420a8c0de8d99b201aeeab6fed16ca95ebf55a5",
      "tree": "0787800f490f98ffd41b958e52ab15732335744e",
      "parents": [
        "12ba8d1e9262ce81a695795410bd9ee5c9407ba1",
        "72f98e72551fad573c6cace8e8551ef094f482dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:13:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:13:34 2010 -0700"
      },
      "message": "Merge branch \u0027flock\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027flock\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  locks: turn lock_flocks into a spinlock\n  fasync: re-organize fasync entry insertion to allow it under a spinlock\n  locks/nfsd: allocate file lock outside of spinlock\n  lockd: fix nlmsvc_notify_blocked locking\n  lockd: push lock_flocks down\n"
    },
    {
      "commit": "95aac7b1cd224f568fb83937044cd303ff11b029",
      "tree": "24c08cfe031ecc0549cf3f7900e992a27044c4ad",
      "parents": [
        "231f3d393f63f6e3b505afa179999bba491d0f08"
      ],
      "author": {
        "name": "Shawn Bohrer",
        "email": "shawn.bohrer@gmail.com",
        "time": "Wed Oct 27 15:34:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "epoll: make epoll_wait() use the hrtimer range feature\n\nThis make epoll use hrtimers for the timeout value which prevents\nepoll_wait() from timing out up to a millisecond early.\n\nThis mirrors the behavior of select() and poll().\n\nSigned-off-by: Shawn Bohrer \u003cshawn.bohrer@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61d8e11e519ee7912ab59610fba1aaf08e3c1d84",
      "tree": "f06e035c88cbf508eb6e24875b878ee78d581cf8",
      "parents": [
        "c3b92ce9e75f6353104fc7f8e32fb9fdb2550ad0"
      ],
      "author": {
        "name": "Zimny Lech",
        "email": "napohybelskurwysynom2010@gmail.com",
        "time": "Wed Oct 27 15:34:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "Remove duplicate includes from many files\n\nSigned-off-by: Zimny Lech \u003cnapohybelskurwysynom2010@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": "c3b92ce9e75f6353104fc7f8e32fb9fdb2550ad0",
      "tree": "0b3086e8274eaff2741bdbb4199896597a0d9b57",
      "parents": [
        "5de1cb2d0f1c1e5475d2bedf65b76828f8cdde22"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Wed Oct 27 15:34:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "ramoops: use the platform data structure instead of module params\n\nAs each board and system has different memory for ramoops.  It\u0027s better to\ndefine the platform data instead of module params.\n\n[akpm@linux-foundation.org: fix ramoops_remove() return type]\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@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": "144ecf310eb52d9df607b9b7eeb096743e232a96",
      "tree": "2a444a3f618ec070f33b3024f7728db29f5ab7d4",
      "parents": [
        "12aa4c64174cb0d915cd1c7b763847c0ffa8e92c"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Wed Oct 27 15:34:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "kfifo: fix kfifo_alloc() to return a signed int value\n\nAdd a new __kfifo_int_must_check_helper() helper function, which is needed\nfor kfifo_alloc() to return the right signed integer value.\n\nThe origin __kfifo_must_check_helper() helper was renamed into\n__kfifo_uint_must_check_helper() to show the sign which is expected and\nreturned.\n\n(And revert the temporary disabling of __kfifo_must_check_helper())\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d57af9b2142f31a39dcfdeb30776baadfc802827",
      "tree": "a89233b1e57b152c9bebf7bb516dd51920602969",
      "parents": [
        "3d9e0cf1fe007b88db55d43dfdb6839e1a029ca5"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Wed Oct 27 15:34:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "taskstats: use real microsecond granularity for CPU times\n\nThe taskstats interface uses microsecond granularity for the user and\nsystem time values.  The conversion from cputime to the taskstats values\nuses the cputime_to_msecs primitive which effectively limits the\ngranularity to milliseconds.  Add the cputime_to_usecs primitive for\narchitectures that have better, more precise CPU time values.  Remove\ncputime_to_msecs primitive because there are no more users left.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Luck Tony \u003ctony.luck@intel.com\u003e\nCc: Shailabh Nagar \u003cnagar1234@in.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Shailabh Nagar \u003cnagar@us.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": "388c45ccfaeec68e334ad79edeb0b5b0a43197ff",
      "tree": "5a9e98d4ba6427d542ed7f384c31774cb625bff8",
      "parents": [
        "af84ca38aff94061dd0711edbb99b0900a9c28fd"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "rapidio: fix IDLE2 bits corruption\n\nRapidIO spec v.2.1 adds Idle Sequence 2 into LP-Serial Physical Layer.\nThe fix ensures that corresponding bits are not corrupted during error\nhandling.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af84ca38aff94061dd0711edbb99b0900a9c28fd",
      "tree": "31f51e9106c0a0944ec168dc25399f12ab2fa527",
      "parents": [
        "a3725c45c114bd06e091802f90533332d1e93819"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "rapidio: add handling of redundant routes\n\nDetects RIO link to the already enumerated device and properly sets links\nbetween device objects.  Changes to the enumeration/discovery logic:\n\n1. Use Master Enable bit to signal end of the enumeration - agents may\n   start their discovery process as soon as they see this bit set\n   (Component Tag register was used before for this purpose).\n\n2. Enumerator sets Component Tag (!\u003d 0) immediately during device\n   setup.  This allows to identify the device if the redundant route\n   exists in a RIO system.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3725c45c114bd06e091802f90533332d1e93819",
      "tree": "3bd69dbe2e6a03e31a5e31a8aa5b29c7354d0965",
      "parents": [
        "e274e0ed0a2ac31d5eaf7c891e4e1d99197517b2"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "rapidio: add support for IDT CPS Gen2 switches\n\nAdd the RIO switch driver and definitions for IDT CPS-1848 and CPS-1616\nGen2 devices.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac38d7232dfa3c71b129bab3318ba327bbcf8405",
      "tree": "3cc63d0140a40fb72169b19c7320266ad8af08f8",
      "parents": [
        "dd5648c9f53b5cbd9f948d752624400545f979fb"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:15 2010 -0700"
      },
      "message": "rapidio: modify sysfs initialization for switches\n\n1. Change to create attribute \"routes\" only for switches.\n\n2. Add a switch-specific callback to create/remove proprietary attributes.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd5648c9f53b5cbd9f948d752624400545f979fb",
      "tree": "9092a86701a6b4fa5cd722d4f3fc8b803d08b94c",
      "parents": [
        "68fe4df5d21294401959fa61d5a7094705ed8f6f"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:15 2010 -0700"
      },
      "message": "rapidio: add default handler for error-stopped state\n\nThe default error-stopped state handler provides recovery mechanism as\ndefined by RIO specification.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68fe4df5d21294401959fa61d5a7094705ed8f6f",
      "tree": "28cd3609514f3a7b1e78e627b069aa5669bc7fd0",
      "parents": [
        "ae05cbd5adef897d405ce8f90484c1239f79e086"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:15 2010 -0700"
      },
      "message": "rapidio: add relation links between RIO device structures\n\nCreate back and forward links between RIO devices.  These links are\nintended for use by error management and hot-plug extensions.  Links for\nredundant RIO connections between switches are not set (will be fixed in a\nseparate patch).\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae05cbd5adef897d405ce8f90484c1239f79e086",
      "tree": "1b235d02a42e40ae2071f2ce0983de1f0feadaf1",
      "parents": [
        "93e2cbd24e71f5eedf6e49e075973fda9b2135e8"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:15 2010 -0700"
      },
      "message": "rapidio: use stored ingress port number instead of register read\n\nThe switch port information is obtained and stored during RIO device\nsetup.  Therefore repeated reads from Switch Port Information CAR may be\nremoved.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c70f022e2e1b1493e157dbc3796b1f70a3ff162",
      "tree": "dab1863e61b7f694c4d29e70e3d4c6515129a8f8",
      "parents": [
        "e89d67cfbcc1ee32339da9e816489f69742c3a6e"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:15 2010 -0700"
      },
      "message": "rapidio: fix RapidIO sysfs hierarchy\n\nThis set of RapidIO patches extends support for standard error recovery\nmechanism and adds new IDT Gen2 sRIO switch devices - CPS-1848 and\nCPS-1616.  Implementation of the standard error-stopped state recovery\nmechanism (as defined by the RapidIO specification) is required for the\nnew switches.\n\nVersion 2 of this set of patches addresses received comments and fixes an\nerror notification setup issue found in the idt_gen2.c after the first\nversion was released.\n\nThis patch:\n\nMake RapidIO devices appear in /sys/devices/rapidio directory instead of\ntop of /sys/devices directory.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9807224f1dce5fb746ee33fb67ea2e38dafe3e9c",
      "tree": "d9a9bdb1ae4196dec24b9c98bdd753c7b72de4df",
      "parents": [
        "ed77ed6112f2d4b650f4be7dbaf14e06e1d393a5"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Wed Oct 27 15:34:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:14 2010 -0700"
      },
      "message": "drivers/char/synclink_gt.c: add extended sync feature\n\nAdd support for extended byte synchronous mode feature of hardware.\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478735e38887077ac77a9756121b6ce0cb956e2f",
      "tree": "7b42110f71b1711f56cbbc0a01f00894b221337d",
      "parents": [
        "f2c66cd8eeddedb440f33bc0f5cec1ed7ae376cb"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Oct 27 15:34:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:13 2010 -0700"
      },
      "message": "/proc/stat: fix scalability of irq sum of all cpu\n\nIn /proc/stat, the number of per-IRQ event is shown by making a sum each\nirq\u0027s events on all cpus.  But we can make use of kstat_irqs().\n\nkstat_irqs() do the same calculation, If !CONFIG_GENERIC_HARDIRQ,\nit\u0027s not a big cost. (Both of the number of cpus and irqs are small.)\n\nIf a system is very big and CONFIG_GENERIC_HARDIRQ, it does\n\n\tfor_each_irq()\n\t\tfor_each_cpu()\n\t\t\t- look up a radix tree\n\t\t\t- read desc-\u003eirq_stat[cpu]\nThis seems not efficient. This patch adds kstat_irqs() for\nCONFIG_GENRIC_HARDIRQ and change the calculation as\n\n\tfor_each_irq()\n\t\tlook up radix tree\n\t\tfor_each_cpu()\n\t\t\t- read desc-\u003eirq_stat[cpu]\n\nThis reduces cost.\n\nA test on (4096cpusp, 256 nodes, 4592 irqs) host (by Jack Steiner)\n\n%time cat /proc/stat \u003e /dev/null\n\nBefore Patch:\t 2.459 sec\nAfter Patch :\t  .561 sec\n\n[akpm@linux-foundation.org: unexport kstat_irqs, coding-style tweaks]\n[akpm@linux-foundation.org: fix unused variable \u0027per_irq_sum\u0027]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2c66cd8eeddedb440f33bc0f5cec1ed7ae376cb",
      "tree": "4b8cfcd2a76652839121707fc2a49b70489ec055",
      "parents": [
        "19cd56c48da58bebc3a638e036bcab69469acd27"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Oct 27 15:34:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:13 2010 -0700"
      },
      "message": "/proc/stat: scalability of irq num per cpu\n\n/proc/stat shows the total number of all interrupts to each cpu.  But when\nthe number of IRQs are very large, it take very long time and \u0027cat\n/proc/stat\u0027 takes more than 10 secs.  This is because sum of all irq\nevents are counted when /proc/stat is read.  This patch adds \"sum of all\nirq\" counter percpu and reduce read costs.\n\nThe cost of reading /proc/stat is important because it\u0027s used by major\napplications as \u0027top\u0027, \u0027ps\u0027, \u0027w\u0027, etc....\n\nA test on a mechin (4096cpu, 256 nodes, 4592 irqs) shows\n\n %time cat /proc/stat \u003e /dev/null\n Before Patch:  12.627 sec\n After  Patch:  2.459 sec\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b1bf12d5d51bca178dea21b04a0805e29d60cf1",
      "tree": "902a2c0e5882a2152da59a589958d6426dc84643",
      "parents": [
        "b84011508360d6885a9d95a235ec77d56f133377"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Oct 27 15:34:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:12 2010 -0700"
      },
      "message": "signals: move cred_guard_mutex from task_struct to signal_struct\n\nOleg Nesterov pointed out we have to prevent multiple-threads-inside-exec\nitself and we can reuse -\u003ecred_guard_mutex for it.  Yes, concurrent\nexecve() has no worth.\n\nLet\u0027s move -\u003ecred_guard_mutex from task_struct to signal_struct.  It\nnaturally prevent multiple-threads-inside-exec.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.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": "b8ed374e202e23caaf9bd77dcadc9de6447faaa8",
      "tree": "ea97fe186c7e0c0ee8cd61e0fc94dc42f635fd3b",
      "parents": [
        "5ef45079dd9c8f2e9c7aa788dc3121835ae52863"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:34:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:12 2010 -0700"
      },
      "message": "signals: annotate lock_task_sighand()\n\nlock_task_sighand() grabs sighand-\u003esiglock in case of returning non-NULL\nbut unlock_task_sighand() releases it unconditionally.  This leads sparse\nto complain about the lock context imbalance.  Rename and wrap\nlock_task_sighand() using __cond_lock() macro to make sparse happy.\n\nSuggested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@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": "9b05a69e0534ec70bc94921936ffa05b330507cb",
      "tree": "4116a7b7db286edf9486a29a7742d47fa67baa68",
      "parents": [
        "9fed81dc40f5a1ac2783bcc78d4029873be72894"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:33:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:10 2010 -0700"
      },
      "message": "ptrace: change signature of arch_ptrace()\n\nFix up the arguments to arch_ptrace() to take account of the fact that\n@addr and @data are now unsigned long rather than long as of a preceding\npatch in this series.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4abf986960ecda6a87fc2f795aacf888a2f0127e",
      "tree": "39601ac75c3b92a3894722287bd9068a8b5e68d0",
      "parents": [
        "c4b5ed250eebf854d40f27b43362c80f115cb57a"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:33:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:10 2010 -0700"
      },
      "message": "ptrace: change signature of sys_ptrace() and friends\n\nSince userspace API of ptrace syscall defines @addr and @data as void\npointers, it would be more appropriate to define them as unsigned long in\nkernel.  Therefore related functions are changed also.\n\n\u0027unsigned long\u0027 is typically used in other places in kernel as an opaque\ndata type and that using this helps cleaning up a lot of warnings from\nsparse.\n\nSuggested-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Roland McGrath \u003croland@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": "97978e6d1f2da0073416870410459694fbdbfd9b",
      "tree": "e8ff2fe4119d03fa54a45e8a101adbf9fb91a385",
      "parents": [
        "2d3cbf8bc852ac1bc3d098186143c5973f87b753"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:33:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroup: add clone_children control file\n\nThe ns_cgroup is a control group interacting with the namespaces.  When a\nnew namespace is created, a corresponding cgroup is automatically created\ntoo.  The cgroup name is the pid of the process who did \u0027unshare\u0027 or the\nchild of \u0027clone\u0027.\n\nThis cgroup is tied with the namespace because it prevents a process to\nescape the control group and use the post_clone callback, so the child\ncgroup inherits the values of the parent cgroup.\n\nUnfortunately, the more we use this cgroup and the more we are facing\nproblems with it:\n\n(1) when a process unshares, the cgroup name may conflict with a\n    previous cgroup with the same pid, so unshare or clone return -EEXIST\n\n(2) the cgroup creation is out of control because there may have an\n    application creating several namespaces where the system will\n    automatically create several cgroups in his back and let them on the\n    cgroupfs (eg.  a vrf based on the network namespace).\n\n(3) the mix of (1) and (2) force an administrator to regularly check\n    and clean these cgroups.\n\nThis patchset removes the ns_cgroup by adding a new flag to the cgroup and\nthe cgroupfs mount option.  It enables the copy of the parent cgroup when\na child cgroup is created.  We can then safely remove the ns_cgroup as\nthis flag brings a compatibility.  We have now to manually create and add\nthe task to a cgroup, which is consistent with the cgroup framework.\n\nThis patch:\n\nSent as an answer to a previous thread around the ns_cgroup.\n\nhttps://lists.linux-foundation.org/pipermail/containers/2009-June/018627.html\n\nIt adds a control file \u0027clone_children\u0027 for a cgroup.  This control file\nis a boolean specifying if the child cgroup should be a clone of the\nparent cgroup or not.  The default value is \u0027false\u0027.\n\nThis flag makes the child cgroup to call the post_clone callback of all\nthe subsystem, if it is available.\n\nAt present, the cpuset is the only one which had implemented the\npost_clone callback.\n\nThe option can be set at mount time by specifying the \u0027clone_children\u0027\nmount option.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@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": "f11b478d461b7113eb4603b3914aaf15b7788e87",
      "tree": "84e673927a071c64658d8b24ae423de86948b573",
      "parents": [
        "c9c62dce35e7fc54beebafb071393a0008989e49"
      ],
      "author": {
        "name": "James Hogan",
        "email": "james@albanarts.com",
        "time": "Wed Oct 27 15:33:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:08 2010 -0700"
      },
      "message": "fbmem: fix fb_read, fb_write unaligned accesses\n\nfb_{read,write} access the framebuffer using lots of fb_{read,write}l\u0027s\nbut don\u0027t check that the file position is aligned which can cause problems\non some architectures which do not support unaligned accesses.\n\nSince the operations are essentially memcpy_{from,to}io, new\nfb_memcpy_{from,to}fb macros have been defined and these are used instead.\n\nFor Sparc, fb_{read,write} macros use sbus_{read,write}, so this defines\nnew sbus_memcpy_{from,to}io functions the same as memcpy_{from,to}io but\nusing sbus_{read,write}b instead of {read,write}b.\n\nSigned-off-by: James Hogan \u003cjames@albanarts.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc5ae4f2f58cfa98b67d2be379fc99080a8967af",
      "tree": "8ef3cd48b98d21fc1a23b446d55769497c0c0667",
      "parents": [
        "9ef8c8c51a7d76bae73e0259c356b24533b6b7c0"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Wed Oct 27 15:33:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:07 2010 -0700"
      },
      "message": "gpio: adp5588-gpio: add i2c forward declaration\n\nSome ADP5588 functions take a pointer to an i2c_client, but if the i2c\nheader doesn\u0027t happen to be included first, we hit the standard \"struct\ndeclared inside parameter list\" warnings from gcc.  So add a simple\nforward decl of the i2c_client struct.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ef8c8c51a7d76bae73e0259c356b24533b6b7c0",
      "tree": "7dc3a50966ed68cf1980a86729a476521838e0e1",
      "parents": [
        "459773ae8dbbd480886d186181c6bc2e8556025f"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Wed Oct 27 15:33:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:07 2010 -0700"
      },
      "message": "gpio: adp5588-gpio: gpio_start must be signed\n\nCommon code interprets this as a signed value (a negative value is used to\nrequest dynamic ID allocation), so make sure the platform data has proper\ntypes to support that.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "459773ae8dbbd480886d186181c6bc2e8556025f",
      "tree": "38d738b858105a46a473bcae0958e2ded77a2e21",
      "parents": [
        "ead6db084392349ad33323b1bb2916058dd7e82b"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Wed Oct 27 15:33:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:07 2010 -0700"
      },
      "message": "gpio: adp5588-gpio: support interrupt controller\n\nImplement irq_chip functionality on ADP5588/5587 GPIO expanders.  Only\nlevel sensitive interrupts are supported.  Interrupts provided by this\nirq_chip must be requested using request_threaded_irq().\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ead6db084392349ad33323b1bb2916058dd7e82b",
      "tree": "8288fb20f86550ba8bb5d9984a7d09ead9b333d7",
      "parents": [
        "76d800a5b6e198c4fda07b88bb42a545709f193b"
      ],
      "author": {
        "name": "Miguel Gaio",
        "email": "miguel.gaio@efixo.com",
        "time": "Wed Oct 27 15:33:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:07 2010 -0700"
      },
      "message": "gpio: add support for 74x164 serial-in/parallel-out 8-bit shift register\n\nAdd support for generic 74x164 serial-in/parallel-out 8-bits shift\nregister.  This driver can be used as a GPIO output expander.\n\n[akpm@linux-foundation.org: remove unused local `refresh\u0027]\nSigned-off-by: Miguel Gaio \u003cmiguel.gaio@efixo.com\u003e\nSigned-off-by: Juhos Gabor \u003cjuhosg@openwrt.org\u003e\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09cd9527d621640d4dd231dff77b681e711d8e4b",
      "tree": "fcd333ea3d8f27c849f7a51a7fcf67646886b948",
      "parents": [
        "aeec56e331c6d2750de02ef34b305338305ca690"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Wed Oct 27 15:33:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:06 2010 -0700"
      },
      "message": "gpiolib: fix HAVE_GPIO_LIB leftovers in asm-generic/gpio.h\n\ncommit 7444a72effa632fcd8edc566f88 (\"gpiolib: allow user-selection\")\nremoved HAVE_GPIO_LIB Kconfig symbol, but the header file still uses the\nname [to confuse readers wrt #ifdef/#else/#endif location].\n\nThe real Kconfig symbol nowadays is CONFIG_GPIOLIB.\n\nSigned-off-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aeec56e331c6d2750de02ef34b305338305ca690",
      "tree": "1a9df159e4408cf1f4d9ab8451ae803de6007126",
      "parents": [
        "d0f744c8cbd19a8d07eccb15bb08e6a29c4d5192"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Wed Oct 27 15:33:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:06 2010 -0700"
      },
      "message": "gpio: add driver for basic memory-mapped GPIO controllers\n\nThe basic GPIO controllers may be found in various on-board FPGA and ASIC\nsolutions that are used to control board\u0027s switches, LEDs, chip-selects,\nEthernet/USB PHY power, etc.\n\nThese controllers may not provide any means of pin setup\n(in/out/open drain).\n\nThe driver supports:\n- 8/16/32/64 bits registers;\n- GPIO controllers with clear/set registers;\n- GPIO controllers with a single \"data\" register;\n- Big endian bits/GPIOs ordering (mostly used on PowerPC).\n\nSigned-off-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e,\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20273941f2129aa5a432796d98a276ed73d60782",
      "tree": "85da0d951ac10f239f81ad7f69559fdeb692095b",
      "parents": [
        "a8e23a291852cd7c4fb5ca696dbb93912185ad10"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Oct 27 15:32:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:05 2010 -0700"
      },
      "message": "mm: fix race in kunmap_atomic()\n\nChristoph reported a nice splat which illustrated a race in the new stack\nbased kmap_atomic implementation.\n\nThe problem is that we pop our stack slot before we\u0027re completely done\nresetting its state -- in particular clearing the PTE (sometimes that\u0027s\nCONFIG_DEBUG_HIGHMEM).  If an interrupt happens before we actually clear\nthe PTE used for the last slot, that interrupt can reuse the slot in a\ndirty state, which triggers a BUG in kmap_atomic().\n\nFix this by introducing kmap_atomic_idx() which reports the current slot\nindex without actually releasing it and use that to find the PTE and delay\nthe _pop() until after we\u0027re completely done.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Rik van Riel \u003criel@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": "a8e23a291852cd7c4fb5ca696dbb93912185ad10",
      "tree": "df0cf7cfe8d8600563a96cb5426de69759165e52",
      "parents": [
        "12ba8d1e9262ce81a695795410bd9ee5c9407ba1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Oct 27 15:32:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:05 2010 -0700"
      },
      "message": "mm,x86: fix kmap_atomic_push vs ioremap_32.c\n\nIt appears i386 uses kmap_atomic infrastructure regardless of\nCONFIG_HIGHMEM which results in a compile error when highmem is disabled.\n\nCure this by providing the needed few bits for both CONFIG_HIGHMEM and\nCONFIG_X86_32.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7347ce4ee7c65415f84be915c018473e7076f31",
      "tree": "613ce14f088ad00bdbc77cdfb686a40a4851180f",
      "parents": [
        "c5b1f0d92c36851aca09ac6c7c0c4f9690ac14f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 12:38:12 2010 -0400"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Oct 27 22:06:17 2010 +0200"
      },
      "message": "fasync: re-organize fasync entry insertion to allow it under a spinlock\n\nYou currently cannot use \"fasync_helper()\" in an atomic environment to\ninsert a new fasync entry, because it will need to allocate the new\n\"struct fasync_struct\".\n\nYet fcntl_setlease() wants to call this under lock_flocks(), which is in\nthe process of being converted from the BKL to a spinlock.\n\nIn order to fix this, this abstracts out the actual fasync list\ninsertion and the fasync allocations into functions of their own, and\nteaches fs/locks.c to pre-allocate the fasync_struct entry.  That way\nthe actual list insertion can happen while holding the required\nspinlock.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n[bfields@redhat.com: rebase on top of my changes to Arnd\u0027s patch]\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "c5b1f0d92c36851aca09ac6c7c0c4f9690ac14f3",
      "tree": "c8aa4ad65aea3b97292135a4c23d512e6071dc8d",
      "parents": [
        "a282a1fa6b23bd21ba0b86e53ed2a316b001836f"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Oct 27 15:46:08 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Oct 27 21:41:50 2010 +0200"
      },
      "message": "locks/nfsd: allocate file lock outside of spinlock\n\nAs suggested by Christoph Hellwig, this moves allocation\nof new file locks out of generic_setlease into the\ncallers, nfs4_open_delegation and fcntl_setlease in order\nto allow GFP_KERNEL allocations when lock_flocks has\nbecome a spinlock.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a10c02036f82b1fa30d69a62f7c7d9a927e8adbc",
      "tree": "c7435bd8023305fe708a91912aa6d49c68032e90",
      "parents": [
        "4101e976e0376a1820ae55adf8bca7dda5089a7d"
      ],
      "author": {
        "name": "Amarnath Revanna",
        "email": "amarnath.bangalore.revanna@stericsson.com",
        "time": "Wed Oct 27 08:34:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 12:29:51 2010 -0700"
      },
      "message": "caif-u5500: Adding shared memory include\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b914c4ea929a4ba6fb97967800dc473c31552b98",
      "tree": "630f7c81d82e580e5aa5164c0e4cf1d0dadca3ba",
      "parents": [
        "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 23:55:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:33 2010 -0700"
      },
      "message": "inetpeer: __rcu annotations\n\nAdds __rcu annotations to inetpeer\n\t(struct inet_peer)-\u003eavl_left\n\t(struct inet_peer)-\u003eavl_right\n\nThis is a tedious cleanup, but removes one smp_wmb() from link_to_pool()\nsince we now use more self documenting rcu_assign_pointer().\n\nNote the use of RCU_INIT_POINTER() instead of rcu_assign_pointer() in\nall cases we dont need a memory barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383",
      "tree": "ccc580891d9d17e2482e2f3db2b2c8cf80bdf773",
      "parents": [
        "b33eab08445d86c3d0dec3111ce10df561328705"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 26 09:24:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "fib_rules: __rcu annotates ctarget\n\nAdds __rcu annotation to (struct fib_rule)-\u003ectarget\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b33eab08445d86c3d0dec3111ce10df561328705",
      "tree": "381a37141d4da9cf6cb3a8c8c37c6363d856f8e4",
      "parents": [
        "e0ad61ec867fdd262804afa7a68e11fc9930c2b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:01:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "tunnels: add __rcu annotations\n\nAdd __rcu annotations to :\n        (struct ip_tunnel)-\u003eprl\n        (struct ip_tunnel_prl_entry)-\u003enext\n        (struct xfrm_tunnel)-\u003enext\n\tstruct xfrm_tunnel *tunnel4_handlers\n\tstruct xfrm_tunnel *tunnel64_handlers\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ad61ec867fdd262804afa7a68e11fc9930c2b9",
      "tree": "f59451cdfa2086757e55b18b87167b0fef3de2c1",
      "parents": [
        "1c31720a74e19bb57f301350a3b03210fa2ba9e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "net: add __rcu annotations to protocol\n\nAdd __rcu annotations to :\n        struct net_protocol *inet_protos\n        struct net_protocol *inet6_protos\n\nAnd use appropriate casts to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c31720a74e19bb57f301350a3b03210fa2ba9e3",
      "tree": "053f29ffa53383eb003ac632971f31e1643ef1d9",
      "parents": [
        "c1b60092cf307fef12f793abf7cf8167e26a6ccf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "ipv4: add __rcu annotations to routes.c\n\nAdd __rcu annotations to :\n        (struct dst_entry)-\u003ert_next\n        (struct rt_hash_bucket)-\u003echain\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a5f65df5a0fcbaa35e5417c0420d691fee4ac56",
      "tree": "5d7bd3754c23817860bb34f0a54e0f3584b0ff00",
      "parents": [
        "3b950de9c94b4b9fde4f1340358ab52ce0f34be0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 27 17:28:36 2010 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 27 17:28:36 2010 +0100"
      },
      "message": "Typedef SMP call function pointer\n\nTypedef the pointer to the function to be called by smp_call_function() and\nfriends:\n\n\ttypedef void (*smp_call_func_t)(void *info);\n\nas it is used in a fair number of places.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "47f19a0814e80e1d4e5c17d61b70fca85ea09162",
      "tree": "8524c21416f2b3c3eeb12966d925e1eee771667a",
      "parents": [
        "22d4cd4c4dce6d7b7d9a7e396aa4f87fe7a649b1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 27 17:41:17 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 27 17:53:25 2010 +0200"
      },
      "message": "percpu: Remove the multi-page alignment facility\n\n[DECLARE|DEFINE]_PER_CPU_MULTIPAGE_ALIGNED never really worked because\nthe head percpu section was only page aligned. Now that the last user\nis gone (32-bit IRQ stacks), remove the generic percpu facility.\n\nCc: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c1288158182-1753-1-git-send-email-brgerst@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c48c43e422c1404fd72c57d1d21a6f6d01e18900",
      "tree": "48e5d3828b4f5479361986535f71a1ae44e4f3c1",
      "parents": [
        "520045db940a381d2bee1c1b2179f7921b40fb10",
        "135cba0dc399fdd47bd3ae305c1db75fcd77243f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 18:57:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 18:57:59 2010 -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: (476 commits)\n  vmwgfx: Implement a proper GMR eviction mechanism\n  drm/radeon/kms: fix r6xx/7xx 1D tiling CS checker v2\n  drm/radeon/kms: properly compute group_size on 6xx/7xx\n  drm/radeon/kms: fix 2D tile height alignment in the r600 CS checker\n  drm/radeon/kms/evergreen: set the clear state to the blit state\n  drm/radeon/kms: don\u0027t poll dac load detect.\n  gpu: Add Intel GMA500(Poulsbo) Stub Driver\n  drm/radeon/kms: MC vram map needs to be \u003e\u003d pci aperture size\n  drm/radeon/kms: implement display watermark support for evergreen\n  drm/radeon/kms/evergreen: add some additional safe regs v2\n  drm/radeon/r600: fix tiling issues in CS checker.\n  drm/i915: Move gpu_write_list to per-ring\n  drm/i915: Invalidate the to-ring, flush the old-ring when updating domains\n  drm/i915/ringbuffer: Write the value passed in to the tail register\n  agp/intel: Restore valid PTE bit for Sandybridge after bdd3072\n  drm/i915: Fix flushing regression from 9af90d19f\n  drm/i915/sdvo: Remove unused encoding member\n  i915: enable AVI infoframe for intel_hdmi.c [v4]\n  drm/i915: Fix current fb blocking for page flip\n  drm/i915: IS_IRONLAKE is synonymous with gen \u003d\u003d 5\n  ...\n\nFix up conflicts in\n - drivers/gpu/drm/i915/{i915_gem.c, i915/intel_overlay.c}: due to the\n   new simplified stack-based kmap_atomic() interface\n - drivers/gpu/drm/vmwgfx/vmwgfx_drv.c: added .llseek entry due to BKL\n   removal cleanups.\n"
    },
    {
      "commit": "520045db940a381d2bee1c1b2179f7921b40fb10",
      "tree": "1dab17add9c5d73e57cbc526884b4c6b4a4d4cd9",
      "parents": [
        "426e1f5cec4821945642230218876b0e89aafab1",
        "9387377eb79a44f453fd27c3d00a2e5da587e369",
        "45263cb0993de738e158c625c84a5feb18bed317"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 18:20:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 18:20:19 2010 -0700"
      },
      "message": "Merge branches \u0027upstream/xenfs\u0027 and \u0027upstream/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen\n\n* \u0027upstream/xenfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:\n  xen/privcmd: make privcmd visible in domU\n  xen/privcmd: move remap_domain_mfn_range() to core xen code and export.\n  privcmd: MMAPBATCH: Fix error handling/reporting\n  xenbus: export xen_store_interface for xenfs\n  xen/privcmd: make sure vma is ours before doing anything to it\n  xen/privcmd: print SIGBUS faults\n  xen/xenfs: set_page_dirty is supposed to return true if it dirties\n  xen/privcmd: create address space to allow writable mmaps\n  xen: add privcmd driver\n  xen: add variable hypercall caller\n  xen: add xen_set_domain_pte()\n  xen: add /proc/xen/xsd_{kva,port} to xenfs\n\n* \u0027upstream/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: (29 commits)\n  xen: include xen/xen.h for definition of xen_initial_domain()\n  xen: use host E820 map for dom0\n  xen: correctly rebuild mfn list list after migration.\n  xen: improvements to VIRQ_DEBUG output\n  xen: set up IRQ before binding virq to evtchn\n  xen: ensure that all event channels start off bound to VCPU 0\n  xen/hvc: only notify if we actually sent something\n  xen: don\u0027t add extra_pages for RAM after mem_end\n  xen: add support for PAT\n  xen: make sure xen_max_p2m_pfn is up to date\n  xen: limit extra memory to a certain ratio of base\n  xen: add extra pages for E820 RAM regions, even if beyond mem_end\n  xen: make sure xen_extra_mem_start is beyond all non-RAM e820\n  xen: implement \"extra\" memory to reserve space for pages not present at boot\n  xen: Use host-provided E820 map\n  xen: don\u0027t map missing memory\n  xen: defer building p2m mfn structures until kernel is mapped\n  xen: add return value to set_phys_to_machine()\n  xen: convert p2m to a 3 level tree\n  xen: make install_p2mtop_page() static\n  ...\n\nFix up trivial conflict in arch/x86/xen/mmu.c, and fix the use of\n\u0027reserve_early()\u0027 - in the new memblock world order it is now\n\u0027memblock_x86_reserve_range()\u0027 instead. Pointed out by Jeremy.\n"
    },
    {
      "commit": "426e1f5cec4821945642230218876b0e89aafab1",
      "tree": "2728ace018d0698886989da586210ef1543a7098",
      "parents": [
        "9e5fca251f44832cb996961048ea977f80faf6ea",
        "63997e98a3be68d7cec806d22bf9b02b2e1daabb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)\n  split invalidate_inodes()\n  fs: skip I_FREEING inodes in writeback_sb_inodes\n  fs: fold invalidate_list into invalidate_inodes\n  fs: do not drop inode_lock in dispose_list\n  fs: inode split IO and LRU lists\n  fs: switch bdev inode bdi\u0027s correctly\n  fs: fix buffer invalidation in invalidate_list\n  fsnotify: use dget_parent\n  smbfs: use dget_parent\n  exportfs: use dget_parent\n  fs: use RCU read side protection in d_validate\n  fs: clean up dentry lru modification\n  fs: split __shrink_dcache_sb\n  fs: improve DCACHE_REFERENCED usage\n  fs: use percpu counter for nr_dentry and nr_dentry_unused\n  fs: simplify __d_free\n  fs: take dcache_lock inside __d_path\n  fs: do not assign default i_ino in new_inode\n  fs: introduce a per-cpu last_ino allocator\n  new helper: ihold()\n  ...\n"
    },
    {
      "commit": "9e5fca251f44832cb996961048ea977f80faf6ea",
      "tree": "05d1df04502478ed71b78f63a861aa5cc67ef773",
      "parents": [
        "56083ab17e0075e538270823c374b59cc97e73b9",
        "116e9535fe5e00bafab7a637f306b110cf95cff5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:54:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:54:22 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (63 commits)\n  IB/qib: clean up properly if pci_set_consistent_dma_mask() fails\n  IB/qib: Allow driver to load if PCIe AER fails\n  IB/qib: Fix uninitialized pointer if CONFIG_PCI_MSI not set\n  IB/qib: Fix extra log level in qib_early_err()\n  RDMA/cxgb4: Remove unnecessary KERN_\u003clevel\u003e use\n  RDMA/cxgb3: Remove unnecessary KERN_\u003clevel\u003e use\n  IB/core: Add link layer type information to sysfs\n  IB/mlx4: Add VLAN support for IBoE\n  IB/core: Add VLAN support for IBoE\n  IB/mlx4: Add support for IBoE\n  mlx4_en: Change multicast promiscuous mode to support IBoE\n  mlx4_core: Update data structures and constants for IBoE\n  mlx4_core: Allow protocol drivers to find corresponding interfaces\n  IB/uverbs: Return link layer type to userspace for query port operation\n  IB/srp: Sync buffer before posting send\n  IB/srp: Use list_first_entry()\n  IB/srp: Reduce number of BUSY conditions\n  IB/srp: Eliminate two forward declarations\n  IB/mlx4: Signal node desc changes to SM by using FW to generate trap 144\n  IB: Replace EXTRA_CFLAGS with ccflags-y\n  ...\n"
    },
    {
      "commit": "56083ab17e0075e538270823c374b59cc97e73b9",
      "tree": "5c29be7c976d1c96a8abd3280d5efb75b73e4c96",
      "parents": [
        "ee2f154a598e96df2ebb01648a7699373bc085c7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Oct 26 14:19:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:40:56 2010 -0700"
      },
      "message": "docbook: add idr/ida to kernel-api docbook\n\nAdd idr/ida to kernel-api docbook.\nFix typos and kernel-doc notation.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Naohiro Aota \u003cnaota@elisp.net\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee2f154a598e96df2ebb01648a7699373bc085c7",
      "tree": "30de15c8024271552a4fd5bf9fc813c0787ea91c",
      "parents": [
        "003bb8ab7cecbfd1830bbccf9c6a9e2047d27c5c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Oct 26 14:17:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:32:41 2010 -0700"
      },
      "message": "docbook: add more wait/wake/completion to device-drivers docbook\n\nAdd more wait, wake, and completion interfaces to the device-drivers\ndocbook.\n\nFix kernel-doc notation in the added files.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "474829e875ab93512dbe0a713f564d3cd3874bc9",
      "tree": "e0c066ca80e2d0c4b1eb4109393f5911bcb92998",
      "parents": [
        "27afe58fe60fbf71a25f1f592472c0e7b72b3502",
        "7e31842441776b4d6ec7fd916c91663ad05b7814"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:28:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:28:37 2010 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (53 commits)\n  ACPI: install ACPI table handler before any dynamic tables being loaded\n  ACPI / PM: Blacklist another machine that needs acpi_sleep\u003dnonvs\n  ACPI: Page based coalescing of I/O remappings optimization\n  ACPI: Convert simple locking to RCU based locking\n  ACPI: Pre-map \u0027system event\u0027 related register blocks\n  ACPI: Add interfaces for ioremapping/iounmapping ACPI registers\n  ACPI: Maintain a list of ACPI memory mapped I/O remappings\n  ACPI: Fix ioremap size for MMIO reads and writes\n  ACPI / Battery: Return -ENODEV for unknown values in get_property()\n  ACPI / PM: Fix reference counting of power resources\n  Subject: [PATCH] ACPICA: Fix Scope() op in module level code\n  ACPI battery: support percentage battery remaining capacity\n  ACPI: Make Embedded Controller command timeout delay configurable\n  ACPI dock: move some functions to .init.text\n  ACPI: thermal: remove unused limit code\n  ACPI: static sleep_states[] and acpi_gts_bfs_check\n  ACPI: remove dead code\n  ACPI: delete dedicated MAINTAINERS entries for ACPI EC and BATTERY drivers\n  ACPI: Only processor needs CPU_IDLE\n  ACPICA: Update version to 20101013\n  ...\n"
    },
    {
      "commit": "7eb901e79129d457b72b3876a948a28c34557285",
      "tree": "4685b1b5f167904f9b82926c0a4262e59242c8f9",
      "parents": [
        "e404f91ed2180dfecbab15dd4d39c543353385fb",
        "82acf2a8fe4764e21a7ad406590453b004751e58"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:27:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:27:14 2010 -0700"
      },
      "message": "Merge branch \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6\n\n* \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:\n  SFI: remove the v0.7 related definitions from sfi.h\n"
    },
    {
      "commit": "31453a9764f7e2a72a6e2c502ace586e2663a68c",
      "tree": "5d4db63de5b4b85d1ffdab4e95a75175a784a10a",
      "parents": [
        "f9ba5375a8aae4aeea6be15df77e24707a429812",
        "93ed0e2d07b25aff4db1d61bfbcd1e82074c0ad5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:15:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:15:20 2010 -0700"
      },
      "message": "Merge branch \u0027akpm-incoming-1\u0027\n\n* akpm-incoming-1: (176 commits)\n  scripts/checkpatch.pl: add check for declaration of pci_device_id\n  scripts/checkpatch.pl: add warnings for static char that could be static const char\n  checkpatch: version 0.31\n  checkpatch: statement/block context analyser should look at sanitised lines\n  checkpatch: handle EXPORT_SYMBOL for DEVICE_ATTR and similar\n  checkpatch: clean up structure definition macro handline\n  checkpatch: update copyright dates\n  checkpatch: Add additional attribute #defines\n  checkpatch: check for incorrect permissions\n  checkpatch: ensure kconfig help checks only apply when we are adding help\n  checkpatch: simplify and consolidate \"missing space after\" checks\n  checkpatch: add check for space after struct, union, and enum\n  checkpatch: returning errno typically should be negative\n  checkpatch: handle casts better fixing false categorisation of : as binary\n  checkpatch: ensure we do not collapse bracketed sections into constants\n  checkpatch: suggest cleanpatch and cleanfile when appropriate\n  checkpatch: types may sit on a line on their own\n  checkpatch: fix regressions in \"fix handling of leading spaces\"\n  div64_u64(): improve precision on 32bit platforms\n  lib/parser: cleanup match_number()\n  ...\n"
    },
    {
      "commit": "658716d19f8f155c67d4677ba68034b8e492dfbe",
      "tree": "8743b9a16606a63dc33f93c580367baf36692454",
      "parents": [
        "5d051decfc27cdf33fbbd2bfca958d0d2c903569"
      ],
      "author": {
        "name": "Brian Behlendorf",
        "email": "behlendorf1@llnl.gov",
        "time": "Tue Oct 26 14:23:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "div64_u64(): improve precision on 32bit platforms\n\nThe current implementation of div64_u64 for 32bit systems returns an\napproximately correct result when the divisor exceeds 32bits.  Since doing\n64bit division using 32bit hardware is a long since solved problem we just\nuse one of the existing proven methods.\n\nAdditionally, add a div64_s64 function to correctly handle doing signed\n64bit division.\n\nAddresses https://bugzilla.redhat.com/show_bug.cgi?id\u003d616105\n\nSigned-off-by: Brian Behlendorf \u003cbehlendorf1@llnl.gov\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ben Woodard \u003cbwoodard@llnl.gov\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Mark Grondona \u003cmgrondona@llnl.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77006a0a828249dd69341f960043ee41e7487aa0",
      "tree": "e3524692543f73fe5c75f5aefad48fecf4cdb4bb",
      "parents": [
        "f5d87d851d76a390d0fab2f77bd1d563d69ee586"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Oct 26 14:22:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "ratelimit: add comment warning people off printk_ratelimit()\n\nprintk_ratelimit() was a bad idea - we don\u0027t want subsytem A causing\nratelimiting of subsystem B\u0027s messages.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5d87d851d76a390d0fab2f77bd1d563d69ee586",
      "tree": "4056332405b630e3bd2663beb3dcbf16955095cd",
      "parents": [
        "674dff6507d3f9b110219ea125cf5e1213c9acef"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: declare printk_ratelimit_state in ratelimit.h\n\nAdding declaration of printk_ratelimit_state in ratelimit.h removes\npotential build breakage and following sparse warning:\n\n kernel/printk.c:1426:1: warning: symbol \u0027printk_ratelimit_state\u0027 was not declared. Should it be static?\n\n[akpm@linux-foundation.org: remove unneeded ifdef]\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "766f9164193f6dda1497bbf3861060198421fb92",
      "tree": "a2fd9a8231d12b822721a4306b614dd0e2e0d9c0",
      "parents": [
        "4ce6494dbd8909718840bb88d5a699ef6ce5c212"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 26 14:22:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:15 2010 -0700"
      },
      "message": "kernel: remove PF_FLUSHER\n\nPF_FLUSHER is only ever set, not tested, remove it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "518de9b39e854542de59bfb8b9f61c8f7ecf808b",
      "tree": "06cd1dd303a1526501783589ec61696570c0ffa8",
      "parents": [
        "571428be550fbe37160596995e96ad398873fcbd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 26 14:22:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:15 2010 -0700"
      },
      "message": "fs: allow for more than 2^31 files\n\nRobin Holt tried to boot a 16TB system and found af_unix was overflowing\na 32bit value :\n\n\u003cquote\u003e\n\nWe were seeing a failure which prevented boot.  The kernel was incapable\nof creating either a named pipe or unix domain socket.  This comes down\nto a common kernel function called unix_create1() which does:\n\n        atomic_inc(\u0026unix_nr_socks);\n        if (atomic_read(\u0026unix_nr_socks) \u003e 2 * get_max_files())\n                goto out;\n\nThe function get_max_files() is a simple return of files_stat.max_files.\nfiles_stat.max_files is a signed integer and is computed in\nfs/file_table.c\u0027s files_init().\n\n        n \u003d (mempages * (PAGE_SIZE / 1024)) / 10;\n        files_stat.max_files \u003d n;\n\nIn our case, mempages (total_ram_pages) is approx 3,758,096,384\n(0xe0000000).  That leaves max_files at approximately 1,503,238,553.\nThis causes 2 * get_max_files() to integer overflow.\n\n\u003c/quote\u003e\n\nFix is to let /proc/sys/fs/file-nr \u0026 /proc/sys/fs/file-max use long\nintegers, and change af_unix to use an atomic_long_t instead of atomic_t.\n\nget_max_files() is changed to return an unsigned long.  get_nr_files() is\nchanged to return a long.\n\nunix_nr_socks is changed from atomic_t to atomic_long_t, while not\nstrictly needed to address Robin problem.\n\nBefore patch (on a 64bit kernel) :\n# echo 2147483648 \u003e/proc/sys/fs/file-max\n# cat /proc/sys/fs/file-max\n-18446744071562067968\n\nAfter patch:\n# echo 2147483648 \u003e/proc/sys/fs/file-max\n# cat /proc/sys/fs/file-max\n2147483648\n# cat /proc/sys/fs/file-nr\n704     0       2147483648\n\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nTested-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\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": "92b1f84d46b24675493d95a239eea2b07e5f13f8",
      "tree": "d81be3348c30402d623059c86259f83657900a0f",
      "parents": [
        "190420ab34ab4c077c641893ac19f364cf3606e4"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Tue Oct 26 14:22:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:14 2010 -0700"
      },
      "message": "drivers/misc: driver for APDS990X ALS and proximity sensors\n\nThis is a driver for Avago APDS990X combined ALS and proximity sensor.\n\nInterface is sysfs based.  The driver uses interrupts to provide new data.\nThe driver supports pm_runtime and regulator frameworks.\n\nSee Documentation/misc-devices/apds990x.txt for details\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "190420ab34ab4c077c641893ac19f364cf3606e4",
      "tree": "202b84214c818dff63eb4a0fe37d87679604d443",
      "parents": [
        "4b068de9ab1c404734fde90ce5d3f4f5b4f0b9d5"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Tue Oct 26 14:22:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:14 2010 -0700"
      },
      "message": "drivers/misc: driver for bh1770glc / sfh7770 ALS and proximity sensor\n\nThis is a driver for ROHM BH1770GLC and OSRAM SFH7770 combined ALS and\nproximity sensor.\n\nInterface is sysfs based.  The driver uses interrupts to provide new data.\n The driver supports pm_runtime and regulator frameworks.\n\nSee Documentation/misc-devices/bh1770glc.txt for details\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca1cab37d91cbe8a8333732540d43cabb54cfa85",
      "tree": "ea936dc8e5eb80b02fdf1d970bcb6f2e836051b9",
      "parents": [
        "99dc829256bb8cfcb1f58b7f118893fdbf608e60"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Oct 26 14:22:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:14 2010 -0700"
      },
      "message": "workqueues: s/ON_STACK/ONSTACK/\n\nSilly though it is, completions and wait_queue_heads use foo_ONSTACK\n(COMPLETION_INITIALIZER_ONSTACK, DECLARE_COMPLETION_ONSTACK,\n__WAIT_QUEUE_HEAD_INIT_ONSTACK and DECLARE_WAIT_QUEUE_HEAD_ONSTACK) so I\nguess workqueues should do the same thing.\n\ns/INIT_WORK_ON_STACK/INIT_WORK_ONSTACK/\ns/INIT_DELAYED_WORK_ON_STACK/INIT_DELAYED_WORK_ONSTACK/\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d88262623fb58853ed60fb110141c435de26e3de",
      "tree": "4dd45965a16b9aa64aa2dd975bf3a7ea04fffffc",
      "parents": [
        "d356c0b680d15e0187de48aa303e541b461ea794"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Oct 26 14:22:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:13 2010 -0700"
      },
      "message": "vmlinux.lds.h: lower init ramfs alignment to 4\n\nThe new init ramfs format (cpio based) requires an alignment of 4 (per the\ndocumentation and per the source files themselves).  As for compressed\nsources, the decompressors can all deal with unaligned buffers.\n\nThe cpio source is also found in the __init sections of the kernel, so\nonce they are read and expanded into a tmpfs, the source is freed.  That\nmeans there is no need to force page alignment here either.\n\nThis has been used on Blackfin systems for many releases without issue.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: \u003clinux-arch@vger.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": "d356c0b680d15e0187de48aa303e541b461ea794",
      "tree": "09a8ae27131b761c9f067d7eb397b05a54c1cd84",
      "parents": [
        "cd1c584f380183aca268d454c14b22d8454eac4f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Oct 26 14:22:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:13 2010 -0700"
      },
      "message": "vmlinux.lds.h: gather .data..shared_aligned sections in DATA_DATA\n\nWith the recent change \"net: remove time limit in process_backlog()\", the\nsoftnet_data variable changed from \"DEFINE_PER_CPU()\" to\n\"DEFINE_PER_CPU_ALIGNED()\" which moved it from the .data section to the\n.data.shared_align section.  I\u0027m not saying this patch is wrong, just that\nis what caused me to notice this larger problem.  No one else in the\nkernel is using this aligned macro variant, so I imagine that\u0027s why no one\nhas noticed yet.\n\nSince .data..shared_align isn\u0027t declared in any vmlinux files that I can\nsee, the linker just places it last.  This \"just works\" for most people,\nbut when building a ROM kernel on Blackfin systems, it causes section\noverlap errors:\n\nbfin-uclinux-ld.real:\n\tsection .init.data [00000000202e06b8 -\u003e 00000000202e48b7] overlaps\n\tsection .data.shared_aligned [00000000202e06b8 -\u003e 00000000202e0723]\n\nI imagine other arches which support the ROM config option and thus do\nfunky placement would see similar issues ...\n\nOn x86, it is stuck in a dedicated section at the end:\n [8] .data             PROGBITS ffffffff810ec000 2ec0000303a8 00 WA 0 0 4096\n [9] .data.shared_alig PROGBITS ffffffff8111c3c0 31c3c00000c8 00 WA 0 0 64\n\nSo make sure we include this section in the DATA_DATA macro so that it is\nplaced in the right location.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: \u003clinux-arch@vger.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": "b6472776816af1ed52848c93d26e3edb3b17adab",
      "tree": "16061177e89b8a958d97da231923ee24852f2f63",
      "parents": [
        "a55621f15bc61826969a29e111ba131a55ef45de"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Oct 26 14:22:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:13 2010 -0700"
      },
      "message": "modules: no need to align .modinfo strings\n\ngcc aligns strings as a performance consideration for those cases where\nstrings are being used a lot.\n\nTheir use is not performance critical, and hence it seems better to save\nsome space.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a55621f15bc61826969a29e111ba131a55ef45de",
      "tree": "902f9be35bdae39e835ae5c7eb3f79f23d274396",
      "parents": [
        "c925cf0b80cb486b31e1ec0e9f981d75a4b38453"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Oct 26 14:22:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:13 2010 -0700"
      },
      "message": "include/linux/kernel.h: add __must_check to strict_strto*()\n\nThe whole point to using the strict functions is to check the return\nvalue.  If you don\u0027t, strict_strto*() will return you uninitialised\ngarbage.  Offenders have been observed in the wild.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f27c85c56b32c42bcc54a43189c1e00fdceb23ec",
      "tree": "a3d8bd30d840082ea2709f47da5dca940aab0884",
      "parents": [
        "c5c6dd4e2dce3cb4d705d97183bc42b4e33e2606"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Tue Oct 26 14:22:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:12 2010 -0700"
      },
      "message": "kernel.h: add {min,max}3 macros\n\nIntroduce two additional min/max macros to compare three operands.  This\nwill save some cycles as well as some bytes on the stack and last but not\nleast more pleasing as macro nesting.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1ca7788dec6773b1a2bce51b7141948f2b8bccf",
      "tree": "500edef0ca88f398647f99e63be0a38307314319",
      "parents": [
        "7bbc0905ea4f7a471a7f79d0bea5d538f5114fc9"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Oct 26 14:22:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:10 2010 -0700"
      },
      "message": "mm: add vzalloc() and vzalloc_node() helpers\n\nAdd vzalloc() and vzalloc_node() to encapsulate the\nvmalloc-then-memset-zero operation.\n\nUse __GFP_ZERO to zero fill the allocated memory.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: 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": "16b56cf4b8a0fa9acc21bd2ad19839b917999b96",
      "tree": "174dcc56e46bf5f939824031957270b4a9f7a9c6",
      "parents": [
        "36deb0be314702627aeae1f5737fc84d01dc26c6"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:10 2010 -0700"
      },
      "message": "mm: fix sparse warnings on GFP_ZONE_TABLE/BAD\n\nIntroduce ___GFP_* masks in order for gfp_t to not be mixed with plain\nintegers which causes a lot of warnings like the following:\n\n warning: restricted gfp_t degrades to integer\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\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": "92c09c041f15fc88b35f8628e07639f52e1fbb38",
      "tree": "c9b91ace1405487a7a939229620d415461c76124",
      "parents": [
        "e199b5d1fed13f5e8f47a0ee8216f36244dad1f4"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:10 2010 -0700"
      },
      "message": "mm: declare some external symbols\n\nDeclare \u0027bdi_pending_list\u0027 and \u0027tag_pages_for_writeback()\u0027 to remove\nfollowing sparse warnings:\n\n mm/backing-dev.c:46:1: warning: symbol \u0027bdi_pending_list\u0027 was not declared. Should it be static?\n mm/page-writeback.c:825:6: warning: symbol \u0027tag_pages_for_writeback\u0027 was not declared. Should it be static?\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@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": "e9a81a821d7f9c5d899cc3acdeafbd884c2c48bb",
      "tree": "aff8d136fbe592eb31d6f7911b0d430b766d00d8",
      "parents": [
        "ea4525b6008fb29553306ec6719f8e6930ac9499"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:09 2010 -0700"
      },
      "message": "rmap: wrap page_check_address() using __cond_lock()\n\nThe page_check_address() conditionally grabs *@ptlp in case of returning\nnon-NULL.  Rename and wrap it using __cond_lock() removes following\nwarnings from sparse:\n\n mm/rmap.c:472:9: warning: context imbalance in \u0027page_mapped_in_vma\u0027 - unexpected unlock\n mm/rmap.c:524:9: warning: context imbalance in \u0027page_referenced_one\u0027 - unexpected unlock\n mm/rmap.c:706:9: warning: context imbalance in \u0027page_mkclean_one\u0027 - unexpected unlock\n mm/rmap.c:1066:9: warning: context imbalance in \u0027try_to_unmap_one\u0027 - unexpected unlock\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@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": "ea4525b6008fb29553306ec6719f8e6930ac9499",
      "tree": "1d168e0a05a5f2fc962b8a6e991a21b704ad6e0b",
      "parents": [
        "1b36ba815bd91f17e31277a44dd5c6b6a5a8d97e"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:09 2010 -0700"
      },
      "message": "rmap: annotate lock context change on page_[un]lock_anon_vma()\n\nThe page_lock_anon_vma() conditionally grabs RCU and anon_vma lock but\npage_unlock_anon_vma() releases them unconditionally.  This leads sparse\nto complain about context imbalance.  Annotate them.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@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": "25ca1d6c02fe1c6d90d918867ef670d323725458",
      "tree": "de1709dd1dc7e0b9e9bd91840beb02f12e56b7e0",
      "parents": [
        "e6223a3b19421e3a8df1352d21fd0d71093f44ae"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:21:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:09 2010 -0700"
      },
      "message": "mm: wrap get_locked_pte() using __cond_lock()\n\nThe get_locked_pte() conditionally grabs \u0027ptl\u0027 in case of returning\nnon-NULL.  This leads sparse to complain about context imbalance.  Rename\nand wrap it using __cond_lock() to make sparse happy.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@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": "d065bd810b6deb67d4897a14bfe21f8eb526ba99",
      "tree": "f58c59075732ec4ccba336278c9bdc7ff61bef94",
      "parents": [
        "b522c94da5d9cbc73f708be5e530ebc3bbd4a031"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue Oct 26 14:21:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:09 2010 -0700"
      },
      "message": "mm: retry page fault when blocking on disk transfer\n\nThis change reduces mmap_sem hold times that are caused by waiting for\ndisk transfers when accessing file mapped VMAs.\n\nIt introduces the VM_FAULT_ALLOW_RETRY flag, which indicates that the call\nsite wants mmap_sem to be released if blocking on a pending disk transfer.\nIn that case, filemap_fault() returns the VM_FAULT_RETRY status bit and\ndo_page_fault() will then re-acquire mmap_sem and retry the page fault.\n\nIt is expected that the retry will hit the same page which will now be\ncached, and thus it will complete with a low mmap_sem hold time.\n\nTests:\n\n- microbenchmark: thread A mmaps a large file and does random read accesses\n  to the mmaped area - achieves about 55 iterations/s. Thread B does\n  mmap/munmap in a loop at a separate location - achieves 55 iterations/s\n  before, 15000 iterations/s after.\n\n- We are seeing related effects in some applications in house, which show\n  significant performance regressions when running without this change.\n\n[akpm@linux-foundation.org: fix warning \u0026 crash]\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003clinux-arch@vger.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": "182fea8f48332de085c0ae936605cb72671db9f2",
      "tree": "6938047591e9077c416b972c176d4d1d716d95a7",
      "parents": [
        "ea05c8444e451f1cfbf78c68733e717ad7b8602b"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Oct 26 14:21:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:09 2010 -0700"
      },
      "message": "mm: remove alignment padding from anon_vma on (some) 64 bit builds\n\nReorder structure anon_vma to remove alignment padding on 64 builds when\n(CONFIG_KSM || CONFIG_MIGRATION).\nThis will shrink the size of the anon_vma structure from 40 to 32 bytes\n\u0026 allow more objects per slab in its kmem_cache.\n\nUnder slub the objects in the anon_vma kmem_cache will then be 40 bytes\nwith 102 objects per slab.  (On v2.6.36 without this patch,the size is 48\nbytes and 85 objects/slab.)\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nReviewed-by: Rik van Riel \u003criel@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": "3e4d3af501cccdc8a8cca41bdbe57d54ad7e7e73",
      "tree": "2ce507f7ec7275563653e52f18606aba4f99b7f1",
      "parents": [
        "61ecdb801ef2cd28e32442383106d7837d76deac"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 26 14:21:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:08 2010 -0700"
      },
      "message": "mm: stack based kmap_atomic()\n\nKeep the current interface but ignore the KM_type and use a stack based\napproach.\n\nThe advantage is that we get rid of crappy code like:\n\n\t#define __KM_PTE\t\t\t\\\n\t\t(in_nmi() ? KM_NMI_PTE : \t\\\n\t\t in_irq() ? KM_IRQ_PTE :\t\\\n\t\t KM_PTE0)\n\nand in general can stop worrying about what context we\u0027re in and what kmap\nslots might be appropriate for that.\n\nThe downside is that FRV kmap_atomic() gets more expensive.\n\nFor now we use a CPP trick suggested by Andrew:\n\n  #define kmap_atomic(page, args...) __kmap_atomic(page)\n\nto avoid having to touch all kmap_atomic() users in a single patch.\n\n[ not compiled on:\n  - mn10300: the arch doesn\u0027t actually build with highmem to begin with ]\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix up drivers/gpu/drm/i915/intel_overlay.c]\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Li Zefan \u003clizf@cn.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": "61ecdb801ef2cd28e32442383106d7837d76deac",
      "tree": "3ec4f04e09cc4a9b76dafaaa0c4dfd07e825e632",
      "parents": [
        "2e30244a7cc1ff09013a1238d415b4076406388e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 26 14:21:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:08 2010 -0700"
      },
      "message": "mm: strictly nested kmap_atomic()\n\nEnsure kmap_atomic() usage is strictly nested\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@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": "0e093d99763eb4cea09f8ca4f1d01f34e121d10b",
      "tree": "fad38f9c3651c81db298521141a79d9468f71986",
      "parents": [
        "08fc468f4eaf6683bae5bdb94743a09d8630cb80"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 26 14:21:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "writeback: do not sleep on the congestion queue if there are no congested BDIs or if significant congestion is not being encountered in the current zone\n\nIf congestion_wait() is called with no BDI congested, the caller will\nsleep for the full timeout and this may be an unnecessary sleep.  This\npatch adds a wait_iff_congested() that checks congestion and only sleeps\nif a BDI is congested else, it calls cond_resched() to ensure the caller\nis not hogging the CPU longer than its quota but otherwise will not sleep.\n\nThis is aimed at reducing some of the major desktop stalls reported during\nIO.  For example, while kswapd is operating, it calls congestion_wait()\nbut it could just have been reclaiming clean page cache pages with no\ncongestion.  Without this patch, it would sleep for a full timeout but\nafter this patch, it\u0027ll just call schedule() if it has been on the CPU too\nlong.  Similar logic applies to direct reclaimers that are not making\nenough progress.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d3579e8e61937cbba268ea9b218d006b6d64221",
      "tree": "4fa1863641343eee551681d60a823a84a2611289",
      "parents": [
        "bc57e00f5e0b2480ef222c775c49552d3a930db7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Oct 26 14:21:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "vmscan: narrow the scenarios in whcih lumpy reclaim uses synchrounous reclaim\n\nshrink_page_list() can decide to give up reclaiming a page under a\nnumber of conditions such as\n\n  1. trylock_page() failure\n  2. page is unevictable\n  3. zone reclaim and page is mapped\n  4. PageWriteback() is true\n  5. page is swapbacked and swap is full\n  6. add_to_swap() failure\n  7. page is dirty and gfpmask don\u0027t have GFP_IO, GFP_FS\n  8. page is pinned\n  9. IO queue is congested\n 10. pageout() start IO, but not finished\n\nWith lumpy reclaim, failures result in entering synchronous lumpy reclaim\nbut this can be unnecessary.  In cases (2), (3), (5), (6), (7) and (8),\nthere is no point retrying.  This patch causes lumpy reclaim to abort when\nit is known it will fail.\n\nCase (9) is more interesting. current behavior is,\n  1. start shrink_page_list(async)\n  2. found queue_congested()\n  3. skip pageout write\n  4. still start shrink_page_list(sync)\n  5. wait on a lot of pages\n  6. again, found queue_congested()\n  7. give up pageout write again\n\nSo, it\u0027s useless time wasting.  However, just skipping page reclaim is\nalso notgood as x86 allocating a huge page needs 512 pages for example.\nIt can have more dirty pages than queue congestion threshold (~\u003d128).\n\nAfter this patch, pageout() behaves as follows;\n\n - If order \u003e PAGE_ALLOC_COSTLY_ORDER\n\tIgnore queue congestion always.\n - If order \u003c\u003d PAGE_ALLOC_COSTLY_ORDER\n\tskip write page and disable lumpy reclaim.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Rik van Riel \u003criel@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": "52bb9198668968506f9d12bf35d7f5d3f094921e",
      "tree": "6e1f79c46de902c4462054803eb13115673f8c8c",
      "parents": [
        "e11da5b4fdf01d71d73c21cb92b00595b917d7fd"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 26 14:21:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "writeback: account for time spent congestion_waited\n\nThere is strong evidence to indicate a lot of time is being spent in\ncongestion_wait(), some of it unnecessarily.  This patch adds a tracepoint\nfor congestion_wait to record when congestion_wait() was called, how long\nthe timeout was for and how long it actually slept.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "e11da5b4fdf01d71d73c21cb92b00595b917d7fd",
      "tree": "30da286bac7533fba5c119396491ab05a92471fd",
      "parents": [
        "66d9a986cddbbc2ea5db013e7999c621a956cc47"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 26 14:21:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "tracing, vmscan: add trace events for LRU list shrinking\n\nThere have been numerous reports of stalls that pointed at the problem\nbeing somewhere in the VM.  There are multiple roots to the problems which\nmeans dealing with any of the root problems in isolation is tricky to\njustify on their own and they would still need integration testing.  This\npatch series puts together two different patch sets which in combination\nshould tackle some of the root causes of latency problems being reported.\n\nPatch 1 adds a tracepoint for shrink_inactive_list.  For this series, the\nmost important results is being able to calculate the scanning/reclaim\nratio as a measure of the amount of work being done by page reclaim.\n\nPatch 2 accounts for time spent in congestion_wait.\n\nPatches 3-6 were originally developed by Kosaki Motohiro but reworked for\nthis series.  It has been noted that lumpy reclaim is far too aggressive\nand trashes the system somewhat.  As SLUB uses high-order allocations, a\nlarge cost incurred by lumpy reclaim will be noticeable.  It was also\nreported during transparent hugepage support testing that lumpy reclaim\nwas trashing the system and these patches should mitigate that problem\nwithout disabling lumpy reclaim.\n\nPatch 7 adds wait_iff_congested() and replaces some callers of\ncongestion_wait().  wait_iff_congested() only sleeps if there is a BDI\nthat is currently congested.  Patch 8 notes that any BDI being congested\nis not necessarily a problem because there could be multiple BDIs of\nvarying speeds and numberous zones.  It attempts to track when a zone\nbeing reclaimed contains many pages backed by a congested BDI and if so,\nreclaimers wait on the congestion queue.\n\nI ran a number of tests with monitoring on X86, X86-64 and PPC64. Each\nmachine had 3G of RAM and the CPUs were\n\nX86:    Intel P4 2-core\nX86-64: AMD Phenom 4-core\nPPC64:  PPC970MP\n\nEach used a single disk and the onboard IO controller.  Dirty ratio was\nleft at 20.  I\u0027m just going to report for X86-64 and PPC64 in a vague\nattempt to keep this report short.  Four kernels were tested each based on\nv2.6.36-rc4\n\ntraceonly-v2r2:     Patches 1 and 2 to instrument vmscan reclaims and congestion_wait\nlowlumpy-v2r3:      Patches 1-6 to test if lumpy reclaim is better\nwaitcongest-v2r3:   Patches 1-7 to only wait on congestion\nwaitwriteback-v2r4: Patches 1-8 to detect when a zone is congested\n\nnocongest-v1r5: Patches 1-3 for testing wait_iff_congestion\nnodirect-v1r5:  Patches 1-10 to disable filesystem writeback for better IO\n\nThe tests run were as follows\n\nkernbench\n\tcompile-based benchmark. Smoke test performance\n\nsysbench\n\tOLTP read-only benchmark. Will be re-run in the future as read-write\n\nmicro-mapped-file-stream\n\tThis is a micro-benchmark from Johannes Weiner that accesses a\n\tlarge sparse-file through mmap(). It was configured to run in only\n\tsingle-CPU mode but can be indicative of how well page reclaim\n\tidentifies suitable pages.\n\nstress-highalloc\n\tTries to allocate huge pages under heavy load.\n\nkernbench, iozone and sysbench did not report any performance regression\non any machine.  sysbench did pressure the system lightly and there was\nreclaim activity but there were no difference of major interest between\nthe kernels.\n\nX86-64 micro-mapped-file-stream\n\n                                      traceonly-v2r2           lowlumpy-v2r3        waitcongest-v2r3     waitwriteback-v2r4\npgalloc_dma                       1639.00 (   0.00%)       667.00 (-145.73%)      1167.00 ( -40.45%)       578.00 (-183.56%)\npgalloc_dma32                  2842410.00 (   0.00%)   2842626.00 (   0.01%)   2843043.00 (   0.02%)   2843014.00 (   0.02%)\npgalloc_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgsteal_dma                        729.00 (   0.00%)        85.00 (-757.65%)       609.00 ( -19.70%)       125.00 (-483.20%)\npgsteal_dma32                  2338721.00 (   0.00%)   2447354.00 (   4.44%)   2429536.00 (   3.74%)   2436772.00 (   4.02%)\npgsteal_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_kswapd_dma                 1469.00 (   0.00%)       532.00 (-176.13%)      1078.00 ( -36.27%)       220.00 (-567.73%)\npgscan_kswapd_dma32            4597713.00 (   0.00%)   4503597.00 (  -2.09%)   4295673.00 (  -7.03%)   3891686.00 ( -18.14%)\npgscan_kswapd_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_direct_dma                   71.00 (   0.00%)       134.00 (  47.01%)       243.00 (  70.78%)       352.00 (  79.83%)\npgscan_direct_dma32             305820.00 (   0.00%)    280204.00 (  -9.14%)    600518.00 (  49.07%)    957485.00 (  68.06%)\npgscan_direct_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npageoutrun                       16296.00 (   0.00%)     21254.00 (  23.33%)     18447.00 (  11.66%)     20067.00 (  18.79%)\nallocstall                         443.00 (   0.00%)       273.00 ( -62.27%)       513.00 (  13.65%)      1568.00 (  71.75%)\n\nThese are based on the raw figures taken from /proc/vmstat.  It\u0027s a rough\nmeasure of reclaim activity.  Note that allocstall counts are higher\nbecause we are entering direct reclaim more often as a result of not\nsleeping in congestion.  In itself, it\u0027s not necessarily a bad thing.\nIt\u0027s easier to get a view of what happened from the vmscan tracepoint\nreport.\n\nFTrace Reclaim Statistics: vmscan\n\n                                traceonly-v2r2   lowlumpy-v2r3 waitcongest-v2r3 waitwriteback-v2r4\nDirect reclaims                                443        273        513       1568\nDirect reclaim pages scanned                305968     280402     600825     957933\nDirect reclaim pages reclaimed               43503      19005      30327     117191\nDirect reclaim write file async I/O              0          0          0          0\nDirect reclaim write anon async I/O              0          3          4         12\nDirect reclaim write file sync I/O               0          0          0          0\nDirect reclaim write anon sync I/O               0          0          0          0\nWake kswapd requests                        187649     132338     191695     267701\nKswapd wakeups                                   3          1          4          1\nKswapd pages scanned                       4599269    4454162    4296815    3891906\nKswapd pages reclaimed                     2295947    2428434    2399818    2319706\nKswapd reclaim write file async I/O              1          0          1          1\nKswapd reclaim write anon async I/O             59        187         41        222\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)         4.34       2.52       6.63       2.96\nTime kswapd awake (seconds)                  11.15      10.25      11.01      10.19\n\nTotal pages scanned                        4905237   4734564   4897640   4849839\nTotal pages reclaimed                      2339450   2447439   2430145   2436897\n%age total pages scanned/reclaimed          47.69%    51.69%    49.62%    50.25%\n%age total pages scanned/written             0.00%     0.00%     0.00%     0.00%\n%age  file pages scanned/written             0.00%     0.00%     0.00%     0.00%\nPercentage Time Spent Direct Reclaim        29.23%    19.02%    38.48%    20.25%\nPercentage Time kswapd Awake                78.58%    78.85%    76.83%    79.86%\n\nWhat is interesting here for nocongest in particular is that while direct\nreclaim scans more pages, the overall number of pages scanned remains the\nsame and the ratio of pages scanned to pages reclaimed is more or less the\nsame.  In other words, while we are sleeping less, reclaim is not doing\nmore work and as direct reclaim and kswapd is awake for less time, it\nwould appear to be doing less work.\n\nFTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited                87        196         64          0\nDirect time   congest     waited            4604ms     4732ms     5420ms        0ms\nDirect full   congest     waited                72        145         53          0\nDirect number conditional waited                 0          0        324       1315\nDirect time   conditional waited               0ms        0ms        0ms        0ms\nDirect full   conditional waited                 0          0          0          0\nKSwapd number congest     waited                20         10         15          7\nKSwapd time   congest     waited            1264ms      536ms      884ms      284ms\nKSwapd full   congest     waited                10          4          6          2\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\n\nThe vanilla kernel spent 8 seconds asleep in direct reclaim and no time at\nall asleep with the patches.\n\nMMTests Statistics: duration\nUser/Sys Time Running Test (seconds)         10.51     10.73      10.6     11.66\nTotal Elapsed Time (seconds)                 14.19     13.00     14.33     12.76\n\nOverall, the tests completed faster. It is interesting to note that backing off further\nwhen a zone is congested and not just a BDI was more efficient overall.\n\nPPC64 micro-mapped-file-stream\npgalloc_dma                    3024660.00 (   0.00%)   3027185.00 (   0.08%)   3025845.00 (   0.04%)   3026281.00 (   0.05%)\npgalloc_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgsteal_dma                    2508073.00 (   0.00%)   2565351.00 (   2.23%)   2463577.00 (  -1.81%)   2532263.00 (   0.96%)\npgsteal_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_kswapd_dma              4601307.00 (   0.00%)   4128076.00 ( -11.46%)   3912317.00 ( -17.61%)   3377165.00 ( -36.25%)\npgscan_kswapd_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_direct_dma               629825.00 (   0.00%)    971622.00 (  35.18%)   1063938.00 (  40.80%)   1711935.00 (  63.21%)\npgscan_direct_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npageoutrun                       27776.00 (   0.00%)     20458.00 ( -35.77%)     18763.00 ( -48.04%)     18157.00 ( -52.98%)\nallocstall                         977.00 (   0.00%)      2751.00 (  64.49%)      2098.00 (  53.43%)      5136.00 (  80.98%)\n\nSimilar trends to x86-64. allocstalls are up but it\u0027s not necessarily bad.\n\nFTrace Reclaim Statistics: vmscan\nDirect reclaims                                977       2709       2098       5136\nDirect reclaim pages scanned                629825     963814    1063938    1711935\nDirect reclaim pages reclaimed               75550     242538     150904     387647\nDirect reclaim write file async I/O              0          0          0          2\nDirect reclaim write anon async I/O              0         10          0          4\nDirect reclaim write file sync I/O               0          0          0          0\nDirect reclaim write anon sync I/O               0          0          0          0\nWake kswapd requests                        392119    1201712     571935     571921\nKswapd wakeups                                   3          2          3          3\nKswapd pages scanned                       4601307    4128076    3912317    3377165\nKswapd pages reclaimed                     2432523    2318797    2312673    2144616\nKswapd reclaim write file async I/O             20          1          1          1\nKswapd reclaim write anon async I/O             57        132         11        121\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)         6.19       7.30      13.04      10.88\nTime kswapd awake (seconds)                  21.73      26.51      25.55      23.90\n\nTotal pages scanned                        5231132   5091890   4976255   5089100\nTotal pages reclaimed                      2508073   2561335   2463577   2532263\n%age total pages scanned/reclaimed          47.95%    50.30%    49.51%    49.76%\n%age total pages scanned/written             0.00%     0.00%     0.00%     0.00%\n%age  file pages scanned/written             0.00%     0.00%     0.00%     0.00%\nPercentage Time Spent Direct Reclaim        18.89%    20.65%    32.65%    27.65%\nPercentage Time kswapd Awake                72.39%    80.68%    78.21%    77.40%\n\nAgain, a similar trend that the congestion_wait changes mean that direct\nreclaim scans more pages but the overall number of pages scanned while\nslightly reduced, are very similar.  The ratio of scanning/reclaimed\nremains roughly similar.  The downside is that kswapd and direct reclaim\nwas awake longer and for a larger percentage of the overall workload.\nIt\u0027s possible there were big differences in the amount of time spent\nreclaiming slab pages between the different kernels which is plausible\nconsidering that the micro tests runs after fsmark and sysbench.\n\nTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited               845       1312        104          0\nDirect time   congest     waited           19416ms    26560ms     7544ms        0ms\nDirect full   congest     waited               745       1105         72          0\nDirect number conditional waited                 0          0       1322       2935\nDirect time   conditional waited               0ms        0ms       12ms      312ms\nDirect full   conditional waited                 0          0          0          3\nKSwapd number congest     waited                39        102         75         63\nKSwapd time   congest     waited            2484ms     6760ms     5756ms     3716ms\nKSwapd full   congest     waited                20         48         46         25\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\n\nThe vanilla kernel spent 20 seconds asleep in direct reclaim and only\n312ms asleep with the patches.  The time kswapd spent congest waited was\nalso reduced by a large factor.\n\nMMTests Statistics: duration\nser/Sys Time Running Test (seconds)         26.58     28.05      26.9     28.47\nTotal Elapsed Time (seconds)                 30.02     32.86     32.67     30.88\n\nWith all patches applies, the completion times are very similar.\n\nX86-64 STRESS-HIGHALLOC\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nPass 1          82.00 ( 0.00%)    84.00 ( 2.00%)    85.00 ( 3.00%)    85.00 ( 3.00%)\nPass 2          90.00 ( 0.00%)    87.00 (-3.00%)    88.00 (-2.00%)    89.00 (-1.00%)\nAt Rest         92.00 ( 0.00%)    90.00 (-2.00%)    90.00 (-2.00%)    91.00 (-1.00%)\n\nSuccess figures across the board are broadly similar.\n\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nDirect reclaims                               1045        944        886        887\nDirect reclaim pages scanned                135091     119604     109382     101019\nDirect reclaim pages reclaimed               88599      47535      47863      46671\nDirect reclaim write file async I/O            494        283        465        280\nDirect reclaim write anon async I/O          29357      13710      16656      13462\nDirect reclaim write file sync I/O             154          2          2          3\nDirect reclaim write anon sync I/O           14594        571        509        561\nWake kswapd requests                          7491        933        872        892\nKswapd wakeups                                 814        778        731        780\nKswapd pages scanned                       7290822   15341158   11916436   13703442\nKswapd pages reclaimed                     3587336    3142496    3094392    3187151\nKswapd reclaim write file async I/O          91975      32317      28022      29628\nKswapd reclaim write anon async I/O        1992022     789307     829745     849769\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)      4588.93    2467.16    2495.41    2547.07\nTime kswapd awake (seconds)                2497.66    1020.16    1098.06    1176.82\n\nTotal pages scanned                        7425913  15460762  12025818  13804461\nTotal pages reclaimed                      3675935   3190031   3142255   3233822\n%age total pages scanned/reclaimed          49.50%    20.63%    26.13%    23.43%\n%age total pages scanned/written            28.66%     5.41%     7.28%     6.47%\n%age  file pages scanned/written             1.25%     0.21%     0.24%     0.22%\nPercentage Time Spent Direct Reclaim        57.33%    42.15%    42.41%    42.99%\nPercentage Time kswapd Awake                43.56%    27.87%    29.76%    31.25%\n\nScanned/reclaimed ratios again look good with big improvements in\nefficiency.  The Scanned/written ratios also look much improved.  With a\nbetter scanned/written ration, there is an expectation that IO would be\nmore efficient and indeed, the time spent in direct reclaim is much\nreduced by the full series and kswapd spends a little less time awake.\n\nOverall, indications here are that allocations were happening much faster\nand this can be seen with a graph of the latency figures as the\nallocations were taking place\nhttp://www.csn.ul.ie/~mel/postings/vmscanreduce-20101509/highalloc-interlatency-hydra-mean.ps\n\nFTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited              1333        204        169          4\nDirect time   congest     waited           78896ms     8288ms     7260ms      200ms\nDirect full   congest     waited               756         92         69          2\nDirect number conditional waited                 0          0         26        186\nDirect time   conditional waited               0ms        0ms        0ms     2504ms\nDirect full   conditional waited                 0          0          0         25\nKSwapd number congest     waited                 4        395        227        282\nKSwapd time   congest     waited             384ms    25136ms    10508ms    18380ms\nKSwapd full   congest     waited                 3        232         98        176\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\nKSwapd full   conditional waited               318          0        312          9\n\nOverall, the time spent speeping is reduced.  kswapd is still hitting\ncongestion_wait() but that is because there are callers remaining where it\nwasn\u0027t clear in advance if they should be changed to wait_iff_congested()\nor not.  Overall the sleep imes are reduced though - from 79ish seconds to\nabout 19.\n\nMMTests Statistics: duration\nUser/Sys Time Running Test (seconds)       3415.43   3386.65   3388.39    3377.5\nTotal Elapsed Time (seconds)               5733.48   3660.33   3689.41   3765.39\n\nWith the full series, the time to complete the tests are reduced by 30%\n\nPPC64 STRESS-HIGHALLOC\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nPass 1          17.00 ( 0.00%)    34.00 (17.00%)    38.00 (21.00%)    43.00 (26.00%)\nPass 2          25.00 ( 0.00%)    37.00 (12.00%)    42.00 (17.00%)    46.00 (21.00%)\nAt Rest         49.00 ( 0.00%)    43.00 (-6.00%)    45.00 (-4.00%)    51.00 ( 2.00%)\n\nSuccess rates there are *way* up particularly considering that the 16MB\nhuge pages on PPC64 mean that it\u0027s always much harder to allocate them.\n\nFTrace Reclaim Statistics: vmscan\n              stress-highalloc  stress-highalloc  stress-highalloc  stress-highalloc\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nDirect reclaims                                499        505        564        509\nDirect reclaim pages scanned                223478      41898      51818      45605\nDirect reclaim pages reclaimed              137730      21148      27161      23455\nDirect reclaim write file async I/O            399        136        162        136\nDirect reclaim write anon async I/O          46977       2865       4686       3998\nDirect reclaim write file sync I/O              29          0          1          3\nDirect reclaim write anon sync I/O           31023        159        237        239\nWake kswapd requests                           420        351        360        326\nKswapd wakeups                                 185        294        249        277\nKswapd pages scanned                      15703488   16392500   17821724   17598737\nKswapd pages reclaimed                     5808466    2908858    3139386    3145435\nKswapd reclaim write file async I/O         159938      18400      18717      13473\nKswapd reclaim write anon async I/O        3467554     228957     322799     234278\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)      9665.35    1707.81    2374.32    1871.23\nTime kswapd awake (seconds)                9401.21    1367.86    1951.75    1328.88\n\nTotal pages scanned                       15926966  16434398  17873542  17644342\nTotal pages reclaimed                      5946196   2930006   3166547   3168890\n%age total pages scanned/reclaimed          37.33%    17.83%    17.72%    17.96%\n%age total pages scanned/written            23.27%     1.52%     1.94%     1.43%\n%age  file pages scanned/written             1.01%     0.11%     0.11%     0.08%\nPercentage Time Spent Direct Reclaim        44.55%    35.10%    41.42%    36.91%\nPercentage Time kswapd Awake                86.71%    43.58%    52.67%    41.14%\n\nWhile the scanning rates are slightly up, the scanned/reclaimed and\nscanned/written figures are much improved.  The time spent in direct\nreclaim and with kswapd are massively reduced, mostly by the lowlumpy\npatches.\n\nFTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited               725        303        126          3\nDirect time   congest     waited           45524ms     9180ms     5936ms      300ms\nDirect full   congest     waited               487        190         52          3\nDirect number conditional waited                 0          0        200        301\nDirect time   conditional waited               0ms        0ms        0ms     1904ms\nDirect full   conditional waited                 0          0          0         19\nKSwapd number congest     waited                 0          2         23          4\nKSwapd time   congest     waited               0ms      200ms      420ms      404ms\nKSwapd full   congest     waited                 0          2          2          4\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\n\nNot as dramatic a story here but the time spent asleep is reduced and we\ncan still see what wait_iff_congested is going to sleep when necessary.\n\nMMTests Statistics: duration\nUser/Sys Time Running Test (seconds)      12028.09   3157.17   3357.79   3199.16\nTotal Elapsed Time (seconds)              10842.07   3138.72   3705.54   3229.85\n\nThe time to complete this test goes way down.  With the full series, we\nare allocating over twice the number of huge pages in 30% of the time and\nthere is a corresponding impact on the allocation latency graph available\nat.\n\nhttp://www.csn.ul.ie/~mel/postings/vmscanreduce-20101509/highalloc-interlatency-powyah-mean.ps\n\nThis patch:\n\nAdd a trace event for shrink_inactive_list() and updates the sample\npostprocessing script appropriately.  It can be used to determine how many\npages were reclaimed and for non-lumpy reclaim where exactly the pages\nwere reclaimed from.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "bce54bbfde07e8b300f39dae14756c12a6ceca65",
      "tree": "3256aeb02e34120b65a79bf4118e91969d933fca",
      "parents": [
        "79da826aee6a10902ef411bc65864bd02102fa83"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Oct 26 14:21:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "mm: fix typo in mm.h when NODE_NOT_IN_PAGE_FLAGS\n\nNODE_NOT_IN_PAGE_FLAGS is defined in mm.h when the node information is not\nstored in the page flags bitmap.\n\nUnfortunately, there\u0027s a typo in one of the checks for it.  This patch\nfixes it (s/NODE_NOT_IN_PAGEFLAGS/NODE_NOT_IN_PAGE_FLAGS/).  Since this\nhas been around for ages, I doubt it\u0027s been causing any serious problems.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea941f0e2a8c02ae876cd73deb4e1557248f258c",
      "tree": "d2006c10cce4f134dc83f7f5aaa1d0096902cc1a",
      "parents": [
        "f629d1c9bd0dbc44a6c4f9a4a67d1646c42bfc6f"
      ],
      "author": {
        "name": "Michael Rubin",
        "email": "mrubin@google.com",
        "time": "Tue Oct 26 14:21:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:06 2010 -0700"
      },
      "message": "writeback: add nr_dirtied and nr_written to /proc/vmstat\n\nTo help developers and applications gain visibility into writeback\nbehaviour adding two entries to vm_stat_items and /proc/vmstat.  This will\nallow us to track the \"written\" and \"dirtied\" counts.\n\n   # grep nr_dirtied /proc/vmstat\n   nr_dirtied 3747\n   # grep nr_written /proc/vmstat\n   nr_written 3618\n\nSigned-off-by: Michael Rubin \u003cmrubin@google.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f629d1c9bd0dbc44a6c4f9a4a67d1646c42bfc6f",
      "tree": "22ac36b494b40e17bfa68e85a094b9cc4b2f6093",
      "parents": [
        "0def08e3acc2c9c934e4671487029aed52202d42"
      ],
      "author": {
        "name": "Michael Rubin",
        "email": "mrubin@google.com",
        "time": "Tue Oct 26 14:21:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:06 2010 -0700"
      },
      "message": "mm: add account_page_writeback()\n\nTo help developers and applications gain visibility into writeback\nbehaviour this patch adds two counters to /proc/vmstat.\n\n  # grep nr_dirtied /proc/vmstat\n  nr_dirtied 3747\n  # grep nr_written /proc/vmstat\n  nr_written 3618\n\nThese entries allow user apps to understand writeback behaviour over time\nand learn how it is impacting their performance.  Currently there is no\nway to inspect dirty and writeback speed over time.  It\u0027s not possible for\nnr_dirty/nr_writeback.\n\nThese entries are necessary to give visibility into writeback behaviour.\nWe have /proc/diskstats which lets us understand the io in the block\nlayer.  We have blktrace for more in depth understanding.  We have\ne2fsprogs and debugsfs to give insight into the file systems behaviour,\nbut we don\u0027t offer our users the ability understand what writeback is\ndoing.  There is no way to know how active it is over the whole system, if\nit\u0027s falling behind or to quantify it\u0027s efforts.  With these values\nexported users can easily see how much data applications are sending\nthrough writeback and also at what rates writeback is processing this\ndata.  Comparing the rates of change between the two allow developers to\nsee when writeback is not able to keep up with incoming traffic and the\nrate of dirty memory being sent to the IO back end.  This allows folks to\nunderstand their io workloads and track kernel issues.  Non kernel\nengineers at Google often use these counters to solve puzzling performance\nproblems.\n\nPatch #4 adds a pernode vmstat file with nr_dirtied and nr_written\n\nPatch #5 add writeback thresholds to /proc/vmstat\n\nCurrently these values are in debugfs. But they should be promoted to\n/proc since they are useful for developers who are writing databases\nand file servers and are not debugging the kernel.\n\nThe output is as below:\n\n # grep threshold /proc/vmstat\n nr_pages_dirty_threshold 409111\n nr_pages_dirty_background_threshold 818223\n\nThis patch:\n\nThis allows code outside of the mm core to safely manipulate page\nwriteback state and not worry about the other accounting.  Not using these\nroutines means that some code will lose track of the accounting and we get\nbugs.\n\nModify nilfs2 to use interface.\n\nSigned-off-by: Michael Rubin \u003cmrubin@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49ac825587f33afec8841b7fab2eb4db775014e6",
      "tree": "6364721274c451fca7fc4fcea4e6cc533e630140",
      "parents": [
        "4b20477f588055fbe87e69435d3c2344d250f0d7"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Oct 26 14:21:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:06 2010 -0700"
      },
      "message": "memory hotplug: unify is_removable and offline detection code\n\nNow, sysfs interface of memory hotplug shows whether the section is\nremovable or not.  But it checks only migrateype of pages and doesn\u0027t\ncheck details of cluster of pages.\n\nNext, memory hotplug\u0027s set_migratetype_isolate() has the same kind of\ncheck, too.\n\nThis patch adds the function __count_unmovable_pages() and makes above 2\nchecks to use the same logic.  Then, is_removable and hotremove code uses\nthe same logic.  No changes in the hotremove logic itself.\n\nTODO: need to find a way to check RECLAMABLE. But, considering bit,\n      calling shrink_slab() against a range before starting memory hotremove\n      sounds better. If so, this patch\u0027s logic doesn\u0027t need to be changed.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReported-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\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": "e4455abb50a19562dbfdc51a8424fda9b588bd6d",
      "tree": "add38aec00027e9a115778425a41d3d075a9ced6",
      "parents": [
        "f19e77a3dc884510dba740caa6dee126b7d40156"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Tue Oct 26 14:21:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:05 2010 -0700"
      },
      "message": "mm: only build per-node scan_unevictable functions when NUMA is enabled\n\nNon-NUMA systems do never create these files anyway, since they are only\ncreated by driver subsystem when NUMA is configured.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f19e77a3dc884510dba740caa6dee126b7d40156",
      "tree": "aaca7834503416d3c46b123c5282bd6dca1fe980",
      "parents": [
        "1b430beee5e388605dfb092b214ef0320f752cf6"
      ],
      "author": {
        "name": "zeal",
        "email": "zealcook@gmail.com",
        "time": "Tue Oct 26 14:21:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:05 2010 -0700"
      },
      "message": "include/linux/pageblock-flags.h: fix set_pageblock_flags() macro definiton\n\nThe presently-unused macro was missing one parameter.\n\nSigned-off-by: zeal \u003czealcook@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b430beee5e388605dfb092b214ef0320f752cf6",
      "tree": "c1b1ece282aab771fd1386a3fe0c6e82cb5c5bfe",
      "parents": [
        "d19d5476f4b9f91d2de92b91588bb118beba6c0d"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Oct 26 14:21:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:05 2010 -0700"
      },
      "message": "writeback: remove nonblocking/encountered_congestion references\n\nThis removes more dead code that was somehow missed by commit 0d99519efef\n(writeback: remove unused nonblocking and congestion checks).  There are\nno behavior change except for the removal of two entries from one of the\next4 tracing interface.\n\nThe nonblocking checks in -\u003ewritepages are no longer used because the\nflusher now prefer to block on get_request_wait() than to skip inodes on\nIO congestion.  The latter will lead to more seeky IO.\n\nThe nonblocking checks in -\u003ewritepage are no longer used because it\u0027s\nredundant with the WB_SYNC_NONE check.\n\nWe no long set -\u003enonblocking in VM page out and page migration, because\na) it\u0027s effectively redundant with WB_SYNC_NONE in current code\nb) it\u0027s old semantic of \"Don\u0027t get stuck on request queues\" is mis-behavior:\n   that would skip some dirty inodes on congestion and page out others, which\n   is unfair in terms of LRU age.\n\nInspired by Christoph Hellwig. Thanks!\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Sage Weil \u003csage@newdream.net\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "3d5992d2ac7dc09aed8ab537cba074589f0f0a52"
}
