)]}'
{
  "log": [
    {
      "commit": "2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc",
      "tree": "e35a625496acc6ac852846d40b8851186b9d1ac4",
      "parents": [
        "44b7532b8b464f606053562400719c9c21276037",
        "ce53895a5d24e0ee19fb92f56c17323fb4c9ab27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:42:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:42:43 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits)\n  MAINTAINERS: EB110ATX is not ebsa110\n  MAINTAINERS: update Eric Miao\u0027s email address and status\n  fb: add support of LCD display controller on pxa168/910 (base layer)\n  [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN\n  [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines\n  [ARM] 5544/1: Trust PrimeCell resource sizes\n  [ARM] pxa/sharpsl_pm: cleanup of gpio-related code.\n  [ARM] pxa/sharpsl_pm: drop set_irq_type calls\n  [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one\n  [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it\u0027s now pxa specific\n  [ARM] sa1100: remove unused collie_pm.c\n  [ARM] pxa: fix the conflicting non-static declarations of global_gpios[]\n  [ARM] 5550/1: Add default configure file for w90p910 platform\n  [ARM] 5549/1: Add clock api for w90p910 platform.\n  [ARM] 5548/1: Add gpio api for w90p910 platform\n  [ARM] 5551/1: Add multi-function pin api for w90p910 platform.\n  [ARM] Make ARM_VIC_NR depend on ARM_VIC\n  [ARM] 5546/1: ARM PL022 SSP/SPI driver v3\n  ARM: OMAP4: SMP: Update defconfig for OMAP4430\n  ARM: OMAP4: SMP: Enable SMP support for OMAP4430\n  ...\n"
    },
    {
      "commit": "ce53895a5d24e0ee19fb92f56c17323fb4c9ab27",
      "tree": "977ba2faec168a04555b20f1f623f4d2ac0d42e5",
      "parents": [
        "b7c11ec9f1c9f4272f032215ddb0b65d64b22ecc"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Jun 14 11:09:29 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jun 14 11:09:29 2009 +0100"
      },
      "message": "MAINTAINERS: EB110ATX is not ebsa110\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "b7c11ec9f1c9f4272f032215ddb0b65d64b22ecc",
      "tree": "c65b81ef9ae5076d2137034accfa2610f45a13de",
      "parents": [
        "06099961002a813324d057a91695af7c72939da6",
        "7666c17e2b0986a079da46122d8658544416c2cf"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Jun 14 11:01:44 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jun 14 11:01:44 2009 +0100"
      },
      "message": "Merge branch \u0027u300\u0027 into devel\n\nConflicts:\n\tarch/arm/Makefile\nUpdates:\n\tarch/arm/mach-u300/core.c\n\tarch/arm/mach-u300/timer.c\n"
    },
    {
      "commit": "06099961002a813324d057a91695af7c72939da6",
      "tree": "d55ee7a8833c95ee2afb6914bb8a2977cbb9fa31",
      "parents": [
        "4c31791c3d9d38ac052dd5e2981df713d8f3dcc4",
        "c11c22177ae2929598051a39e4655be4a42cb805"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Jun 14 11:01:05 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jun 14 11:01:05 2009 +0100"
      },
      "message": "Merge branch \u0027stmp\u0027 into devel\n"
    },
    {
      "commit": "4c31791c3d9d38ac052dd5e2981df713d8f3dcc4",
      "tree": "b7f95922b2f1da5b36d95176e6d8f826151f3ee1",
      "parents": [
        "98797a241e28b787b84d308b867ec4c5fe7bbdf8",
        "7517b3fbe40c231d79d36f31c1e9930cbb8c4be2"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Jun 14 11:00:16 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jun 14 11:00:16 2009 +0100"
      },
      "message": "Merge branch \u0027for-rmk\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel\n"
    },
    {
      "commit": "98797a241e28b787b84d308b867ec4c5fe7bbdf8",
      "tree": "edd39824d91bd8cf33d8903e10ed337611483360",
      "parents": [
        "ca8cbc8391cbd4d6e4304fc6b62682ed93d2b165",
        "c626e3f5ca1d95ad2204d3128c26e7678714eb55"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Jun 14 10:59:32 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jun 14 10:59:32 2009 +0100"
      },
      "message": "Merge branch \u0027copy_user\u0027 of git://git.marvell.com/orion into devel\n"
    },
    {
      "commit": "44b7532b8b464f606053562400719c9c21276037",
      "tree": "ba2fa4b21e471d3d85a1b36d8992bd458cec4d4d",
      "parents": [
        "84c48e6f43ae1771fc67fd8fcd777ff4b3b4465b",
        "bc3bf8fd330ce981ce632a1a4a283eee46838f32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:22:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:22:00 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’\n  [SCSI] cnic: fix undefined reference to `ip6_route_output\u0027\n"
    },
    {
      "commit": "84c48e6f43ae1771fc67fd8fcd777ff4b3b4465b",
      "tree": "3272373e763d8e3ba5f7d7b0a7e18cd16eb178a8",
      "parents": [
        "5c55b40b27bc3249358dcfc86c0845be409ab7a6",
        "bb6e647051a59dca5a72b3deef1e061d7c1c34da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:18:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:18:32 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:\n  avr32: Fix oops on unaligned user access\n  avr32: Add support for Mediama RMTx add-on board for ATNGW100\n  avr32: Change Atmel ATNGW100 config to add choice of add-on board\n  Fix MIMC200 board LCD init\n  avr32: Fix clash in ATMEL_USART_ flags\n  avr32: remove obsolete hw_interrupt_type\n  avr32: Solves problem with inverted MCI detect pin on Merisc board\n  atmel-mci: Add support for inverted detect pin\n"
    },
    {
      "commit": "5c55b40b27bc3249358dcfc86c0845be409ab7a6",
      "tree": "c5cb355bb469cb55030e312562b405dbfd376184",
      "parents": [
        "d32f60ed54351ebdea8ae6fbfa0d26e93de29252"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Jun 13 13:23:54 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:17:28 2009 -0700"
      },
      "message": "FRV: Fix interaction with new generic header stuff\n\nFix interaction with new generic header stuff as added by:\n\n\tcommit 6103ec56c65c33774c7c38652c8204120c3c7519\n\tAuthor: Arnd Bergmann \u003carnd@arndb.de\u003e\n\tDate:   Wed May 13 22:56:27 2009 +0000\n\n\t    asm-generic: add generic ABI headers\n\nThe problem is that asm/signal.h has been made to include asm-generic/signal.h,\nbut the redundant stuff from asm/signal.h has not been discarded, leading to\nmultiple redefinitions.\n\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d32f60ed54351ebdea8ae6fbfa0d26e93de29252",
      "tree": "12003ebca48d03d68aa725b68c7cbdc2c432e2ee",
      "parents": [
        "a2ee2981ae2a7046b10980feae9f4ab813877106",
        "dd14be4c274fc484eccace03ae9726e516630331"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:15:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:15:59 2009 -0700"
      },
      "message": "Merge branch \u0027next-i2c\u0027 of git://aeryn.fluff.org.uk/bjdooks/linux\n\n* \u0027next-i2c\u0027 of git://aeryn.fluff.org.uk/bjdooks/linux:\n  i2c-ocores: Can add I2C devices to the bus\n  i2c-s3c2410: move to using platform idtable to match devices\n  i2c: OMAP3: Better noise suppression for fast/standard modes\n  i2c: OMAP2/3: Fix scll/sclh calculations\n  i2c: Blackfin TWI: implement I2C_FUNC_SMBUS_I2C_BLOCK functionality\n  i2c: Blackfin TWI: fix transfer errors with repeat start\n  i2c: Blackfin TWI: fix REPEAT START mode doesn\u0027t repeat\n  i2c: Blackfin TWI: make sure we don\u0027t end up with a CLKDIV\u003d0\n"
    },
    {
      "commit": "a2ee2981ae2a7046b10980feae9f4ab813877106",
      "tree": "ed75db7830b9ef1342659d36d2775954ce96b79f",
      "parents": [
        "7603ef03a22a33d36d3c75d7c1aca1f957671ad3",
        "0d5959723e1db3fd7323c198a50c16cecf96c7a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:14:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:14:51 2009 -0700"
      },
      "message": "Merge branch \u0027x86-mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (80 commits)\n  x86, mce: Add boot options for corrected errors\n  x86, mce: Fix mce printing\n  x86, mce: fix for mce counters\n  x86, mce: support action-optional machine checks\n  x86, mce: define MCE_VECTOR\n  x86, mce: rename mce_notify_user to mce_notify_irq\n  x86: fix panic with interrupts off (needed for MCE)\n  x86, mce: export MCE severities coverage via debugfs\n  x86, mce: implement new status bits\n  x86, mce: print header/footer only once for multiple MCEs\n  x86, mce: default to panic timeout for machine checks\n  x86, mce: improve mce_get_rip\n  x86, mce: make non Monarch panic message \"Fatal machine check\" too\n  x86, mce: switch x86 machine check handler to Monarch election.\n  x86, mce: implement panic synchronization\n  x86, mce: implement bootstrapping for machine check wakeups\n  x86, mce: check early in exception handler if panic is needed\n  x86, mce: add table driven machine check grading\n  x86, mce: remove TSC print heuristic\n  x86, mce: log corrected errors when panicing\n  ...\n"
    },
    {
      "commit": "7603ef03a22a33d36d3c75d7c1aca1f957671ad3",
      "tree": "ff6fb5e582d02612f213deac6d7532d153c6099f",
      "parents": [
        "1904187a694713b80d74186fe058377b067cc195",
        "fd40261354802b0f05f6f67121235aa002e87069"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:08:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:08:54 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (23 commits)\n  xfs: fix small mismerge in xfs_vn_mknod\n  xfs: fix warnings with CONFIG_XFS_QUOTA disabled\n  xfs: fix freeing memory in xfs_getbmap()\n  xfs: use generic Posix ACL code\n  xfs: remove SYNC_BDFLUSH\n  xfs: remove SYNC_IOWAIT\n  xfs: split xfs_sync_inodes\n  xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes\n  xfs: introduce a per-ag inode iterator\n  xfs: remove unused parameter from xfs_reclaim_inodes\n  xfs: factor out inode validation for sync\n  xfs: split inode flushing from xfs_sync_inodes_ag\n  xfs: split inode data writeback from xfs_sync_inodes_ag\n  xfs: kill xfs_qmops\n  xfs: validate quota log items during log recovery\n  xfs: update max log size\n  xfs: prevent deadlock in xfs_qm_shake()\n  xfs: fix overflow in xfs_growfs_data_private\n  xfs: fix double unlock in xfs_swap_extents()\n  xfs: fix getbmap vs mmap deadlock\n  ...\n"
    },
    {
      "commit": "1904187a694713b80d74186fe058377b067cc195",
      "tree": "88ead633c1bdc4f6bf5590b178f73a0dadbfe547",
      "parents": [
        "32f44d62e463f66307513e90c09b4ceeac13cc22",
        "f89d7eaf6c34828070f407d0e04b73127f176ec5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:08:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:08:34 2009 -0700"
      },
      "message": "Merge branch \u0027docs-next\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027docs-next\u0027 of git://git.lwn.net/linux-2.6:\n  Document the debugfs API\n  Documentation: Add \"how to write a good patch summary\" to SubmittingPatches\n  SubmittingPatches: fix typo\n  docs: Encourage better changelogs in the development process document\n  Document Reported-by in SubmittingPatches\n"
    },
    {
      "commit": "32f44d62e463f66307513e90c09b4ceeac13cc22",
      "tree": "a0e0c33b3c9c4474787ebb007ff15d6600fb053f",
      "parents": [
        "f3ad116588151b3371ae4e092290e4f48e62b8bb",
        "08ced854fc4a979d9e59ba01000bf96e7057cfbc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:08:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:08:01 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (35 commits)\n  hwrng: timeriomem - Fix potential oops (request_mem_region/__devinit)\n  crypto: api - Use formatting of module name\n  crypto: testmgr - Allow hash test vectors longer than a page\n  crypto: testmgr - Check all test vector lengths\n  crypto: hifn_795x - fix __dev{init,exit} markings\n  crypto: tcrypt - Do not exit on success in fips mode\n  crypto: compress - Return produced bytes in crypto_{,de}compress_{update,final}\n  hwrng: via_rng - Support VIA Nano hardware RNG on X86_64 builds\n  hwrng: via_rng - Support VIA Nano hardware RNG\n  hwrng: via_rng - The VIA Hardware RNG driver is for the CPU, not Chipset\n  crypto: testmgr - Skip algs not flagged fips_allowed in fips mode\n  crypto: testmgr - Mark algs allowed in fips mode\n  crypto: testmgr - Add ctr(aes) test vectors\n  crypto: testmgr - Dynamically allocate xbuf and axbuf\n  crypto: testmgr - Print self-test pass notices in fips mode\n  crypto: testmgr - Catch base cipher self-test failures in fips mode\n  crypto: testmgr - Add ansi_cprng test vectors\n  crypto: testmgr - Add infrastructure for ansi_cprng self-tests\n  crypto: testmgr - Add self-tests for rfc4309(ccm(aes))\n  crypto: testmgr - Handle AEAD test vectors expected to fail verification\n  ...\n"
    },
    {
      "commit": "bc3bf8fd330ce981ce632a1a4a283eee46838f32",
      "tree": "10a84ae36757d85f35bc61fe75c726ac9fd65e09",
      "parents": [
        "faea56c9bb44f539da1ae0194184873fc2720b20"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 08:29:33 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jun 13 09:07:51 2009 -0500"
      },
      "message": "[SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’\n\n drivers/net/cnic.c: In function ‘init_bnx2_cnic’:\n drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’\n drivers/net/cnic.c:2520: warning: assignment makes pointer from integer without a cast\n make[1]: *** [drivers/net/cnic.o] Error 1\n make: *** [drivers/net/cnic.o] Error 2\n\nCaused by not including linux/module.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "faea56c9bb44f539da1ae0194184873fc2720b20",
      "tree": "ed3e9c02574c3d1d441093a23b117462cb4ed4b9",
      "parents": [
        "f3ad116588151b3371ae4e092290e4f48e62b8bb"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jun 12 11:43:48 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jun 13 09:06:10 2009 -0500"
      },
      "message": "[SCSI] cnic: fix undefined reference to `ip6_route_output\u0027\n\nFix cnic build for case of CONFIG_INET\u003dn.\nFix cnic build for case of CONFIG_IPV6\u003dm and CONFIG_CNIC\u003dy.\n\nFixes these build errors:\n\ncnic.c:(.text+0x236a1d): undefined reference to `ip_route_output_key\u0027\ncnic.c:(.text+0x15a8e8): undefined reference to `ip6_route_output\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "bb6e647051a59dca5a72b3deef1e061d7c1c34da",
      "tree": "6b6ee5c3381e4e84560dc55f200190b1388e76d6",
      "parents": [
        "fbe0b8d5822a88e2e769a318eaf3134da5881769"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "haavard.skinnemoen@atmel.com",
        "time": "Wed Jun 03 14:29:16 2009 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "haavard.skinnemoen@atmel.com",
        "time": "Sat Jun 13 15:57:30 2009 +0200"
      },
      "message": "avr32: Fix oops on unaligned user access\n\nThe unaligned address exception handler (and others) does not scan the\nfixup tables before oopsing. This is bad because it means passing a\nbadly aligned pointer from user space might crash the kernel.\n\nFix this by scanning the fixup tables in _exception(). This should\nresolve the issue for unaligned addresses as well as other less common\nexceptions that might be happening during a userspace access. The page\nfault handler already does fixup processing.\n\nSigned-off-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\n"
    },
    {
      "commit": "fbe0b8d5822a88e2e769a318eaf3134da5881769",
      "tree": "20a55ca2e2e1b7cdd6a60435984c0bd8ae32902f",
      "parents": [
        "c878b7d60418a45c36d99c2dc876ebb76035d404",
        "4024533e60787a5507818b0c0fdb44ddb522cdf5"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "haavard.skinnemoen@atmel.com",
        "time": "Sat Jun 13 15:34:22 2009 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "haavard.skinnemoen@atmel.com",
        "time": "Sat Jun 13 15:34:22 2009 +0200"
      },
      "message": "Merge branch \u0027avr32-arch\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n"
    },
    {
      "commit": "dd14be4c274fc484eccace03ae9726e516630331",
      "tree": "3b8cfb3a060b9f1232d37de749b82c659248e8c5",
      "parents": [
        "7d85ccd816535f56880f7dfdb4de056794376b2c"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors.ext@mocean-labs.com",
        "time": "Fri Jun 05 15:40:32 2009 +0200"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:28 2009 +0100"
      },
      "message": "i2c-ocores: Can add I2C devices to the bus\n\nThere is sometimes a need for the ocores driver to add devices to the\nbus when installed.\n\ni2c_register_board_info can not always be used, because the I2C devices\n are not known at an early state, they could for instance be connected\n on a I2C bus on a PCI device which has the Open Cores IP.\n\ni2c_new_device can not be used in all cases either since the resulting\nbus nummer might be unknown.\n\nThe solution is the pass a list of I2C devices in the platform data to\nthe Open Cores driver. This is useful for MFD drivers.\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors.ext@mocean-labs.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "7d85ccd816535f56880f7dfdb4de056794376b2c",
      "tree": "5e0913e2089d9e2c303239bf29e130307bf56e59",
      "parents": [
        "84bf2c868f3ca996e5bbd3beb2ef502f457140f3"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Jun 12 10:45:29 2009 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:26 2009 +0100"
      },
      "message": "i2c-s3c2410: move to using platform idtable to match devices\n\nChange to using platform id table to match either of the two supported\nplatform device names in the driver. This simplifies the driver init and\nexit code\n\nNote, log messages will now be prefixed with \u0027s3c-i2c\u0027 instead of the\ndriver name, so output will be of the form of:\n\ns3c-i2c s3c2440-i2c.0: slave address 0x10\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "84bf2c868f3ca996e5bbd3beb2ef502f457140f3",
      "tree": "cd35bf618469195161f2711b465dd63a50647054",
      "parents": [
        "baf46b4e378d7950dff7ba30cfd50ff585987cb4"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Wed May 27 17:54:46 2009 +0300"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:26 2009 +0100"
      },
      "message": "i2c: OMAP3: Better noise suppression for fast/standard modes\n\nUse longer noise filter period for fast and standard mode. Based on an\nearlier patch by Eero Nurkkala.\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "baf46b4e378d7950dff7ba30cfd50ff585987cb4",
      "tree": "571bd77cb953d1fc6a206c250b3cf8dd4718546f",
      "parents": [
        "e0cd2dd5dd2b7c6512e46ce0b4f119cd7b0c74a4"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Wed May 27 17:54:45 2009 +0300"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:25 2009 +0100"
      },
      "message": "i2c: OMAP2/3: Fix scll/sclh calculations\n\nFix scll/sclh calculations for HS and fast modes. Currently the driver\nuses equal (roughly) low/high times which will result in too short\nlow time.\n\nOMAP3430 TRM gives the following equations:\n\n\tF/S: tLow  \u003d (scll + 7) * internal_clk\n\t     tHigh \u003d (sclh + 5) * internal_clk\n\tHS:  tLow  \u003d (scll + 7) * fclk\n\t     tHigh \u003d (sclh + 5) * fclk\n\nFurthermore, the I2C specification sets the following minimum values\nfor HS tLow/tHigh for capacitive bus loads 100 pF (maximum speed 3400)\nand 400 pF (maximum speed 1700):\n\n\tspeed\ttLow\t\ttHigh\n\t3400\t160 ns\t\t60 ns\n\t1700\t320 ns\t\t120 ns\n\nand for F/S:\n\n\tspeed\ttLow\t\ttHigh\n\t400\t1300 ns\t\t600 ns\n\t100\t4700 ns\t\t4000 ns\n\nBy using duty cycles 33/66 (HS, F) and 50/50 (S) we stay above these\nminimum values.\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "e0cd2dd5dd2b7c6512e46ce0b4f119cd7b0c74a4",
      "tree": "aad364352e65a328fa21db7169d6c1a47c0d8768",
      "parents": [
        "94327d009e3aa20214e9dfa486a1fd14445fe736"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Wed May 27 09:24:10 2009 +0000"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:25 2009 +0100"
      },
      "message": "i2c: Blackfin TWI: implement I2C_FUNC_SMBUS_I2C_BLOCK functionality\n\nSome drivers need i2c_smbus_read_i2c_block_data() functionality, so add\nsupport for it to the Blackfin I2C bus driver.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n[ben-linux@fluff.org: shortened subject]\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "94327d009e3aa20214e9dfa486a1fd14445fe736",
      "tree": "bb34db58161a22f60c73bcea08fefbde1db6b5a9",
      "parents": [
        "57a8f32eafa6f36ea3a128e8b13f353c5a3ca9b2"
      ],
      "author": {
        "name": "Frank Shew",
        "email": "fshew@geometrics.com",
        "time": "Tue May 19 07:23:49 2009 -0400"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:25 2009 +0100"
      },
      "message": "i2c: Blackfin TWI: fix transfer errors with repeat start\n\nWe have a custom BF537 board with an I2C RTC (MAX DS3231) running\nuclinux 2007R1 for some time. Recently during migration to 2008R1.5-RC3\nwe losted access to the RTC. The RTC driver calls \u0027i2c_transfer()\u0027 which\nin turns calls \u0027bfin_twi_master_xfer()\u0027 in i2c-bfin-twi.c.\n\nCompared with 2007R1, it looks like the 2008R1.5 version of i2c-bin-twi.c\nhas a new mode \u0027TWI_I2C-MODE_REPEAT\u0027 which corresponds to the Repeat Start\nCondition described in the HRM. However, according to the HRM, at XMIT or\nRECV interrupt and when the data count is 0, not only is the RESTART bit\nsupposed to be set, but MDIR must also be set if the next operation is a\nreceive sequence, and cleared if not. Currently there is no code that looks\nat the I2C_M_RD bit in the flag from the next cur_msg and set/clear the MDIR\nflag accordingly at the same time that the RSTART bit is set. Instead, MDIR\nis set or cleared (by OR\u0027ing with 0?) after the RESTART bit has been cleared\nduring handling of MCOMP interrupt.\n\nIt appears that this is causing our failure with reading the RTC, as a\nquick patch to set/clear MDIR when RESTART is set seem to solve our problem.\n\nSigned-off-by: Frank Shew \u003cfshew@geometrics.com\u003e\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\n[ben-linux@fluff.org: shorted subject]\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "57a8f32eafa6f36ea3a128e8b13f353c5a3ca9b2",
      "tree": "af1aaed68c8049c345ca6bfa2b13b66efb73e8a2",
      "parents": [
        "9528d1c7a541b481a0e80301dc8d545848104023"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Tue May 19 07:21:58 2009 -0400"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:25 2009 +0100"
      },
      "message": "i2c: Blackfin TWI: fix REPEAT START mode doesn\u0027t repeat\n\nAvoid rewrite TWI MASTER_CTL reg when issue next message\nIn i2c repeat transfer mode, byte count of next message should be filled\ninto part of the TWI MASTER_CTL reg when interrupt MCOMP of last\nmessage transfer is triggered. But, other bits in this reg should\nnot be touched.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\n[ben-linux@fluff.org: shorted subject]\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "9528d1c7a541b481a0e80301dc8d545848104023",
      "tree": "d42eedf34ee8d79d4fe4acf3a48c260748443b34",
      "parents": [
        "f3ad116588151b3371ae4e092290e4f48e62b8bb"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon May 18 08:14:41 2009 -0400"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:25 2009 +0100"
      },
      "message": "i2c: Blackfin TWI: make sure we don\u0027t end up with a CLKDIV\u003d0\n\nMake sure we don\u0027t end up with an invalid CLKDIV\u003d0 in case someone\nspecifies 20kHz SCL or less (5 * 1024 / 20 \u003d 0x100).\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\n[ben-linux@fluff.org: shortened subject line]\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "fd40261354802b0f05f6f67121235aa002e87069",
      "tree": "935f23fa1528f6fe5a078383c9343907ea27fbb3",
      "parents": [
        "f3ad116588151b3371ae4e092290e4f48e62b8bb",
        "e83f1eb6bfc4004c19a99ee5f5aa65bd3fbecec3"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 21:28:59 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 21:28:59 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://oss.sgi.com/xfs/xfs into for-linus\n"
    },
    {
      "commit": "e83f1eb6bfc4004c19a99ee5f5aa65bd3fbecec3",
      "tree": "24e6783973cb580a1074c4689b4978bff29c2167",
      "parents": [
        "493b87e5ed352cf548e6456ddfc36576e28278ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 12 11:19:11 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 21:15:31 2009 -0500"
      },
      "message": "xfs: fix small mismerge in xfs_vn_mknod\n\nIdentation got messed up when merging the current_umask changes with\nthe generic ACL support.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "493b87e5ed352cf548e6456ddfc36576e28278ea",
      "tree": "50d7419e1de1f5818906f0e2bb801b616cfa3dc6",
      "parents": [
        "7747a0b0af5976ba3828796b4f7a7adc3bb76dbd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 12 11:34:55 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 21:15:12 2009 -0500"
      },
      "message": "xfs: fix warnings with CONFIG_XFS_QUOTA disabled\n\nFix warnings about unitialized dquot variables by making sure\nxfs_qm_vop_dqalloc touches it even when quotas are disabled.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "f3ad116588151b3371ae4e092290e4f48e62b8bb",
      "tree": "d652861a54132e35de2a80631f671cd7be0b26f6",
      "parents": [
        "d645727bdc2aed8e2e0e9496248f735481b5049a",
        "420118caa32c8ccdf9fce5a623b9de3f951573c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:21:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:21:19 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs:\n  configfs: Rework configfs_depend_item() locking and make lockdep happy\n  configfs: Silence lockdep on mkdir() and rmdir()\n"
    },
    {
      "commit": "d645727bdc2aed8e2e0e9496248f735481b5049a",
      "tree": "079fa3cf369dbf0dc0663fe1b0a62460c522a8e9",
      "parents": [
        "cd166bd0dde265a97dd9aa8e3451a2646d96d04b",
        "310d6b671588dd7695cbc0d09d02e41d94a42bed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:18:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:18:05 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (30 commits)\n  [S390] wire up sys_perf_counter_open\n  [S390] wire up sys_rt_tgsigqueueinfo\n  [S390] ftrace: add system call tracer support\n  [S390] ftrace: add function graph tracer support\n  [S390] ftrace: add function trace mcount test support\n  [S390] ftrace: add dynamic ftrace support\n  [S390] kprobes: use probe_kernel_write\n  [S390] maccess: arch specific probe_kernel_write() implementation\n  [S390] maccess: add weak attribute to probe_kernel_write\n  [S390] profile_tick called twice\n  [S390] dasd: forward internal errors to dasd_sleep_on caller\n  [S390] dasd: sync after async probe\n  [S390] dasd: check_characteristics cleanup\n  [S390] dasd: no High Performance FICON in 31-bit mode\n  [S390] dcssblk: revert devt conversion\n  [S390] qdio: fix access beyond ARRAY_SIZE of irq_ptr-\u003e{in,out}put_qs\n  [S390] vmalloc: add vmalloc kernel parameter support\n  [S390] uaccess: use might_fault() instead of might_sleep()\n  [S390] 3270: lock dependency fixes\n  [S390] 3270: do not register with tty_register_device\n  ...\n"
    },
    {
      "commit": "cd166bd0dde265a97dd9aa8e3451a2646d96d04b",
      "tree": "3a7fb5b8bb8d7676e804845b75977be380b8dcff",
      "parents": [
        "6b702462cbe5b6f372966a53f4465d745d86b65c",
        "5b02ee3d219f9e01b6e9146e25613822cfc2e5ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:15:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:15:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:\n  add generic lib/checksum.c\n  asm-generic: add a generic uaccess.h\n  asm-generic: add generic NOMMU versions of some headers\n  asm-generic: add generic atomic.h and io.h\n  asm-generic: add legacy I/O header files\n  asm-generic: add generic versions of common headers\n  asm-generic: make bitops.h usable\n  asm-generic: make pci.h usable directly\n  asm-generic: make get_rtc_time overridable\n  asm-generic: rename page.h and uaccess.h\n  asm-generic: rename atomic.h to atomic-long.h\n  asm-generic: add a generic unistd.h\n  asm-generic: add generic ABI headers\n  asm-generic: add generic sysv ipc headers\n  asm-generic: introduce asm/bitsperlong.h\n  asm-generic: rename termios.h, signal.h and mman.h\n"
    },
    {
      "commit": "6b702462cbe5b6f372966a53f4465d745d86b65c",
      "tree": "19a8d090b284bb804e8a2ffa38fa51b58118db6a",
      "parents": [
        "947ec0b0c1e7e80eef4fe64f7763a06d0cf04d2e",
        "3c24475c1e4e8d10e50df161d8c4f1d382997a7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:09:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:09:18 2009 -0700"
      },
      "message": "Merge branch \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (50 commits)\n  drm: include kernel list header file in hashtab header\n  drm: Export hash table functionality.\n  drm: Split out the mm declarations in a separate header. Add atomic operations.\n  drm/radeon: add support for RV790.\n  drm/radeon: add rv740 drm support.\n  drm_calloc_large: check right size, check integer overflow, use GFP_ZERO\n  drm: Eliminate magic I2C frobbing when reading EDID\n  drm/i915: duplicate desired mode for use by fbcon.\n  drm/via: vfree() no need checking before calling it\n  drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver\n  drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode\n  drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo\n  drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds\n  drm: add separate drm debugging levels\n  radeon: remove _DRM_DRIVER from the preadded sarea map\n  drm: don\u0027t associate _DRM_DRIVER maps with a master\n  drm: simplify kcalloc() call to kzalloc().\n  intelfb: fix spelling of \"CLOCK\"\n  drm: fix LOCK_TEST_WITH_RETURN macro\n  drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect)\n  ...\n"
    },
    {
      "commit": "947ec0b0c1e7e80eef4fe64f7763a06d0cf04d2e",
      "tree": "29547b6975d58c3b252f08dc6c2dbda3b9adfa88",
      "parents": [
        "c53567ad4528b6efefc3fc22a354d20f6226a098",
        "5818a6e2519b34cd6d0220d89f5729ab2725e1bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:27 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Add empty suspend/resume device irq functions\n  PM/Hibernate: Move NVS routines into a seperate file (v2).\n  PM/Hibernate: Rename disk.c to hibernate.c\n  PM: Separate suspend to RAM functionality from core\n  Driver Core: Rework platform suspend/resume, print warning\n  PM: Remove device_type suspend()/resume()\n  PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2)\n  PM/Suspend: Do not shrink memory before suspend\n  PM: Remove bus_type suspend_late()/resume_early() V2\n  PM core: rename suspend and resume functions\n  PM: Rename device_power_down/up()\n  PM: Remove unused asm/suspend.h\n  x86: unify power/cpu_(32|64).c\n  x86: unify power/cpu_(32|64) copyright notes\n  x86: unify power/cpu_(32|64) regarding restoring processor state\n  x86: unify power/cpu_(32|64) regarding saving processor state\n  x86: unify power/cpu_(32|64) global variables\n  x86: unify power/cpu_(32|64) headers\n  PM: Warn if interrupts are enabled during suspend-resume of sysdevs\n  PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c\n"
    },
    {
      "commit": "c53567ad4528b6efefc3fc22a354d20f6226a098",
      "tree": "faa289a41715e0a9a174623a76c7d52b10d4a6df",
      "parents": [
        "4ddbac98980fe0a42cf57af5d1032e024aced6a1",
        "748285ccf7ea76d3d76d0d5f2945ad6fb91f5329"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: use more NOFS allocation\n  dlm: connect to nodes earlier\n  dlm: fix use count with multiple joins\n  dlm: Make name input parameter of {,dlm_}new_lockspace() const\n"
    },
    {
      "commit": "4ddbac98980fe0a42cf57af5d1032e024aced6a1",
      "tree": "341d152dc1f9427d70d5b1fadafca61d22baacbb",
      "parents": [
        "02a99ed6207e9a1d787bb360ef97de023c7edf4a",
        "018df72dd01576ab199c6129233cdeaf1409958b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:16:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:16:52 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Start documenting HAVE_PERF_COUNTERS requirements\n  perf_counter: Add forward/backward attribute ABI compatibility\n  perf record: Explicity program a default counter\n  perf_counter: Remove PERF_TYPE_RAW special casing\n  perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too\n  powerpc, perf_counter: Fix performance counter event types\n  perf_counter/x86: Add a quirk for Atom processors\n  perf_counter tools: Remove one L1-data alias\n"
    },
    {
      "commit": "02a99ed6207e9a1d787bb360ef97de023c7edf4a",
      "tree": "f5818df7dd3f3741d02afbdd4271deed48c41f3d",
      "parents": [
        "2b10dc45d15150434d7f206264e912eacbff734b",
        "3447ef29a7f3b1fd0d8d58376950e695e04f6f8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:15:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:15:17 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze: (55 commits)\n  microblaze: Don\u0027t use access_ok for unaligned\n  microblaze: remove unused flat_stack_align() definition\n  microblaze: Fix problem with early_printk in startup\n  microblaze_mmu_v2: Makefiles\n  microblaze_mmu_v2: Kconfig update\n  microblaze_mmu_v2: stat.h MMU update\n  microblaze_mmu_v2: Elf update\n  microblaze_mmu_v2: Update dma.h for MMU\n  microblaze_mmu_v2: Update cacheflush.h\n  microblaze_mmu_v2: Update signal returning address\n  microblaze_mmu_v2: Traps MMU update\n  microblaze_mmu_v2: Enable fork syscall for MMU and add fork as vfork for noMMU\n  microblaze_mmu_v2: Update linker script for MMU\n  microblaze_mmu_v2: Add MMU related exceptions handling\n  microblaze_mmu_v2: uaccess MMU update\n  microblaze_mmu_v2: Update exception handling - MMU exception\n  microblaze_mmu_v2: entry.S, entry.h\n  microblaze_mmu_v2: Add CURRENT_TASK for entry.S\n  microblaze_mmu_v2: MMU asm offset update\n  microblaze_mmu_v2: Update tlb.h and tlbflush.h\n  ...\n"
    },
    {
      "commit": "2b10dc45d15150434d7f206264e912eacbff734b",
      "tree": "fc0ec778fbb563a62e573ad1ec76428ce1223c01",
      "parents": [
        "47ea421af7479b90c481c94826f1c716fcf672cf",
        "bf664c0a3a42683b78d74aca2d7cfb6ccc2aa2c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:14:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:14:30 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (62 commits)\n  Blackfin: fix sparseirq/kstat_irqs fallout\n  Blackfin: fix unused warnings after nommu update\n  Blackfin: export the last exception cause via debugfs\n  Blackfin: fix length checking in kgdb_ebin2mem\n  Blackfin: kgdb: fix up error return values\n  Blackfin: push access_ok() L1 attribute down\n  Blackfin: punt duplicated search_exception_table() prototype\n  Blackfin: add missing access_ok() checks to user functions\n  Blackfin: convert early_printk EVT init to a loop\n  Blackfin: document the lsl variants of the L1 allocator\n  Blackfin: rename Blackfin relocs according to the toolchain\n  Blackfin: check SIC defines rather than variant names\n  Blackfin: add SSYNC to set_dma_sg() for descriptor fetching\n  Blackfin: convert SMP to only use generic time framework\n  Blackfin: bf548-ezkit/bf537-stamp: add resources for ADXL345/346\n  Blackfin: override default uClinux MTD addr/size\n  Blackfin: fix command line corruption with DEBUG_DOUBLEFAULT\n  Blackfin: fix handling of initial L1 reservation\n  Blackfin: merge sram init functions\n  Blackfin: drop unused reserve_pda() function\n  ...\n"
    },
    {
      "commit": "47ea421af7479b90c481c94826f1c716fcf672cf",
      "tree": "ba0b1b6a7019bf61ea2ca48ac6812af4a3d99647",
      "parents": [
        "e349792a385ed47390d156155b1a1e19af1bf163",
        "c3bb4d24ab4b74e11992ccb9828569583166a87d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:14:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:14:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: Add more info to the MAINTAINERS entry\n  kmemleak: Remove the kmemleak.h include in drivers/char/vt.c\n"
    },
    {
      "commit": "5818a6e2519b34cd6d0220d89f5729ab2725e1bf",
      "tree": "e6928374858c50bf8c1d10c904550e76c5dae982",
      "parents": [
        "fce2b111fae9151a53dabb36513b398d03337a19"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jun 11 21:59:21 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM: Add empty suspend/resume device irq functions\n\ngit commit 0a0c5168 \"PM: Introduce functions for suspending and resuming\ndevice interrupts\" introduced some helper functions. However these\nfunctions are only available for architectures which support\nGENERIC_HARDIRQS.\n\nOther architectures will see this build error:\n\ndrivers/built-in.o: In function `sysdev_suspend\u0027:\n(.text+0x15138): undefined reference to `check_wakeup_irqs\u0027\ndrivers/built-in.o: In function `device_power_up\u0027:\n(.text+0x1cb66): undefined reference to `resume_device_irqs\u0027\ndrivers/built-in.o: In function `device_power_down\u0027:\n(.text+0x1cb92): undefined reference to `suspend_device_irqs\u0027\n\nTo fix this add some empty inline functions for !GENERIC_HARDIRQS.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "fce2b111fae9151a53dabb36513b398d03337a19",
      "tree": "9349fce23fca0e2d90780e40aac2a6535f820c32",
      "parents": [
        "8b759b84c8b3c27ccc8dd787294636297b3ebb40"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Jun 10 01:28:19 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM/Hibernate: Move NVS routines into a seperate file (v2).\n\nThe *_nvs_* routines in swsusp.c make use of the io*map()\nfunctions, which are only provided for HAS_IOMEM, thus\nbreaking compilation if HAS_IOMEM is not set. Fix this\nby moving the *_nvs_* routines into hibernate_nvs.c, which\nis only compiled if HAS_IOMEM is set.\n\n[rjw: Change the name of the new file to hibernate_nvs.c, add the\n license line to the header comment.]\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8b759b84c8b3c27ccc8dd787294636297b3ebb40",
      "tree": "c80ae791c342d242fb97434c26be2b63764da77a",
      "parents": [
        "a9d7052363a6e06bb623ed1876c56c7ca5b2c6d8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 10 01:27:49 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM/Hibernate: Rename disk.c to hibernate.c\n\nChange the name of kernel/power/disk.c to kernel/power/hibernate.c\nin analogy with the file names introduced by the changes that\nseparated the suspend to RAM and standby funtionality from the\ncommon PM functions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\n"
    },
    {
      "commit": "a9d7052363a6e06bb623ed1876c56c7ca5b2c6d8",
      "tree": "c4ec7fb30dc4510596ffc9ddffe308ef34837af2",
      "parents": [
        "783ea7d4eeefe895f2731fe73ac951e94418927b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 10 01:27:12 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM: Separate suspend to RAM functionality from core\n\nMove the suspend to RAM and standby code from kernel/power/main.c\nto two separate files, kernel/power/suspend.c containing the basic\nfunctions and kernel/power/suspend_test.c containing the automatic\nsuspend test facility based on the RTC clock alarm.\n\nThere are no changes in functionality related to these modifications.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\n"
    },
    {
      "commit": "783ea7d4eeefe895f2731fe73ac951e94418927b",
      "tree": "175b7ec1684d55710a7a921d4bd81e549ae4ed52",
      "parents": [
        "00725787511e20dbd1fdc1fb233606120ae5c8cf"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Thu Jun 04 22:13:33 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "Driver Core: Rework platform suspend/resume, print warning\n\nThis patch reworks the platform driver code for legacy\nsuspend and resume to avoid installing callbacks in\nstruct device_driver. A warning is also added telling\nusers to update the platform driver to use dev_pm_ops.\n\nThe functions platform_legacy_suspend()/resume() directly\ncall suspend and resume callbacks in struct platform_driver\ninstead of wrapping things in platform_drv_suspend()/resume().\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "00725787511e20dbd1fdc1fb233606120ae5c8cf",
      "tree": "82fa3c48aca074a993a122751a2333000e1668a3",
      "parents": [
        "fe419535d82724314bbf1244a0e740e4ea1bd3ae"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Thu Jun 04 22:13:25 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "PM: Remove device_type suspend()/resume()\n\nThis patch removes the legacy callbacks -\u003esuspend() and\n-\u003eresume() from struct device_type. These callbacks seem\nunused, and new code should instead make use of struct\ndev_pm_ops.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "fe419535d82724314bbf1244a0e740e4ea1bd3ae",
      "tree": "ceefd93df91b6325a99d481e79411dc310e3d27e",
      "parents": [
        "c6f37f12197ac3bd2e5a35f2f0e195ae63d437de"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 11 23:11:17 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2)\n\nA future patch is going to modify the memory shrinking code so that\nit will make memory allocations to free memory instead of using an\nartificial memory shrinking mechanism for that.  For this purpose it\nis convenient to move swsusp_shrink_memory() from\nkernel/power/swsusp.c to kernel/power/snapshot.c, because the new\nmemory-shrinking code is going to use things that are local to\nkernel/power/snapshot.c .\n\n[rev. 2: Make some functions static and remove their headers from\n kernel/power/power.h]\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "c6f37f12197ac3bd2e5a35f2f0e195ae63d437de",
      "tree": "e9609ca63d211911582afcc4b8314887b85a6c46",
      "parents": [
        "e240b58c79144708530138e05f17c6d0d8d744a8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 24 22:16:31 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "PM/Suspend: Do not shrink memory before suspend\n\nRemove the shrinking of memory from the suspend-to-RAM code, where\nit is not really necessary.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "e240b58c79144708530138e05f17c6d0d8d744a8",
      "tree": "c42553ae8ffb034a767cebb0b4876db3528a2e11",
      "parents": [
        "d161630297a20802d01c55847bfcba85d2118a9f"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Sun May 24 22:05:54 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Remove bus_type suspend_late()/resume_early() V2\n\nRemove the -\u003esuspend_late() and -\u003eresume_early() callbacks\nfrom struct bus_type V2. These callbacks are legacy stuff\nat this point and since there seem to be no in-tree users\nwe may as well remove them. New users should use dev_pm_ops.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d161630297a20802d01c55847bfcba85d2118a9f",
      "tree": "51685c169319400b6da4dc6c56b69e731c45f297",
      "parents": [
        "e39a71ef80877f4e30d808af9acceec80f4d2f7c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun May 24 22:05:42 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM core: rename suspend and resume functions\n\nThis patch (as1241) renames a bunch of functions in the PM core.\nRather than go through a boring list of name changes, suffice it to\nsay that in the end we have a bunch of pairs of functions:\n\n\tdevice_resume_noirq\tdpm_resume_noirq\n\tdevice_resume\t\tdpm_resume\n\tdevice_complete\t\tdpm_complete\n\tdevice_suspend_noirq\tdpm_suspend_noirq\n\tdevice_suspend\t\tdpm_suspend\n\tdevice_prepare\t\tdpm_prepare\n\nin which device_X does the X operation on a single device and dpm_X\ninvokes device_X for all devices in the dpm_list.\n\nIn addition, the old dpm_power_up and device_resume_noirq have been\ncombined into a single function (dpm_resume_noirq).\n\nLastly, dpm_suspend_start and dpm_resume_end are the renamed versions\nof the former top-level device_suspend and device_resume routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e39a71ef80877f4e30d808af9acceec80f4d2f7c",
      "tree": "e9d4ff1618328cf3a3fafee04621b9776ca169de",
      "parents": [
        "1380a37e3da5d9e14ea5c2a4c6ab2b307a2798ea"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Fri May 15 00:53:26 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Rename device_power_down/up()\n\nRename the functions performing \"_noirq\" dev_pm_ops\noperations from device_power_down() and device_power_up()\nto device_suspend_noirq() and device_resume_noirq().\n\nThe new function names are chosen to show that the functions\nare responsible for calling the _noirq() versions to finalize\nthe suspend/resume operation. The current function names do\nnot perform power down/up anymore so the names may be misleading.\n\nGlobal function renames:\n- device_power_down() -\u003e device_suspend_noirq()\n- device_power_up() -\u003e device_resume_noirq()\n\nStatic function renames:\n- suspend_device_noirq() -\u003e __device_suspend_noirq()\n- resume_device_noirq() -\u003e __device_resume_noirq()\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1380a37e3da5d9e14ea5c2a4c6ab2b307a2798ea",
      "tree": "d3f29c303e4b10180d18b2159b9e04e3b4354d55",
      "parents": [
        "08687aec71bc9134fe336e561f6877bacf74fc0a"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Fri May 15 00:52:00 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Remove unused asm/suspend.h\n\nThis patch removes unused asm/suspend.h files for\nthe following architectures:\n\n alpha, arm, ia64, m68k, mips, s390, um\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "08687aec71bc9134fe336e561f6877bacf74fc0a",
      "tree": "e9fb4942f9b17b218d9093f5041805e597be6b6c",
      "parents": [
        "6d48becd33a7921694ba1955ba91604d648020f1"
      ],
      "author": {
        "name": "Sergio Luis",
        "email": "sergio@larces.uece.br",
        "time": "Tue Apr 28 00:27:22 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "x86: unify power/cpu_(32|64).c\n\nThis is the last unification step. Here we do remove one of the files\nand rename the left one as cpu.c, as both are now the same.\nAlso update power/Makefile, telling it to build cpu.o, instead of\ncpu_(32|64).o\n\nSigned-off-by: Sergio Luis \u003csergio@larces.uece.br\u003e\nSigned-off-by: Lauro Salmito \u003claurosalmito@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6d48becd33a7921694ba1955ba91604d648020f1",
      "tree": "2ffd1b1615b667717f44884b88b9b222659be6da",
      "parents": [
        "3134d04b7790f7239b221f16c2d97db4d96ac3c0"
      ],
      "author": {
        "name": "Sergio Luis",
        "email": "sergio@larces.uece.br",
        "time": "Tue Apr 28 00:27:18 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:30 2009 +0200"
      },
      "message": "x86: unify power/cpu_(32|64) copyright notes\n\nIn this step, we do unify the copyright notes for both files\ncpu_32.c and cpu_64.c, making such files exactly the same.\nIt\u0027s the last step before the actual unification, that will\nrename one of them to cpu.c and remove the other one.\n\nSigned-off-by: Sergio Luis \u003csergio@larces.uece.br\u003e\nSigned-off-by: Lauro Salmito \u003claurosalmito@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3134d04b7790f7239b221f16c2d97db4d96ac3c0",
      "tree": "45cb28131345c0556098c8b77c552cb8a9de64e3",
      "parents": [
        "f9ebbe53e79c5978d0e8ead0843a3717b41ad3d5"
      ],
      "author": {
        "name": "Sergio Luis",
        "email": "sergio@larces.uece.br",
        "time": "Tue Apr 28 00:27:05 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:30 2009 +0200"
      },
      "message": "x86: unify power/cpu_(32|64) regarding restoring processor state\n\nIn this step we do unify cpu_32.c and cpu_64.c functions that\nwork on restoring the saved processor state. Also, we do\neliminate the forward declaration of fix_processor_context()\nfor X86_64, as it\u0027s not needed anymore.\n\nSigned-off-by: Sergio Luis \u003csergio@larces.uece.br\u003e\nSigned-off-by: Lauro Salmito \u003claurosalmito@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f9ebbe53e79c5978d0e8ead0843a3717b41ad3d5",
      "tree": "bceb57f37200a72cbca2ffd15881306fecffd649",
      "parents": [
        "833b2ca0795526898a66c7b6770273bb16567e19"
      ],
      "author": {
        "name": "Sergio Luis",
        "email": "sergio@larces.uece.br",
        "time": "Tue Apr 28 00:27:00 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:30 2009 +0200"
      },
      "message": "x86: unify power/cpu_(32|64) regarding saving processor state\n\nIn this step we do unify cpu_32.c and cpu_64.c functions that\nwork on saving the processor state.\n\nSigned-off-by: Sergio Luis \u003csergio@larces.uece.br\u003e\nSigned-off-by: Lauro Salmito \u003claurosalmito@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "833b2ca0795526898a66c7b6770273bb16567e19",
      "tree": "acc8ab4f3d352717a45fc1ee7a2923ef1b99ff79",
      "parents": [
        "f6783d20d4b85b360b4a6f86bdbd9282a4a7004c"
      ],
      "author": {
        "name": "Sergio Luis",
        "email": "sergio@larces.uece.br",
        "time": "Tue Apr 28 00:26:50 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:30 2009 +0200"
      },
      "message": "x86: unify power/cpu_(32|64) global variables\n\nAiming total unification of cpu_32.c and cpu_64.c, in this step\nwe do unify the global variables and existing forward declarations\nfor such files.\n\nSigned-off-by: Sergio Luis \u003csergio@larces.uece.br\u003e\nSigned-off-by: Lauro Salmito \u003claurosalmito@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f6783d20d4b85b360b4a6f86bdbd9282a4a7004c",
      "tree": "be697adb8ccf61fda9341d43bc85da93c8c34a36",
      "parents": [
        "62b0124761b9c2e304ee07dcf4db46c4a3dfec11"
      ],
      "author": {
        "name": "Sergio Luis",
        "email": "sergio@larces.uece.br",
        "time": "Tue Apr 28 00:26:22 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:29 2009 +0200"
      },
      "message": "x86: unify power/cpu_(32|64) headers\n\nFirst step towards the unification of cpu_32.c and cpu_64.c.\nThis commit unifies the headers of such files, making both\nof them use the same header files. It also remove the uneeded\n\u003cmodule.h\u003e.\n\nSigned-off-by: Sergio Luis \u003csergio@larces.uece.br\u003e\nSigned-off-by: Lauro Salmito \u003claurosalmito@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "62b0124761b9c2e304ee07dcf4db46c4a3dfec11",
      "tree": "81f27bb0e7eb92cd2d14a3ae3088ef3fa90a3cc2",
      "parents": [
        "ce4b3c55475e451cb489e857640396c37ca88974"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 18 13:45:13 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:29 2009 +0200"
      },
      "message": "PM: Warn if interrupts are enabled during suspend-resume of sysdevs\n\nSysdevs have to be suspended and resumed with interrupts disabled and\nthings usually break in a way that\u0027s difficult to debug if one of\nsysdev drivers enables interrupts by mistake during suspend or\nresume.  Add extra checks that will generate warnings in such cases.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ce4b3c55475e451cb489e857640396c37ca88974",
      "tree": "af906466da35c20c24f1bf841596fe414bf8683f",
      "parents": [
        "e349792a385ed47390d156155b1a1e19af1bf163"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Sat Apr 18 13:44:57 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:29 2009 +0200"
      },
      "message": "PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c\n\nOne of the numbers in arch/x86/kernel/acpi/sleep.c is long, but it is\nnot annotated appropriately, so sparese warns about it.  Fix that.\n\n[rjw: added the changelog.]\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e349792a385ed47390d156155b1a1e19af1bf163",
      "tree": "f9dc4e3e42769950230eaa58ecdd056eb27b23e8",
      "parents": [
        "6d21491838a2a9f22843c7530b118596ee9f4d77",
        "e3f86d3d3ce350144562d9bd035dc8a274fce58e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 11:16:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 11:16:27 2009 -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: (290 commits)\n  ALSA: pcm - Update document about xrun_debug proc file\n  ALSA: lx6464es - support standard alsa module parameters\n  ALSA: snd_usb_caiaq: set mixername\n  ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)\n  ALSA: use card device as parent for jack input-devices\n  ALSA: sound/ps3: Correct existing and add missing annotations\n  ALSA: sound/ps3: Restructure driver source\n  ALSA: sound/ps3: Fix checkpatch issues\n  ASoC: Fix lm4857 control\n  ALSA: ctxfi - Clear PCM resources at hw_params and hw_free\n  ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks\n  ALSA: ctxfi - Add missing start check in atc_pcm_playback_start()\n  ALSA: ctxfi - Add use_system_timer module option\n  ALSA: usb - Add boot quirk for C-Media 6206 USB Audio\n  ALSA: ctxfi - Fix wrong model id for UAA\n  ALSA: ctxfi - Clean up probe routines\n  ALSA: hda - Fix the previous tagra-8ch patch\n  ALSA: hda - Add 7.1 support for MSI GX620\n  ALSA: pcm - A helper function to compose PCM stream name for debug prints\n  ALSA: emu10k1 - Fix minimum periods for efx playback\n  ...\n"
    },
    {
      "commit": "e3f86d3d3ce350144562d9bd035dc8a274fce58e",
      "tree": "6d31842f5d8598ea377c09556e455402a06a64fe",
      "parents": [
        "056c1ebf1121ca6c16652d0c3fa306622ee338ac",
        "2233123f2776f29d3ac31df1fd1dc40c44d337a5"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:16 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:16 2009 +0200"
      },
      "message": "Merge branch \u0027topic/ps3\u0027 into for-linus\n\n* topic/ps3:\n  ALSA: sound/ps3: Correct existing and add missing annotations\n  ALSA: sound/ps3: Restructure driver source\n  ALSA: sound/ps3: Fix checkpatch issues\n"
    },
    {
      "commit": "056c1ebf1121ca6c16652d0c3fa306622ee338ac",
      "tree": "45b1950e81f1d9ffddee28c42bc29936fcbb43a0",
      "parents": [
        "be914cf91086ca7be9216a894cba0999ddbf541d",
        "4f64e150191bfddc7f5c0768f325f747dbca1913"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:15 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:15 2009 +0200"
      },
      "message": "Merge branch \u0027topic/pcm-jiffies-check\u0027 into for-linus\n\n* topic/pcm-jiffies-check:\n  ALSA: pcm - Update document about xrun_debug proc file\n"
    },
    {
      "commit": "be914cf91086ca7be9216a894cba0999ddbf541d",
      "tree": "f4bc2f8d71dbe702c55aa3dd0c45d01ca61b6d21",
      "parents": [
        "31d496aaee1dad6ac63770035793032f2062e336",
        "1f3fff7bda95b75a6be5a02c2a6902573d8c18e6"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:13 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:13 2009 +0200"
      },
      "message": "Merge branch \u0027topic/misc\u0027 into for-linus\n\n* topic/misc:\n  ALSA: use card device as parent for jack input-devices\n"
    },
    {
      "commit": "31d496aaee1dad6ac63770035793032f2062e336",
      "tree": "30e897fb3cbf823ab803656d006f94e09630db56",
      "parents": [
        "f8be792d515045a4ecfec0bc9cd883d1b070f132",
        "de0525ca34aa7a65faf6902e3e00956ab80d2ede"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:11 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:11 2009 +0200"
      },
      "message": "Merge branch \u0027topic/lx6464es\u0027 into for-linus\n\n* topic/lx6464es:\n  ALSA: lx6464es - support standard alsa module parameters\n"
    },
    {
      "commit": "f8be792d515045a4ecfec0bc9cd883d1b070f132",
      "tree": "497570bf0564503a08bfa6058a435506f39b509f",
      "parents": [
        "80986be4864239dde9bb69e90be7707344f03725",
        "a5c0f88678cd2fb1f649f7d366d756f2b2f97f0c"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:09 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:09 2009 +0200"
      },
      "message": "Merge branch \u0027topic/hda\u0027 into for-linus\n\n* topic/hda:\n  ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)\n"
    },
    {
      "commit": "80986be4864239dde9bb69e90be7707344f03725",
      "tree": "66fccfbed173e556d77d6b4297b41846dc862a15",
      "parents": [
        "a6093a24bc7da25ce851d22ce3a7bcf1eaca4a95",
        "955f2d966534803ec32411086a1698170f17f962"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:06 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:06 2009 +0200"
      },
      "message": "Merge branch \u0027topic/caiaq\u0027 into for-linus\n\n* topic/caiaq:\n  ALSA: snd_usb_caiaq: set mixername\n"
    },
    {
      "commit": "a6093a24bc7da25ce851d22ce3a7bcf1eaca4a95",
      "tree": "608cf7ec7ece949810d7a1bb680b8b52864d6608",
      "parents": [
        "85e013a18acfad98473a4432bb7082d1fcc74a25",
        "236e6723bedb483b2ebf73ada01e2c853c5cac01"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:04 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jun 12 20:03:04 2009 +0200"
      },
      "message": "Merge branch \u0027topic/asoc\u0027 into for-linus\n\n* topic/asoc:\n  ASoC: Fix lm4857 control\n"
    },
    {
      "commit": "018df72dd01576ab199c6129233cdeaf1409958b",
      "tree": "1561017056cc1289e373b094d72ba41a4382308b",
      "parents": [
        "974802eaa1afdc87e00821df7020a2b3c6fee623"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jun 12 13:17:43 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 12 19:37:30 2009 +0200"
      },
      "message": "perf_counter: Start documenting HAVE_PERF_COUNTERS requirements\n\nHelp out arch porters who want to support perf counters by listing some\nbasic requirements.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1244827063-24046-1-git-send-email-vapier@gentoo.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d21491838a2a9f22843c7530b118596ee9f4d77",
      "tree": "9dcd7a4009d219092c391454efc3dd29b23f52d7",
      "parents": [
        "c9b8af00ff71f86ff3d092cc60ca673e1d0eae5b",
        "8429db5c6336083594036c30f49401405d536911"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:52:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:52:30 2009 -0700"
      },
      "message": "Merge branch \u0027topic/slab/earlyboot-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027topic/slab/earlyboot-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slab: setup cpu caches later on when interrupts are enabled\n  slab,slub: don\u0027t enable interrupts during early boot\n  slab: fix gfp flag in setup_cpu_cache()\n  x86: make zap_low_mapping could be used early\n  irq: slab alloc for default irq_affinity\n  memcg: fix page_cgroup fatal error in FLATMEM\n"
    },
    {
      "commit": "c9b8af00ff71f86ff3d092cc60ca673e1d0eae5b",
      "tree": "25cc016481cc693552bebb4040041817280c2ccf",
      "parents": [
        "c59a264c9e932c828d533497e286b89e43c8d1be",
        "82681a318f9f028ea64e61f24bbd9ac535531921"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:50:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:50:42 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (154 commits)\n  [SCSI] osd: Remove out-of-tree left overs\n  [SCSI] libosd: Use REQ_QUIET requests.\n  [SCSI] osduld: use filp_open() when looking up an osd-device\n  [SCSI] libosd: Define an osd_dev wrapper to retrieve the request_queue\n  [SCSI] libosd: osd_req_{read,write} takes a length parameter\n  [SCSI] libosd: Let _osd_req_finalize_data_integrity receive number of out_bytes\n  [SCSI] libosd: osd_req_{read,write}_kern new API\n  [SCSI] libosd: Better printout of OSD target system information\n  [SCSI] libosd: OSD2r05: Attribute definitions\n  [SCSI] libosd: OSD2r05: Additional command enums\n  [SCSI] mpt fusion: fix up doc book comments\n  [SCSI] mpt fusion: Added support for Broadcast primitives Event handling\n  [SCSI] mpt fusion: Queue full event handling\n  [SCSI] mpt fusion: RAID device handling and Dual port Raid support is added\n  [SCSI] mpt fusion: Put IOC into ready state if it not already in ready state\n  [SCSI] mpt fusion: Code Cleanup patch\n  [SCSI] mpt fusion: Rescan SAS topology added\n  [SCSI] mpt fusion: SAS topology scan changes, expander events\n  [SCSI] mpt fusion: Firmware event implementation using seperate WorkQueue\n  [SCSI] mpt fusion: rewrite of ioctl_cmds internal generated function\n  ...\n"
    },
    {
      "commit": "c59a264c9e932c828d533497e286b89e43c8d1be",
      "tree": "ccbc50e44e5b6142bd17519829f12d8e7cf57cc6",
      "parents": [
        "6cb8a911745616eee0bdd97a2e82eb9723e9599a",
        "6e03a201bbe8137487f340d26aa662110e324b20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:44:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:44:30 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/firmware-2.6\n\n* git://git.infradead.org/~dwmw2/firmware-2.6:\n  firmware: speed up request_firmware(), v3\n"
    },
    {
      "commit": "6cb8a911745616eee0bdd97a2e82eb9723e9599a",
      "tree": "f5a95d10443653009ee0db290657b938c5215695",
      "parents": [
        "7f3591cfacf2d79c4f42238e46c7d053da8e020d",
        "3ea400581f2b595afd91207bbd79c11cb38598e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:43:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:43:44 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  GFS2: Remove lock_kernel from gfs2_put_super()\n  GFS2: Add tracepoints\n"
    },
    {
      "commit": "7f3591cfacf2d79c4f42238e46c7d053da8e020d",
      "tree": "f2e9ed7b6b0bc176facaa49846734790023a6b16",
      "parents": [
        "16ffc3eeaa00d513b0076b7b2b96419f28acc912",
        "d1f0132e76a11b05167313c606a853953f416081"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:32:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:32:26 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (31 commits)\n  lguest: add support for indirect ring entries\n  lguest: suppress notifications in example Launcher\n  lguest: try to batch interrupts on network receive\n  lguest: avoid sending interrupts to Guest when no activity occurs.\n  lguest: implement deferred interrupts in example Launcher\n  lguest: remove obsolete LHREQ_BREAK call\n  lguest: have example Launcher service all devices in separate threads\n  lguest: use eventfds for device notification\n  eventfd: export eventfd_signal and eventfd_fget for lguest\n  lguest: allow any process to send interrupts\n  lguest: PAE fixes\n  lguest: PAE support\n  lguest: Add support for kvm_hypercall4()\n  lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD\n  lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated\n  lguest: map switcher with executable page table entries\n  lguest: fix writev returning short on console output\n  lguest: clean up length-used value in example launcher\n  lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition.\n  lguest: beyond ARRAY_SIZE of cpu-\u003earch.gdt\n  ...\n"
    },
    {
      "commit": "16ffc3eeaa00d513b0076b7b2b96419f28acc912",
      "tree": "82503d25fb9091fc6628961d953ffc0d305adf27",
      "parents": [
        "c34752bc8b3196aee3115d1aa41972604ab0aea8",
        "e3353853730eb99c56b7b0aed1667d51c0e3699a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:52 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio:\n  virtio: enhance id_matching for virtio drivers\n  virtio: fix id_matching for virtio drivers\n  virtio: handle short buffers in virtio_rng.\n  virtio_blk: add missing __dev{init,exit} markings\n  virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)\n  virtio: teach virtio_has_feature() about transport features\n  virtio: expose features in sysfs\n  virtio_pci: optional MSI-X support\n  virtio_pci: split up vp_interrupt\n  virtio: find_vqs/del_vqs virtio operations\n  virtio: add names to virtqueue struct, mapping from devices to queues.\n  virtio: meet virtio spec by finalizing features before using device\n  virtio: fix obsolete documentation on probe function\n"
    },
    {
      "commit": "c34752bc8b3196aee3115d1aa41972604ab0aea8",
      "tree": "db93341ab4043e1c21d83f0b7dfdbc1798b88845",
      "parents": [
        "65d52cc9d47975f4fbd0a50e62f4a49be2c0514a",
        "151060ac13144208bd7601d17e4c92c59b98072f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:20 2009 -0700"
      },
      "message": "Merge branch \u0027cuse\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027cuse\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  CUSE: implement CUSE - Character device in Userspace\n  fuse: export symbols to be used by CUSE\n  fuse: update fuse_conn_init() and separate out fuse_conn_kill()\n  fuse: don\u0027t use inode in fuse_file_poll\n  fuse: don\u0027t use inode in fuse_do_ioctl() helper\n  fuse: don\u0027t use inode in fuse_sync_release()\n  fuse: create fuse_do_open() helper for CUSE\n  fuse: clean up args in fuse_finish_open() and fuse_release_fill()\n  fuse: don\u0027t use inode in helpers called by fuse_direct_io()\n  fuse: add members to struct fuse_file\n  fuse: prepare fuse_direct_io() for CUSE\n  fuse: clean up fuse_write_fill()\n  fuse: use struct path in release structure\n  fuse: misc cleanups\n"
    },
    {
      "commit": "65d52cc9d47975f4fbd0a50e62f4a49be2c0514a",
      "tree": "01f8eccc8ffac28112a58e397d96e8eba2de5ebf",
      "parents": [
        "d614aec4752f8c61b2e7cb77806b6bd59aa50836",
        "5933048c69edb546f1e93c26dc93816f0be9f754"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:30:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:30:36 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param:\n  module: cleanup FIXME comments about trimming exception table entries.\n  module: trim exception table on init free.\n  module: merge module_alloc() finally\n  uml module: fix uml build process due to this merge\n  x86 module: merge the rest functions with macros\n  x86 module: merge the same functions in module_32.c and module_64.c\n  uvesafb: improve parameter handling.\n  module_param: allow \u0027bool\u0027 module_params to be bool, not just int.\n  module_param: add __same_type convenience wrapper for __builtin_types_compatible_p\n  module_param: split perm field into flags and perm\n  module_param: invbool should take a \u0027bool\u0027, not an \u0027int\u0027\n  cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK\n"
    },
    {
      "commit": "d614aec4752f8c61b2e7cb77806b6bd59aa50836",
      "tree": "3b0cfb3085c43415931dbf18666d582fb8ae3c75",
      "parents": [
        "db8e7f10ed67933ca272f4030eb7057b7f13de07",
        "ad7c52d0988a8965989dc06d630c52a5bde849d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:29:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:29:42 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (29 commits)\n  ide: re-implement ide_pci_init_one() on top of ide_pci_init_two()\n  ide: unexport ide_find_dma_mode()\n  ide: fix PowerMac bootup oops\n  ide: skip probe if there are no devices on the port (v2)\n  sl82c105: add printk() logging facility\n  ide-tape: fix proc warning\n  ide: add IDE_DFLAG_NIEN_QUIRK device flag\n  ide: respect quirk_drives[] list on all controllers\n  hpt366: enable all quirks for devices on quirk_drives[] list\n  hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c\n  ide: remove superfluous SELECT_MASK() call from do_rw_taskfile()\n  ide: remove superfluous SELECT_MASK() call from ide_driveid_update()\n  icside: remove superfluous -\u003emaskproc method\n  ide-tape: fix IDE_AFLAG_* atomic accesses\n  ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically\n  pdc202xx_old: kill resetproc() method\n  pdc202xx_old: don\u0027t call pdc202xx_reset() on IRQ timeout\n  pdc202xx_old: use ide_dma_test_irq()\n  ide: preserve Host Protected Area by default (v2)\n  ide-gd: implement block device -\u003eset_capacity method (v2)\n  ...\n"
    },
    {
      "commit": "db8e7f10ed67933ca272f4030eb7057b7f13de07",
      "tree": "0e0ef8b5fc4357fc91d34b75ee4603468439d348",
      "parents": [
        "8ebf975608aaebd7feb33d77f07ba21a6380e086",
        "1260866a271abc84274345580f3d613d3bceff87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:26:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:26:32 2009 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Provide _sdata in the vmlinux.lds.S file\n  x86: handle initrd that extends into unusable memory\n"
    },
    {
      "commit": "7517b3fbe40c231d79d36f31c1e9930cbb8c4be2",
      "tree": "70a70fe372915ea3367947d6615580eaea5f02df",
      "parents": [
        "638772c7553f6893f7b346bfee4d46851af59afc"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.y.miao@gmail.com",
        "time": "Sat Jun 13 00:10:17 2009 +0800"
      },
      "committer": {
        "name": "Eric Miao",
        "email": "eric.y.miao@gmail.com",
        "time": "Sat Jun 13 00:10:17 2009 +0800"
      },
      "message": "MAINTAINERS: update Eric Miao\u0027s email address and status\n\nSigned-off-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\n"
    },
    {
      "commit": "638772c7553f6893f7b346bfee4d46851af59afc",
      "tree": "c588f311c5217cbb258b74b1ee2892b4383d68e7",
      "parents": [
        "51cdd9289d2e0d83eb32ed6d7a42596b02bf924e"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@marvell.com",
        "time": "Wed Feb 11 17:25:24 2009 +0800"
      },
      "committer": {
        "name": "Eric Miao",
        "email": "eric.y.miao@gmail.com",
        "time": "Sat Jun 13 00:09:09 2009 +0800"
      },
      "message": "fb: add support of LCD display controller on pxa168/910 (base layer)\n\nThis driver is originally written by Lennert, modified by Green to be\nfeature complete,  and ported by Jun Nie and Kevin Liu for pxa168/910\nprocessors.\n\nThe patch adds support for the on-chip LCD display controller, it\ncurrently supports the base (graphics) layer only.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: Green Wan \u003cgwan@marvell.com\u003e\nCc: Peter Liao \u003cpliao@marvell.com\u003e\nSigned-off-by: Jun Nie \u003cnjun@marvell.com\u003e\nSigned-off-by: Kevin Liu \u003ckliu5@marvell.com\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\n"
    },
    {
      "commit": "8429db5c6336083594036c30f49401405d536911",
      "tree": "00ab1aa8e222f384bac0e66b7da195279b1c7698",
      "parents": [
        "7e85ee0c1d15ca5f8bff0f514f158eba1742dd87"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 15:58:59 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:53:58 2009 +0300"
      },
      "message": "slab: setup cpu caches later on when interrupts are enabled\n\nFixes the following boot-time warning:\n\n  [    0.000000] ------------[ cut here ]------------\n  [    0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x56/0x1bc()\n  [    0.000000] Hardware name:\n  [    0.000000] Modules linked in:\n  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #492\n  [    0.000000] Call Trace:\n  [    0.000000]  [\u003cffffffff8149e021\u003e] ? _spin_unlock+0x4f/0x5c\n  [    0.000000]  [\u003cffffffff8108f11b\u003e] ? smp_call_function_many+0x56/0x1bc\n  [    0.000000]  [\u003cffffffff81061764\u003e] warn_slowpath_common+0x7c/0xa9\n  [    0.000000]  [\u003cffffffff810617a5\u003e] warn_slowpath_null+0x14/0x16\n  [    0.000000]  [\u003cffffffff8108f11b\u003e] smp_call_function_many+0x56/0x1bc\n  [    0.000000]  [\u003cffffffff810f3e00\u003e] ? do_ccupdate_local+0x0/0x54\n  [    0.000000]  [\u003cffffffff810f3e00\u003e] ? do_ccupdate_local+0x0/0x54\n  [    0.000000]  [\u003cffffffff8108f2be\u003e] smp_call_function+0x3d/0x68\n  [    0.000000]  [\u003cffffffff810f3e00\u003e] ? do_ccupdate_local+0x0/0x54\n  [    0.000000]  [\u003cffffffff81066fd8\u003e] on_each_cpu+0x31/0x7c\n  [    0.000000]  [\u003cffffffff810f64f5\u003e] do_tune_cpucache+0x119/0x454\n  [    0.000000]  [\u003cffffffff81087080\u003e] ? lockdep_init_map+0x94/0x10b\n  [    0.000000]  [\u003cffffffff818133b0\u003e] ? kmem_cache_init+0x421/0x593\n  [    0.000000]  [\u003cffffffff810f69cf\u003e] enable_cpucache+0x68/0xad\n  [    0.000000]  [\u003cffffffff818133c3\u003e] kmem_cache_init+0x434/0x593\n  [    0.000000]  [\u003cffffffff8180987c\u003e] ? mem_init+0x156/0x161\n  [    0.000000]  [\u003cffffffff817f8aae\u003e] start_kernel+0x1cc/0x3b9\n  [    0.000000]  [\u003cffffffff817f829a\u003e] x86_64_start_reservations+0xaa/0xae\n  [    0.000000]  [\u003cffffffff817f837f\u003e] x86_64_start_kernel+0xe1/0xe8\n  [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---\n\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7e85ee0c1d15ca5f8bff0f514f158eba1742dd87",
      "tree": "8f9c21f0df6bea88740d7dd48834ac9ffc238e93",
      "parents": [
        "eb91f1d0a531289e18f5587dc197d12a251c66a3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 14:03:06 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:53:33 2009 +0300"
      },
      "message": "slab,slub: don\u0027t enable interrupts during early boot\n\nAs explained by Benjamin Herrenschmidt:\n\n  Oh and btw, your patch alone doesn\u0027t fix powerpc, because it\u0027s missing\n  a whole bunch of GFP_KERNEL\u0027s in the arch code... You would have to\n  grep the entire kernel for things that check slab_is_available() and\n  even then you\u0027ll be missing some.\n\n  For example, slab_is_available() didn\u0027t always exist, and so in the\n  early days on powerpc, we used a mem_init_done global that is set form\n  mem_init() (not perfect but works in practice). And we still have code\n  using that to do the test.\n\nTherefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators\nin early boot code to avoid enabling interrupts.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "eb91f1d0a531289e18f5587dc197d12a251c66a3",
      "tree": "1f790559b312d7481aecad90a7fd4ccf47ccdfa2",
      "parents": [
        "55cd63676e0c5710fbe1ea86dfd9f8ea9aaa90f2"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 14:56:09 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:34:32 2009 +0300"
      },
      "message": "slab: fix gfp flag in setup_cpu_cache()\n\nFixes the following warning during bootup when compiling with CONFIG_SLAB:\n\n  [    0.000000] ------------[ cut here ]------------\n  [    0.000000] WARNING: at kernel/lockdep.c:2282 lockdep_trace_alloc+0x91/0xb9()\n  [    0.000000] Hardware name:\n  [    0.000000] Modules linked in:\n  [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #491\n  [    0.000000] Call Trace:\n  [    0.000000]  [\u003cffffffff81087d84\u003e] ? lockdep_trace_alloc+0x91/0xb9\n  [    0.000000]  [\u003cffffffff81061764\u003e] warn_slowpath_common+0x7c/0xa9\n  [    0.000000]  [\u003cffffffff810617a5\u003e] warn_slowpath_null+0x14/0x16\n  [    0.000000]  [\u003cffffffff81087d84\u003e] lockdep_trace_alloc+0x91/0xb9\n  [    0.000000]  [\u003cffffffff810f5b03\u003e] kmem_cache_alloc_node_notrace+0x26/0xdf\n  [    0.000000]  [\u003cffffffff81487f4e\u003e] ? setup_cpu_cache+0x7e/0x210\n  [    0.000000]  [\u003cffffffff81487fe3\u003e] setup_cpu_cache+0x113/0x210\n  [    0.000000]  [\u003cffffffff810f73ff\u003e] kmem_cache_create+0x409/0x486\n  [    0.000000]  [\u003cffffffff818131c1\u003e] kmem_cache_init+0x232/0x593\n  [    0.000000]  [\u003cffffffff8180987c\u003e] ? mem_init+0x156/0x161\n  [    0.000000]  [\u003cffffffff817f8aae\u003e] start_kernel+0x1cc/0x3b9\n  [    0.000000]  [\u003cffffffff817f829a\u003e] x86_64_start_reservations+0xaa/0xae\n  [    0.000000]  [\u003cffffffff817f837f\u003e] x86_64_start_kernel+0xe1/0xe8\n  [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "7747a0b0af5976ba3828796b4f7a7adc3bb76dbd",
      "tree": "cf56450f057c3045341fe50c4e865466ee8a4522",
      "parents": [
        "35fd035968de4f674b9d62ee7b1d80ab7a50c384"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Jun 11 17:07:28 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 10:26:52 2009 -0500"
      },
      "message": "xfs: fix freeing memory in xfs_getbmap()\n\nRegression from commit 28e211700a81b0a934b6c7a4b8e7dda843634d2f.\nNeed to free temporary buffer allocated in xfs_getbmap().\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Hedi Berriche \u003chedi@sgi.com\u003e\nReported-by: Justin Piszcz \u003cjpiszcz@lucidpixels.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "82681a318f9f028ea64e61f24bbd9ac535531921",
      "tree": "529b6a5b4fd040fb54b7672b1a224ebd47445876",
      "parents": [
        "3860c97bd60a4525bb62eb90e3e7d2f02662ac59",
        "8ebf975608aaebd7feb33d77f07ba21a6380e086"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jun 12 10:02:03 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jun 12 10:02:03 2009 -0500"
      },
      "message": "[SCSI] Merge branch \u0027linus\u0027\n\nConflicts:\n\tdrivers/message/fusion/mptsas.c\n\nfixed up conflict between req-\u003edata_len accessors and mptsas driver updates.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d1f0132e76a11b05167313c606a853953f416081",
      "tree": "abd06f91d578b1927249f6a467910da88b3ec910",
      "parents": [
        "b60da13fc7bbf99d3c68578bd3fbcf66e1cb5f41"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Mon May 11 18:11:46 2009 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:13 2009 +0930"
      },
      "message": "lguest: add support for indirect ring entries\n\nSupport the VIRTIO_RING_F_INDIRECT_DESC feature.\n\nThis is a simple matter of changing the descriptor walking\ncode to operate on a struct vring_desc* and supplying it\nwith an indirect table if detected.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b60da13fc7bbf99d3c68578bd3fbcf66e1cb5f41",
      "tree": "6ae96583da3212755d867fdff30b2f9ae58609e8",
      "parents": [
        "4a8962e21bc505c714fc2508494d4c7dd3fe2d29"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:12 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:13 2009 +0930"
      },
      "message": "lguest: suppress notifications in example Launcher\n\nThe Guest only really needs to tell us about activity when we\u0027re going\nto listen to the eventfd: normally, we don\u0027t want to know.\n\nSo if there are no available buffers, turn on notifications, re-check,\nthen wait for the Guest to notify us via the eventfd, then turn\nnotifications off again.\n\nThere\u0027s enough else going on that the differences are in the noise.\n\nBefore:\t\t\t\tSecs\tRxKicks\tTxKicks\n 1G TCP Guest-\u003eHost:\t\t3.94\t  4686\t  32815\n 1M normal pings:\t\t104\t142862\t1000010\n 1M 1k pings (-l 120):\t\t57\t142026\t1000007\n\nAfter:\n 1G TCP Guest-\u003eHost:\t\t3.76\t  4691\t  32811\n 1M normal pings:\t\t111\t142859\t 997467\n 1M 1k pings (-l 120):\t\t55\t 19648\t 501549\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4a8962e21bc505c714fc2508494d4c7dd3fe2d29",
      "tree": "55afdb7bc1f7e03bc910e59a17962e671a031ebc",
      "parents": [
        "95c517c09bad31a03e22f2fdb5f0aa26a490a92d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:12 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:12 2009 +0930"
      },
      "message": "lguest: try to batch interrupts on network receive\n\nRather than triggering an interrupt every time, we only trigger an\ninterrupt when there are no more incoming packets (or the recv queue\nis full).\n\nHowever, the overhead of doing the select to figure this out is\nmeasurable: 1M pings goes from 98 to 104 seconds, and 1G Guest-\u003eHost\nTCP goes from 3.69 to 3.94 seconds.  It\u0027s close to the noise though.\n\nI tested various timeouts, including reducing it as the number of\npending packets increased, timing a 1 gigabyte TCP send from Guest -\u003e\nHost and Host -\u003e Guest (GSO disabled, to increase packet rate).\n\n// time tcpblast -o -s 65536 -c 16k 192.168.2.1:9999 \u003e /dev/null\n\nTimeout\t\tGuest-\u003eHost\tPkts/irq\tHost-\u003eGuest\tPkts/irq\nBefore\t\t11.3s\t\t1.0\t\t6.3s\t\t1.0\n0\t\t11.7s\t\t1.0\t\t6.6s\t\t23.5\n1\t\t17.1s\t\t8.8\t\t8.6s\t\t26.0\n1/pending\t13.4s\t\t1.9\t\t6.6s\t\t23.8\n2/pending\t13.6s\t\t2.8\t\t6.6s\t\t24.1\n5/pending\t14.1s\t\t5.0\t\t6.6s\t\t24.4\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "95c517c09bad31a03e22f2fdb5f0aa26a490a92d",
      "tree": "aa34fdb7ca3a6b7575a2ac7639c157995d334bc3",
      "parents": [
        "38bc2b8c56a2e212bbd19de7cf9976dcc7bf9953"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:11 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:12 2009 +0930"
      },
      "message": "lguest: avoid sending interrupts to Guest when no activity occurs.\n\nIf we track how many buffers we\u0027ve used, we can tell whether we really\nneed to interrupt the Guest.  This happens as a side effect of\nspurious notifications.\n\nSpurious notifications happen because it can take a while before the\nHost thread wakes up and sets the VRING_USED_F_NO_NOTIFY flag, and\nmeanwhile the Guest can more notifications.\n\nA real fix would be to use wake counts, rather than a suppression\nflag, but the practical difference is generally in the noise: the\ninterrupt is usually coalesced into a pending one anyway so we just\nsave a system call which isn\u0027t clearly measurable.\n\n\t\t\t\tSecs\tSpurious IRQS\n1G TCP Guest-\u003eHost:\t\t3.93\t58\n1M normal pings:\t\t100\t72\n1M 1k pings (-l 120):\t\t57\t492904\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "38bc2b8c56a2e212bbd19de7cf9976dcc7bf9953",
      "tree": "26071dbb540926c329ece0ab4d4425807021b5c8",
      "parents": [
        "5dac051bc6030963181b69faddd9e0ad04f85fa8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:11 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:11 2009 +0930"
      },
      "message": "lguest: implement deferred interrupts in example Launcher\n\nRather than sending an interrupt on every buffer, we only send an interrupt\nwhen we\u0027re about to wait for the Guest to send us a new one.  The console\ninput and network input still send interrupts manually, but the block device,\nnetwork and console output queues can simply rely on this logic to send\ninterrupts to the Guest at the right time.\n\nThe patch is cluttered by moving trigger_irq() higher in the code.\n\nIn practice, two factors make this optimization less interesting:\n(1) we often only get one input at a time, even for networking,\n(2) triggering an interrupt rapidly tends to get coalesced anyway.\n\nBefore:\t\t\t\tSecs\tRxIRQS\tTxIRQs\n 1G TCP Guest-\u003eHost:\t\t3.72\t32784\t32771\n 1M normal pings:\t\t99\t1000004\t995541\n 100,000 1k pings (-l 120):\t5\t49510\t49058\n\nAfter:\n 1G TCP Guest-\u003eHost:\t\t3.69\t32809\t32769\n 1M normal pings:\t\t99\t1000004\t996196\n 100,000 1k pings (-l 120):\t5\t52435\t52361\n\n(Note the interrupt count on 100k pings goes *up*: see next patch).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5dac051bc6030963181b69faddd9e0ad04f85fa8",
      "tree": "4a0456e1d971bbe9f68f4ac13d31716c12fbb618",
      "parents": [
        "659a0e6633567246edcb7bd400c7e2bece9237d9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:10 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:11 2009 +0930"
      },
      "message": "lguest: remove obsolete LHREQ_BREAK call\n\nWe no longer need an efficient mechanism to force the Guest back into\nhost userspace, as each device is serviced without bothering the main\nGuest process (aka. the Launcher).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "659a0e6633567246edcb7bd400c7e2bece9237d9",
      "tree": "2ece97564e432b837389e166d9b61773d34b1063",
      "parents": [
        "df60aeef4f4fe0645d9a195a7689005520422de5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:10 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:10 2009 +0930"
      },
      "message": "lguest: have example Launcher service all devices in separate threads\n\nCurrently lguest has three threads: the main Launcher thread, a Waker\nthread, and a thread for the block device (because synchronous block\nwas simply too painful to bear).\n\nThe Waker selects() on all the input file descriptors (eg. stdin, net\ndevices, pipe to the block thread) and when one becomes readable it calls\ninto the kernel to kick the Launcher thread out into userspace, which\nrepeats the poll, services the device(s), and then tells the kernel to\nrelease the Waker before re-entering the kernel to run the Guest.\n\nAlso, to make a slightly-decent network transmit routine, the Launcher\nwould suppress further network interrupts while it set a timer: that\nsignal handler would write to a pipe, which would rouse the Waker\nwhich would prod the Launcher out of the kernel to check the network\ndevice again.\n\nNow we can convert all our virtqueues to separate threads: each one has\na separate eventfd for when the Guest pokes the device, and can trigger\ninterrupts in the Guest directly.\n\nThe linecount shows how much this simplifies, but to really bring it\nhome, here\u0027s an strace analysis of single Guest-\u003eHost ping before:\n\n* Guest sends packet, notifies xmit vq, return control to Launcher\n* Launcher clears notification flag on xmit ring\n* Launcher writes packet to TUN device\n\twritev(4, [{\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\", 10}, {\"\\366\\r\\224`\\2058\\272m\\224vf\\274\\10\\0E\\0\\0T\\0\\0@\\0@\\1\\265\"..., 98}], 2) \u003d 108\n* Launcher sets up interrupt for Guest (xmit ring is empty)\n\twrite(10, \"\\2\\0\\0\\0\\3\\0\\0\\0\", 8) \u003d 0\n* Launcher sets up timer for interrupt mitigation\n\tsetitimer(ITIMER_REAL, {it_interval\u003d{0, 0}, it_value\u003d{0, 505}}, NULL) \u003d 0\n* Launcher re-runs guest\n\tpread64(10, 0xbfa5f4d4, 4, 0) ...\n* Waker notices reply packet in tun device (it was in select)\n\tselect(12, [0 3 4 6 11], NULL, NULL, NULL) \u003d 1 (in [4])\n* Waker kicks Launcher out of guest:\n\tpwrite64(10, \"\\3\\0\\0\\0\\1\\0\\0\\0\", 8, 0) \u003d 0\n* Launcher returns from running guest:\n\t... \u003d -1 EAGAIN (Resource temporarily unavailable)\n* Launcher looks at input fds:\n\tselect(7, [0 3 4 6], NULL, NULL, {0, 0}) \u003d 1 (in [4], left {0, 0})\n* Launcher reads pong from tun device:\n\treadv(4, [{\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\", 10}, {\"\\272m\\224vf\\274\\366\\r\\224`\\2058\\10\\0E\\0\\0T\\364\\26\\0\\0@\"..., 1518}], 2) \u003d 108\n* Launcher injects guest notification:\n\twrite(10, \"\\2\\0\\0\\0\\2\\0\\0\\0\", 8) \u003d 0\n* Launcher rechecks fds:\n\tselect(7, [0 3 4 6], NULL, NULL, {0, 0}) \u003d 0 (Timeout)\n* Launcher clears Waker:\n\tpwrite64(10, \"\\3\\0\\0\\0\\0\\0\\0\\0\", 8, 0) \u003d 0\n* Launcher reruns Guest:\n\tpread64(10, 0xbfa5f4d4, 4, 0) \u003d ? ERESTARTSYS (To be restarted)\n* Signal comes in, uses pipe to wake up Launcher:\n\t--- SIGALRM (Alarm clock) @ 0 (0) ---\n\twrite(8, \"\\0\", 1)       \u003d 1\n\tsigreturn()             \u003d ? (mask now [])\n* Waker sees write on pipe:\n\tselect(12, [0 3 4 6 11], NULL, NULL, NULL) \u003d 1 (in [6])\n* Waker kicks Launcher out of Guest:\n\tpwrite64(10, \"\\3\\0\\0\\0\\1\\0\\0\\0\", 8, 0) \u003d 0\n* Launcher exits from kernel:\n\tpread64(10, 0xbfa5f4d4, 4, 0) \u003d -1 EAGAIN (Resource temporarily unavailable)\n* Launcher looks to see what fd woke it:\n\tselect(7, [0 3 4 6], NULL, NULL, {0, 0}) \u003d 1 (in [6], left {0, 0})\n* Launcher reads timeout fd, sets notification flag on xmit ring\n\tread(6, \"\\0\", 32)       \u003d 1\n* Launcher rechecks fds:\n\tselect(7, [0 3 4 6], NULL, NULL, {0, 0}) \u003d 0 (Timeout)\n* Launcher clears Waker:\n\tpwrite64(10, \"\\3\\0\\0\\0\\0\\0\\0\\0\", 8, 0) \u003d 0\n* Launcher resumes Guest:\n\tpread64(10, \"\\0p\\0\\4\", 4, 0) ....\n\nstrace analysis of single Guest-\u003eHost ping after:\n\n* Guest sends packet, notifies xmit vq, creates event on eventfd.\n* Network xmit thread wakes from read on eventfd:\n\tread(7, \"\\1\\0\\0\\0\\0\\0\\0\\0\", 8)          \u003d 8\n* Network xmit thread writes packet to TUN device\n\twritev(4, [{\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\", 10}, {\"J\\217\\232FI\\37j\\27\\375\\276\\0\\304\\10\\0E\\0\\0T\\0\\0@\\0@\\1\\265\"..., 98}], 2) \u003d 108\n* Network recv thread wakes up from read on tunfd:\n\treadv(4, [{\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\", 10}, {\"j\\27\\375\\276\\0\\304J\\217\\232FI\\37\\10\\0E\\0\\0TiO\\0\\0@\\1\\214\"..., 1518}], 2) \u003d 108\n* Network recv thread sets up interrupt for the Guest\n\twrite(6, \"\\2\\0\\0\\0\\2\\0\\0\\0\", 8) \u003d 0\n* Network recv thread goes back to reading tunfd\n\t13:39:42.460285 readv(4,  \u003cunfinished ...\u003e\n* Network xmit thread sets up interrupt for Guest (xmit ring is empty)\n\twrite(6, \"\\2\\0\\0\\0\\3\\0\\0\\0\", 8) \u003d 0\n* Network xmit thread goes back to reading from eventfd\n\tread(7, \u003cunfinished ...\u003e\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "df60aeef4f4fe0645d9a195a7689005520422de5",
      "tree": "3cfa3c4a986436c8accd5f0a57d5a6f70f1b7965",
      "parents": [
        "5718607bb670c721f45f0dbb1cc7d6c64969aab1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:09 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:10 2009 +0930"
      },
      "message": "lguest: use eventfds for device notification\n\nCurrently, when a Guest wants to perform I/O it calls LHCALL_NOTIFY with\nan address: the main Launcher process returns with this address, and figures\nout what device to run.\n\nA far nicer model is to let processes bind an eventfd to an address: if we\nfind one, we simply signal the eventfd.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\n"
    },
    {
      "commit": "5718607bb670c721f45f0dbb1cc7d6c64969aab1",
      "tree": "9b595af2cd4649bea4c130b9dc223a5f886c34d2",
      "parents": [
        "9f155a9b3d5a5444bcc5e049ec2547bb5107150e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:09 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:09 2009 +0930"
      },
      "message": "eventfd: export eventfd_signal and eventfd_fget for lguest\n\nlguest wants to attach eventfds to guest notifications, and lguest is\nusually a module.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTo: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\n"
    },
    {
      "commit": "9f155a9b3d5a5444bcc5e049ec2547bb5107150e",
      "tree": "ef8fe2d5a319abb3bb1c89374f9d2fef1b0881c3",
      "parents": [
        "92b4d8df8436cdd74d22a2a5b6b23b9abc737a3e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:08 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:09 2009 +0930"
      },
      "message": "lguest: allow any process to send interrupts\n\nWe currently only allow the Launcher process to send interrupts, but it\nas we already send interrupts from the hrtimer, it\u0027s a simple matter of\nextracting that code into a common set_interrupt routine.\n\nAs we switch to a thread per virtqueue, this avoids a bottleneck through the\nmain Launcher process.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "92b4d8df8436cdd74d22a2a5b6b23b9abc737a3e",
      "tree": "bba0dce08d1fde432f370b7ef2845e0ae195a34d",
      "parents": [
        "acdd0b6292b282c4511897ac2691a47befbf1c6a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:08 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:08 2009 +0930"
      },
      "message": "lguest: PAE fixes\n\n1) j wasn\u0027t initialized in setup_pagetables, so they weren\u0027t set up for me\n   causing immediate guest crashes.\n\n2) gpte_addr should not re-read the pmd from the Guest.  Especially\n   not BUG_ON() based on the value.  If we ever supported SMP guests,\n   they could trigger that.  And the Launcher could also trigger it\n   (tho currently root-only).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "acdd0b6292b282c4511897ac2691a47befbf1c6a",
      "tree": "1bfcfc32b11d35e99fec5bbf52b19d6ee038f25e",
      "parents": [
        "cefcad1773197523e11e18b669f245e6a8d32058"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Fri Jun 12 22:27:07 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:08 2009 +0930"
      },
      "message": "lguest: PAE support\n\nThis version requires that host and guest have the same PAE status.\nNX cap is not offered to the guest, yet.\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cefcad1773197523e11e18b669f245e6a8d32058",
      "tree": "2d94e3df551b3ee58c1ac89ed4872e2153496c05",
      "parents": [
        "ebe0ba84f55950a89cb7af94c7ffc35ee3992f9e"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Fri Jun 12 22:27:07 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:07 2009 +0930"
      },
      "message": "lguest: Add support for kvm_hypercall4()\n\nAdd support for kvm_hypercall4(); PAE wants it.\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui at gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ebe0ba84f55950a89cb7af94c7ffc35ee3992f9e",
      "tree": "df1c3373274846b4998ea75c56f347a264b2c8ad",
      "parents": [
        "90603d15fa95605d1d08235b73e220d766f04bb0"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Sat May 30 15:48:08 2009 -0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:07 2009 +0930"
      },
      "message": "lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD\n\nreplace LHCALL_SET_PMD with LHCALL_SET_PGD hypercall name\n(That\u0027s really what it is, and the confusion gets worse with PAE support)\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReported-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n"
    },
    {
      "commit": "90603d15fa95605d1d08235b73e220d766f04bb0",
      "tree": "669b5a41ebdb368e578898409d8a48021074746a",
      "parents": [
        "ed1dc77810159a733240ba6751c1b31023bf8dd7"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Fri Jun 12 22:27:06 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:06 2009 +0930"
      },
      "message": "lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated\n\nSome cleanups and replace direct assignment with native_set_* macros which properly handle 64-bit entries when PAE is activated\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    }
  ],
  "next": "ed1dc77810159a733240ba6751c1b31023bf8dd7"
}
