)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "3d5992d2ac7dc09aed8ab537cba074589f0f0a52",
      "tree": "0fbb51026e8aa13ddd7a6516c04471ceb97bc277",
      "parents": [
        "0f4d208f1975f16f269134cee5f44c1f048581da"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Tue Oct 26 14:21:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:05 2010 -0700"
      },
      "message": "oom: add per-mm oom disable count\n\nIt\u0027s pointless to kill a task if another thread sharing its mm cannot be\nkilled to allow future memory freeing.  A subsequent patch will prevent\nkills in such cases, but first it\u0027s necessary to have a way to flag a task\nthat shares memory with an OOM_DISABLE task that doesn\u0027t incur an\nadditional tasklist scan, which would make select_bad_process() an O(n^2)\nfunction.\n\nThis patch adds an atomic counter to struct mm_struct that follows how\nmany threads attached to it have an oom_score_adj of OOM_SCORE_ADJ_MIN.\nThey cannot be killed by the kernel, so their memory cannot be freed in\noom conditions.\n\nThis only requires task_lock() on the task that we\u0027re operating on, it\ndoes not require mm-\u003emmap_sem since task_lock() pins the mm and the\noperation is atomic.\n\n[rientjes@google.com: changelog and sys_unshare() code]\n[rientjes@google.com: protect oom_disable_count with task_lock in fork]\n[rientjes@google.com: use old_mm for oom_disable_count in exec]\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.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": "52c5171214ff3327961d0ce0db7e8d2ce55004fd",
      "tree": "705e7f51b39f4e8af767cc2a8df19e9e78f15000",
      "parents": [
        "1b627d5771312c92404b66f0a0b16f66036dd2e1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Oct 26 14:21:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:04 2010 -0700"
      },
      "message": "kfifo: disable __kfifo_must_check_helper()\n\nThis helper is wrong: it coerces signed values into unsigned ones, so code\nsuch as\n\n\tif (kfifo_alloc(...) \u003c 0) {\n\t\terror\n\t}\n\nwill fail to detect the error.\n\nSo let\u0027s disable __kfifo_must_check_helper() for 2.6.36.\n\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a75d377686037982cbec320bb770b19fe7be6a5d",
      "tree": "878d06a0c4d3f6c86c4e6959e38289631729d09f",
      "parents": [
        "f8f72ad5396987e05a42cf7eff826fb2a15ff148"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Oct 26 14:21:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:03 2010 -0700"
      },
      "message": "types.h: move misplaced comment\n\nThis comment landed in the wrong place.\n\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "116e9535fe5e00bafab7a637f306b110cf95cff5",
      "tree": "59ab246aae5c0fc871434a50ad1eb42fce0af0b4",
      "parents": [
        "fc4ec9bd82dbe08499d801f45a1d49e4c7b66b20",
        "97cb7e40c69618ba03030b467faf60dc3ee982ee",
        "ca7cf94f8bf77bf0dfb35b615d82ac76a0ed77ff",
        "aa1ad26089a90d5b7e2c908835ba6dc930eed019",
        "625fbd3a36d836efaaee4b6d9c2fcd25e3654624",
        "8ad330a002ffbc422f32a77398666832f0df8a3d",
        "c3aa9b186b95025d4ba4e90d6140c9887dfaae0a",
        "7454159d3c01371c1abed9d941044d95d2efde97",
        "d0d68b8693bd16bfbbc93b89f1d9f3351723307c",
        "52106bd24c8d5e8a26b98ad93a755b0827029860",
        "2ca78d23a758d3299abd128556debff4c1fefb16",
        "19081f31ce941a22bfc681d18ae2d31e31084df5"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 26 16:09:11 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 26 16:09:11 2010 -0700"
      },
      "message": "Merge branches \u0027amso1100\u0027, \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027ehca\u0027, \u0027iboe\u0027, \u0027ipoib\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027nes\u0027, \u0027qib\u0027 and \u0027srp\u0027 into for-next\n"
    },
    {
      "commit": "7e31842441776b4d6ec7fd916c91663ad05b7814",
      "tree": "8d97d41b4f6861dcbc0dc3ac96fab7afddbed731",
      "parents": [
        "1bd64d42abdd4f9d44f77011a31f0292112f4c3b",
        "b1d248d96c71665c79befb81207f38f894c7c082"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Oct 26 14:51:00 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Oct 26 14:51:00 2010 -0400"
      },
      "message": "Merge branch \u0027misc\u0027 into release\n"
    },
    {
      "commit": "1bd64d42abdd4f9d44f77011a31f0292112f4c3b",
      "tree": "6eae9454b9a30813b75cfa55680b7fc13a5e110c",
      "parents": [
        "4895ae6f9f81011bf3a6fea70d46bab08d58fd8c",
        "4a3cba5e72a5232842ff7c1ca691ec3450af64b9"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Oct 26 14:50:56 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Oct 26 14:50:56 2010 -0400"
      },
      "message": "Merge branch \u0027acpi-mmio\u0027 into release\n\nConflicts:\n\tdrivers/acpi/osl.c\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f9ba5375a8aae4aeea6be15df77e24707a429812",
      "tree": "c6388d7e40f0f6a70d7ba6a4d4aeaa0d1f5591f6",
      "parents": [
        "45352bbf48e95078b4acd20774f49e72676e1e0f",
        "bade72d607c4eb1b1d6c7852c493b75f065a56b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 11:37:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 11:37:48 2010 -0700"
      },
      "message": "Merge branch \u0027ima-memory-use-fixes\u0027\n\n* ima-memory-use-fixes:\n  IMA: fix the ToMToU logic\n  IMA: explicit IMA i_flag to remove global lock on inode_delete\n  IMA: drop refcnt from ima_iint_cache since it isn\u0027t needed\n  IMA: only allocate iint when needed\n  IMA: move read counter into struct inode\n  IMA: use i_writecount rather than a private counter\n  IMA: use inode-\u003ei_lock to protect read and write counters\n  IMA: convert internal flags from long to char\n  IMA: use unsigned int instead of long for counters\n  IMA: drop the inode opencount since it isn\u0027t needed for operation\n  IMA: use rbtree instead of radix tree for inode information cache\n"
    },
    {
      "commit": "196f518128d2ee6e0028b50e6fec0313640db142",
      "tree": "43a1d76bee477dbaa682233979e86f58a98369f0",
      "parents": [
        "64c62f06bef8314a64d3189cb9c78062d54169b3"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Oct 25 14:42:19 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 11:37:19 2010 -0700"
      },
      "message": "IMA: explicit IMA i_flag to remove global lock on inode_delete\n\nCurrently for every removed inode IMA must take a global lock and search\nthe IMA rbtree looking for an associated integrity structure.  Instead\nwe explicitly mark an inode when we add an integrity structure so we\nonly have to take the global lock and do the removal if it exists.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Mimi Zohar \u003czohar@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a178d2027d3198b0a04517d764326ab71cd73da2",
      "tree": "d81b9336328ba1741231b318a6f8187f627581fd",
      "parents": [
        "b9593d309d17c57e9ddc3934d641902533896ca9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Oct 25 14:41:59 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 11:37:18 2010 -0700"
      },
      "message": "IMA: move read counter into struct inode\n\nIMA currently allocated an inode integrity structure for every inode in\ncore.  This stucture is about 120 bytes long.  Most files however\n(especially on a system which doesn\u0027t make use of IMA) will never need\nany of this space.  The problem is that if IMA is enabled we need to\nknow information about the number of readers and the number of writers\nfor every inode on the box.  At the moment we collect that information\nin the per inode iint structure and waste the rest of the space.  This\npatch moves those counters into the struct inode so we can eventually\nstop allocating an IMA integrity structure except when absolutely\nneeded.\n\nThis patch does the minimum needed to move the location of the data.\nFurther cleanups, especially the location of counter updates, may still\nbe possible.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Mimi Zohar \u003czohar@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45352bbf48e95078b4acd20774f49e72676e1e0f",
      "tree": "7c7121dae3f4ecebb1c08cea5f3b3d1c6c531756",
      "parents": [
        "da62aa69c181e3bd465a5c868ece166921a81e14",
        "57894517139b283a3cf27e36b29b4b4d7c45b303"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 10:14:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 10:14:23 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6:\n  power_supply: Makefile cleanup\n  bq27x00_battery: Add missing kfree(di-\u003ebus) in bq27x00_battery_remove()\n  power_supply: Introduce maximum current property\n  power_supply: Add types for USB chargers\n  ds2782_battery: Fix units\n  power_supply: Add driver for TWL4030/TPS65950 BCI charger\n  bq20z75: Add support for more power supply properties\n  wm831x_power: Add missing kfree(wm831x_power) in wm831x_power_remove()\n  jz4740-battery: Add missing kfree(jz_battery) in jz_battery_remove()\n  ds2760_battery: Add missing kfree(di) in ds2760_battery_remove()\n  olpc_battery: Fix endian neutral breakage for s16 values\n  ds2760_battery: Fix W1 and W1_SLAVE_DS2760 dependency\n  pcf50633-charger: Add missing sysfs_remove_group()\n  power_supply: Add driver for TI BQ20Z75 gas gauge IC\n  wm831x_power: Remove duplicate chg mask\n  omap: rx51: Add support for USB chargers\n  power_supply: Add isp1704 charger detection driver\n"
    },
    {
      "commit": "f1ebdd60cc73ed36fd977f7e719ce70d2f5cd1c0",
      "tree": "225cb2ea2c0f8990f29383058a07206cfd835893",
      "parents": [
        "f99d055398d53c8f769d5153b3fdce1d2556e7ff",
        "46e387bbd82d438b9131e237e6e2cb55a825da49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 10:13:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 10:13:10 2010 -0700"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (22 commits)\n  Add _addr_lsb field to ia64 siginfo\n  Fix migration.c compilation on s390\n  HWPOISON: Remove retry loop for try_to_unmap\n  HWPOISON: Turn addr_valid from bitfield into char\n  HWPOISON: Disable DEBUG by default\n  HWPOISON: Convert pr_debugs to pr_info\n  HWPOISON: Improve comments in memory-failure.c\n  x86: HWPOISON: Report correct address granuality for huge hwpoison faults\n  Encode huge page size for VM_FAULT_HWPOISON errors\n  Fix build error with !CONFIG_MIGRATION\n  hugepage: move is_hugepage_on_freelist inside ifdef to avoid warning\n  Clean up __page_set_anon_rmap\n  HWPOISON, hugetlb: fix unpoison for hugepage\n  HWPOISON, hugetlb: soft offlining for hugepage\n  HWPOSION, hugetlb: recover from free hugepage error when !MF_COUNT_INCREASED\n  hugetlb: move refcounting in hugepage allocation inside hugetlb_lock\n  HWPOISON, hugetlb: add free check to dequeue_hwpoison_huge_page()\n  hugetlb: hugepage migration core\n  hugetlb: redefine hugepage copy functions\n  hugetlb: add allocate function for hugepage migration\n  ...\n"
    },
    {
      "commit": "4390110fef9e5c64e10c6ca19d586932242c9a8a",
      "tree": "f2f26fe291c8b4e424b97ac57370b33e0c006568",
      "parents": [
        "a4dd8dce14014665862ce7911b38cb2c69e366dd",
        "42d7ba3d6d56a6cbc773284896108b1e2ebcee81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux: (99 commits)\n  svcrpc: svc_tcp_sendto XPT_DEAD check is redundant\n  svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue\n  svcrpc: assume svc_delete_xprt() called only once\n  svcrpc: never clear XPT_BUSY on dead xprt\n  nfsd4: fix connection allocation in sequence()\n  nfsd4: only require krb5 principal for NFSv4.0 callbacks\n  nfsd4: move minorversion to client\n  nfsd4: delay session removal till free_client\n  nfsd4: separate callback change and callback probe\n  nfsd4: callback program number is per-session\n  nfsd4: track backchannel connections\n  nfsd4: confirm only on succesful create_session\n  nfsd4: make backchannel sequence number per-session\n  nfsd4: use client pointer to backchannel session\n  nfsd4: move callback setup into session init code\n  nfsd4: don\u0027t cache seq_misordered replies\n  SUNRPC: Properly initialize sock_xprt.srcaddr in all cases\n  SUNRPC: Use conventional switch statement when reclassifying sockets\n  sunrpc/xprtrdma: clean up workqueue usage\n  sunrpc: Turn list_for_each-s into the ..._entry-s\n  ...\n\nFix up trivial conflicts (two different deprecation notices added in\nseparate branches) in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "a4dd8dce14014665862ce7911b38cb2c69e366dd",
      "tree": "00e79b2845d5d49abcd83cf253db83a52d482265",
      "parents": [
        "b18cae4224bde7e5a332c19bc99247b2098ea232",
        "411b5e05617593efebc06241dbc56f42150f2abe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  net/sunrpc: Use static const char arrays\n  nfs4: fix channel attribute sanity-checks\n  NFSv4.1: Use more sensible names for \u0027initialize_mountpoint\u0027\n  NFSv4.1: pnfs: filelayout: add driver\u0027s LAYOUTGET and GETDEVICEINFO infrastructure\n  NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure\n  NFS: client needs to maintain list of inodes with active layouts\n  NFS: create and destroy inode\u0027s layout cache\n  NFSv4.1: pnfs: filelayout: introduce minimal file layout driver\n  NFSv4.1: pnfs: full mount/umount infrastructure\n  NFS: set layout driver\n  NFS: ask for layouttypes during v4 fsinfo call\n  NFS: change stateid to be a union\n  NFSv4.1: pnfsd, pnfs: protocol level pnfs constants\n  SUNRPC: define xdr_decode_opaque_fixed\n  NFSD: remove duplicate NFS4_STATEID_SIZE\n"
    },
    {
      "commit": "4833c16dea61cb30d6f77dfec3067a08ba79b361",
      "tree": "fdf6cd3a851bca2c8c9db2e751abd5eddfcb2f66",
      "parents": [
        "e0e170bd7ded2ec16e2813d63c0faff43193fde8",
        "ad3e01a331435a06055cdaf19cc973dd138dc925"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 18:41:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 18:41:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:\n  Blackfin: fix inverted anomaly 05000481 logic\n  Blackfin: drop unused irq_panic()/DEBUG_ICACHE_CHECK\n  Blackfin: ppi/spi/twi headers: add missing __BFP undef\n  Blackfin: update defconfigs\n  Blackfin: bfin_twi.h: start a common TWI header\n  netdev: bfin_mac: push settings to platform resources\n"
    },
    {
      "commit": "7ccf19a8042e343f8159f8a5fdd6a9422aa90c78",
      "tree": "9a69aaad6eb8992cae06f44dfea8c1d94f2a7f99",
      "parents": [
        "a5491e0c7bb7387e3e6ff9994d6dc2efc78af56c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Oct 21 11:49:30 2010 +1100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:15 2010 -0400"
      },
      "message": "fs: inode split IO and LRU lists\n\nThe use of the same inode list structure (inode-\u003ei_list) for two\ndifferent list constructs with different lifecycles and purposes\nmakes it impossible to separate the locking of the different\noperations. Therefore, to enable the separation of the locking of\nthe writeback and reclaim lists, split the inode-\u003ei_list into two\nseparate lists dedicated to their specific tracking functions.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "312d3ca856d369bb04d0443846b85b4cdde6fa8a",
      "tree": "cf95d01cffaf02bf53c2bb0f7c2c924279ec6eeb",
      "parents": [
        "9c82ab9c9e16cb9edf17bd0d31f3d6904afce04f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 10 05:36:23 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:12 2010 -0400"
      },
      "message": "fs: use percpu counter for nr_dentry and nr_dentry_unused\n\nThe nr_dentry stat is a globally touched cacheline and atomic operation\ntwice over the lifetime of a dentry. It is used for the benfit of userspace\nonly. Turn it into a per-cpu counter and always decrement it in d_free instead\nof doing various batching operations to reduce lock hold times in the callers.\n\nBased on an earlier patch from Nick Piggin \u003cnpiggin@suse.de\u003e.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "85fe4025c616a7c0ed07bc2fc8c5371b07f3888c",
      "tree": "7a5db7accb6192f2911f2473b4e3191227b914cc",
      "parents": [
        "f991bd2e14210fb93d722cb23e54991de20e8a3d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 23 11:19:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "fs: do not assign default i_ino in new_inode\n\nInstead of always assigning an increasing inode number in new_inode\nmove the call to assign it into those callers that actually need it.\nFor now callers that need it is estimated conservatively, that is\nthe call is added to all filesystems that do not assign an i_ino\nby themselves.  For a few more filesystems we can avoid assigning\nany inode number given that they aren\u0027t user visible, and for others\nit could be done lazily when an inode number is actually needed,\nbut that\u0027s left for later patches.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f",
      "tree": "88787e77ba8a253d0a26aeda4bd5e58532d592e0",
      "parents": [
        "646ec4615cd05972581c9c5342ed7a1e77df17bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 11:11:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "new helper: ihold()\n\nClones an existing reference to inode; caller must already hold one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "646ec4615cd05972581c9c5342ed7a1e77df17bb",
      "tree": "23c252d906f5356205b4d42c4ff9b4e6f70ebca2",
      "parents": [
        "f7899bd5472e8e99741369b4a32eca44e5282a85"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 23 07:15:32 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:10 2010 -0400"
      },
      "message": "fs: remove inode_add_to_list/__inode_add_to_list\n\nSplit up inode_add_to_list/__inode_add_to_list.  Locking for the two\nlists will be split soon so these helpers really don\u0027t buy us much\nanymore.\n\nThe __ prefixes for the sb list helpers will go away soon, but until\ninode_lock is gone we\u0027ll need them to distinguish between the locked\nand unlocked variants.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9e38d86ff2d8a8db99570e982230861046df32b5",
      "tree": "7ea2ceea24a4e070259a4585b2748c9e2c070ee0",
      "parents": [
        "cffbc8aa334f55c9ed42d25202eb3ebf3a97c195"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 23 06:55:17 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:09 2010 -0400"
      },
      "message": "fs: Implement lazy LRU updates for inodes\n\nConvert the inode LRU to use lazy updates to reduce lock and\ncacheline traffic.  We avoid moving inodes around in the LRU list\nduring iget/iput operations so these frequent operations don\u0027t need\nto access the LRUs. Instead, we defer the refcount checks to\nreclaim-time and use a per-inode state flag, I_REFERENCED, to tell\nreclaim that iget has touched the inode in the past. This means that\nonly reclaim should be touching the LRU with any frequency, hence\nsignificantly reducing lock acquisitions and the amount contention\non LRU updates.\n\nThis also removes the inode_in_use list, which means we now only\nhave one list for tracking the inode LRU status. This makes it much\nsimpler to split out the LRU list operations under it\u0027s own lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cffbc8aa334f55c9ed42d25202eb3ebf3a97c195",
      "tree": "dab046695754e2cec1a7ab7a64b236e976d94360",
      "parents": [
        "be1a16a0ae29a7c90081a657b64aa51cb1a65a27"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Sat Oct 23 05:03:02 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:09 2010 -0400"
      },
      "message": "fs: Convert nr_inodes and nr_unused to per-cpu counters\n\nThe number of inodes allocated does not need to be tied to the\naddition or removal of an inode to/from a list. If we are not tied\nto a list lock, we could update the counters when inodes are\ninitialised or destroyed, but to do that we need to convert the\ncounters to be per-cpu (i.e. independent of a lock). This means that\nwe have the freedom to change the list/locking implementation\nwithout needing to care about the counters.\n\nBased on a patch originally from Eric Dumazet.\n\n[AV: cleaned up a bit, fixed build breakage on weird configs\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "756acc2d61712a8cafe2aa6ad626c60a185d3645",
      "tree": "72473307f7789b2dafa4b7ca2facc6427f83a283",
      "parents": [
        "1d3382cbf02986e4833849f528d451367ea0b4cb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 15:23:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:24:15 2010 -0400"
      },
      "message": "list.h: new helper - hlist_add_fake()\n\nMake node look as if it was on hlist, with hlist_del()\nworking correctly.  Usable without any locking...\n\nConvert a couple of places where we want to do that to\ninode-\u003ei_hash.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1d3382cbf02986e4833849f528d451367ea0b4cb",
      "tree": "b754f9903c0f77ce40dcff18030b49d0ce213eab",
      "parents": [
        "a8dade34e3df581bc36ca2afe6e27055e178801c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 15:19:20 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:24:15 2010 -0400"
      },
      "message": "new helper: inode_unhashed()\n\nnote: for race-free uses you inode_lock held\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a8dade34e3df581bc36ca2afe6e27055e178801c",
      "tree": "8c1598922eb17d5626f639a4c94256f25a8e6690",
      "parents": [
        "61ebdb4254e3ecb59022d2c730b57b04d0eeecc6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 24 11:13:10 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:23:32 2010 -0400"
      },
      "message": "unexport invalidate_inodes\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4a3956c790290efeb647bbb0c3a90476bb57800e",
      "tree": "18abb41325273d23ae271e49627f01054c5baeb6",
      "parents": [
        "ba10f486658c0ca1bc84c936f6a996e40d071453"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Oct 01 14:20:22 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:21 2010 -0400"
      },
      "message": "vfs: introduce FMODE_UNSIGNED_OFFSET for allowing negative f_pos\n\nNow, rw_verify_area() checsk f_pos is negative or not.  And if negative,\nreturns -EINVAL.\n\nBut, some special files as /dev/(k)mem and /proc/\u003cpid\u003e/mem etc..  has\nnegative offsets.  And we can\u0027t do any access via read/write to the\nfile(device).\n\nSo introduce FMODE_UNSIGNED_OFFSET to allow negative file offsets.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e360c38abe2c70eae3ba5a8a17f17671d8b77c5",
      "tree": "319034360c667ac704bce87b1a0856657bf67e4b",
      "parents": [
        "fde214d414218fb6cace35708730986bcc94fb53"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 05 09:32:55 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:20 2010 -0400"
      },
      "message": "fs: allow for more than 2^31 files\n\nAndrew,\n\nCould you please review this patch, you probably are the right guy to\ntake it, because it crosses fs and net trees.\n\nNote : /proc/sys/fs/file-nr is a read-only file, so this patch doesnt\ndepend on previous patch (sysctl: fix min/max handling in\n__do_proc_doulongvec_minmax())\n\nThanks !\n\n[PATCH V4] 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\natomic_t.\n\nget_max_files() is changed to return an unsigned long.\nget_nr_files() is changed 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\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebdec241d509cf69f6ebf1ecdc036359d3dbe154",
      "tree": "e3c23f9b213936cb8501c83f55522a01f4a69aca",
      "parents": [
        "56b0dacfa2b8416815a2f2a5f4f51e46be4cf14c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 06 10:47:23 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:20 2010 -0400"
      },
      "message": "fs: kill block_prepare_write\n\n__block_write_begin and block_prepare_write are identical except for slightly\ndifferent calling conventions.  Convert all callers to the __block_write_begin\ncalling conventions and drop block_prepare_write.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "56b0dacfa2b8416815a2f2a5f4f51e46be4cf14c",
      "tree": "f438745535c50a574a9c0e4a55fe5f526689204a",
      "parents": [
        "c37650161a53c01ddd88587675f9a4adc909a73e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 06 10:48:55 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:19 2010 -0400"
      },
      "message": "fs: mark destroy_inode static\n\nHugetlbfs used to need it, but after the destroy_inode and evict_inode\nchanges it\u0027s not required anymore.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c37650161a53c01ddd88587675f9a4adc909a73e",
      "tree": "85821998de9a6723dedc42488b9491db9692d1e3",
      "parents": [
        "81fca444001e5a41ab80ce8cf9a5734c00ec6546"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 06 10:48:20 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:19 2010 -0400"
      },
      "message": "fs: add sync_inode_metadata\n\nAdd a new helper to write out the inode using the writeback code,\nthat is including the correct dirty bit and list manipulation.  A few\nof filesystems already opencode this, and a lot of others should be\nusing it instead of using write_inode_now which also writes out the\ndata.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b20f9e5bddddb5ef0d743d6e0d409ffc8cf9fc56",
      "tree": "7654b53ebb9af77b5daeab696d1d48069ae631a1",
      "parents": [
        "5260562754c0aa4b95eebb1f851eaccce7286365",
        "b11e7b3f3b56119194234085d42a633ceabd6aba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 16:25:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 16:25:31 2010 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: (24 commits)\n  hwmon: lis3: Release resources in case of failure\n  hwmon: lis3: Short explanations of platform data fields\n  hwmon: lis3: Enhance lis3 selftest with IRQ line test\n  hwmon: lis3: use block read to access data registers\n  hwmon: lis3: Adjust fuzziness for 8 bit device\n  hwmon: lis3: New parameters to platform data\n  hwmon: lis3: restore axis enabled bits\n  hwmon: lis3: Power on corrections\n  hwmon: lis3: Update coordinates at polled device open\n  hwmon: lis3: Cleanup interrupt handling\n  hwmon: lis3: regulator control\n  hwmon: lis3: pm_runtime support\n  Kirkwood: add fan support for Network Space Max v2\n  hwmon: add generic GPIO fan driver\n  hwmon: (coretemp) fix reading of microcode revision (v2)\n  hwmon: ({core, pkg, via-cpu}temp) remove unnecessary CONFIG_HOTPLUG_CPU ifdefs\n  hwmon: (pkgtemp) align driver initialization style with coretemp\n  hwmon: LTC4261 Hardware monitoring driver\n  hwmon: (lis3) add axes module parameter for custom axis-mapping\n  hwmon: (hp_accel) Add HP Mini 510x family support\n  ...\n"
    },
    {
      "commit": "e3ce8a0b277438591844847ac7c89a980b4cfa6d",
      "tree": "c9bf47675403a54be2e0c54df9357d2b9c65326b",
      "parents": [
        "e1efc9b6ac22c605fd326b3f6af9b393325d43b4",
        "641934069d29211baf82afb93622a426172b67b6"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 26 09:23:22 2010 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Oct 26 09:23:22 2010 +1000"
      },
      "message": "Merge remote branch \u0027intel/drm-intel-next\u0027 of ../drm-next into drm-core-next\n\n* \u0027intel/drm-intel-next\u0027 of ../drm-next: (63 commits)\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  drm/i915: Enable SandyBridge blitter ring\n  drm/i915/ringbuffer: Remove broken intel_fill_struct()\n  drm/i915/ringbuffer: Fix emit batch buffer regression from 8187a2b\n  drm/i915: Copy the updated reloc-\u003epresumed_offset back to the user\n  drm/i915: Track objects in global active list (as well as per-ring)\n  drm/i915: Simplify most HAS_BSD() checks\n  drm/i915: cache the last object lookup during pin_and_relocate()\n  drm/i915: Do interrupible mutex lock first to avoid locking for unreference\n  drivers: gpu: drm: i915: Fix a typo.\n  agp/intel: Also add B43.1 to list of supported devices\n  drm/i915: rearrange mutex acquisition for pread\n  ...\n"
    },
    {
      "commit": "83af1bd81f7b7fb31a681b0c80790866f190d23a",
      "tree": "47ed7fc0c535ead5399f65a883e6d51ad4b2118d",
      "parents": [
        "029756d0b8856f52d83dee81c01dd3af786cadff"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Sat Oct 23 09:39:44 2010 -0400"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Mon Oct 25 14:11:39 2010 -0700"
      },
      "message": "hwmon: lis3: Short explanations of platform data fields\n\nShort documentation at kernel doc format.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "f10a5407b58603fb3b084d7fbdbd50f47d010c82",
      "tree": "121a730685dab830c412f7c09027b0b04917d307",
      "parents": [
        "477bc918c2323a51f577cd892ca49376f6feb5d5"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Fri Oct 22 07:57:31 2010 -0400"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Mon Oct 25 14:11:39 2010 -0700"
      },
      "message": "hwmon: lis3: use block read to access data registers\n\nAdd optional blockread function to interface driver. If available\nthe chip driver uses it for data register access. For 12 bit device\nit reads 6 bytes to get 3*16bit data. For 8 bit device it reads out\n5 bytes since every second byte is dummy.\nThis optimizes bus usage and reduces number of operations and\ninterrupts needed for one data update.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "cc23aa1ce2631b2fe1e3fba82ee444460f5ee3b7",
      "tree": "2503b877c18bf4ae72afd76b2c2da5fd548af167",
      "parents": [
        "ed37d7f619648bf1a3ac136e80d2d0d647734eb3"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Fri Oct 22 07:57:29 2010 -0400"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Mon Oct 25 14:11:38 2010 -0700"
      },
      "message": "hwmon: lis3: New parameters to platform data\n\nAdded default output data rate setting to platform data.\nIf default rate is 0, reset default value is used.\nAdded control for duration via platform data.\nAdded possibility to configure interrupts to trig on\nboth rising and falling edge. The lis3 WU unit can be\nconfigured quite many ways and with some configurations it\nis quite handy to get coordinate refresh when some\nevent trigs and when it reason goes away.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "f9deb41f91c41d9d91a24c84a555ec7fe82620da",
      "tree": "c301a8324c3bbc779b752cdf47236575a87a26d2",
      "parents": [
        "2a346996626ecbb4269c239e9ff7372a182907e9"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Fri Oct 22 07:57:24 2010 -0400"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Mon Oct 25 14:11:38 2010 -0700"
      },
      "message": "hwmon: lis3: regulator control\n\nBased on pm_runtime control, turn lis3 regulators on and off.\nPerform context save and restore on transitions.\n\nFeature is optional and must be enabled in platform data.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "d6fe1360f42e86262153927986dea6502daff703",
      "tree": "adaf8f6da75353dacc4d1d05ff4a042d6c9c0b11",
      "parents": [
        "3247800676c4a04352cde72b9935b57ffc72ce15"
      ],
      "author": {
        "name": "Simon Guinot",
        "email": "sguinot@lacie.com",
        "time": "Fri Oct 22 00:44:19 2010 +0200"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Mon Oct 25 14:11:37 2010 -0700"
      },
      "message": "hwmon: add generic GPIO fan driver\n\nThis patch adds hwmon support for fans connected to GPIO lines.\n\nPlatform specific information such as GPIO pinout and speed conversion array\n(rpm from/to GPIO value) are passed to the driver via platform_data.\n\nSigned-off-by: Simon Guinot \u003csguinot@lacie.com\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "74eb94b218d087798a52c0b4f1379b635287a4b8",
      "tree": "4e467c3014c2b1169f6f71d88cf5d1598f3ce28e",
      "parents": [
        "7b6181e06841f5ad15c4ff708b967b4db65a64de",
        "9a84d38031c258a17bb39beed1e500eadee67407"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)\n  SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred\n  nfs: fix unchecked value\n  Ask for time_delta during fsinfo probe\n  Revalidate caches on lock\n  SUNRPC: After calling xprt_release(), we must restart from call_reserve\n  NFSv4: Fix up the \u0027dircount\u0027 hint in encode_readdir\n  NFSv4: Clean up nfs4_decode_dirent\n  NFSv4: nfs4_decode_dirent must clear entry-\u003efattr-\u003evalid\n  NFSv4: Fix a regression in decode_getfattr\n  NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer\n  NFS: Ensure we check all allocation return values in new readdir code\n  NFS: Readdir plus in v4\n  NFS: introduce generic decode_getattr function\n  NFS: check xdr_decode for errors\n  NFS: nfs_readdir_filler catch all errors\n  NFS: readdir with vmapped pages\n  NFS: remove page size checking code\n  NFS: decode_dirent should use an xdr_stream\n  SUNRPC: Add a helper function xdr_inline_peek\n  NFS: remove readdir plus limit\n  ...\n"
    },
    {
      "commit": "7b6181e06841f5ad15c4ff708b967b4db65a64de",
      "tree": "bdfcf5b74b692f76581156e452d268b64c795200",
      "parents": [
        "72e58063d63c5f0a7bf65312f1e3a5ed9bb5c2ff",
        "bc487fb341af05120bccb9f59ce76302391dcc77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:46:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:46:56 2010 -0700"
      },
      "message": "Merge branch \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (163 commits)\n  omap: complete removal of machine_desc.io_pg_offst and .phys_io\n  omap: UART: fix wakeup registers for OMAP24xx UART2\n  omap: Fix spotty MMC voltages\n  ASoC: OMAP4: MCPDM: Remove unnecessary include of plat/control.h\n  serial: omap-serial: fix signess error\n  OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish\n  omap: dma: Fix buffering disable bit setting for omap24xx\n  omap: serial: Fix the boot-up crash/reboot without CONFIG_PM\n  OMAP3: PM: fix scratchpad memory accesses for off-mode\n  omap4: pandaboard: enable the ehci port on pandaboard\n  omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set\n  omap4: pandaboard: remove unused hsmmc definition\n  OMAP: McBSP: Remove null omap44xx ops comment\n  OMAP: McBSP: Swap CLKS source definition\n  OMAP: McBSP: Fix CLKR and FSR signal muxing\n  OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks\n  OMAP: control: move plat-omap/control.h to mach-omap2/control.h\n  OMAP: split plat-omap/common.c\n  OMAP: McBSP: implement functional clock switching via clock framework\n  OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c\n  ...\n\nFixed up trivial conflicts in arch/arm/mach-omap2/\n{board-zoom-peripherals.c,devices.c} as per Tony\n"
    },
    {
      "commit": "72e58063d63c5f0a7bf65312f1e3a5ed9bb5c2ff",
      "tree": "df5c21244d46aacef47e6b7fff3ad02c3612b15c",
      "parents": [
        "57c155d51e2f3d7411eeac5e7fd7634d2d1f6b4f",
        "489e176c71f36654dcb8835926f7e5717b8b4c19"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 10:59:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 10:59:31 2010 -0700"
      },
      "message": "Merge branch \u0027davinci-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci\n\n* \u0027davinci-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (50 commits)\n  davinci: fix remaining board support after io_pgoffst removal\n  davinci: mityomapl138: make file local data static\n  arm/davinci: remove duplicated include\n  davinci: Initial support for Omapl138-Hawkboard\n  davinci: MityDSP-L138/MityARM-1808 read MAC address from I2C Prom\n  davinci: add tnetv107x touchscreen platform device\n  input: add driver for tnetv107x touchscreen controller\n  davinci: add keypad config for tnetv107x evm board\n  davinci: add tnetv107x keypad platform device\n  input: add driver for tnetv107x on-chip keypad controller\n  net: davinci_emac: cleanup unused cpdma code\n  net: davinci_emac: switch to new cpdma layer\n  net: davinci_emac: separate out cpdma code\n  net: davinci_emac: cleanup unused mdio emac code\n  omap: cleanup unused davinci mdio arch code\n  davinci: cleanup mdio arch code and switch to phy_id\n  net: davinci_emac: switch to new mdio\n  omap: add mdio platform devices\n  davinci: add mdio platform devices\n  net: davinci_emac: separate out davinci mdio\n  ...\n\nFix up trivial conflict in drivers/input/keyboard/Kconfig (two entries\nadded next to each other - one from the davinci merge, one from the\ninput merge)\n"
    },
    {
      "commit": "4c3eb3ca13966508bcb64f39dcdef48be22f1731",
      "tree": "67fde746d256e38421c682501974868971507680",
      "parents": [
        "af7bd463761c6abd8ca8d831f9cc0ac19f3b7d4b"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Aug 26 17:19:22 2010 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/mlx4: Add VLAN support for IBoE\n\nThis patch allows IBoE traffic to be encapsulated in 802.1Q tagged\nVLAN frames.  The VLAN tag is encoded in the GID and derived from it\nby a simple computation.\n\nThe netdev notifier callback is modified to catch VLAN device\naddition/removal and the port\u0027s GID table is updated to reflect the\nchange, so that for each netdevice there is an entry in the GID table.\nWhen the port\u0027s GID table is exhausted, GID entries will not be added.\nOnly children of the main interfaces can add to the GID table; if a\nVLAN interface is added on another VLAN interface (e.g. \"vconfig add\neth2.6 8\"), then that interfaces will not add an entry to the GID\ntable.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "af7bd463761c6abd8ca8d831f9cc0ac19f3b7d4b",
      "tree": "65d997130a892b0da260e308919ed67255a16f77",
      "parents": [
        "fa417f7b520ee60b39f7e23528d2030af30a07d1"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Aug 26 17:18:59 2010 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/core: Add VLAN support for IBoE\n\nAdd 802.1q VLAN support to IBoE. The VLAN tag is encoded within the\nGID derived from a link local address in the following way:\n\n    GID[11] GID[12] contain the VLAN ID when the GID contains a VLAN.\n\nThe 3 bits user priority field of the packets are identical to the 3\nbits of the SL.\n\nIn case of rdma_cm apps, the TOS field is used to generate the SL\nfield by doing a shift right of 5 bits effectively taking to 3 MS bits\nof the TOS field.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fa417f7b520ee60b39f7e23528d2030af30a07d1",
      "tree": "8eca6ed53c985616e990b57b99a21714ed011534",
      "parents": [
        "7ac870ed7d2316587ec06747c28cb9f44f67997d"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Sun Oct 24 21:08:52 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/mlx4: Add support for IBoE\n\nAdd support for IBoE to mlx4_ib.  The bulk of the code is handling the\nnew address vector fields; mlx4 needs the MAC address of a remote node\nto include it in a WQE (for datagrams) or in the QP context (for\nconnected QPs).  Address resolution is done by assuming all unicast\nGIDs are either link-local IPv6 addresses.\n\nMulticast group attach/detach needs to update the NIC\u0027s multicast\nfilters; but since attaching a QP to a multicast group can be done\nbefore the QP is bound to a port, for IBoE we need to keep track of\nall multicast groups that a QP is attached too before it transitions\nfrom INIT to RTR (since it does not have a port in the INIT state).\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n\n[ Many things cleaned up and otherwise monkeyed with; hope I didn\u0027t\n  introduce too many bugs.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "96dfa684c85d24b697f865f37a4f0c8678fc86e9",
      "tree": "554d13942b25385e9fa053de0991a2ef8e68e1be",
      "parents": [
        "33c87f0af60146b375220809c1cb745ac1a86edf"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed Oct 20 21:57:02 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "mlx4_core: Update data structures and constants for IBoE\n\nAdd fields to hardware data structures and add new constants required for IBoE\nsupport.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n\n"
    },
    {
      "commit": "33c87f0af60146b375220809c1cb745ac1a86edf",
      "tree": "f22e0a1f8fbe6b05f2f15c517d3b8e9b77581662",
      "parents": [
        "2420b60b1dc4ed98cb1788e928bc57ff2efa1a8d"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Aug 26 14:18:43 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "mlx4_core: Allow protocol drivers to find corresponding interfaces\n\nAdd a mechanism for mlx4 protocol drivers to get a pointer to other\ndrivers\u0027s device objects.  For this, an exported function,\nmlx4_get_protocol_dev() is added, which allows a driver to get some\nother driver\u0027s device based on the protocol that the driver\nimplements.  Two protocols are added: MLX4_PROTOCOL_IB and\nMLX4_PROTOCOL_EN.\n\nThis will be used in mlx4 IBoE support so that mlx4_ib can find the\ncorresponding mlx4_en netdev.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n\n[ Clean up and rename a few things.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2420b60b1dc4ed98cb1788e928bc57ff2efa1a8d",
      "tree": "5696498ba9fc4a9bc17b055113af06585a9a7a13",
      "parents": [
        "ff7f5aab354dee01f29c9c00933f6d4aa590eadb"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Oct 18 14:45:20 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/uverbs: Return link layer type to userspace for query port operation\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n\n"
    },
    {
      "commit": "c4a6eb3b7d5b483de331313e7ea38a6891a3447a",
      "tree": "de415b67626308b1fa414e47f17959939c017c92",
      "parents": [
        "33081adf8b89d5a716d7e1c60171768d39795b39",
        "96f4a70d8eb4d746b19d5b5510407c8ff0d00340"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:36:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:36:50 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (48 commits)\n  [S390] topology: export cpu topology via proc/sysinfo\n  [S390] topology: move topology sysinfo code\n  [S390] topology: clean up facility detection\n  [S390] cleanup facility list handling\n  [S390] enable ARCH_DMA_ADDR_T_64BIT with 64BIT\n  [S390] dasd: ignore unsolicited interrupts for DIAG\n  [S390] kvm: Enable z196 instruction facilities\n  [S390] dasd: fix unsolicited interrupt recognition\n  [S390] dasd: fix use after free in dbf\n  [S390] kvm: Fix badness at include/asm/mmu_context.h:83\n  [S390] cio: fix I/O cancel function\n  [S390] topology: change default\n  [S390] smp: use correct cpu address in print_cpu_info()\n  [S390] remove ieee_instruction_pointer from thread_struct\n  [S390] cleanup system call parameter setup\n  [S390] correct alignment of cpuid structure\n  [S390] cleanup lowcore access from external interrupts\n  [S390] cleanup lowcore access from program checks\n  [S390] pgtable: move pte_mkhuge() from hugetlb.h to pgtable.h\n  [S390] fix SIGBUS handling\n  ...\n"
    },
    {
      "commit": "33081adf8b89d5a716d7e1c60171768d39795b39",
      "tree": "275de58bbbb5f7ddffcdc087844cfc7fbe4315be",
      "parents": [
        "c55960499f810357a29659b32d6ea594abee9237",
        "506ecbca71d07fa327dd986be1682e90885678ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:32:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:32:05 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits)\n  ALSA: hda - Disable sticky PCM stream assignment for AD codecs\n  ALSA: usb - Creative USB X-Fi volume knob support\n  ALSA: ca0106: Use card specific dac id for mute controls.\n  ALSA: ca0106: Allow different sound cards to use different SPI channel mappings.\n  ALSA: ca0106: Create a nice spot for mapping channels to dacs.\n  ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence.\n  ALSA: ca0106: Pull out dac powering routine into separate function.\n  ALSA: ca0106 - add Sound Blaster 5.1vx info.\n  ASoC: tlv320dac33: Use usleep_range for delays\n  ALSA: usb-audio: add Novation Launchpad support\n  ALSA: hda - Add workarounds for CT-IBG controllers\n  ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs\n  ASoC: tpa6130a2: Error handling for broken chip\n  ASoC: max98088: Staticise m98088_eq_band\n  ASoC: soc-core: Fix codec-\u003ename memory leak\n  ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066\n  ALSA: hda - Add some workarounds for Creative IBG\n  ALSA: hda - Fix wrong SPDIF NID assignment for CA0110\n  ALSA: hda - Fix codec rename rules for ALC662-compatible codecs\n  ALSA: hda - Add alc_init_jacks() call to other codecs\n  ...\n"
    },
    {
      "commit": "c55960499f810357a29659b32d6ea594abee9237",
      "tree": "b65748db925f7ec894e0b2cf8783609c6fbc88be",
      "parents": [
        "fbaab1dc19751c80a7df62425f1d9ad2688e42f5",
        "10c6c9c94c3eaadd7f9d6bafccc8709eda0da0f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:30:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:30:48 2010 -0700"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb\n\n* \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb:\n  uwb: Orphan the UWB and WUSB subsystems\n  uwb: Remove the WLP subsystem and drivers\n"
    },
    {
      "commit": "51f00a471ce8f359627dd99aeac322947a0e491b",
      "tree": "de3f0c26359d7846fc5d6d0fdd147e225d979add",
      "parents": [
        "a7f505c6b15fb35c0de8136e370d2927ce29452c",
        "97ff46cb69da22037346670ae515217c658ace02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:19:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:19:14 2010 -0700"
      },
      "message": "Merge branch \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  mtd/m25p80: add support to parse the partitions by OF node\n  of/irq: of_irq.c needs to include linux/irq.h\n  of/mips: Cleanup some include directives/files.\n  of/mips: Add device tree support to MIPS\n  of/flattree: Eliminate need to provide early_init_dt_scan_chosen_arch\n  of/device: Rework to use common platform_device_alloc() for allocating devices\n  of/xsysace: Fix OF probing on little-endian systems\n  of: use __be32 types for big-endian device tree data\n  of/irq: remove references to NO_IRQ in drivers/of/platform.c\n  of/promtree: add package-to-path support to pdt\n  of/promtree: add of_pdt namespace to pdt code\n  of/promtree: no longer call prom_ functions directly; use an ops structure\n  of/promtree: make drivers/of/pdt.c no longer sparc-only\n  sparc: break out some PROM device-tree building code out into drivers/of\n  of/sparc: convert various prom_* functions to use phandle\n  sparc: stop exporting openprom.h header\n  powerpc, of_serial: Endianness issues setting up the serial ports\n  of: MTD: Fix OF probing on little-endian systems\n  of: GPIO: Fix OF probing on little-endian systems\n"
    },
    {
      "commit": "da47c19e5c746829042933c8f945a71e2b62d6fc",
      "tree": "54110db260f57c01745e1ace343ec72b7eec6c69",
      "parents": [
        "f7cc02b8715618e179242ba9cc10bdc5146ae565"
      ],
      "author": {
        "name": "Yoshihisa Abe",
        "email": "yoshiabe@cs.cmu.edu",
        "time": "Mon Oct 25 02:03:46 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:02:40 2010 -0700"
      },
      "message": "Coda: replace BKL with mutex\n\nReplace the BKL with a mutex to protect the venus_comm structure which\nbinds the mountpoint with the character device and holds the upcall\nqueues.\n\nSigned-off-by: Yoshihisa Abe \u003cyoshiabe@cs.cmu.edu\u003e\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7cc02b8715618e179242ba9cc10bdc5146ae565",
      "tree": "80c1bcf6923c9982a52fbe510cb7d396fb9866fc",
      "parents": [
        "b5ce1d83a62fc109d8e815b1fc71dcdb0d26bc49"
      ],
      "author": {
        "name": "Yoshihisa Abe",
        "email": "yoshiabe@cs.cmu.edu",
        "time": "Mon Oct 25 02:03:45 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:02:40 2010 -0700"
      },
      "message": "Coda: push BKL regions into coda_upcall()\n\nNow that shared inode state is locked using the cii-\u003ec_lock, the BKL is\nonly used to protect the upcall queues used to communicate with the\nuserspace cache manager. The remaining state is all local and we can\npush the lock further down into coda_upcall().\n\nSigned-off-by: Yoshihisa Abe \u003cyoshiabe@cs.cmu.edu\u003e\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5ce1d83a62fc109d8e815b1fc71dcdb0d26bc49",
      "tree": "ea537c1b6436c36bee3b33d8b4f750124fd7d661",
      "parents": [
        "3a99c6319064af3f2e18eb929f638d555dbf7a62"
      ],
      "author": {
        "name": "Yoshihisa Abe",
        "email": "yoshiabe@cs.cmu.edu",
        "time": "Mon Oct 25 02:03:44 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:02:40 2010 -0700"
      },
      "message": "Coda: add spin lock to protect accesses to struct coda_inode_info.\n\nWe mostly need it to protect cached user permissions. The c_flags field\nis advisory, reading the wrong value is harmless and in the worst case\nwe hit a slow path where we have to make an extra upcall to the\nuserspace cache manager when revalidating a dentry or inode.\n\nSigned-off-by: Yoshihisa Abe \u003cyoshiabe@cs.cmu.edu\u003e\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a99c6319064af3f2e18eb929f638d555dbf7a62",
      "tree": "e611927f41142123dc8efed7e07a3a91151edb01",
      "parents": [
        "1dfd166e93f98892aa4427069a23ed73259983c8",
        "49327ad2bbbaf1945d5ba431522201574219d150"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:59:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:59:01 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (75 commits)\n  Input: wacom - specify Cinitq supported tools\n  Input: ab8500-ponkey - fix IRQ freeing in error path\n  Input: adp5588-keys - use more obvious i2c_device_id name string\n  Input: ad7877 - switch to using threaded IRQ\n  Input: ad7877 - use attribute group to control visibility of attributes\n  Input: serio - add support for PS2Mult multiplexer protocol\n  Input: wacom - properly enable runtime PM\n  Input: ad7877 - filter events where pressure is beyond the maximum\n  Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting\n  Input: ad7877 - implement specified chip select behavior\n  Input: hp680_ts_input - use cancel_delayed_work_sync()\n  Input: mousedev - correct lockdep annotation\n  Input: ads7846 - switch to using threaded IRQ\n  Input: serio - support multiple child devices per single parent\n  Input: synaptics - simplify pass-through port handling\n  Input: add ROHM BU21013 touch panel controller support\n  Input: omap4-keypad - wake-up on events \u0026 long presses\n  Input: omap4-keypad - fix interrupt line configuration\n  Input: omap4-keypad - SYSCONFIG register configuration\n  Input: omap4-keypad - use platform device helpers\n  ...\n"
    },
    {
      "commit": "1dfd166e93f98892aa4427069a23ed73259983c8",
      "tree": "c70a347b963091b99bd16842537153fa36e5c0e9",
      "parents": [
        "8e775167d54e6521e7cdbc03ee7ec42a8c67b49a",
        "8df399018df120d28f89fda6f2515cc6e096e43d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:51:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:51:49 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (110 commits)\n  sh: i2c-sh7760: Replase from ctrl_* to __raw_*\n  sh: clkfwk: Shuffle around to match the intc split up.\n  sh: clkfwk: modify for_each_frequency end condition\n  sh: fix clk_get() error handling\n  sh: clkfwk: Fix fault in frequency iterator.\n  sh: clkfwk: Add a helper for rate rounding by divisor ranges.\n  sh: clkfwk: Abstract rate rounding helper.\n  sh: clkfwk: support clock remapping.\n  sh: pci: Convert to upper/lower_32_bits() helpers.\n  sh: mach-sdk7786: Add support for the FPGA SRAM.\n  sh: Provide a generic SRAM pool for tiny memories.\n  sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786.\n  sh: pci: Support slot 4 routing on SDK7786.\n  sh: Fix up PMB locking.\n  sh: mach-sdk7786: Add support for fpga gpios.\n  sh: use pr_fmt for clock framework, too.\n  sh: remove name and id from struct clk\n  sh: free-without-alloc fix for sh_mobile_lcdcfb\n  sh: perf: Set up perf_max_events.\n  sh: perf: Support SH-X3 hardware counters.\n  ...\n\nFix up trivial conflicts (perf_max_events got removed) in arch/sh/kernel/perf_event.c\n"
    },
    {
      "commit": "8e775167d54e6521e7cdbc03ee7ec42a8c67b49a",
      "tree": "a49914306fb28505c6e21a456df8bdc40d6eac23",
      "parents": [
        "4b37ba90f49d4157ac5628f8d730d3505f176724",
        "f253b86b4ad1b3220544e75880510fd455ebd23f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:45:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:45:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Revert \"block: fix accounting bug on cross partition merges\"\n"
    },
    {
      "commit": "e2b8d7af0e3a9234de06606f9151f28cf847a8d6",
      "tree": "64bc03271383a43c2097b84b6f0e25c34ed13553",
      "parents": [
        "92f842eac7ee321c8a0749aba2513541b4ac226f"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Oct 25 16:10:14 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Oct 25 16:10:15 2010 +0200"
      },
      "message": "[S390] add support for nonquiescing sske\n\nImprove performance of the sske operation by using the nonquiescing\nvariant if the affected page has no mappings established. On machines\nwith no support for the new sske variant the mask bit will be ignored.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "446396bfab00392010ebc36b9ccf859935b0f17b",
      "tree": "7612ca4ed9f6cbd9e4341e7c3deae1634d3d87d8",
      "parents": [
        "229aebb873e29726b91e076161649cf45154b0bf"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Oct 25 13:57:32 2010 +0100"
      },
      "committer": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Oct 25 14:03:45 2010 +0100"
      },
      "message": "uwb: Remove the WLP subsystem and drivers\n\nThe only Wimedia LLC Protocol (WLP) hardware was an Intel i1480 chip\nwith a beta release of firmware that was never commercially available as\na product.  This hardware and firmware is no longer available as Intel\nsold their UWB/WLP IP.  I also see little prospect of other WLP\ncapable hardware ever being available.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\n"
    }
  ],
  "next": "02460d08930656b3a50381cfb119864efcd4eef9"
}
