)]}'
{
  "log": [
    {
      "commit": "f5b940997397229975ea073679b03967932a541b",
      "tree": "a477f440175d67b67928d6d11c845fe98f09eb72",
      "parents": [
        "b727d20269e8ef1de002bfea8099f5e9db9e9f23"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Aug 26 18:03:11 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 26 15:09:58 2011 -0700"
      },
      "message": "All Arch: remove linkage for sys_nfsservctl system call\n\nThe nfsservctl system call is now gone, so we should remove all\nlinkage for it.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efe45ab1ee04551936f8343bd4ca1ff02ffc23bb",
      "tree": "f2bc88ccd5a01770b6a8efe3f6023068179f610b",
      "parents": [
        "3ab47029d91993745212624e49d16a75abc8f207",
        "b280a97d1caf6fe1d38b51ebb31219391f5ad1a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 26 13:06:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 26 13:06:06 2011 -0700"
      },
      "message": "Merge branch \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  omap-serial: Allow IXON and IXOFF to be disabled.\n  TTY: serial, document ignoring of uart-\u003eops-\u003estartup error\n  TTY: pty, fix pty counting\n  8250: Fix race condition in serial8250_backup_timeout().\n  serial/8250_pci: delete duplicate data definition\n  8250_pci: add support for Rosewill RC-305 4x serial port card\n  tty: Add \"spi:\" prefix for spi modalias\n  atmel_serial: fix atmel_default_console_device\n  serial: 8250_pnp: add Intermec CV60 touchscreen device\n  drivers/serial/ucc_uart.c: Fix compiler warning\n  pch_uart: Set PCIe bus number using probe parameter\n  serial: samsung: Fix build error\n"
    },
    {
      "commit": "3ab47029d91993745212624e49d16a75abc8f207",
      "tree": "e0953f10e43bfaa9a3567ebe2c45a20a21d8e80b",
      "parents": [
        "0cf0adb073908a66b6875ef8e016b235b9d43ee3",
        "651d62a8b0378b911f083a1712d9d228894f46d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 26 13:05:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 26 13:05:09 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  drivers:misc: ti-st: fix unexpected UART close\n  drivers:misc: ti-st: free skb on firmware download\n  drivers:misc: ti-st: wait for completion at fail\n  drivers:misc: ti-st: reinit completion before send\n  drivers:misc: ti-st: fail-safe on wrong pkt type\n  drivers:misc: ti-st: reinit completion on ver read\n  drivers:misc:ti-st: platform hooks for chip states\n  drivers:misc: ti-st: avoid a misleading dbg msg\n  base/devres.c: quiet sparse noise about context imbalance\n  pti: add missing CONFIG_PCI dependency\n  drivers/base/devtmpfs.c: correct annotation of `setup_done\u0027\n  driver core: fix kernel-doc warning in platform.c\n  firmware: fix google/gsmi.c build warning\n"
    },
    {
      "commit": "cc7993f6439b49909a8792660c4d0741fec9d584",
      "tree": "036093bfb2d5606c05fda6e08a433867e138ee21",
      "parents": [
        "23751be0094012eb6b4756fa80ca54b3eb83069f"
      ],
      "author": {
        "name": "Dilan Lee",
        "email": "dilee@nvidia.com",
        "time": "Thu Aug 25 15:59:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 16:25:34 2011 -0700"
      },
      "message": "backlight: add a callback \u0027notify_after\u0027 for backlight control\n\nWe need a callback to do some things after pwm_enable, pwm_disable\nand pwm_config.\n\nSigned-off-by: Dilan Lee \u003cdilee@nvidia.com\u003e\nReviewed-by: Robert Morell \u003crmorell@nvidia.com\u003e\nReviewed-by: Arun Murthy \u003carun.murthy@stericsson.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "284fb68d00c56e971ed01e0b4bac5ddd4d1b74ab",
      "tree": "5cdfea6c179aa0ed315ba171d924b9dc513dd2e3",
      "parents": [
        "439423f6894aa0dec22187526827456f5004baed"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu Aug 25 15:59:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 16:25:34 2011 -0700"
      },
      "message": "rapidio: fix use of non-compatible registers\n\nReplace/remove use of RIO v.1.2 registers/bits that are not\nforward-compatible with newer versions of RapidIO specification.\n\nRapidIO specification v.1.3 removed Write Port CSR, Doorbell CSR,\nMailbox CSR and Mailbox and Doorbell bits of the PEF CAR.\n\nUse of removed (since RIO v.1.3) register bits affects users of\ncurrently available 1.3 and 2.x compliant devices who may use not so\nrecent kernel versions.\n\nRemoving checks for unsupported bits makes corresponding routines\ncompatible with all versions of RapidIO specification.  Therefore,\nbackporting makes stable kernel versions compliant with RIO v.1.3 and\nlater as well.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Chul Kim \u003cchul.kim@idt.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a801876638c5ce650223476c4eb8f37cea32dc1c",
      "tree": "e25e1a30ab2998d8800e1151265e048d99bb3ba3",
      "parents": [
        "58299449257566613f58dcfb757f0ba4a377987a"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "zbr@ioremap.net",
        "time": "Thu Aug 25 15:59:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 16:25:33 2011 -0700"
      },
      "message": "MAINTAINERS: Evgeniy has moved\n\nSigned-off-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e096d0c7e2e4e5893792db865dd065ac73cf1f00",
      "tree": "20e603f81a9f1a55d330cba670952b991d564e00",
      "parents": [
        "e33f2d238e2e53e264c758c0849423a9308eb63e"
      ],
      "author": {
        "name": "Josh Boyer",
        "email": "jwboyer@redhat.com",
        "time": "Thu Aug 25 07:48:12 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:50:18 2011 -0700"
      },
      "message": "lockdep: Add helper function for dir vs file i_mutex annotation\n\nPurely in-memory filesystems do not use the inode hash as the dcache\ntells us if an entry already exists.  As a result, they do not call\nunlock_new_inode, and thus directory inodes do not get put into a\ndifferent lockdep class for i_sem.\n\nWe need the different lockdep classes, because the locking order for\ni_mutex is different for directory inodes and regular inodes.  Directory\ninodes can do \"readdir()\", which takes i_mutex *before* possibly taking\nmm-\u003emmap_sem (due to a page fault while copying the directory entry to\nuser space).\n\nIn contrast, regular inodes can be mmap\u0027ed, which takes mm-\u003emmap_sem\nbefore accessing i_mutex.\n\nThe two cases can never happen for the same inode, so no real deadlock\ncan occur, but without the different lockdep classes, lockdep cannot\nunderstand that.  As a result, if CONFIG_DEBUG_LOCK_ALLOC is set, this\ncan lead to false positives from lockdep like below:\n\n    find/645 is trying to acquire lock:\n     (\u0026mm-\u003emmap_sem){++++++}, at: [\u003cffffffff81109514\u003e] might_fault+0x5c/0xac\n\n    but task is already holding lock:\n     (\u0026sb-\u003es_type-\u003ei_mutex_key#15){+.+.+.}, at: [\u003cffffffff81149f34\u003e]\n    vfs_readdir+0x5b/0xb4\n\n    which lock already depends on the new lock.\n\n    the existing dependency chain (in reverse order) is:\n\n    -\u003e #1 (\u0026sb-\u003es_type-\u003ei_mutex_key#15){+.+.+.}:\n          [\u003cffffffff8108ac26\u003e] lock_acquire+0xbf/0x103\n          [\u003cffffffff814db822\u003e] __mutex_lock_common+0x4c/0x361\n          [\u003cffffffff814dbc46\u003e] mutex_lock_nested+0x40/0x45\n          [\u003cffffffff811daa87\u003e] hugetlbfs_file_mmap+0x82/0x110\n          [\u003cffffffff81111557\u003e] mmap_region+0x258/0x432\n          [\u003cffffffff811119dd\u003e] do_mmap_pgoff+0x2ac/0x306\n          [\u003cffffffff81111b4f\u003e] sys_mmap_pgoff+0x118/0x16a\n          [\u003cffffffff8100c858\u003e] sys_mmap+0x22/0x24\n          [\u003cffffffff814e3ec2\u003e] system_call_fastpath+0x16/0x1b\n\n    -\u003e #0 (\u0026mm-\u003emmap_sem){++++++}:\n          [\u003cffffffff8108a4bc\u003e] __lock_acquire+0xa1a/0xcf7\n          [\u003cffffffff8108ac26\u003e] lock_acquire+0xbf/0x103\n          [\u003cffffffff81109541\u003e] might_fault+0x89/0xac\n          [\u003cffffffff81149cff\u003e] filldir+0x6f/0xc7\n          [\u003cffffffff811586ea\u003e] dcache_readdir+0x67/0x205\n          [\u003cffffffff81149f54\u003e] vfs_readdir+0x7b/0xb4\n          [\u003cffffffff8114a073\u003e] sys_getdents+0x7e/0xd1\n          [\u003cffffffff814e3ec2\u003e] system_call_fastpath+0x16/0x1b\n\nThis patch moves the directory vs file lockdep annotation into a helper\nfunction that can be called by in-memory filesystems and has hugetlbfs\ncall it.\n\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e33f2d238e2e53e264c758c0849423a9308eb63e",
      "tree": "8137292b733fe0f8d10b8d004f2c58a9740c829b",
      "parents": [
        "be5378f3baabb5667508c42c56b4281f967d6861",
        "bb0822954aab7d23a3f902c2a103ee0242f6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:40:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:40:12 2011 -0700"
      },
      "message": "Merge branch \u0027urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback\n\n* \u0027urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback:\n  squeeze max-pause area and drop pass-good area\n"
    },
    {
      "commit": "f385b6974bf93cd4335495437a6ee82fa5237df7",
      "tree": "b6464a44f58cb6194bd5a139f3af0e566efe84f0",
      "parents": [
        "be27425dcc516fd08245b047ea57f83b8f6f0903",
        "28638887f351d11867562322b7abaa014dd5528a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:30:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:30:51 2011 -0700"
      },
      "message": "Merge branch \u00273.1-rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u00273.1-rc-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (21 commits)\n  target: Convert acl_node_lock to be IRQ-disabling\n  target: Make locking in transport_deregister_session() IRQ safe\n  tcm_fc: init/exit functions should not be protected by \"#ifdef MODULE\"\n  target: Print subpage too for unhandled MODE SENSE pages\n  iscsi-target: Fix iscsit_allocate_se_cmd_for_tmr failure path bugs\n  iscsi-target: Implement iSCSI target IPv6 address printing.\n  target: Fix task SGL chaining breakage with transport_allocate_data_tasks\n  target: Fix task count \u003e 1 handling breakage and use max_sector page alignment\n  target: Add missing DATA_SG_IO transport_cmd_get_valid_sectors check\n  target: Fix SYNCHRONIZE_CACHE zero LBA + range breakage\n  target: Remove duplicate task completions in transport_emulate_control_cdb\n  target: Fix WRITE_SAME usage with transport_get_size\n  target: Add WRITE_SAME (10) parsing and refactor passthrough checks\n  target: Fix write payload exception handling with -\u003enew_cmd_map\n  iscsi-target: forever loop bug in iscsit_attach_ooo_cmdsn()\n  iscsi-target: remove duplicate return\n  target: Convert target_core_rd.c to use use BUG_ON\n  iscsi-target: Fix leak on failure in iscsi_copy_param_list()\n  target: Use ERR_CAST inlined function\n  target: Make standard INQUIRY return \u0027not connected\u0027 for tpg_virt_lun0\n  ...\n"
    },
    {
      "commit": "be27425dcc516fd08245b047ea57f83b8f6f0903",
      "tree": "0f7cfb258a663d99ebeedf8ed3b9637b266b021c",
      "parents": [
        "caca9510ff4e5d842c0589110243d60927836222"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Aug 19 16:15:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:17:28 2011 -0700"
      },
      "message": "Add a personality to report 2.6.x version numbers\n\nI ran into a couple of programs which broke with the new Linux 3.0\nversion.  Some of those were binary only.  I tried to use LD_PRELOAD to\nwork around it, but it was quite difficult and in one case impossible\nbecause of a mix of 32bit and 64bit executables.\n\nFor example, all kind of management software from HP doesnt work, unless\nwe pretend to run a 2.6 kernel.\n\n  $ uname -a\n  Linux svivoipvnx001 3.0.0-08107-g97cd98f #1062 SMP Fri Aug 12 18:11:45 CEST 2011 i686 i686 i386 GNU/Linux\n\n  $ hpacucli ctrl all show\n\n  Error: No controllers detected.\n\n  $ rpm -qf /usr/sbin/hpacucli\n  hpacucli-8.75-12.0\n\nAnother notable case is that Python now reports \"linux3\" from\nsys.platform(); which in turn can break things that were checking\nsys.platform() \u003d\u003d \"linux2\":\n\n  https://bugzilla.mozilla.org/show_bug.cgi?id\u003d664564\n\nIt seems pretty clear to me though it\u0027s a bug in the apps that are using\n\u0027\u003d\u003d\u0027 instead of .startswith(), but this allows us to unbreak broken\nprograms.\n\nThis patch adds a UNAME26 personality that makes the kernel report a\n2.6.40+x version number instead.  The x is the x in 3.x.\n\nI know this is somewhat ugly, but I didn\u0027t find a better workaround, and\ncompatibility to existing programs is important.\n\nSome programs also read /proc/sys/kernel/osrelease.  This can be worked\naround in user space with mount --bind (and a mount namespace)\n\nTo use:\n\n  wget ftp://ftp.kernel.org/pub/linux/kernel/people/ak/uname26/uname26.c\n  gcc -o uname26 uname26.c\n  ./uname26 program\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "051732bcbe3cff3fea04dc9042266562fe8b0859",
      "tree": "1c709cd8a65747fde8363ce593b77e040c14e3e4",
      "parents": [
        "2983573e491d1e201e802eafa3553ba33d1fd50b",
        "c2183d1e9b3f313dd8ba2b1b0197c8d9fb86a7ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 24 09:14:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 24 09:14:42 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: check size of FUSE_NOTIFY_INVAL_ENTRY message\n  fuse: mark pages accessed when written to\n  fuse: delete dead .write_begin and .write_end aops\n  fuse: fix flock\n  fuse: fix non-ANSI void function notation\n"
    },
    {
      "commit": "24d406a6bf736f7aebdc8fa0f0ec86e0890c6d24",
      "tree": "3dfb2053f7785508304fd29d6c1bb6e6a42a7d5c",
      "parents": [
        "dbb3b1ca5609d1f3848cd387d06cc60aaacf7f98"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Aug 10 14:59:28 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 23 10:10:38 2011 -0700"
      },
      "message": "TTY: pty, fix pty counting\n\ntty_operations-\u003eremove is normally called like:\nqueue_release_one_tty\n -\u003etty_shutdown\n   -\u003etty_driver_remove_tty\n     -\u003etty_operations-\u003eremove\n\nHowever tty_shutdown() is called from queue_release_one_tty() only if\ntty_operations-\u003eshutdown is NULL. But for pty, it is not.\npty_unix98_shutdown() is used there as -\u003eshutdown.\n\nSo tty_operations-\u003eremove of pty (i.e. pty_unix98_remove()) is never\ncalled. This results in invalid pty_count. I.e. what can be seen in\n/proc/sys/kernel/pty/nr.\n\nI see this was already reported at:\n  https://lkml.org/lkml/2009/11/5/370\nBut it was not fixed since then.\n\nThis patch is kind of a hackish way. The problem lies in -\u003einstall. We\nallocate there another tty (so-called tty-\u003elink). So -\u003einstall is\ncalled once, but -\u003eremove twice, for both tty and tty-\u003elink. The fix\nhere is to count both tty and tty-\u003elink and divide the count by 2 for\nuser.\n\nAnd to have -\u003eremove called, let\u0027s make tty_driver_remove_tty() global\nand call that from pty_unix98_shutdown() (tty_operations-\u003eshutdown).\n\nWhile at it, let\u0027s document that when -\u003eshutdown is defined,\ntty_shutdown() is not called.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0d7c5f2572ccfa7bf83292b1506926663f2d164a",
      "tree": "7ad38fe6af0fd468aa7c1af654ce2d7addbea622",
      "parents": [
        "5926cef26c72cd121266b000b8975e6373cbf2b3"
      ],
      "author": {
        "name": "Pavan Savoy",
        "email": "pavan_savoy@ti.com",
        "time": "Wed Aug 10 10:18:31 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 14:13:32 2011 -0700"
      },
      "message": "drivers:misc:ti-st: platform hooks for chip states\n\nCertain platform specific or Host-WiLink Interface specific actions would be\nrequired to be taken when the chip is being enabled and after the chip is\ndisabled such as configuration of the mux modes for the GPIO of host connected\nto the nshutdown of the chip or relinquishing UART after the chip is disabled.\n\nSimilar actions can also be taken when the chip is in deep sleep or when the\nchip is awake. Performance enhancements such as configuring the host to run\nfaster when chip is awake and slower when chip is asleep can also be made\nhere.\n\nSigned-off-by: Pavan Savoy \u003cpavan_savoy@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "052605c6caa3e1edf8eee8fe5fe6d53f5721f39a",
      "tree": "87997618fff7f63a4c5bef8a6a093d522d424266",
      "parents": [
        "eb39d34004888afcc0a44d9c36383cd69fa3b3b9"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Jul 26 17:48:43 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Aug 22 19:25:35 2011 +0000"
      },
      "message": "target: Make standard INQUIRY return \u0027not connected\u0027 for tpg_virt_lun0\n\nThis patch changes target_emulate_inquiry_std() to set the \u0027not connected\u0027\n(0x35) bit in standard INQUIRY response data when we are processing a\nrequest to a virtual LUN\u003d0 mapping from struct se_device *g_lun0_dev that\nhave been setup for us in transport_lookup_cmd_lun().\n\nThis addresses an issue where qla2xxx FC clients need to be able\nto create demo-mode I_T FC Nexuses by default, but should not be\nexposing the default set of TPG LUNs to all FC clients.  This includes\nadding an new optional target_core_fabric_ops-\u003etpg_check_demo_mode_login_only()\ncaller to allow demo_mode nexuses to skip the old default of bulding\na demo-mode MappedLUNs list via core_tpg_add_node_to_devs().\n\n(roland: Add missing tpg_check_demo_mode_login_only check in core_dev_add_lun)\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "5ccc38740a283aba81a00e92941310d0c1aeb2ee",
      "tree": "ba7d725947975a9391e085bd1d5958b004bfdc3e",
      "parents": [
        "0c3bef612881ee6216a36952ffaabfc35b83545c",
        "b53d1ed734a2b9af8da115b836b658daa7d47a48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:47:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:47:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block: (23 commits)\n  Revert \"cfq: Remove special treatment for metadata rqs.\"\n  block: fix flush machinery for stacking drivers with differring flush flags\n  block: improve rq_affinity placement\n  blktrace: add FLUSH/FUA support\n  Move some REQ flags to the common bio/request area\n  allow blk_flush_policy to return REQ_FSEQ_DATA independent of *FLUSH\n  xen/blkback: Make description more obvious.\n  cfq-iosched: Add documentation about idling\n  block: Make rq_affinity \u003d 1 work as expected\n  block: swim3: fix unterminated of_device_id table\n  block/genhd.c: remove useless cast in diskstats_show()\n  drivers/cdrom/cdrom.c: relax check on dvd manufacturer value\n  drivers/block/drbd/drbd_nl.c: use bitmap_parse instead of __bitmap_parse\n  bsg-lib: add module.h include\n  cfq-iosched: Reduce linked group count upon group destruction\n  blk-throttle: correctly determine sync bio\n  loop: fix deadlock when sysfs and LOOP_CLR_FD race against each other\n  loop: add BLK_DEV_LOOP_MIN_COUNT\u003d%i to allow distros 0 pre-allocated loop devices\n  loop: add management interface for on-demand device allocation\n  loop: replace linked list of allocated devices with an idr index\n  ...\n"
    },
    {
      "commit": "0c3bef612881ee6216a36952ffaabfc35b83545c",
      "tree": "46e69e46d557c319ff3f261f37f1c184eaa9b844",
      "parents": [
        "01b883358ba4b616d9d161b43af4bb5ee8124fe8",
        "69566dd8be42dea7a22f625abc96e65bb4b45d1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:02:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:02:37 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: OF: Don\u0027t crash when bridge parent is NULL.\n  PCI: export pcie_bus_configure_settings symbol\n  PCI: code and comments cleanup\n  PCI: make cardbus-bridge resources optional\n  PCI: make SRIOV resources optional\n  PCI : ability to relocate assigned pci-resources\n  PCI: honor child buses add_size in hot plug configuration\n  PCI: Set PCI-E Max Payload Size on fabric\n"
    },
    {
      "commit": "bb0822954aab7d23a3f902c2a103ee0242f6046e",
      "tree": "3049962f0ecc05eea4b2b4ef5480b6708bc74ce7",
      "parents": [
        "93ee7a9340d64f20295aacc3fb6a22b759323280"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Aug 16 13:37:14 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Aug 19 22:42:07 2011 +0800"
      },
      "message": "squeeze max-pause area and drop pass-good area\n\nRevert the pass-good area introduced in ffd1f609ab10 (\"writeback:\nintroduce max-pause and pass-good dirty limits\") and make the max-pause\narea smaller and safe.\n\nThis fixes ~30% performance regression in the ext3 data\u003dwriteback\nfio_mmap_randwrite_64k/fio_mmap_randrw_64k test cases, where there are\n12 JBOD disks, on each disk runs 8 concurrent tasks doing reads+writes.\n\nUsing deadline scheduler also has a regression, but not that big as CFQ,\nso this suggests we have some write starvation.\n\nThe test logs show that\n\n- the disks are sometimes under utilized\n\n- global dirty pages sometimes rush high to the pass-good area for\n  several hundred seconds, while in the mean time some bdi dirty pages\n  drop to very low value (bdi_dirty \u003c\u003c bdi_thresh).  Then suddenly the\n  global dirty pages dropped under global dirty threshold and bdi_dirty\n  rush very high (for example, 2 times higher than bdi_thresh). During\n  which time balance_dirty_pages() is not called at all.\n\nSo the problems are\n\n1) The random writes progress so slow that they break the assumption of\n   the max-pause logic that \"8 pages per 200ms is typically more than\n   enough to curb heavy dirtiers\".\n\n2) The max-pause logic ignored task_bdi_thresh and thus opens the possibility\n   for some bdi\u0027s to over dirty pages, leading to (bdi_dirty \u003e\u003e bdi_thresh)\n   and then (bdi_thresh \u003e\u003e bdi_dirty) for others.\n\n3) The higher max-pause/pass-good thresholds somehow leads to the bad\n   swing of dirty pages.\n\nThe fix is to allow the task to slightly dirty over task_bdi_thresh, but\nno way to exceed bdi_dirty and/or global dirty_thresh.\n\nTests show that it fixed the JBOD regression completely (both behavior\nand performance), while still being able to cut down large pause times\nin balance_dirty_pages() for single-disk cases.\n\nReported-by: Li Shaohua \u003cshaohua.li@intel.com\u003e\nTested-by: Li Shaohua \u003cshaohua.li@intel.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "b4fd4ae6c6420c18e4bae2c294b7e06f5ff5210f",
      "tree": "a948e1f99dbce5d34da04b3e655d3655335848d7",
      "parents": [
        "aa462abe8aaf2198d6aef97da20c874ac694a39f",
        "17f2ae7f677f023997e02fd2ebabd90ea2a0390d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 13:15:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 13:15:25 2011 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Domains: Fix build for CONFIG_PM_RUNTIME unset\n"
    },
    {
      "commit": "aa462abe8aaf2198d6aef97da20c874ac694a39f",
      "tree": "f7c1b4e82fe8eeaad8ce61a5e9e4d301accaf32b",
      "parents": [
        "f991879473828f320a714e9494fb37a26ccd6b66"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Wed Aug 17 17:40:33 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 13:00:20 2011 -0700"
      },
      "message": "mm: fix __page_to_pfn for a const struct page argument\n\nThis allows the cast in lowmem_page_address (introduced as a warning\nfixup to 33dd4e0ec911 \"mm: make some struct page\u0027s const\") to be\nremoved.\n\nPropagate const\u0027ness to page_to_section() as well since it is required\nby __page_to_pfn.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f991879473828f320a714e9494fb37a26ccd6b66",
      "tree": "349fee2f3c0d9b10340f2fbdb03fa63c2570dbfa",
      "parents": [
        "72ed62bdc46d76c965fb95aecb5d0bf97c976723"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Wed Aug 17 13:45:09 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 13:00:20 2011 -0700"
      },
      "message": "mm: make HASHED_PAGE_VIRTUAL page_address\u0027 struct page argument const.\n\nFollowup to 33dd4e0ec911 \"mm: make some struct page\u0027s const\" which missed the\nHASHED_PAGE_VIRTUAL case.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cac95296034bed7b2716d5f4e417a26a618da94",
      "tree": "1a405f211c64f20359e42b3783d0487647da9822",
      "parents": [
        "2da9f365fc401b79627bc7be56d8a2b4ee9b390b",
        "6e7a333eaa522ef73be01caec7a01521490aaf00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:28:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:28:33 2011 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rtc: Limit RTC PIE frequency\n  rtc: Fix hrtimer deadlock\n  rtc: Handle errors correctly in rtc_irq_set_state()\n\nFixup trivial conflicts in drivers/rtc/interface.c due to slightly\ntrivially versions of the same patch coming in two different ways.\n"
    },
    {
      "commit": "950d0a10d12578a270f3dfa9fd76fe5c2deb343f",
      "tree": "2467458b05ab13dd8875e43f3701fbc0c38cef0d",
      "parents": [
        "ab7e2dbf9b5da4d4eb4fdb019cc8881fbeb1299b",
        "b6873807a7143b7d6d8b06809295e559d07d7deb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:23:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:23:50 2011 -0700"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: Track the owner of irq descriptor\n  irq: Always set IRQF_ONESHOT if no primary handler is specified\n  genirq: Fix wrong bit operation\n"
    },
    {
      "commit": "4853abaae7e4a2af938115ce9071ef8684fb7af4",
      "tree": "167eb7cb1b48541fa6d0ca5042f7452e2dd9e4de",
      "parents": [
        "bcf30e75b773b60379338768677a1301ef602ff9"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Mon Aug 15 21:37:25 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Aug 15 21:37:25 2011 +0200"
      },
      "message": "block: fix flush machinery for stacking drivers with differring flush flags\n\nCommit ae1b1539622fb46e51b4d13b3f9e5f4c713f86ae, block: reimplement\nFLUSH/FUA to support merge, introduced a performance regression when\nrunning any sort of fsyncing workload using dm-multipath and certain\nstorage (in our case, an HP EVA).  The test I ran was fs_mark, and it\ndropped from ~800 files/sec on ext4 to ~100 files/sec.  It turns out\nthat dm-multipath always advertised flush+fua support, and passed\ncommands on down the stack, where those flags used to get stripped off.\nThe above commit changed that behavior:\n\nstatic inline struct request *__elv_next_request(struct request_queue *q)\n{\n        struct request *rq;\n\n        while (1) {\n-               while (!list_empty(\u0026q-\u003equeue_head)) {\n+               if (!list_empty(\u0026q-\u003equeue_head)) {\n                        rq \u003d list_entry_rq(q-\u003equeue_head.next);\n-                       if (!(rq-\u003ecmd_flags \u0026 (REQ_FLUSH | REQ_FUA)) ||\n-                           (rq-\u003ecmd_flags \u0026 REQ_FLUSH_SEQ))\n-                               return rq;\n-                       rq \u003d blk_do_flush(q, rq);\n-                       if (rq)\n-                               return rq;\n+                       return rq;\n                }\n\nNote that previously, a command would come in here, have\nREQ_FLUSH|REQ_FUA set, and then get handed off to blk_do_flush:\n\nstruct request *blk_do_flush(struct request_queue *q, struct request *rq)\n{\n        unsigned int fflags \u003d q-\u003eflush_flags; /* may change, cache it */\n        bool has_flush \u003d fflags \u0026 REQ_FLUSH, has_fua \u003d fflags \u0026 REQ_FUA;\n        bool do_preflush \u003d has_flush \u0026\u0026 (rq-\u003ecmd_flags \u0026 REQ_FLUSH);\n        bool do_postflush \u003d has_flush \u0026\u0026 !has_fua \u0026\u0026 (rq-\u003ecmd_flags \u0026\n        REQ_FUA);\n        unsigned skip \u003d 0;\n...\n        if (blk_rq_sectors(rq) \u0026\u0026 !do_preflush \u0026\u0026 !do_postflush) {\n                rq-\u003ecmd_flags \u0026\u003d ~REQ_FLUSH;\n\t\tif (!has_fua)\n\t\t\trq-\u003ecmd_flags \u0026\u003d ~REQ_FUA;\n\t        return rq;\n\t}\n\nSo, the flush machinery was bypassed in such cases (q-\u003eflush_flags \u003d\u003d 0\n\u0026\u0026 rq-\u003ecmd_flags \u0026 (REQ_FLUSH|REQ_FUA)).\n\nNow, however, we don\u0027t get into the flush machinery at all.  Instead,\n__elv_next_request just hands a request with flush and fua bits set to\nthe scsi_request_fn, even if the underlying request_queue does not\nsupport flush or fua.\n\nThe agreed upon approach is to fix the flush machinery to allow\nstacking.  While this isn\u0027t used in practice (since there is only one\nrequest-based dm target, and that target will now reflect the flush\nflags of the underlying device), it does future-proof the solution, and\nmake it function as designed.\n\nIn order to make this work, I had to add a field to the struct request,\ninside the flush structure (to store the original req-\u003eend_io).  Shaohua\nhad suggested overloading the union with rb_node and completion_data,\nbut the completion data is used by device mapper and can also be used by\nother drivers.  So, I didn\u0027t see a way around the additional field.\n\nI tested this patch on an HP EVA with both ext4 and xfs, and it recovers\nthe lost performance.  Comments and other testers, as always, are\nappreciated.\n\nCheers,\nJeff\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "97c24d1d455df17ca3ef281d1a290988f4686643",
      "tree": "36e4602be13301bf1669fcb7998b8a2d431cf1c9",
      "parents": [
        "91d85ea6786107aa2837bef3e957165ad7c8b823",
        "7fd781e8f9b72544a1c7f04456eb33d5ffaed592"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 14 12:28:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 14 12:28:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: remove unused \"ddr\" parameter in struct mmc_ios\n  mmc: dw_mmc: Fix DDR mode support.\n  mmc: core: use defined R1_STATE_PRG macro for card status\n  mmc: sdhci: use f_max instead of host-\u003eclock for timeouts\n  mmc: sdhci: move timeout_clk calculation farther down\n  mmc: sdhci: check host-\u003eclock before using it as a denominator\n  mmc: Revert \"mmc: sdhci: Fix SDHCI_QUIRK_TIMEOUT_USES_SDCLK\"\n  mmc: tmio: eliminate unused variable \u0027mmc\u0027 warning\n  mmc: esdhc-imx: fix card interrupt loss on freescale eSDHC\n  mmc: sdhci-s3c: Fix build for header change\n  mmc: dw_mmc: Fix mask in IDMAC_SET_BUFFER1_SIZE macro\n  mmc: cb710: fix possible pci_dev leak in cb710_pci_configure()\n  mmc: core: Detect eMMC v4.5 ext_csd entries\n  mmc: mmc_test: avoid stalled file in debugfs\n  mmc: sdhci-s3c: add BROKEN_ADMA_ZEROLEN_DESC quirk\n  mmc: sdhci: pxav3: controller needs 32 bit ADMA addressing\n  mmc: sdhci: fix retuning timer wrongly deleted in sdhci_tasklet_finish\n"
    },
    {
      "commit": "17f2ae7f677f023997e02fd2ebabd90ea2a0390d",
      "tree": "9f333057d8771adc432687417c2bfe28164f1e48",
      "parents": [
        "91d85ea6786107aa2837bef3e957165ad7c8b823"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 14 13:34:31 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 14 13:34:31 2011 +0200"
      },
      "message": "PM / Domains: Fix build for CONFIG_PM_RUNTIME unset\n\nFunction genpd_queue_power_off_work() is not defined for\nCONFIG_PM_RUNTIME, so pm_genpd_poweroff_unused() causes a build\nerror to happen in that case.  Fix the problem by making\npm_genpd_poweroff_unused() depend on CONFIG_PM_RUNTIME too.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "17987783e51555da22890feb715a0c84d4ed36aa",
      "tree": "420f72bf4cba816aaf4fd9cae7b99fa2a05131a1",
      "parents": [
        "4c74916fa81ce5a431350cb27eb9a7c95d3cf3d7",
        "c012cdc858db36ff2314469930bfcfb00eef6f29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 13 18:36:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 13 18:36:28 2011 -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:\n  ASoC: Fix compile warning in wm8750.c\n  ASoC: omap: Update e-mail address of Jarkko Nikula\n  ASoC: SAMSUNG: Add I2S0 internal dma driver\n  ASoC: Terminate WM8750 SPI device ID table\n  ASoC: Add missing break in WM8994 probe\n  ALSA: snd-usb-caiaq: Correct offset fields of outbound iso_frame_desc\n  ALSA: azt3328 - adjust error handling code to include debugging code\n  ALSA: hda - Add CONFIG_SND_HDA_POWER_SAVE to stac_vrefout_set()\n  ALSA: usb-audio - Add quirk for BOSS Micro BR-80\n  ASoC: Fix typo in wm8750 spi_ids\n  ASoC: Fix warning in Speyside WM8962\n  ASoC: Fix SPI driver binding for WM8987\n  ASoC: Fix binding of WM8750 on Jive\n  ASoC: WM8903: Free IRQ on device removal\n  ASoC: Tegra: wm8903 machine driver: Allow re-insertion of module\n  ASoC: Tegra: tegra_pcm_deallocate_dma_buffer: Don\u0027t OOPS\n"
    },
    {
      "commit": "7fd781e8f9b72544a1c7f04456eb33d5ffaed592",
      "tree": "1f53b5d72f88c2e2bb6f15e0daeaf09a944b94fd",
      "parents": [
        "6daa777866569fc48fe3cfcd6fd01aba37ac06a5"
      ],
      "author": {
        "name": "Jaehoon Chung",
        "email": "jh80.chung@samsung.com",
        "time": "Mon Aug 08 18:10:52 2011 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Sat Aug 13 14:50:32 2011 -0400"
      },
      "message": "mmc: remove unused \"ddr\" parameter in struct mmc_ios\n\n\"mmc: dw_mmc: Fix DDR mode support\" removed the last user.\n\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "73e0881d31406acc09eb11fa073108b43c89124e",
      "tree": "8195f49c5f1b7e06caf3df36b4a1882902a83277",
      "parents": [
        "e211bc8d96d45799cab1be46f4367327d5f629ba",
        "89272b8c0d427021bed70b1b83e1a16be375ccf5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 21:59:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 21:59:09 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt: add empty of_get_property for non-dt\n"
    },
    {
      "commit": "ce8a84ef1e4b30bcee78aa99bc1032db90a6c1c4",
      "tree": "3faf99c6fbd99eedce3ad2193ce779c25bfc8064",
      "parents": [
        "eeca7360f756f7e36e846f35018df20808c7ef63",
        "d80bcf46f1dae47805260dc60fb900cc4dabe35e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 06:43:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 06:43:53 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)\n  e1000e: increase driver version number\n  e1000e: alternate MAC address update\n  e1000e: do not disable receiver on 82574/82583\n  e1000e: alternate MAC address does not work on device id 0x1060\n  PCnet: Fix section mismatch\n  bnx2x: disable dcb on 578xx since not supported yet\n  bnx2x: properly clean indirect addresses\n  bnx2x: prevent race between undi_unload and load flows\n  bnx2x: fix select_queue when FCoE is disabled\n  bnx2x: init FCOE FP only once\n  ipv4: some rt_iif -\u003e rt_route_iif conversions\n  net/bridge/netfilter/ebtables.c: use available error handling code\n  net/netlabel/netlabel_kapi.c: add missing cleanup code\n  net/irda: sh_sir: tidyup compile warning\n  net/irda: sh_sir: add missing header\n  net/irda: sh_irda: add missing header\n  slcan: ldisc generated skbs are received in softirq context\n  scm: Capture the full credentials of the scm sender\n  tcp: initialize variable ecn_ok in syncookies path\n  drivers/net/wireless/wl1251: add missing kfree\n  ...\n"
    },
    {
      "commit": "7ec41ee5ad5f716f67041c0d49014d0becb5332c",
      "tree": "9d420e22c36ed09aee7871cef3db2dd2de4f7728",
      "parents": [
        "f09aecd50f39d35372e551491d9f36ff0f51ee4d"
      ],
      "author": {
        "name": "Jarkko Nikula",
        "email": "jarkko.nikula@bitmer.com",
        "time": "Thu Aug 11 15:44:57 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Aug 12 11:45:10 2011 +0900"
      },
      "message": "ASoC: omap: Update e-mail address of Jarkko Nikula\n\nMy gmail account got disabled and I\u0027m not going to reopen it.\n\nSigned-off-by: Jarkko Nikula \u003cjarkko.nikula@bitmer.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "72fa59970f8698023045ab0713d66f3f4f96945c",
      "tree": "ed9a5eaf8212270d464c6d4396ae5a568352a997",
      "parents": [
        "1d229d54dbc26971142f61c3d271a68db236d178"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Mon Aug 08 19:02:04 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 11:24:42 2011 -0700"
      },
      "message": "move RLIMIT_NPROC check from set_user() to do_execve_common()\n\nThe patch http://lkml.org/lkml/2003/7/13/226 introduced an RLIMIT_NPROC\ncheck in set_user() to check for NPROC exceeding via setuid() and\nsimilar functions.\n\nBefore the check there was a possibility to greatly exceed the allowed\nnumber of processes by an unprivileged user if the program relied on\nrlimit only.  But the check created new security threat: many poorly\nwritten programs simply don\u0027t check setuid() return code and believe it\ncannot fail if executed with root privileges.  So, the check is removed\nin this patch because of too often privilege escalations related to\nbuggy programs.\n\nThe NPROC can still be enforced in the common code flow of daemons\nspawning user processes.  Most of daemons do fork()+setuid()+execve().\nThe check introduced in execve() (1) enforces the same limit as in\nsetuid() and (2) doesn\u0027t create similar security issues.\n\nNeil Brown suggested to track what specific process has exceeded the\nlimit by setting PF_NPROC_EXCEEDED process flag.  With the change only\nthis process would fail on execve(), and other processes\u0027 execve()\nbehaviour is not changed.\n\nSolar Designer suggested to re-check whether NPROC limit is still\nexceeded at the moment of execve().  If the process was sleeping for\ndays between set*uid() and execve(), and the NPROC counter step down\nunder the limit, the defered execve() failure because NPROC limit was\nexceeded days ago would be unexpected.  If the limit is not exceeded\nanymore, we clear the flag on successful calls to execve() and fork().\n\nThe flag is also cleared on successful calls to set_user() as the limit\nwas exceeded for the previous user, not the current one.\n\nSimilar check was introduced in -ow patches (without the process flag).\n\nv3 - clear PF_NPROC_EXCEEDED on successful calls to set_user().\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c09c47caedc9854d59378d6e34c989e51cfdd2b4",
      "tree": "ad7de20c08092cdf1cbbb83625a76acab3b0e2ce",
      "parents": [
        "8e4bf84474960e832b56293c9b0674c88b5b05ce"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu Aug 11 10:36:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Aug 11 10:36:05 2011 +0200"
      },
      "message": "blktrace: add FLUSH/FUA support\n\nAdd FLUSH/FUA support to blktrace. As FLUSH precedes WRITE and/or\nFUA follows WRITE, use the same \u0027F\u0027 flag for both cases and\ndistinguish them by their (relative) position. The end results\nlook like (other flags might be shown also):\n\n - WRITE:            W\n - WRITE_FLUSH:      FW\n - WRITE_FUA:        WF\n - WRITE_FLUSH_FUA:  FWF\n\nNote that we reuse TC_BARRIER due to lack of bit space of act_mask\nso that the older versions of blktrace tools will report flush\nrequests as barriers from now on.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8e4bf84474960e832b56293c9b0674c88b5b05ce",
      "tree": "b26ea750eaeda530a4b563d1f005dc5a1cac9510",
      "parents": [
        "40bb96ade4ef1549f387625589175def31dc9023"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Aug 11 10:36:03 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Aug 11 10:36:03 2011 +0200"
      },
      "message": "Move some REQ flags to the common bio/request area\n\nREQ_SECURE, REQ_FLUSH and REQ_FUA may all be set on a bio as well as\non a request, so relocate them to the shared part of the enum.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "89272b8c0d427021bed70b1b83e1a16be375ccf5",
      "tree": "ad7a4502c8585e8b1c165eabebd9b2ce10c163bb",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Aug 05 16:50:30 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Aug 09 11:27:16 2011 -0600"
      },
      "message": "dt: add empty of_get_property for non-dt\n\nThe patch adds empty function of_get_property for non-dt build, so that\ndrivers migrating to dt can save some \u0027#ifdef CONFIG_OF\u0027.\n\nThis also fixes the current Tegra compile problem in linux-next.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "6bb615bc396512992f77495180cda29f0f9791b5",
      "tree": "1812a26137e96bd944bdecdd556d89685779d2b9",
      "parents": [
        "ab04fc5890381e7dc907e809d27bf0f683de6e82",
        "60b1ae0cd469825e4db0837f5f19c3a8084300c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 09 08:41:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 09 08:41:36 2011 -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:\n  sound: pss - don\u0027t use the deprecated function check_region\n  ALSA: timer - Add NULL-check for invalid slave timer\n  ALSA: timer - Fix Oops at closing slave timer\n  ASoC: Acknowledge WM8996 interrupts before acting on them\n  ASoC: Rename WM8915 to WM8996\n  ALSA: Fix dependency of CONFIG_SND_TEA575X\n  ALSA: asihpi - use kzalloc()\n  ALSA: snd-usb-caiaq: Fix keymap for RigKontrol3\n  ALSA: snd-usb: Fix uninitialized variable usage\n  ALSA: hda - Fix a complile warning in patch_via.c\n  ALSA: hdspm - Fix uninitialized compile warnings\n  ALSA: usb-audio - add quirk for Keith McMillen StringPort\n  ALSA: snd-usb: operate on given mixer interface only\n  ALSA: snd-usb: avoid dividing by zero on invalid input\n  ALSA: snd-usb: Accept UAC2 FORMAT_TYPE descriptors with bLength \u003e 6\n  sound: oss/pas2: Remove CLOCK_TICK_RATE dependency from PAS16 driver\n  ALSA: hda - Use auto-parser for ASUS UX50, Eee PC P901, S101 and P1005\n  ALSA: hda - Fix digital-mic mono recording on ASUS Eee PC\n  ASoC: sgtl5000: fix cache handling\n  ASoC: Disable wm_hubs periodic DC servo update\n"
    },
    {
      "commit": "5c723ba5b7886909b2e430f2eae454c33f7fe5c6",
      "tree": "4111bfcba622b375d5dd6955fca5252753f283a1",
      "parents": [
        "2f84dd70916ccadd25e94d28363182a978f569b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jul 27 12:17:11 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 12:11:02 2011 -0700"
      },
      "message": "mm: Fix fixup_user_fault() for MMU\u003dn\n\nIn commit 2efaca927f5c (\"mm/futex: fix futex writes on archs with SW\ntracking of dirty \u0026 young\") we forgot about MMU\u003dn.  This patch fixes\nthat.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1311761831.24752.413.camel@twins\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "638a8439096c582bdb523fcea9d875d3e1fed38a",
      "tree": "096f759911f2b3346e30c5ddba61537b1ef42c28",
      "parents": [
        "27e4e4362756a78b15e83ef104c8bbe257f40f90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 11:33:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 11:33:23 2011 -0700"
      },
      "message": "cred: use \u0027const\u0027 in get_current_{user,groups}\n\nAvoid annoying warnings from these functions (\"discards qualifiers\")\nbecause they assign \u0027current_cred()\u0027 to a non-const pointer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27e4e4362756a78b15e83ef104c8bbe257f40f90",
      "tree": "e94ce9e5540cc8e2ae9a06aa398bc16a364c29b2",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Aug 08 15:54:53 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 09:03:16 2011 -0700"
      },
      "message": "CRED: Restore const to current_cred()\n\nCommit 3295514841c2 (\"fix rcu annotations noise in cred.h\") accidentally\ndropped the const of current-\u003ecred inside current_cred() by the\ninsertion of a cast to deal with an RCU annotation loss warning from\nsparce.\n\nUse an appropriate RCU wrapper instead so as not to lose the const.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\ncc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37fb3a30b46237f23cfdf7ee09d49f9888dd13bf",
      "tree": "c36910e300ade812159d12218fdf122b3d2ef3de",
      "parents": [
        "a2daff6803a384ce065e3681a2affea1da59c5f5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Aug 08 16:08:08 2011 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Aug 08 16:08:08 2011 +0200"
      },
      "message": "fuse: fix flock\n\nCommit a9ff4f87 \"fuse: support BSD locking semantics\" overlooked a\nnumber of issues with supporing flock locks over existing POSIX\nlocking infrastructure:\n\n  - it\u0027s not backward compatible, passing flock(2) calls to userspace\n    unconditionally (if userspace sets FUSE_POSIX_LOCKS)\n\n  - it doesn\u0027t cater for the fact that flock locks are automatically\n    unlocked on file release\n\n  - it doesn\u0027t take into account the fact that flock exclusive locks\n    (write locks) don\u0027t need an fd opened for write.\n\nThe last one invalidates the original premise of the patch that flock\nlocks can be emulated with POSIX locks.\n\nThis patch fixes the first two issues.  The last one needs to be fixed\nin userspace if the filesystem assumed that a write lock will happen\nonly on a file operned for write (as in the case of the current fuse\nlibrary).\n\nReported-by: Sebastian Pipping \u003cwebmaster@hartwork.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "47670b767b1593433b516df7798df03f858278be",
      "tree": "e83c8590a639d251049a235c4165e49ce46a69de",
      "parents": [
        "797fd3913abf2f7036003ab8d3d019cbea41affd"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Aug 07 09:16:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 22:52:32 2011 -0700"
      },
      "message": "ipv4: route non-local sources for raw socket\n\nThe raw sockets can provide source address for\nrouting but their privileges are not considered. We\ncan provide non-local source address, make sure the\nFLOWI_FLAG_ANYSRC flag is set if socket has privileges\nfor this, i.e. based on hdrincl (IP_HDRINCL) and\ntransparent flags.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6602a4baf4d1a73cc4685a39ef859e1c5ddf654c",
      "tree": "d25eac2abeb52608af77e55b1acd56c8904aecea",
      "parents": [
        "dd23198e58cd35259dd09e8892bbdb90f1d57748"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 22:48:07 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 22:48:07 2011 -0700"
      },
      "message": "net: Make userland include of netlink.h more sane.\n\nCurrently userland will barf when including linux/netlink.h unless it\nprecisely includes sys/socket.h first.  The issue is where the\ndefinition of \"sa_family_t\" comes from.\n\nWe\u0027ve been back and forth on how to fix this issue in the past, see:\n\nhttp://thread.gmane.org/gmane.linux.debian.devel.bugs.general/622621\nhttp://thread.gmane.org/gmane.linux.network/143380\n\nBen Hutchings suggested we take a hint from how we handle the\nsockaddr_storage type.  First we define a \"__kernel_sa_family_t\"\nto linux/socket.h that is always defined.\n\nThen if __KERNEL__ is defined, we also define \"sa_family_t\" as\nequal to \"__kernel_sa_family_t\".\n\nThen in places like linux/netlink.h we use __kernel_sa_family_t\nin user visible datastructures.\n\nReported-by: Michel Machado \u003cmichel@digirati.com.br\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9ba615134ad32254fae84f16e1751854755135c",
      "tree": "af253bdc450833158c1cac1bc71a484e9ec070bb",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jun 24 12:10:44 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 08 14:30:37 2011 +0900"
      },
      "message": "ASoC: Rename WM8915 to WM8996\n\nFor marketing reasons the part will be called WM8996. In order to avoid\nuser confusion rename the driver to reflect this.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "3295514841c2112d94451ba5deaf54f5afb78ea9",
      "tree": "6df351cb1febbcd011d24fcf99d1b08167c68d5e",
      "parents": [
        "7813b94a54987571082ff19e9d87eabbfec23b4e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Aug 07 18:55:11 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 07 13:42:35 2011 -0700"
      },
      "message": "fix rcu annotations noise in cred.h\n\ntask-\u003ecred is declared as __rcu, and access to other tasks\u0027 -\u003ecred is,\nindeed, protected.  Access to current-\u003ecred does not need rcu_dereference()\nat all, since only the task itself can change its -\u003ecred.  sparse, of\ncourse, has no way of knowing that...\n\nAdd force-cast in current_cred(), make current_fsuid() et.al. use it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2f340a69cabe0fb7b9f02d1a2495927db225a06",
      "tree": "dd9bc3125f833adf163c47542917ebc18b1acc56",
      "parents": [
        "3ddcd0569cd68f00f3beae9a7959b72918bb91f4",
        "cf283ade08c454e884394a4720f22421dd33a715"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:56:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:56:03 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  ore: Make ore its own module\n  exofs: Rename raid engine from exofs/ios.c \u003d\u003e ore\n  exofs: ios: Move to a per inode components \u0026 device-table\n  exofs: Move exofs specific osd operations out of ios.c\n  exofs: Add offset/length to exofs_get_io_state\n  exofs: Fix truncate for the raid-groups case\n  exofs: Small cleanup of exofs_fill_super\n  exofs: BUG: Avoid sbi realloc\n  exofs: Remove pnfs-osd private definitions\n  nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4\n"
    },
    {
      "commit": "3ddcd0569cd68f00f3beae9a7959b72918bb91f4",
      "tree": "3f7c591316560b1c22e2cc0700fbcd29aa3fbd7f",
      "parents": [
        "830c0f0edca67403d361fe976a25b17356c11f19"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:45:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:53:23 2011 -0700"
      },
      "message": "vfs: optimize inode cache access patterns\n\nThe inode structure layout is largely random, and some of the vfs paths\nreally do care.  The path lookup in particular is already quite D$\nintensive, and profiles show that accessing the \u0027inode-\u003ei_op-\u003exyz\u0027\nfields is quite costly.\n\nWe already optimized the dcache to not unnecessarily load the d_op\nstructure for members that are often NULL using the DCACHE_OP_xyz bits\nin dentry-\u003ed_flags, and this does something very similar for the inode\nops that are used during pathname lookup.\n\nIt also re-orders the fields so that the fields accessed by \u0027stat\u0027 are\ntogether at the beginning of the inode structure, and roughly in the\norder accessed.\n\nThe effect of this seems to be in the 1-2% range for an empty kernel\n\"make -j\" run (which is fairly kernel-intensive, mostly in filename\nlookup), so it\u0027s visible.  The numbers are fairly noisy, though, and\nlikely depend a lot on exact microarchitecture.  So there\u0027s more tuning\nto be done.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "830c0f0edca67403d361fe976a25b17356c11f19",
      "tree": "b4bfc71ab9aaff0e8b65403c319dde519dd6f9ef",
      "parents": [
        "7cd4767e696123cdb7447fbd7c281eb8c610c8e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:41:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:52:40 2011 -0700"
      },
      "message": "vfs: renumber DCACHE_xyz flags, remove some stale ones\n\nGcc tends to generate better code with small integers, including the\nDCACHE_xyz flag tests - so move the common ones to be first in the list.\nAlso just remove the unused DCACHE_INOTIFY_PARENT_WATCHED and\nDCACHE_AUTOFS_PENDING values, their users no longer exists in the source\ntree.\n\nAnd add a \"unlikely()\" to the DCACHE_OP_COMPARE test, since we want the\ncommon case to be a nice straight-line fall-through.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cd4767e696123cdb7447fbd7c281eb8c610c8e4",
      "tree": "8a44dfbe0a131f6036eab36f887a058e9750fe69",
      "parents": [
        "1957e7fdefce4494cb8d8f09ee2317b7ede24994",
        "6e5714eaf77d79ae1c8b47e3e040ff5411b717ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:12:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:12:37 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  net: Compute protocol sequence numbers and fragment IDs using MD5.\n  crypto: Move md5_transform to lib/md5.c\n"
    },
    {
      "commit": "8ff660ab85f524bdc7652eb5d38aaef1d66aa9c7",
      "tree": "c4a29cde4fc8654ae00e65cb520e13f9fe7f4e08",
      "parents": [
        "9e9db45649eb5d3ee5622fdad741914ecf1016a0"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sat Aug 06 19:26:31 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sat Aug 06 19:36:18 2011 -0700"
      },
      "message": "exofs: Rename raid engine from exofs/ios.c \u003d\u003e ore\n\nORE stands for \"Objects Raid Engine\"\n\nThis patch is a mechanical rename of everything that was in ios.c\nand its API declaration to an ore.c and an osd_ore.h header. The ore\nengine will later be used by the pnfs objects layout driver.\n\n* File ios.c \u003d\u003e ore.c\n\n* Declaration of types and API are moved from exofs.h to a new\n  osd_ore.h\n\n* All used types are prefixed by ore_ from their exofs_ name.\n\n* Shift includes from exofs.h to osd_ore.h so osd_ore.h is\n  independent, include it from exofs.h.\n\nOther than a pure rename there are no other changes. Next patch\nwill move the ore into it\u0027s own module and will export the API\nto be used by exofs and later the layout driver\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "6e5714eaf77d79ae1c8b47e3e040ff5411b717ec",
      "tree": "30bd0d7a6a0a6ff0ace6da1835ae7b7167cce5e4",
      "parents": [
        "bc0b96b54a21246e377122d54569eef71cec535f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 20:50:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 18:33:19 2011 -0700"
      },
      "message": "net: Compute protocol sequence numbers and fragment IDs using MD5.\n\nComputers have become a lot faster since we compromised on the\npartial MD4 hash which we use currently for performance reasons.\n\nMD5 is a much safer choice, and is inline with both RFC1948 and\nother ISS generators (OpenBSD, Solaris, etc.)\n\nFurthermore, only having 24-bits of the sequence number be truly\nunpredictable is a very serious limitation.  So the periodic\nregeneration and 8-bit counter have been removed.  We compute and\nuse a full 32-bit sequence number.\n\nFor ipv6, DCCP was found to use a 32-bit truncated initial sequence\nnumber (it needs 43-bits) and that is fixed here as well.\n\nReported-by: Dan Kaminsky \u003cdan@doxpara.com\u003e\nTested-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc0b96b54a21246e377122d54569eef71cec535f",
      "tree": "b9cb6230c79da4b3a146af7d08c6c26f8d72024c",
      "parents": [
        "de96355c111679dd6e2c5c73e25e814c72510c58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 19:45:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 18:32:45 2011 -0700"
      },
      "message": "crypto: Move md5_transform to lib/md5.c\n\nWe are going to use this for TCP/IP sequence number and fragment ID\ngeneration.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2560540b78b48c8050f56e8ff5903c11a4f7a16e",
      "tree": "fca860f19ef6845e0d61dad8d8e3648c059b4ecd",
      "parents": [
        "45a05f9488911851f7a5c536df80b41f0105caf0",
        "15b956a0b5651bbb1217ec374fdd67291dabb2af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 13:26:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 13:26:15 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (38 commits)\n  acer-wmi: support Lenovo ideapad S205 wifi switch\n  acerhdf.c: spaces in aliased changed to *\n  platform-drivers-x86: ideapad-laptop: add missing ideapad_input_exit in ideapad_acpi_add error path\n  x86 driver: fix typo in TDP override enabling\n  Platform: fix samsung-laptop DMI identification for N150/N210/220/N230\n  dell-wmi: Add keys for Dell XPS L502X\n  platform-drivers-x86: samsung-q10: make dmi_check_callback return 1\n  Platform: Samsung Q10 backlight driver\n  platform-drivers-x86: intel_scu_ipc: convert to DEFINE_PCI_DEVICE_TABLE\n  platform-drivers-x86: intel_rar_register: convert to DEFINE_PCI_DEVICE_TABLE\n  platform-drivers-x86: intel_menlow: add missing return AE_OK for intel_menlow_register_sensor()\n  platform-drivers-x86: intel_mid_thermal: fix memory leak\n  platform-drivers-x86: msi-wmi: add missing sparse_keymap_free in msi_wmi_init error path\n  Samsung Laptop platform driver: support N510\n  asus-wmi: add uwb rfkill support\n  asus-wmi: add gps rfkill support\n  asus-wmi: add CWAP support and clarify the meaning of WAPF bits\n  asus-wmi: return proper value in store_cpufv()\n  asus-wmi: check for temp1 presence\n  asus-wmi: add thermal sensor\n  ...\n"
    },
    {
      "commit": "1eb19a12bd2214cdcad5273d472b062a4ba97fa1",
      "tree": "a88b76f31a4ea5e3631581be249759fcf4b05a08",
      "parents": [
        "de96355c111679dd6e2c5c73e25e814c72510c58"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Fri Aug 05 18:46:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 11:26:52 2011 -0700"
      },
      "message": "lib/sha1: use the git implementation of SHA-1\n\nFor ChromiumOS, we use SHA-1 to verify the integrity of the root\nfilesystem.  The speed of the kernel sha-1 implementation has a major\nimpact on our boot performance.\n\nTo improve boot performance, we investigated using the heavily optimized\nsha-1 implementation used in git.  With the git sha-1 implementation, we\nsee a 11.7% improvement in boot time.\n\n10 reboots, remove slowest/fastest.\n\nBefore:\n\n  Mean: 6.58 seconds Stdev: 0.14\n\nAfter (with git sha-1, this patch):\n\n  Mean: 5.89 seconds Stdev: 0.07\n\nThe other cool thing about the git SHA-1 implementation is that it only\nneeds 64 bytes of stack for the workspace while the original kernel\nimplementation needed 320 bytes.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ramsay Jones \u003cramsay@ramsay1.demon.co.uk\u003e\nCc: Nicolas Pitre \u003cnico@cam.org\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: linux-crypto@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33009557bd9397c446a59e4cc91059a8e84c046b",
      "tree": "b553cf2d802bda2170ae8da013a1dbe3a79e2d36",
      "parents": [
        "38803141bf6ccf8f20d05c6f48e6e12c3650ce9a"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@MIT.EDU",
        "time": "Tue May 24 15:16:43 2011 -0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri Aug 05 14:45:41 2011 -0400"
      },
      "message": "Add KEY_MICMUTE and enable it on Lenovo X220\n\nI suspect that this works on T410.\n\nSigned-off-by: Andy Lutomirski \u003cluto@mit.edu\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "de96355c111679dd6e2c5c73e25e814c72510c58",
      "tree": "9283eee98bad9ee6dabdebcce12ec37f80196905",
      "parents": [
        "8cd290a07d095f3b354e3448bcd7757393c29cd5",
        "39060a07781b4930656752943cf5d66376d0533c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:44:38 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:44:38 2011 -1000"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (55 commits)\n  Revert \"drm/i915: Try enabling RC6 by default (again)\"\n  drm/radeon: Extended DDC Probing for ECS A740GM-M DVI-D Connector\n  drm/radeon: Log Subsystem Vendor and Device Information\n  drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC Lines (here: Asus M2A-VM HDMI)\n  drm: Separate EDID Header Check from EDID Block Check\n  drm: Add NULL check about irq functions\n  drm: Fix irq install error handling\n  drm/radeon: fix potential NULL dereference in drivers/gpu/drm/radeon/atom.c\n  drm/radeon: clean reg header files\n  drm/debugfs: Initialise empty variable\n  drm/radeon/kms: add thermal chip quirk for asus 9600xt\n  drm/radeon: off by one in check_reg() functions\n  drm/radeon/kms: fix version comment due to merge timing\n  drm/i915: allow cache sharing policy control\n  drm/i915/hdmi: HDMI source product description infoframe support\n  drm/i915/hdmi: split infoframe setting from infoframe type code\n  drm: track CEA version number if present\n  drm/i915: Try enabling RC6 by default (again)\n  Revert \"drm/i915/dp: Zero the DPCD data before connection probe\"\n  drm/i915/dp: wait for previous AUX channel activity to clear\n  ...\n"
    },
    {
      "commit": "07d952dc669bb70a9716a81e140e89b7d4969f09",
      "tree": "6e6455adcfdbd689e98e417401d692784de8ff92",
      "parents": [
        "5fdb32472ec6cd1d62788d8872585b342b5d1d92",
        "c15fea2d8ca834dae491339c47e4fb3c81428190"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:42:01 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 05 06:42:01 2011 -1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (54 commits)\n  ipv6: check for IPv4 mapped addresses when connecting IPv6 sockets\n  mlx4: decreasing ref count when removing mac\n  net: Fix security_socket_sendmsg() bypass problem.\n  net: Cap number of elements for sendmmsg\n  net: sendmmsg should only return an error if no messages were sent\n  ixgbe: fix PHY link setup for 82599\n  ixgbe: fix __ixgbe_notify_dca() bail out code\n  igb: fix WOL on second port of i350 device\n  e1000e: minor re-order of #include files\n  e1000e: remove unnecessary check for NULL pointer\n  intel drivers: repair missing flush operations\n  macb: restore wrap bit when performing underrun cleanup\n  cdc_ncm: fix endianness problem.\n  irda: use PCI_VENDOR_ID_*\n  mlx4: Fixing Ethernet unicast packet steering\n  net: fix NULL dereferences in check_peer_redir()\n  bnx2x: Clear MDIO access warning during first driver load\n  bnx2x: Fix BCM578xx MAC test\n  bnx2x: Fix BCM54618se invalid link indication\n  bnx2x: Fix BCM84833 link\n  ...\n"
    },
    {
      "commit": "24f0eed2668b059e847ff145848ddacb75419acc",
      "tree": "010c89c06e191b068f8a078b10bfaf1d3699c834",
      "parents": [
        "8b6b4628126fd73d0a53b499a26133c15b73c1e6",
        "3567866bf26190d1e734c975c907eb06e923ba23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "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:\n  RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached\n  get rid of boilerplate switches in posix_acl.h\n  fix block device fallout from -\u003efsync() changes\n"
    },
    {
      "commit": "7f3bf7cd348cead84f8027b32aa30ea49fa64df5",
      "tree": "d2f68190c64a7598fff040a8895103031551e2f2",
      "parents": [
        "cbc158d6bfa1990f7869717bb5270867c66068d1",
        "21ef4b8b7a7d59a995bf44382de38c95587767d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:43:43 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:43:43 2011 -1000"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  dmaengine: use DEFINE_IDR for static initialization\n  ioat: fix xor_idx_to_desc\n  Avoid section type conflict in dma/ioat/dma_v3.c\n  ioat: Adding PCI IDs for IOAT devices on SandyBridge platforms\n"
    },
    {
      "commit": "655b16128482fd12808f77a6799eea5419c93709",
      "tree": "833ca3eb906cc3ab872b7925efa8ffb6a02a22bb",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 10:57:47 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Aug 04 12:35:08 2011 -0700"
      },
      "message": "nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4\n\nexofs file system wants to use pnfs_osd_xdr.h file instead of\nredefining pnfs-objects types in it\u0027s private \"pnfs.h\" headr.\n\nBefore we do the switch we must make sure pnfs_osd_xdr.h is\ncompilable also under NFS versions smaller than 4.1. Since now\nit is needed regardless of version, by the exofs code.\n\nnfs4_string is not the only nfs4 type out in the global scope.\n\nAck-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "53d1e658df6e26d62500410719aaee2b82067c03",
      "tree": "80dc082c1f256c481f152a62c74605c8962251a6",
      "parents": [
        "455ce9d8410d381f56a1676449a723ca1985b369",
        "fe55c1844a1c106e9d9d3dd27cbfcf8caeb9e77e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:37:07 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:37:07 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  Revert \"dt: add of_alias_scan and of_alias_get_id\"\n  dt: remove of_alias_get_id() reference\n"
    },
    {
      "commit": "051963d4832ed61e5ae74f5330b0a94489e101b9",
      "tree": "4ade8f3af4f6ec99d8f76048707072708f5877e7",
      "parents": [
        "5037f8acf448dd0de9868dc7410f45879d3d1a1b"
      ],
      "author": {
        "name": "Thomas Reim",
        "email": "reimth@gmail.com",
        "time": "Fri Jul 29 14:28:57 2011 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:39:35 2011 +0100"
      },
      "message": "drm: Separate EDID Header Check from EDID Block Check\n\n    Provides function drm_edid_header_is_valid() for EDID header check\n    and replaces EDID header check part of function drm_edid_block_valid()\n    by a call of drm_edid_header_is_valid().\n    This is a prerequisite to extend DDC probing, e. g. in function\n    radeon_ddc_probe() for Radeon devices, by a central EDID header check.\n\n    Tested for kernel 2.6.35, 2.6.38 and 3.0\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Thomas Reim \u003creimth@gmail.com\u003e\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nAcked-by: Stephen Michaels \u003cStephen.Micheals@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0b576372e86c8e6bee01506651b21ec0fe8a1698",
      "tree": "ed86064dad2db36348ab9c8305a910fe5cc48cec",
      "parents": [
        "c41b9ee901bb2c7e3eacfa7e171de50c15d61c0b",
        "07b7ddd9b7f17a567e3ac2b33a4dffcb2a4524e0"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:22:24 2011 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Aug 04 14:22:24 2011 +0100"
      },
      "message": "Merge branch \u0027drm-intel-next\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6 into drm-fixes\n\n* \u0027drm-intel-next\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6: (42 commits)\n  drm/i915: allow cache sharing policy control\n  drm/i915/hdmi: HDMI source product description infoframe support\n  drm/i915/hdmi: split infoframe setting from infoframe type code\n  drm: track CEA version number if present\n  drm/i915: Try enabling RC6 by default (again)\n  Revert \"drm/i915/dp: Zero the DPCD data before connection probe\"\n  drm/i915/dp: wait for previous AUX channel activity to clear\n  drm/i915: don\u0027t use uninitialized EDID bpc values when picking pipe bpp\n  drm/i915/pch: Save/restore PCH_PORT_HOTPLUG across suspend\n  drm/i915: apply phase pointer override on SNB+ too\n  drm/i915: Add quirk to disable SSC on Sony Vaio Y2\n  drm/i915: provide more error output when mode sets fail\n  drm/i915: add GPU max frequency control file\n  i915: add Dell OptiPlex FX170 to intel_no_lvds\n  drm/i915: Ignore GPU wedged errors while pinning scanout buffers\n  drm/i915/hdmi: send AVI info frames on ILK+ as well\n  drm/i915: fix CB tuning check for ILK+\n  drm/i915: Flush other plane register writes\n  drm/i915: flush plane control changes on ILK+ as well\n  drm/i915: apply timing generator bug workaround on CPT and PPT\n  ...\n"
    },
    {
      "commit": "fe55c1844a1c106e9d9d3dd27cbfcf8caeb9e77e",
      "tree": "85bbcd23d3f5fcc6b19abfc29d5ffea9608a6fcb",
      "parents": [
        "9e191b22c91873c09c722d7f956ab9f3276f9a37"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 10:27:32 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 11:26:24 2011 +0100"
      },
      "message": "Revert \"dt: add of_alias_scan and of_alias_get_id\"\n\nThis reverts commit 750f463a749e28464151ad26938d11b07b1c43cb.\n\nof_alias_* still needs work to be generalized for \u0027promtree\u0027 dt\nplatforms, and to no implicitly create entries for available ids.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "35e51fe82ddcd8fb7f129d6dd8491c097d388665",
      "tree": "d6dd5e860c0e68a1af7976990c7d624e7362415d",
      "parents": [
        "c0c770e610cc4cdcd66c7e939bdf89cc3e72f79d",
        "a0bfa1373859e9d11dc92561a8667588803e42d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:54:15 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:54:15 2011 -1000"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  cpuidle: stop depending on pm_idle\n  x86 idle: move mwait_idle_with_hints() to where it is used\n  cpuidle: replace xen access to x86 pm_idle and default_idle\n  cpuidle: create bootparam \"cpuidle.off\u003d1\"\n  mrst_pmu: driver for Intel Moorestown Power Management Unit\n"
    },
    {
      "commit": "c0c770e610cc4cdcd66c7e939bdf89cc3e72f79d",
      "tree": "7cf6807258fef2a85a2ff212f4f4eb6d9dc336c6",
      "parents": [
        "a9e4e6e14c322e08d1c615afc8f504fb415f9613",
        "d0e323b47057f4492b8fa22345f38d80a469bf8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:53:27 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:53:27 2011 -1000"
      },
      "message": "Merge branch \u0027apei-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027apei-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPI, APEI, EINJ Param support is disabled by default\n  APEI GHES: 32-bit buildfix\n  ACPI: APEI build fix\n  ACPI, APEI, GHES: Add hardware memory error recovery support\n  HWPoison: add memory_failure_queue()\n  ACPI, APEI, GHES, Error records content based throttle\n  ACPI, APEI, GHES, printk support for recoverable error via NMI\n  lib, Make gen_pool memory allocator lockless\n  lib, Add lock-less NULL terminated single list\n  Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHG\n  ACPI, APEI, Add WHEA _OSC support\n  ACPI, APEI, Add APEI bit support in generic _OSC call\n  ACPI, APEI, GHES, Support disable GHES at boot time\n  ACPI, APEI, GHES, Prevent GHES to be built as module\n  ACPI, APEI, Use apei_exec_run_optional in APEI EINJ and ERST\n  ACPI, APEI, Add apei_exec_run_optional\n  ACPI, APEI, GHES, Do not ratelimit fatal error printk before panic\n  ACPI, APEI, ERST, Fix erst-dbg long record reading issue\n  ACPI, APEI, ERST, Prevent erst_dbg from loading if ERST is disabled\n"
    },
    {
      "commit": "27665ffa22b9b83bab226bf12c61424f7f1f8995",
      "tree": "aaccc030778bb6878c46ab9ca035901af67d78e4",
      "parents": [
        "14595f708eeb528fabcee339ed0b9e0a2ecec73f",
        "750f463a749e28464151ad26938d11b07b1c43cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:10:30 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:10:30 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt: add of_alias_scan and of_alias_get_id\n"
    },
    {
      "commit": "ebec9a7bf11f843b0602b06c402f04bf4213b35a",
      "tree": "dc99677c052f3a24bf55a87f9b88067f3de70102",
      "parents": [
        "4e20fa65a3ea789510eed1a15deb9e8aab2b8202"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Aug 03 09:22:54 2011 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Wed Aug 03 17:43:10 2011 -0700"
      },
      "message": "drm: track CEA version number if present\n\nDrivers need to know the CEA version number in addition to other display\ninfo (like whether the display is an HDMI sink) before enabling certain\nfeatures.  So track the CEA version number in the display info\nstructure.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "e504f3fdd63d486d45b18009e5a65f2e329acb0a",
      "tree": "2d02a5c29a922fae626a69cd0fc92cae37d7918e",
      "parents": [
        "31475dd611209413bace21651a400afb91d0bd9d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs radix_tree: locate_item to speed up swapoff\n\nWe have already acknowledged that swapoff of a tmpfs file is slower than\nit was before conversion to the generic radix_tree: a little slower\nthere will be acceptable, if the hotter paths are faster.\n\nBut it was a shock to find swapoff of a 500MB file 20 times slower on my\nlaptop, taking 10 minutes; and at that rate it significantly slows down\nmy testing.\n\nNow, most of that turned out to be overhead from PROVE_LOCKING and\nPROVE_RCU: without those it was only 4 times slower than before; and\nmore realistic tests on other machines don\u0027t fare as badly.\n\nI\u0027ve tried a number of things to improve it, including tagging the swap\nentries, then doing lookup by tag: I\u0027d expected that to halve the time,\nbut in practice it\u0027s erratic, and often counter-productive.\n\nThe only change I\u0027ve so far found to make a consistent improvement, is\nto short-circuit the way we go back and forth, gang lookup packing\nentries into the array supplied, then shmem scanning that array for the\ntarget entry.  Scanning in place doubles the speed, so it\u0027s now only\ntwice as slow as before (or three times slower when the PROVEs are on).\n\nSo, add radix_tree_locate_item() as an expedient, once-off,\nsingle-caller hack to do the lookup directly in place.  #ifdef it on\nCONFIG_SHMEM and CONFIG_SWAP, as much to document its limited\napplicability as save space in other configurations.  And, sadly,\n#include sched.h for cond_resched().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69f07ec938712b58755add82dd3d0b35f01317cc",
      "tree": "7a0a704ed4bc79dbba50454093469d0ce31ef1a4",
      "parents": [
        "6922c0c7abd387374255801f7739624867e8acad"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs: use kmemdup for short symlinks\n\nBut we\u0027ve not yet removed the old swp_entry_t i_direct[16] from\nshmem_inode_info.  That\u0027s because it was still being shared with the\ninline symlink.  Remove it now (saving 64 or 128 bytes from shmem inode\nsize), and use kmemdup() for short symlinks, say, those up to 128 bytes.\n\nI wonder why mpol_free_shared_policy() is done in shmem_destroy_inode()\nrather than shmem_evict_inode(), where we usually do such freeing? I\nguess it doesn\u0027t matter, and I\u0027m not into NUMA mpol testing right now.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@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": "aa3b189551ad8e5cc1d9c663735c131650238278",
      "tree": "c789ab5c7f890a6065811d8bba15a784caf9e859",
      "parents": [
        "54af60421822bb9cb664dd5cd7aac46c01ccfcf8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs: convert mem_cgroup shmem to radix-swap\n\nRemove mem_cgroup_shmem_charge_fallback(): it was only required when we\nhad to move swappage to filecache with GFP_NOWAIT.\n\nRemove the GFP_NOWAIT special case from mem_cgroup_cache_charge(), by\nmoving its call out from shmem_add_to_page_cache() to two of thats three\ncallers.  But leave it doing mem_cgroup_uncharge_cache_page() on error:\nalthough asymmetrical, it\u0027s easier for all 3 callers to handle.\n\nThese two changes would also be appropriate if anyone were to start\nusing shmem_read_mapping_page_gfp() with GFP_NOWAIT.\n\nRemove mem_cgroup_get_shmem_target(): mc_handle_file_pte() can test\nradix_tree_exceptional_entry() to get what it needs for itself.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41ffe5d5ceef7f7ff2ff18e320d88ca6d629efaf",
      "tree": "66ce800fb7911ed037aa574f46729646ce485d0b",
      "parents": [
        "285b2c4fdd69ea73b4762785d8c6be83b6c074a6"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: miscellaneous trivial cleanups\n\nWhile it\u0027s at its least, make a number of boring nitpicky cleanups to\nshmem.c, mostly for consistency of variable naming.  Things like \"swap\"\ninstead of \"entry\", \"pgoff_t index\" instead of \"unsigned long idx\".\n\nAnd since everything else here is prefixed \"shmem_\", better change\ninit_tmpfs() to shmem_init().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "285b2c4fdd69ea73b4762785d8c6be83b6c074a6",
      "tree": "b350a54d8bca3e87ca47d2ad14bb71a53c9bb593",
      "parents": [
        "a2c16d6cb0e478812829ca84aeabd02e36af35eb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: demolish old swap vector support\n\nThe maximum size of a shmem/tmpfs file has been limited by the maximum\nsize of its triple-indirect swap vector.  With 4kB page size, maximum\nfilesize was just over 2TB on a 32-bit kernel, but sadly one eighth of\nthat on a 64-bit kernel.  (With 8kB page size, maximum filesize was just\nover 4TB on a 64-bit kernel, but 16TB on a 32-bit kernel,\nMAX_LFS_FILESIZE being then more restrictive than swap vector layout.)\n\nIt\u0027s a shame that tmpfs should be more restrictive than ramfs, and this\nlimitation has now been noticed.  Add another level to the swap vector?\nNo, it became obscure and hard to maintain, once I complicated it to\nmake use of highmem pages nine years ago: better choose another way.\n\nSurely, if 2.4 had had the radix tree pagecache introduced in 2.5, then\ntmpfs would never have invented its own peculiar radix tree: we would\nhave fitted swap entries into the common radix tree instead, in much the\nsame way as we fit swap entries into page tables.\n\nAnd why should each file have a separate radix tree for its pages and\nfor its swap entries? The swap entries are required precisely where and\nwhen the pages are not.  We want to put them together in a single radix\ntree: which can then avoid much of the locking which was needed to\nprevent them from being exchanged underneath us.\n\nThis also avoids the waste of memory devoted to swap vectors, first in\nthe shmem_inode itself, then at least two more pages once a file grew\nbeyond 16 data pages (pages accounted by df and du, but not by memcg).\nAllocated upfront, to avoid allocation when under swapping pressure, but\npure waste when CONFIG_SWAP is not set - I have never spattered around\nthe ifdefs to prevent that, preferring this move to sharing the common\nradix tree instead.\n\nThere are three downsides to sharing the radix tree.  One, that it binds\ntmpfs more tightly to the rest of mm, either requiring knowledge of swap\nentries in radix tree there, or duplication of its code here in shmem.c.\nI believe that the simplications and memory savings (and probable higher\nperformance, not yet measured) justify that.\n\nTwo, that on HIGHMEM systems with SWAP enabled, it\u0027s the lowmem radix\nnodes that cannot be freed under memory pressure - whereas before it was\nthe less precious highmem swap vector pages that could not be freed.\nI\u0027m hoping that 64-bit has now been accessible for long enough, that the\nhighmem argument has grown much less persuasive.\n\nThree, that swapoff is slower than it used to be on tmpfs files, since\nit\u0027s using a simple generic mechanism not tailored to it: I find this\nnoticeable, and shall want to improve, but maybe nobody else will\nnotice.\n\nSo...  now remove most of the old swap vector code from shmem.c.  But,\nfor the moment, keep the simple i_direct vector of 16 pages, with simple\naccessors shmem_put_swap() and shmem_get_swap(), as a toy implementation\nto help mark where swap needs to be handled in subsequent patches.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2c16d6cb0e478812829ca84aeabd02e36af35eb",
      "tree": "7803a522da5deee7ce753dc5404dca01f42aa176",
      "parents": [
        "6328650bb4d854a7dc1498d1c0048b838b0d340c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "mm: let swap use exceptional entries\n\nIf swap entries are to be stored along with struct page pointers in a\nradix tree, they need to be distinguished as exceptional entries.\n\nMost of the handling of swap entries in radix tree will be contained in\nshmem.c, but a few functions in filemap.c\u0027s common code need to check\nfor their appearance: find_get_page(), find_lock_page(),\nfind_get_pages() and find_get_pages_contig().\n\nSo as not to slow their fast paths, tuck those checks inside the\nexisting checks for unlikely radix_tree_deref_slot(); except for\nfind_lock_page(), where it is an added test.  And make it a BUG in\nfind_get_pages_tag(), which is not applied to tmpfs files.\n\nA part of the reason for eliminating shmem_readpage() earlier, was to\nminimize the places where common code would need to allow for swap\nentries.\n\nThe swp_entry_t known to swapfile.c must be massaged into a slightly\ndifferent form when stored in the radix tree, just as it gets massaged\ninto a pte_t when stored in page tables.\n\nIn an i386 kernel this limits its information (type and page offset) to\n30 bits: given 32 \"types\" of swapfile and 4kB pagesize, that\u0027s a maximum\nswapfile size of 128GB.  Which is less than the 512GB we previously\nallowed with X86_PAE (where the swap entry can occupy the entire upper\n32 bits of a pte_t), but not a new limitation on 32-bit without PAE; and\nthere\u0027s not a new limitation on 64-bit (where swap filesize is already\nlimited to 16TB by a 32-bit page offset).  Thirty areas of 128GB is\nprobably still enough swap for a 64GB 32-bit machine.\n\nProvide swp_to_radix_entry() and radix_to_swp_entry() conversions, and\nenforce filesize limit in read_swap_header(), just as for ptes.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6328650bb4d854a7dc1498d1c0048b838b0d340c",
      "tree": "0e265dc86f7c4451647c1e227843cdd1530f9651",
      "parents": [
        "70d327198a434edb95b3d858bc8010b8add28e3e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "radix_tree: exceptional entries and indices\n\nA patchset to extend tmpfs to MAX_LFS_FILESIZE by abandoning its\npeculiar swap vector, instead keeping a file\u0027s swap entries in the same\nradix tree as its struct page pointers: thus saving memory, and\nsimplifying its code and locking.\n\nThis patch:\n\nThe radix_tree is used by several subsystems for different purposes.  A\nmajor use is to store the struct page pointers of a file\u0027s pagecache for\nmemory management.  But what if mm wanted to store something other than\npage pointers there too?\n\nThe low bit of a radix_tree entry is already used to denote an indirect\npointer, for internal use, and the unlikely radix_tree_deref_retry()\ncase.\n\nDefine the next bit as denoting an exceptional entry, and supply inline\nfunctions radix_tree_exception() to return non-0 in either unlikely\ncase, and radix_tree_exceptional_entry() to return non-0 in the second\ncase.\n\nIf a subsystem already uses radix_tree with that bit set, no problem: it\ndoes not affect internal workings at all, but is defined for the\nconvenience of those storing well-aligned pointers in the radix_tree.\n\nThe radix_tree_gang_lookups have an implicit assumption that the caller\ncan deduce the offset of each entry returned e.g.  by the page-\u003eindex of\na struct page.  But that may not be feasible for some kinds of item to\nbe stored there.\n\nradix_tree_gang_lookup_slot() allow for an optional indices argument,\noutput array in which to return those offsets.  The same could be added\nto other radix_tree_gang_lookups, but for now keep it to the only one\nfor which we need it.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d6f921b42749d1a70441685b7a4f2801e12ebfb",
      "tree": "6c2bdf6a7de23e7ec7d8d5990586e1a0527164b0",
      "parents": [
        "4c4dd903e72507c853b8c2b04b22e0d0c721fd93"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Aug 03 16:21:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "drivers/video/backlight/aat2870_bl.c: fix setting max_current\n\n - Current implementation tests wrong value for setting\n   aat2870_bl-\u003emax_current.\n\n - In the current implementation, we cannot differentiate between 2 cases:\n\n   a) if pdata-\u003emax_current is not set , or\n\n   b) pdata-\u003emax_current is set to AAT2870_CURRENT_0_45 (which is also 0).\n\n   Fix it by setting AAT2870_CURRENT_0_45 to be 1 and adjust the equation in\n   aat2870_brightness() accordingly.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nTested-by: Jin Park \u003cjinyoungp@nvidia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dab1bce8e840606e76f1bad5a009328e2aa35c7",
      "tree": "ab2b3a8f159497ec22bb9c98445a214116e86b4e",
      "parents": [
        "f7b9fcbbc3b8593ff7dc587f90c2fe90a2fd1e6f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Aug 03 16:21:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "mm: page_alloc: increase __GFP_BITS_SHIFT to include __GFP_OTHER_NODE\n\n__GFP_OTHER_NODE is used for NUMA allocations on behalf of other nodes.\nIt\u0027s supposed to be passed through from the page allocator to\nzone_statistics(), but it never gets there as gfp_allowed_mask is not\nwide enough and masks out the flag early in the allocation path.\n\nThe result is an accounting glitch where successful NUMA allocations\nby-agent are not properly attributed as local.\n\nIncrease __GFP_BITS_SHIFT so that it includes __GFP_OTHER_NODE.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88eca0207cf1574328c3ce8c3be537a9317261bb",
      "tree": "155b13f5df1e239fea2ad5512ef5b19865de4a9e",
      "parents": [
        "a7295898a1d2e501427f557111c2b4bdfc90b1ed"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 03 16:21:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:20 2011 -1000"
      },
      "message": "ida: simplified functions for id allocation\n\nThe current hyper-optimized functions are overkill if you simply want to\nallocate an id for a device.  Create versions which use an internal\nlock.\n\nIn followup patches, numerous drivers are converted to use this\ninterface.\n\nThanks to Tejun for feedback.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\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": "dd48c085c1cdf9446f92826f1fd451167fb6c2fd",
      "tree": "d62870378cc08af36ea7a41531436bdebddec232",
      "parents": [
        "f48d1915b86f06a943087e5f9b29542a1ef4cd4d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Aug 03 16:21:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:20 2011 -1000"
      },
      "message": "fault-injection: add ability to export fault_attr in arbitrary directory\n\ninit_fault_attr_dentries() is used to export fault_attr via debugfs.\nBut it can only export it in debugfs root directory.\n\nPer Forlin is working on mmc_fail_request which adds support to inject\ndata errors after a completed host transfer in MMC subsystem.\n\nThe fault_attr for mmc_fail_request should be defined per mmc host and\nexport it in debugfs directory per mmc host like\n/sys/kernel/debug/mmc0/mmc_fail_request.\n\ninit_fault_attr_dentries() doesn\u0027t help for mmc_fail_request.  So this\nintroduces fault_create_debugfs_attr() which is able to create a\ndirectory in the arbitrary directory and replace\ninit_fault_attr_dentries().\n\n[akpm@linux-foundation.org: extraneous semicolon, per Randy]\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nTested-by: Per Forlin \u003cper.forlin@linaro.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0bfa1373859e9d11dc92561a8667588803e42d8",
      "tree": "ef5768a313ac16a211830efc3edb9ca95487cb6a",
      "parents": [
        "4bfc8288bc4a64529c5547d17349a2a1f4675507"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 19:34:59 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 19:06:37 2011 -0400"
      },
      "message": "cpuidle: stop depending on pm_idle\n\ncpuidle users should call cpuidle_call_idle() directly\nrather than via (pm_idle)() function pointer.\n\nArchitecture may choose to continue using (pm_idle)(),\nbut cpuidle need not depend on it:\n\n  my_arch_cpu_idle()\n\t...\n\tif(cpuidle_call_idle())\n\t\tpm_idle();\n\ncc: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\ncc: Paul Mundt \u003clethal@linux-sh.org\u003e\ncc: x86@kernel.org\nAcked-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d91ee5863b71e8c90eaf6035bff3078a85e2e7b5",
      "tree": "7c4972d8d6f614f656720ec686a6288de68f4af3",
      "parents": [
        "62027aea23fcd14478abdddd3b74a4e0f5fb2984"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 18:28:35 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 19:06:36 2011 -0400"
      },
      "message": "cpuidle: replace xen access to x86 pm_idle and default_idle\n\nWhen a Xen Dom0 kernel boots on a hypervisor, it gets access\nto the raw-hardware ACPI tables.  While it parses the idle tables\nfor the hypervisor\u0027s beneift, it uses HLT for its own idle.\n\nRather than have xen scribble on pm_idle and access default_idle,\nhave it simply disable_cpuidle() so acpi_idle will not load and\narchitecture default HLT will be used.\n\ncc: xen-devel@lists.xensource.com\nTested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d0e323b47057f4492b8fa22345f38d80a469bf8d",
      "tree": "feb760c7e2cdb1e43640417409428ab858910ea3",
      "parents": [
        "c027a474a68065391c8773f6e83ed5412657e369",
        "c3e6088e1036f8084bc7444b38437da136b7588b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:30:42 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:30:42 2011 -0400"
      },
      "message": "Merge branch \u0027apei\u0027 into apei-release\n\nSome trivial conflicts due to other various merges\nadding to the end of common lists sooner than this one.\n\n\tarch/ia64/Kconfig\n\tarch/powerpc/Kconfig\n\tarch/x86/Kconfig\n\tlib/Kconfig\n\tlib/Makefile\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a7e09d450b2e0b068e850d103b6ee1af537d1910",
      "tree": "b38756299aeb751ea88a143560ceae0241471dc6",
      "parents": [
        "ba61ca4aab47441f1c6cec28a9a6aa0489fd1df3"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Jul 16 18:14:21 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:59 2011 -0400"
      },
      "message": "ACPI: APEI build fix\n\nas GHES is optional...\n\nWhen # CONFIG_ACPI_APEI_GHES is not set:\n\n(.init.text+0x4c22): undefined reference to `ghes_disable\u0027\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ea8f5fb8a71fddaf5f3a17100d3247855701f732",
      "tree": "052c3f7e699745394a35063d2a58c4ef0995f3c5",
      "parents": [
        "152cef40a808d3034e383465b3f7d6783613e458"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jul 13 13:14:27 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:58 2011 -0400"
      },
      "message": "HWPoison: add memory_failure_queue()\n\nmemory_failure() is the entry point for HWPoison memory error\nrecovery.  It must be called in process context.  But commonly\nhardware memory errors are notified via MCE or NMI, so some delayed\nexecution mechanism must be used.  In MCE handler, a work queue + ring\nbuffer mechanism is used.\n\nIn addition to MCE, now APEI (ACPI Platform Error Interface) GHES\n(Generic Hardware Error Source) can be used to report memory errors\ntoo.  To add support to APEI GHES memory recovery, a mechanism similar\nto that of MCE is implemented.  memory_failure_queue() is the new\nentry point that can be called in IRQ context.  The next step is to\nmake MCE handler uses this interface too.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7f184275aa306046fe7edcbef3229754f0d97402",
      "tree": "e2f82957072dd1ada3a4bc6c0281a6296123d8a0",
      "parents": [
        "f49f23abf3dd786ddcac1c1e7db3c2013b07413f"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jul 13 13:14:24 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:57 2011 -0400"
      },
      "message": "lib, Make gen_pool memory allocator lockless\n\nThis version of the gen_pool memory allocator supports lockless\noperation.\n\nThis makes it safe to use in NMI handlers and other special\nunblockable contexts that could otherwise deadlock on locks.  This is\nimplemented by using atomic operations and retries on any conflicts.\nThe disadvantage is that there may be livelocks in extreme cases.  For\nbetter scalability, one gen_pool allocator can be used for each CPU.\n\nThe lockless operation only works if there is enough memory available.\nIf new memory is added to the pool a lock has to be still taken.  So\nany user relying on locklessness has to ensure that sufficient memory\nis preallocated.\n\nThe basic atomic operation of this allocator is cmpxchg on long.  On\narchitectures that don\u0027t have NMI-safe cmpxchg implementation, the\nallocator can NOT be used in NMI handler.  So code uses the allocator\nin NMI handler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f49f23abf3dd786ddcac1c1e7db3c2013b07413f",
      "tree": "0726af5e245025b60be8adee0deb8bc665510904",
      "parents": [
        "df013ffb8119c89f062ab05b7f544704315db47b"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jul 13 13:14:23 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:56 2011 -0400"
      },
      "message": "lib, Add lock-less NULL terminated single list\n\nCmpxchg is used to implement adding new entry to the list, deleting\nall entries from the list, deleting first entry of the list and some\nother operations.\n\nBecause this is a single list, so the tail can not be accessed in O(1).\n\nIf there are multiple producers and multiple consumers, llist_add can\nbe used in producers and llist_del_all can be used in consumers.  They\ncan work simultaneously without lock.  But llist_del_first can not be\nused here.  Because llist_del_first depends on list-\u003efirst-\u003enext does\nnot changed if list-\u003efirst is not changed during its operation, but\nllist_del_first, llist_add, llist_add (or llist_del_all, llist_add,\nllist_add) sequence in another consumer may violate that.\n\nIf there are multiple producers and one consumer, llist_add can be\nused in producers and llist_del_all or llist_del_first can be used in\nthe consumer.\n\nThis can be summarized as follow:\n\n           |   add    | del_first |  del_all\n add       |    -     |     -     |     -\n del_first |          |     L     |     L\n del_all   |          |           |     -\n\nWhere \"-\" stands for no lock is needed, while \"L\" stands for lock is\nneeded.\n\nThe list entries deleted via llist_del_all can be traversed with\ntraversing function such as llist_for_each etc.  But the list entries\ncan not be traversed safely before deleted from the list.  The order\nof deleted entries is from the newest to the oldest added one.  If you\nwant to traverse from the oldest to the newest, you must reverse the\norder by yourself before traversing.\n\nThe basic atomic operation of this list is cmpxchg on long.  On\narchitectures that don\u0027t have NMI-safe cmpxchg implementation, the\nlist can NOT be used in NMI handler.  So code uses the list in NMI\nhandler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "750f463a749e28464151ad26938d11b07b1c43cb",
      "tree": "6aabb1512a4000615e93b25beccba606b62f7237",
      "parents": [
        "ed8f37370d83e695c0a4fa5d5fc7a83ecb947526"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Wed Aug 03 11:28:14 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Aug 03 13:02:31 2011 +0100"
      },
      "message": "dt: add of_alias_scan and of_alias_get_id\n\nThe patch adds function of_alias_scan to populate a global lookup\ntable with the properties of \u0027aliases\u0027 node and function\nof_alias_get_id for drivers to find alias id from the lookup table.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\n[grant.likely: add locking and rework parse loop]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "f2c31e32b378a6653f8de606149d963baf11d7d3",
      "tree": "4eeb8075a93520935381a75514f309228e6824c0",
      "parents": [
        "28f4881cbf9ce285edfc245a8990af36d21c062f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 29 19:00:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 03:34:12 2011 -0700"
      },
      "message": "net: fix NULL dereferences in check_peer_redir()\n\nGergely Kalman reported crashes in check_peer_redir().\n\nIt appears commit f39925dbde778 (ipv4: Cache learned redirect\ninformation in inetpeer.) added a race, leading to possible NULL ptr\ndereference.\n\nSince we can now change dst neighbour, we should make sure a reader can\nsafely use a neighbour.\n\nAdd RCU protection to dst neighbour, and make sure check_peer_redir()\ncan be called safely by different cpus in parallel.\n\nAs neighbours are already freed after one RCU grace period, this patch\nshould not add typical RCU penalty (cache cold effects)\n\nMany thanks to Gergely for providing a pretty report pointing to the\nbug.\n\nReported-by: Gergely Kalman \u003csynapse@hippy.csoma.elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c299eba3c5a801657f275d33be588b34831cd30e",
      "tree": "022a2a72604443fa8ce8d3fd040fbda49b04f681",
      "parents": [
        "1850536b93888e6cc3ee42e63e20e61f35f8b3e2",
        "4a8f5058bde15d737abe39b5bed3f21dcb6599d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:17:02 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:17:02 2011 -1000"
      },
      "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: (28 commits)\n  ACPI:  delete stale reference in kernel-parameters.txt\n  ACPI: add missing _OSI strings\n  ACPI: remove NID_INVAL\n  thermal: make THERMAL_HWMON implementation fully internal\n  thermal: split hwmon lookup to a separate function\n  thermal: hide CONFIG_THERMAL_HWMON\n  ACPI print OSI(Linux) warning only once\n  ACPI: DMI workaround for Asus A8N-SLI Premium and Asus A8N-SLI DELUX\n  ACPI / Battery: propagate sysfs error in acpi_battery_add()\n  ACPI / Battery: avoid acpi_battery_add() use-after-free\n  ACPI: introduce \"acpi_rsdp\u003d\" parameter for kdump\n  ACPI: constify ops structs\n  ACPI: fix CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS\n  ACPI: fix 80 char overflow\n  ACPI / Battery: Resolve the race condition in the sysfs_remove_battery()\n  ACPI / Battery: Add the check before refresh sysfs in the battery_notify()\n  ACPI / Battery: Add the hibernation process in the battery_notify()\n  ACPI / Battery: Rename acpi_battery_quirks2 with acpi_battery_quirks\n  ACPI / Battery: Change 16-bit signed negative battery current into correct value\n  ACPI / Battery: Add the power unit macro\n  ...\n"
    },
    {
      "commit": "a6b11f53388973d99c4a357c22b19753b424e73c",
      "tree": "f0c31698f4f3ba47e44d34f7f5077ddde6079850",
      "parents": [
        "73a9fe86fa21ccd528807b8cc871dc18be67ee5a",
        "d945fa0da7db9ace61fbb2140cfdb1e2d2b24e7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:57 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:57 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  MAINTAINERS: Add keyword match for of_match_table to device tree section\n  of: constify property name parameters for helper functions\n  input: xilinx_ps2: Add missing of_address.h header\n  of: address: use resource_size helper\n"
    },
    {
      "commit": "f3406816bb2486fc44558bec77179cd9bcbd4450",
      "tree": "718db1ef45e55314b5e7290f77e70e6328d855a4",
      "parents": [
        "4400478ba3d939b680810aa004f1e954b4f8ba16",
        "ed8b752bccf2560e305e25125721d2f0ac759e88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:21 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:21 2011 -1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (34 commits)\n  dm table: set flush capability based on underlying devices\n  dm crypt: optionally support discard requests\n  dm raid: add md raid1 support\n  dm raid: support metadata devices\n  dm raid: add write_mostly parameter\n  dm raid: add region_size parameter\n  dm raid: improve table parameters documentation\n  dm ioctl: forbid multiple device specifiers\n  dm ioctl: introduce __get_dev_cell\n  dm ioctl: fill in device parameters in more ioctls\n  dm flakey: add corrupt_bio_byte feature\n  dm flakey: add drop_writes\n  dm flakey: support feature args\n  dm flakey: use dm_target_offset and support discards\n  dm table: share target argument parsing functions\n  dm snapshot: skip reading origin when overwriting complete chunk\n  dm: ignore merge_bvec for snapshots when safe\n  dm table: clean dm_get_device and move exports\n  dm raid: tidy includes\n  dm ioctl: prevent empty message\n  ...\n"
    },
    {
      "commit": "3567866bf26190d1e734c975c907eb06e923ba23",
      "tree": "60d6b71d8ec821b121e6ab0756833d79c912908e",
      "parents": [
        "951c0d660a7c35286e401ca6d6ef38c9d49643c7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Aug 02 21:32:13 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 03 00:58:42 2011 -0400"
      },
      "message": "RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "951c0d660a7c35286e401ca6d6ef38c9d49643c7",
      "tree": "3d642b16e966a5f000c288bfbcac868cf994559c",
      "parents": [
        "da5aa861bea09197e6ae4d7c46618616064891e4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 03 00:47:21 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 03 00:47:21 2011 -0400"
      },
      "message": "get rid of boilerplate switches in posix_acl.h\n\nthe only potentially subtle thing here: get_cached_acl()\nis never called with the second argument other than\nACL_TYPE_{ACCESS,DEFAULT}.  IOW, that return ERR_PTR(-EINVAL)\nin there might as well be BUG().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4a8f5058bde15d737abe39b5bed3f21dcb6599d2",
      "tree": "5e4fc5e59d4393fd08852665a6da1ecbbfd0d8b3",
      "parents": [
        "3eb208f0a36cf7a86953afa7a4eb6776294e6768",
        "eb03cb02b74df6dd0b653d5f6d976f16a434dfaf",
        "d7f6169a0d32002657886fee561c641acddb9a75",
        "e4108292cc5b5ca07abc83af31a78338362810ca",
        "bb0c5ed6ec523199e34e81dcef8e987507553b63",
        "aa165971c2923d05988f920c978e438dbc7b0de6",
        "4996c02306a25def1d352ec8e8f48895bbc7dea9",
        "6c8111e9a0e73ef1e58a1bf0a10c23ee1512e7a2"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Aug 02 17:22:09 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Aug 02 17:22:09 2011 -0400"
      },
      "message": "Merge branches \u0027acpica\u0027, \u0027battery\u0027, \u0027boot-irqs\u0027, \u0027bz-24492\u0027, \u0027bz-9528\u0027, \u0027from-akpm\u0027, \u0027kexec-param\u0027 and \u0027misc\u0027 into release\n\nConflicts:\n\tDocumentation/kernel-parameters.txt\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f52e00c668669c9c290e84adf859c76db6d92a5a",
      "tree": "0535f1b6eb51e35b7ca454a2323470dc797f89f9",
      "parents": [
        "31f5396ad3bde23c8416e8d23ba425e27f413314"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jul 28 13:48:43 2011 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Aug 02 14:52:13 2011 -0400"
      },
      "message": "ACPI: remove NID_INVAL\n\nb552a8c56db8 (\"ACPI: remove NID_INVAL\") removed the left over uses of\nNID_INVAL, but didn\u0027t actually remove the definition.  Remove it.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "31f5396ad3bde23c8416e8d23ba425e27f413314",
      "tree": "923ec07b9afff6cf952cbc2bd5f26bf490793c6f",
      "parents": [
        "0d97d7a494d43be77f57e688369be0aae33d1ade"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Jul 28 13:48:42 2011 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Aug 02 14:51:57 2011 -0400"
      },
      "message": "thermal: make THERMAL_HWMON implementation fully internal\n\nTHERMAL_HWMON is implemented inside the thermal_sys driver and has no\neffect on drivers implementing thermal zones, so they shouldn\u0027t see\nanything related to it in \u003clinux/thermal.h\u003e.  Making the THERMAL_HWMON\nimplementation fully internal has two advantages beyond the cleaner\ndesign:\n\n* This avoids rebuilding all thermal drivers if the THERMAL_HWMON\n  implementation changes, or if CONFIG_THERMAL_HWMON gets enabled or\n  disabled.\n\n* This avoids breaking the thermal kABI in these cases too, which should\n  make distributions happy.\n\nThe only drawback I can see is slightly higher memory fragmentation, as\nthe number of kzalloc() calls will increase by one per thermal zone.  But\nI doubt it will be a problem in practice, as I\u0027ve never seen a system with\nmore than two thermal zones.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Rene Herman \u003crene.herman@gmail.com\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "aac285c6cb9622f1cc05ed162604bf5ad2da9a8d",
      "tree": "1cfcff20a178ad2c439484f74b0ffd77bd7feedf",
      "parents": [
        "5f9288af065537be1fe6d1d5bd54ba51d6df721a"
      ],
      "author": {
        "name": "Jamie Iles",
        "email": "jamie@jamieiles.com",
        "time": "Tue Aug 02 15:45:07 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Aug 02 16:50:47 2011 +0100"
      },
      "message": "of: constify property name parameters for helper functions\n\nThe helper functions for reading u32 integers, u32 arrays and strings\nshould have the property name as a const pointer.\n\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Jamie Iles \u003cjamie@jamieiles.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "0ddf9644cc26e74ed671525e61a17bdbebf18da6",
      "tree": "fa10cf2fda8f52c0da7f2f1fcec54f2ce2d5bd1f",
      "parents": [
        "a3998799fb4df0b0af8271a7d50c4269032397aa"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Aug 02 12:32:06 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Aug 02 12:32:06 2011 +0100"
      },
      "message": "dm ioctl: fill in device parameters in more ioctls\n\nMove parameter filling from find_device to __find_device_hash_cell.\n\nThis patch causes ioctls using __find_device_hash_cell\n(DM_DEV_REMOVE_CMD, DM_DEV_SUSPEND_CMD - resume, DM_TABLE_CLEAR_CMD)\nto return device parameters, bringing them into line with the other\nioctls.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "498f0103ea13123e007660def9072a0b7dd1c599",
      "tree": "3940ca8e50f13c3ed3a79c1939bacbc841ecb179",
      "parents": [
        "a6e50b409d3f9e0833e69c3c9cca822e8fa4adbb"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Tue Aug 02 12:32:04 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Aug 02 12:32:04 2011 +0100"
      },
      "message": "dm table: share target argument parsing functions\n\nMove multipath target argument parsing code into dm-table so other\ntargets can share it.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a6e50b409d3f9e0833e69c3c9cca822e8fa4adbb",
      "tree": "82ca807c21156437270e6a1ed255b18ccf8b3672",
      "parents": [
        "d5b9dd04bd74b774b8e8d93ced7a0d15ad403fa9"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Aug 02 12:32:04 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Aug 02 12:32:04 2011 +0100"
      },
      "message": "dm snapshot: skip reading origin when overwriting complete chunk\n\nIf we write a full chunk in the snapshot, skip reading the origin device\nbecause the whole chunk will be overwritten anyway.\n\nThis patch changes the snapshot write logic when a full chunk is written.\nIn this case:\n  1. allocate the exception\n  2. dispatch the bio (but don\u0027t report the bio completion to device mapper)\n  3. write the exception record\n  4. report bio completed\n\nCallbacks must be done through the kcopyd thread, because callbacks must not\nrace with each other.  So we create two new functions:\n\n  dm_kcopyd_prepare_callback: allocate a job structure and prepare the callback.\n  (This function must not be called from interrupt context.)\n\n  dm_kcopyd_do_callback: submit callback.\n  (This function may be called from interrupt context.)\n\nPerformance test (on snapshots with 4k chunk size):\n  without the patch:\n    non-direct-io sequential write (dd):    17.7MB/s\n    direct-io sequential write (dd):        20.9MB/s\n    non-direct-io random write (mkfs.ext2): 0.44s\n\n  with the patch:\n    non-direct-io sequential write (dd):    26.5MB/s\n    direct-io sequential write (dd):        33.2MB/s\n    non-direct-io random write (mkfs.ext2): 0.27s\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "82c21bfab41a77bc01affe21bea9727d776774a7",
      "tree": "b0c5850be07c7f6d747df389f8f15780887da630",
      "parents": [
        "87a0874cf19f1bc9bd25bd7d053a0ea25ccf8373"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Mon Aug 01 11:10:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 17:58:33 2011 -0700"
      },
      "message": "doc: Update the email address for Paul Moore in various source files\n\nMy @hp.com will no longer be valid starting August 5, 2011 so an update is\nnecessary.  My new email address is employer independent so we don\u0027t have\nto worry about doing this again any time soon.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Paul Moore \u003cpaul@paul-moore.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfe22345ad5ef29e192e157fdc3e17d357e4bc24",
      "tree": "15173bab84cb9122a95d46f2b49fb139362b5248",
      "parents": [
        "60ad4466821a96913a9b567115e194ed1087c2d7",
        "424c3d4a2c7d4ac3467a4849f8ccc230f670c35a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 14:05:46 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 14:05:46 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (23 commits)\n  regulator: Improve WM831x DVS VSEL selection algorithm\n  regulator: Bootstrap wm831x DVS VSEL value from ON VSEL if not already set\n  regulator: Set up GPIO for WM831x VSEL before enabling VSEL mode\n  regulator: Add EPEs to the MODULE_ALIAS() for wm831x-dcdc\n  regulator: Fix WM831x DCDC DVS VSEL bootstrapping\n  regulator: Fix WM831x regulator ID lookups for multiple WM831xs\n  regulator: Fix argument format type errors in error prints\n  regulator: Fix memory leak in set_machine_constraints() error paths\n  regulator: Make core more chatty about some errors\n  regulator: tps65910: Fix array access out of bounds bug\n  regulator: tps65910: Add missing breaks in switch/case\n  regulator: tps65910: Fix a memory leak in tps65910_probe error path\n  regulator: TWL: Remove entry of RES_ID for 6030 macros\n  ASoC: tlv320aic3x: Add correct hw registers to Line1 cross connect muxes\n  regulator: Add basic per consumer debugfs\n  regulator: Add rdev_crit() macro\n  regulator: Refactor supply implementation to work as regular consumers\n  regulator: Include the device name in the microamps_requested_ file\n  regulator: Increase the limit on sysfs file names\n  regulator: Properly register dummy regulator driver\n  ...\n"
    }
  ],
  "next": "60ad4466821a96913a9b567115e194ed1087c2d7"
}
