)]}'
{
  "log": [
    {
      "commit": "5b739ef8a4e8cf5201d21abff897e292c232477b",
      "tree": "6301126016ad869997b4ef31973999e16049dfeb",
      "parents": [
        "b6f34d44cb341ad32f08717d1a2c418e6053a031"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Jun 18 19:50:21 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 18 19:50:21 2009 +0800"
      },
      "message": "random: Add optional continuous repetition test to entropy store based rngs\n\nFIPS-140 requires that all random number generators implement continuous self\ntests in which each extracted block of data is compared against the last block\nfor repetition.  The ansi_cprng implements such a test, but it would be nice if\nthe hw rng\u0027s did the same thing.  Obviously its not something thats always\nneeded, but it seems like it would be a nice feature to have on occasion. I\u0027ve\nwritten the below patch which allows individual entropy stores to be flagged as\ndesiring a continuous test to be run on them as is extracted.  By default this\noption is off, but is enabled in the event that fips mode is selected during\nbootup.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7cc47662197b3050a974a6c6aed52291bb38ded0",
      "tree": "dd95d15aa97a3357d3789eba6848f0f888411bec",
      "parents": [
        "55a6fbf8fc57d7b60d5028663f534475c4965215",
        "27f70c3117194f98beb009dc48bb2aa267f505bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 11:53:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 11:53:48 2009 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Convert ia64 to use int-ll64.h\n  [IA64] Fix build error in paravirt_patchlist.c\n  [IA64] ia64 does not need umount2() syscall\n  [IA64] hook up new rt_tgsigqueueinfo syscall\n  [IA64] msi_ia64.c dmar_msi_type should be static\n  [IA64] remove obsolete hw_interrupt_type\n  [IA64] remove obsolete irq_desc_t typedef\n  [IA64] remove obsolete no_irq_type\n  [IA64] unexport fpswa.h\n"
    },
    {
      "commit": "55a6fbf8fc57d7b60d5028663f534475c4965215",
      "tree": "fbe6b7ef5251d11b60c72d5d07d03312b6c22d44",
      "parents": [
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8",
        "2021de874e9f09774616772cfdefdab0e6193b09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 11:41:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 11:41:49 2009 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: early init for MFD running regulators\n  mfd: fix tmio related warnings\n  mfd: asic3: enable SD/SDIO cell\n  mfd: asic3: enable DS1WM cell\n  mfd: asic3: remove SD/SDIO controller register definitions\n  mfd: asic3: use resource_size macro instead of local variable\n  mfd: add ASIC3 IRQ numbers\n  mfd: asic3: add clock handling for MFD cells\n  mfd: asic3: add asic3_set_register common operation\n  mfd: Fix Kconfig help text for WM8350\n  mfd: add PCAP driver\n  mfd: add U300 AB3100 core support\n  drivers/mfd: remove obsolete irq_desc_t typedef\n  mfd/pcf50633-gpio.c: add MODULE_LICENSE\n  mfd: Mark WM8350 mask revision as readable to match silicon\n  mfd: Mark clocks_init as non-init in twl4030-core.c\n  mfd: Correct readability of WM8350 register 227\n"
    },
    {
      "commit": "4d3792e054f706f73837769a0e5607b3b7ad25a2",
      "tree": "42545bf01207d599ed531d2025156fe6114997c1",
      "parents": [
        "09f05ce8512c9873bda7f76273708753fdc5c698"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Mon Jun 15 15:43:31 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameol@linux.intel.com",
        "time": "Wed Jun 17 19:41:52 2009 +0200"
      },
      "message": "mfd: fix tmio related warnings\n\nWe can not have .driver_data as const since platform_set_drvdata() doesnt take\na const.\nThe hclk mmc_data field can be const though.\n\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "1b89040c3aa4500c97859bad714e010441e9c477",
      "tree": "c1255fbefcdef1452bd06676556e2a63dba7ac04",
      "parents": [
        "be584bd5a451ebe31ac9957098bb698cefbd40ca"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "philipp.zabel@gmail.com",
        "time": "Fri Jun 05 18:31:05 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameol@linux.intel.com",
        "time": "Wed Jun 17 19:41:45 2009 +0200"
      },
      "message": "mfd: asic3: remove SD/SDIO controller register definitions\n\nOnly the base addresses remain, as they are needed to set up\nthe IOMEM resources.\n\nSigned-off-by: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "01906d6d780e84c51537f6b56da472959e846314",
      "tree": "131ff5f889ff9859f190a42f74626a2b4e21d8b0",
      "parents": [
        "e956a2a87c60bf22eeea824ad208afc099850511"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "philipp.zabel@gmail.com",
        "time": "Fri Jun 05 18:31:03 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameol@linux.intel.com",
        "time": "Wed Jun 17 19:41:43 2009 +0200"
      },
      "message": "mfd: add ASIC3 IRQ numbers\n\nIRQ number definitions for PWM, LED, SPI and OWM (ds1wm).\n\nSigned-off-by: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "6483c1b5e1a6e3489640a1376e951395982e9615",
      "tree": "48dfc13997457dfbd7927762909c9b4dcab5643c",
      "parents": [
        "9e5aca58c2d2202937939dad8f9ce5d789ae4de8"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "philipp.zabel@gmail.com",
        "time": "Fri Jun 05 18:31:01 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameol@linux.intel.com",
        "time": "Wed Jun 17 19:41:39 2009 +0200"
      },
      "message": "mfd: asic3: add asic3_set_register common operation\n\nUsed to configure single bits of the SDHWCTRL_SDCONF and EXTCF_RESET/SELECT\nregisters needed for DS1WM, MMC/SDIO and PCMCIA functionality.\n\nSigned-off-by: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "13a09f93d2bf3a20c748e1d6a30160a00fc58169",
      "tree": "1dab40fb0cdf9c4a559d6b9a92a29a4cd98032d6",
      "parents": [
        "14fa56917d73d823538151b0429d98211fa439c1"
      ],
      "author": {
        "name": "Daniel Ribeiro",
        "email": "drwyrm@gmail.com",
        "time": "Thu May 28 15:43:37 2009 -0300"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameol@linux.intel.com",
        "time": "Wed Jun 17 19:41:35 2009 +0200"
      },
      "message": "mfd: add PCAP driver\n\nThe PCAP Asic as present on EZX phones is a multi function device with\nvoltage regulators, ADC, touch screen controller, RTC, USB transceiver,\nleds controller, and audio codec.\n\nIt has two SPI ports, typically one is connected to the application\nprocessor and another to the baseband, this driver provides read/write\nfunctions to its registers, irq demultiplexer and ADC\nqueueing/abstraction.\n\nThis chip is used on a lot of Motorola phones, it was manufactured by TI\nas a custom product with the name PTWL93017, later this design evolved\ninto the ATLAS PMIC from Freescale (MC13783).\n\nSigned-off-by: Daniel Ribeiro \u003cdrwyrm@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "14fa56917d73d823538151b0429d98211fa439c1",
      "tree": "eba45067df4f622dc6656cf82a0c96ba73ab2150",
      "parents": [
        "516eca2726dce2ead8750366d8f66dd345ce55e3"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.ml.walleij@gmail.com",
        "time": "Thu May 21 23:17:06 2009 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameol@linux.intel.com",
        "time": "Wed Jun 17 19:41:34 2009 +0200"
      },
      "message": "mfd: add U300 AB3100 core support\n\nThis adds a core driver for the AB3100 mixed-signal circuit\nfound in the ST-Ericsson U300 series platforms. This driver\nis a singleton proxy for all accesses to the AB3100\nsub-drivers which will be merged on top of this one, RTC,\nregulators, battery and system power control, vibrator,\nLEDs, and an ALSA codec.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nReviewed-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nReviewed-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b069e8ed4d5054b1fcd31a98bb2053bde645202f",
      "tree": "69d6691c02220e8d1979683fd1b0dc2efbf4e5c5",
      "parents": [
        "b7c142dbf1e7422d0be7f7faa3f1163ad9da9788",
        "d9dd0887cc5c6df0dbbe5a307284610607eea7ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 09:48:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 09:48:30 2009 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubi-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubi-2.6: (21 commits)\n  UBI: add reboot notifier\n  UBI: handle more error codes\n  UBI: fix multiple spelling typos\n  UBI: fix kmem_cache_free on error patch\n  UBI: print amount of reserved PEBs\n  UBI: improve messages in the WL worker\n  UBI: make gluebi a separate module\n  UBI: remove built-in gluebi\n  UBI: add notification API\n  UBI: do not switch to R/O mode on read errors\n  UBI: fix and clean-up error paths in WL worker\n  UBI: introduce new constants\n  UBI: fix race condition\n  UBI: minor serialization fix\n  UBI: do not panic if volume check fails\n  UBI: add dump_stack in checking code\n  UBI: fix races in I/O debugging checks\n  UBI: small debugging code optimization\n  UBI: improve debugging messages\n  UBI: re-name volumes_mutex to device_mutex\n  ...\n"
    },
    {
      "commit": "4ce4b1b73b4dd37e4a70390976ac0bcf7038d6f9",
      "tree": "2e8de1e183eb5f8c7b55b22d65bc698367e7f8a8",
      "parents": [
        "9cb0fbf7f8cbbd16218a4fb5983ac55fbc031929",
        "5caf5c7dc2d303b770e426f7e2238df882f1773b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 09:41:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 09:41:25 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  SLUB: Fix early boot GFP_DMA allocations\n  SLUB: Don\u0027t print out OOM warning for __GFP_NOFAIL\n  SLUB: fix build when !SLUB_DEBUG\n  SLUB: Out-of-memory diagnostics\n  slab: document kzfree() zeroing behavior\n  slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE\n  slob: use PG_slab for identifying SLOB pages\n"
    },
    {
      "commit": "27f70c3117194f98beb009dc48bb2aa267f505bf",
      "tree": "22afa3fb31376da9e37f09a78745afe3f16fde8a",
      "parents": [
        "d186b86ffcad713a1dd3d03e9d4ce2d59f61a1ed",
        "e088a4ad7fa53c3dc3c29f930025f41ccf01953e"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Jun 17 09:35:24 2009 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Jun 17 09:35:24 2009 -0700"
      },
      "message": "Pull for-2.6.31 into release\n"
    },
    {
      "commit": "e088a4ad7fa53c3dc3c29f930025f41ccf01953e",
      "tree": "07b012952bbbaccfe4ef3bb44b1ea0a3a3bb3868",
      "parents": [
        "e56e2dcd381d9ec35379328f332221581eda4787"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri May 22 13:49:49 2009 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Jun 17 09:33:49 2009 -0700"
      },
      "message": "[IA64] Convert ia64 to use int-ll64.h\n\nIt is generally agreed that it would be beneficial for u64 to be an\nunsigned long long on all architectures.  ia64 (in common with several\nother 64-bit architectures) currently uses unsigned long.  Migrating\npiecemeal is too painful; this giant patch fixes all compilation warnings\nand errors that come as a result of switching to use int-ll64.h.\n\nNote that userspace will still see __u64 defined as unsigned long.  This\nis important as it affects C++ name mangling.\n\n[Updated by Tony Luck to change efi.h:efi_freemem_callback_t to use\n u64 for start/end rather than unsigned long]\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "feb72ce827b939d5228664c92c2dfed7753cae46",
      "tree": "de2d78ee45d9e0df234e98eea67ebc3a21525d8f",
      "parents": [
        "65795efbd380a832ae508b04dba8f8e53f0b84d9",
        "5ac3455a843d2ca77333c954eea83aa4514c8199"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 08:46:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 17 08:46:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  get rid of BKL in fs/sysv\n  get rid of BKL in fs/minix\n  get rid of BKL in fs/efs\n  befs -\u003epust_super() doesn\u0027t need BKL\n  Cleanup of adfs headers\n  9P doesn\u0027t need BKL in -\u003eumount_begin()\n  fuse doesn\u0027t need BKL in -\u003eumount_begin()\n  No instance of -\u003ebmap() needs BKL\n  remove unlock_kernel() left accidentally\n  ext4: avoid unnecessary spinlock in critical POSIX ACL path\n  ext3: avoid unnecessary spinlock in critical POSIX ACL path\n"
    },
    {
      "commit": "e03ab9d415c47e1ff485b646f95604d3e3a91708",
      "tree": "61e9eecfbc46cf546a7e9c5ab206ae64fb860550",
      "parents": [
        "65795efbd380a832ae508b04dba8f8e53f0b84d9",
        "a234bdc9aecc299ba41ffe8023b3ea110df9f51b",
        "6746136520cd0827320a83e62d0a023a5a433650",
        "7303f240981888884412a97ac742772527356880",
        "95f8598931bd86a5775073db2fa2004b892dd3d0"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:15 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 17 08:30:15 2009 +0300"
      },
      "message": "Merge branches \u0027slab/documentation\u0027, \u0027slab/fixes\u0027, \u0027slob/cleanups\u0027 and \u0027slub/fixes\u0027 into for-linus\n"
    },
    {
      "commit": "608ba50bd0225d95469154feba8f00a6457848c1",
      "tree": "1407a612c92301fb9ddf0bbef2afbc4d5b2e4597",
      "parents": [
        "ee450f796f6c4f3a563c914cb93ccfa91a1f7580"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 16 14:52:13 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 17 00:36:36 2009 -0400"
      },
      "message": "Cleanup of adfs headers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0dd5198672dd2bbeb933862e1fc82162e0b636be",
      "tree": "c9efed20d90603c4d1626c21bd7aab1e7fc74a58",
      "parents": [
        "c868d550115b9ccc0027c67265b9520790f05601",
        "11c635a25b9f3a5d87409ce46cf2e05c500251ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 21:15:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 21:15:42 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (425 commits)\n  V4L/DVB (11870): gspca - main: VIDIOC_ENUM_FRAMESIZES ioctl added.\n  V4L/DVB (12004): poll method lose race condition\n  V4L/DVB (11894): flexcop-pci: dmesg visible names broken\n  V4L/DVB (11892): Siano: smsendian - declare function as extern\n  V4L/DVB (11891): Siano: smscore - bind the GPIO SMS protocol\n  V4L/DVB (11890): Siano: smscore - remove redundant code\n  V4L/DVB (11889): Siano: smsdvb - add DVB v3 events\n  V4L/DVB (11888): Siano: smsusb - remove redundant ifdef\n  V4L/DVB (11887): Siano: smscards - add board (target) events\n  V4L/DVB (11886): Siano: smscore - fix some new GPIO definitions names\n  V4L/DVB (11885): Siano: Add new GPIO management interface\n  V4L/DVB (11884): Siano: smssdio - revert to stand alone module\n  V4L/DVB (11883): Siano: cards - add two additional (USB) devices\n  V4L/DVB (11824): Siano: smsusb - change exit func debug msg\n  V4L/DVB (11823): Siano: smsusb - fix typo in module description\n  V4L/DVB (11822): Siano: smscore - bug fix at get_device_mode\n  V4L/DVB (11821): Siano: smscore - fix isdb-t firmware name\n  V4L/DVB (11820): Siano: smscore - fix byte ordering bug\n  V4L/DVB (11819): Siano: smscore - fix get_common_buffer bug\n  V4L/DVB (11818): Siano: smscards - assign gpio to HPG targets\n  ...\n"
    },
    {
      "commit": "517d08699b250021303f9a7cf0d758b6dc0748ed",
      "tree": "5e5b0134c3fffb78fe9d8b1641a64ff28fdd7bbc",
      "parents": [
        "8eeee4e2f04fc551f50c9d9847da2d73d7d33728",
        "a34601c5d84134055782ee031d58d82f5440e918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm: (182 commits)\n  fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset\n  fbdev: *bfin*: fix __dev{init,exit} markings\n  fbdev: *bfin*: drop unnecessary calls to memset\n  fbdev: bfin-t350mcqb-fb: drop unused local variables\n  fbdev: blackfin has __raw I/O accessors, so use them in fb.h\n  fbdev: s1d13xxxfb: add accelerated bitblt functions\n  tcx: use standard fields for framebuffer physical address and length\n  fbdev: add support for handoff from firmware to hw framebuffers\n  intelfb: fix a bug when changing video timing\n  fbdev: use framebuffer_release() for freeing fb_info structures\n  radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?\n  s3c-fb: CPUFREQ frequency scaling support\n  s3c-fb: fix resource releasing on error during probing\n  carminefb: fix possible access beyond end of carmine_modedb[]\n  acornfb: remove fb_mmap function\n  mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF\n  mb862xxfb: restrict compliation of platform driver to PPC\n  Samsung SoC Framebuffer driver: add Alpha Channel support\n  atmel-lcdc: fix pixclock upper bound detection\n  offb: use framebuffer_alloc() to allocate fb_info struct\n  ...\n\nManually fix up conflicts due to kmemcheck in mm/slab.c\n"
    },
    {
      "commit": "00115e6690ed5aa90530e1e41c467cd895dd18fc",
      "tree": "5c3b9629ba488b06a0dfa3c06ff2acc7198c6270",
      "parents": [
        "3ed167af96ed098187ea41353fe02d1af20d38a1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Jun 16 15:34:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:48:01 2009 -0700"
      },
      "message": "fbdev: blackfin has __raw I/O accessors, so use them in fb.h\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4410f3910947dcea8672280b3adecd53cec4e85e",
      "tree": "814e1823cf773d8911b946df780faaec5c89d593",
      "parents": [
        "b586640141ab5f4ab3b194419bc2c0f039e91dbc"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jun 16 15:34:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:48:00 2009 -0700"
      },
      "message": "fbdev: add support for handoff from firmware to hw framebuffers\n\nWith KMS we have ran into an issue where we really want the KMS fb driver\nto be the one running the console, so panics etc can be shown by switching\nout of X etc.\n\nHowever with vesafb/efifb built-in, we end up with those on fb0 and the\nKMS fb driver on fb1, driving the same piece of hw, so this adds an fb\ninfo flag to denote a firmware fbdev, and adds a new aperture base/size\nrange which can be compared when the hw drivers are installed to see if\nthere is a conflict with a firmware driver, and if there is the firmware\ndriver is unregistered and the hw driver takes over.\n\nIt uses new aperture_base/size members instead of comparing on the fix\nsmem_start/length, as smem_start/length might for example only cover the\nfirst 1MB of the PCI aperture, and we could allocate the kms fb from 8MB\ninto the aperture, thus they would never overlap.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nAcked-by: Peter Jones \u003cpjones@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae52bb2384f721562f15f719de1acb8e934733cb",
      "tree": "099e280e526a9aa3f8b44975b4494bd364c21861",
      "parents": [
        "a53c9d5b7115173fba9f82ff8120b624ef206f48"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Tue Jun 16 15:34:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:57 2009 -0700"
      },
      "message": "fbdev: move logo externs to header file\n\nNow we have __initconst, we can finally move the external declarations for\nthe various Linux logo structures to \u003clinux/linux_logo.h\u003e.\n\nJames\u0027 ack dates back to the previous submission (way to long ago), when the\nlogos were still __initdata, which caused failures on some platforms with some\ntoolchain versions.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: James Simmons \u003cjsimmons@infradead.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f3128e714ded7cf1e8c786c204a4f253b5d8ff4",
      "tree": "cb3c1e9df2da5e4817acfeb75284e8d7b92eae33",
      "parents": [
        "0093716e6dd18dad554bef81cc788a4c50d32a09"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Tue Jun 16 15:34:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:57 2009 -0700"
      },
      "message": "lis3: add click function\n\nThe LIS302DL accelerometer chip has a \u0027click\u0027 feature which can be used to\ndetect sudden motion on any of the three axis.  Configuration data is\npassed via spi platform_data and no action is taken if that\u0027s not\nspecified, so it won\u0027t harm any existing platform.\n\nTo make the configuration effective, the IRQ lines need to be set up\nappropriately.  This patch also adds a way to do that from board support\ncode.\n\nThe DD_* definitions were factored out to an own enum because they are\nspecific to LIS3LV02D devices.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55e331cf7ebe20665253770589cd9eb06048bf25",
      "tree": "4f64450d5839304fddd80733a703df2e518b9b24",
      "parents": [
        "f324edc85e5c1137e49e3b36a58cf436ab5b1fb3"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Tue Jun 16 15:33:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:52 2009 -0700"
      },
      "message": "drivers: add support for the TI VLYNQ bus\n\nAdd support for the TI VLYNQ high-speed, serial and packetized bus.\n\nThis bus allows external devices to be connected to the System-on-Chip and\nappear in the main system memory just like any memory mapped peripheral.\nIt is widely used in TI\u0027s networking and multimedia SoC, including the AR7\nSoC.\n\nSigned-off-by: Eugene Konev \u003cejka@imfi.kspu.ru\u003e\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc6f26774136b7f5307abcd3887f08360c9b7554",
      "tree": "f70e43b1e48abc611b8ef829710821b9577db937",
      "parents": [
        "e4c9dd0fbad60c098a026e9b06d9de1bc98c5e89"
      ],
      "author": {
        "name": "Masatake YAMATO",
        "email": "yamato@redhat.com",
        "time": "Tue Jun 16 15:33:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:52 2009 -0700"
      },
      "message": "syscalls.h: remove duplicated declarations for sys_pipe2\n\nsys_pipe2 is declared twice in include/linux/syscalls.h.\n\nSigned-off-by: Masatake YAMATO \u003cyamato@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b0b1db0133e4218a9b45c09e53793c039edebe1",
      "tree": "551ec8a69652b9856cefcf537bdcfd262f356974",
      "parents": [
        "10fc89d01a7ea2ecc2a58d2f4e7700f47178cd62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 16 15:33:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "remove put_cpu_no_resched()\n\nput_cpu_no_resched() is an optimization of put_cpu() which unfortunately\ncan cause high latencies.\n\nThe nfs iostats code uses put_cpu_no_resched() in a code sequence where a\nreschedule request caused by an interrupt between the get_cpu() and the\nput_cpu_no_resched() can delay the reschedule for at least HZ.\n\nThe other users of put_cpu_no_resched() optimize correctly in interrupt\ncode, but there is no real harm in using the put_cpu() function which is\nan alias for preempt_enable().  The extra check of the preemmpt count is\nnot as critical as the potential source of missing a reschedule.\n\nDebugged in the preempt-rt tree and verified in mainline.\n\nImpact: remove a high latency source\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10fc89d01a7ea2ecc2a58d2f4e7700f47178cd62",
      "tree": "7c032430b77b4e7f08e924f36fa5ef591bfb580c",
      "parents": [
        "0d9c25dde878a636ee9a9b53923569171bf9a55b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jun 16 15:33:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "drbd: add major number to major.h\n\nSince we have had a LANANA major number for years, and it is documented in\ndevices.txt, I think that this first patch can go upstream.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d9c25dde878a636ee9a9b53923569171bf9a55b",
      "tree": "fea0a36db4dd8c8bcfbfdd5830170de3492917a4",
      "parents": [
        "4938d7e0233a455f04507bac81d0886c71529537"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jun 16 15:33:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "headers: move module_bug_finalize()/module_bug_cleanup() definitions into module.h\n\nThey\u0027re in linux/bug.h at present, which causes include order tangles.  In\nparticular, linux/bug.h cannot be used by linux/atomic.h because,\naccording to Nikanth:\n\nlinux/bug.h pulls in linux/module.h \u003d\u003e linux/spinlock.h \u003d\u003e asm/spinlock.h\n(which uses atomic_inc) \u003d\u003e asm/atomic.h.\n\nbug.h is a pretty low-level thing and module.h is a higher-level thing,\nIMO.\n\nCc: Nikanth Karthikesan \u003cknikanth@novell.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4938d7e0233a455f04507bac81d0886c71529537",
      "tree": "6e0c6f0e8623ef44270890519f08b98e9db8afee",
      "parents": [
        "02d5341ae53d32681241b27a40397475caef1c83"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jun 16 15:33:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "poll: avoid extra wakeups in select/poll\n\nAfter introduction of keyed wakeups Davide Libenzi did on epoll, we are\nable to avoid spurious wakeups in poll()/select() code too.\n\nFor example, typical use of poll()/select() is to wait for incoming\nnetwork frames on many sockets.  But TX completion for UDP/TCP frames call\nsock_wfree() which in turn schedules thread.\n\nWhen scheduled, thread does a full scan of all polled fds and can sleep\nagain, because nothing is really available.  If number of fds is large,\nthis cause significant load.\n\nThis patch makes select()/poll() aware of keyed wakeups and useless\nwakeups are avoided.  This reduces number of context switches by about 50%\non some setups, and work performed by sofirq handlers.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7d932af06e8eee2163627d19898e18da5635449",
      "tree": "ddcf5e30e58f9758331f38ace3682f5691f44060",
      "parents": [
        "b08cd961cc3869e14d841a3ed1641f47b11348f3"
      ],
      "author": {
        "name": "Dan Smith",
        "email": "danms@us.ibm.com",
        "time": "Tue Jun 16 15:33:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:47 2009 -0700"
      },
      "message": "utsname.h: make new_utsname fields use the proper length constant\n\nThe members of the new_utsname structure are defined with magic numbers\nthat *should* correspond to the constant __NEW_UTS_LEN+1.  Everywhere\nelse, code assumes this and uses the constant, so this patch makes the\nstructure match.\n\nOriginally suggested by Serge here:\n\nhttps://lists.linux-foundation.org/pipermail/containers/2009-March/016258.html\n\nSigned-off-by: Dan Smith \u003cdanms@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24cf72518c79cdcda486ed26074ff8151291cf65",
      "tree": "0db04965fb57135e68edf62c332c3a3825c1e3b5",
      "parents": [
        "fa5e084e43eb14c14942027e1e2e894aeed96097"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:33:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:46 2009 -0700"
      },
      "message": "vmscan: count the number of times zone_reclaim() scans and fails\n\nOn NUMA machines, the administrator can configure zone_reclaim_mode that\nis a more targetted form of direct reclaim.  On machines with large NUMA\ndistances for example, a zone_reclaim_mode defaults to 1 meaning that\nclean unmapped pages will be reclaimed if the zone watermarks are not\nbeing met.\n\nThere is a heuristic that determines if the scan is worthwhile but it is\npossible that the heuristic will fail and the CPU gets tied up scanning\nuselessly.  Detecting the situation requires some guesswork and\nexperimentation so this patch adds a counter \"zreclaim_failed\" to\n/proc/vmstat.  If during high CPU utilisation this counter is increasing\nrapidly, then the resolution to the problem may be to set\n/proc/sys/vm/zone_reclaim_mode to 0.\n\n[akpm@linux-foundation.org: name things consistently]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6b7e35785e3232ffe7f81d3893f1316710a02",
      "tree": "6f47c03735504d8aab8f7b048465b87cc5b15861",
      "parents": [
        "608e8e66a154cbc3d591a59dcebfd9cbc9e3431a"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:33:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:44 2009 -0700"
      },
      "message": "vmscan: report vm_flags in page_referenced()\n\nCollect vma-\u003evm_flags of the VMAs that actually referenced the page.\n\nThis is preparing for more informed reclaim heuristics, eg.  to protect\nexecutable file pages more aggressively.  For now only the VM_EXEC bit\nwill be used by the caller.\n\nThanks to Johannes, Peter and Minchan for all the good tips.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "168f5ac668f63dfb64439766e3ef9e866b83719d",
      "tree": "ddefb5678ffc15ac6ddec66e281d3f9c8a75fa0b",
      "parents": [
        "aca8bf323edd31ad462dc98c107c23a5c6022ca2"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "slyfox@inbox.ru",
        "time": "Tue Jun 16 15:33:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:44 2009 -0700"
      },
      "message": "mm cleanup: shmem_file_setup: \u0027char *\u0027 -\u003e \u0027const char *\u0027 for name argument\n\nAs function shmem_file_setup does not modify/allocate/free/pass given\nfilename - mark it as const.\n\nSigned-off-by: Sergei Trofimovich \u003cslyfox@inbox.ru\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aca8bf323edd31ad462dc98c107c23a5c6022ca2",
      "tree": "1466785c7ab056d6a9e21bb61fbd36ce3c3df5cc",
      "parents": [
        "8192da6a8811ab6c3d29dc590a5f94a377c43739"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:33:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:44 2009 -0700"
      },
      "message": "mm: remove file argument from swap_readpage()\n\nThe file argument resulted from address_space\u0027s readpage long time ago.\n\nWe don\u0027t use it any more.  Let\u0027s remove unnecessary argement.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "286973552f051404abdb58dd9b2f8f7558efe4e5",
      "tree": "462cca28bdab729a09371ba6a53e0365cf36ad57",
      "parents": [
        "82553a937f12352c26fe457510ebab3f512cd3fa"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Tue Jun 16 15:32:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:43 2009 -0700"
      },
      "message": "mm: remove __invalidate_mapping_pages variant\n\nRemove __invalidate_mapping_pages atomic variant now that its sole caller\ncan sleep (fixed in eccb95cee4f0d56faa46ef22fb94dd4a3578d3eb (\"vfs: fix\nlock inversion in drop_pagecache_sb()\")).\n\nThis fixes softlockups that can occur while in the drop_caches path.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ff05b2b4eac2e63d345fc731ea151a060247f53",
      "tree": "1840bc2d3b381eca5d39869499339b0fcc6eabbf",
      "parents": [
        "c9e444103b5e7a5a3519f9913f59767f92e33baf"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jun 16 15:32:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:43 2009 -0700"
      },
      "message": "oom: move oom_adj value from task_struct to mm_struct\n\nThe per-task oom_adj value is a characteristic of its mm more than the\ntask itself since it\u0027s not possible to oom kill any thread that shares the\nmm.  If a task were to be killed while attached to an mm that could not be\nfreed because another thread were set to OOM_DISABLE, it would have\nneedlessly been terminated since there is no potential for future memory\nfreeing.\n\nThis patch moves oomkilladj (now more appropriately named oom_adj) from\nstruct task_struct to struct mm_struct.  This requires task_lock() on a\ntask to check its oom_adj value to protect against exec, but it\u0027s already\nnecessary to take the lock when dereferencing the mm to find the total VM\nsize for the badness heuristic.\n\nThis fixes a livelock if the oom killer chooses a task and another thread\nsharing the same memory has an oom_adj value of OOM_DISABLE.  This occurs\nbecause oom_kill_task() repeatedly returns 1 and refuses to kill the\nchosen task while select_bad_process() will repeatedly choose the same\ntask during the next retry.\n\nTaking task_lock() in select_bad_process() to check for OOM_DISABLE and in\noom_kill_task() to check for threads sharing the same memory will be\nremoved in the next patch in this series where it will no longer be\nnecessary.\n\nWriting to /proc/pid/oom_adj for a kthread will now return -EINVAL since\nthese threads are immune from oom killing already.  They simply report an\noom_adj value of OOM_DISABLE.\n\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "355cfa73ddff2fb8fa14e93bd94a057cc022512e",
      "tree": "7ff70cd56d533070d50b06db6ba0086e8aab0d71",
      "parents": [
        "cb4b86ba47bb0937b71fb825b3ed88adf7a190f0"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jun 16 15:32:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "mm: modify swap_map and add SWAP_HAS_CACHE flag\n\nThis is a part of the patches for fixing memcg\u0027s swap accountinf leak.\nBut, IMHO, not a bad patch even if no memcg.\n\nThere are 2 kinds of references to swap.\n - reference from swap entry\n - reference from swap cache\n\nThen,\n\n - If there is swap cache \u0026\u0026 swap\u0027s refcnt is 1, there is only swap cache.\n  (*) swapcount(entry) \u003d\u003d 1 \u0026\u0026 find_get_page(swapper_space, entry) !\u003d NULL\n\nThis counting logic have worked well for a long time.  But considering\nthat we cannot know there is a _real_ reference or not by swap_map[],\ncurrent usage of counter is not very good.\n\nThis patch adds a flag SWAP_HAS_CACHE and recored information that a swap\nentry has a cache or not.  This will remove -1 magic used in swapfile.c\nand be a help to avoid unnecessary find_get_page().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb4b86ba47bb0937b71fb825b3ed88adf7a190f0",
      "tree": "4b8528ba914a315e5857e7fe2a6e7d415f2e6650",
      "parents": [
        "6837765963f1723e80ca97b1fae660f3a60d77df"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jun 16 15:32:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "mm: add swap cache interface for swap reference\n\nIn a following patch, the usage of swap cache is recorded into swap_map.\nThis patch is for necessary interface changes to do that.\n\n2 interfaces:\n\n  - swapcache_prepare()\n  - swapcache_free()\n\nare added for allocating/freeing refcnt from swap-cache to existing swap\nentries.  But implementation itself is not changed under this patch.  At\nadding swapcache_free(), memcg\u0027s hook code is moved under\nswapcache_free().  This is better than using scattered hooks.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6837765963f1723e80ca97b1fae660f3a60d77df",
      "tree": "a9a6ed4b7e3bf188966da78b04bf39298f24375a",
      "parents": [
        "bce7394a3ef82b8477952fbab838e4a6e8cb47d2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jun 16 15:32:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "mm: remove CONFIG_UNEVICTABLE_LRU config option\n\nCurrently, nobody wants to turn UNEVICTABLE_LRU off.  Thus this\nconfigurability is unnecessary.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96cb4df5ddf5e6d5785b5acd4003e3689b87f896",
      "tree": "e6bd74df480e9065617aebec29b4285fa021c919",
      "parents": [
        "bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:32:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "page-allocator: add inactive ratio calculation function of each zone\n\nFactor the per-zone arithemetic inside setup_per_zone_inactive_ratio()\u0027s\nloop into a a separate function, calculate_zone_inactive_ratio().  This\nfunction will be used in a later patch\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf",
      "tree": "4dc5054afdff491d8378dee2a235da64d6ad3de6",
      "parents": [
        "b70d94ee438b3fd9c15c7691d7a932a135c18101"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:32:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:41 2009 -0700"
      },
      "message": "page-allocator: clean up functions related to pages_min\n\nChange the names of two functions. It doesn\u0027t affect behavior.\n\nPresently, setup_per_zone_pages_min() changes low, high of zone as well as\nmin.  So a better name is setup_per_zone_wmarks().  That\u0027s because Mel\nchanged zone-\u003epages_[hig/low/min] to zone-\u003ewatermark array in \"page\nallocator: replace the watermark-related union in struct zone with a\nwatermark[] array\".\n\n * setup_per_zone_pages_min \u003d\u003e setup_per_zone_wmarks\n\nOf course, we have to change init_per_zone_pages_min, too.  There are not\npages_min any more.\n\n * init_per_zone_pages_min \u003d\u003e init_per_zone_wmark_min\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b70d94ee438b3fd9c15c7691d7a932a135c18101",
      "tree": "a33e88b812c0cd8a18017e34dcddcea7715320c9",
      "parents": [
        "31c911329e048b715a1dfeaaf617be9430fd7f4e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Jun 16 15:32:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:41 2009 -0700"
      },
      "message": "page-allocator: use integer fields lookup for gfp_zone and check for errors in flags passed to the page allocator\n\nThis simplifies the code in gfp_zone() and also keeps the ability of the\ncompiler to use constant folding to get rid of gfp_zone processing.\n\nThe lookup of the zone is done using a bitfield stored in an integer.  So\nthe code in gfp_zone is a simple extraction of bits from a constant\nbitfield.  The compiler is generating a load of a constant into a register\nand then performs a shift and mask operation to get the zone from a gfp_t.\n No cachelines are touched and no branches have to be predicted by the\ncompiler.\n\nWe are doing some macro tricks here to convince the compiler to always do\nthe constant folding if possible.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31c911329e048b715a1dfeaaf617be9430fd7f4e",
      "tree": "a8eca5337528c21ab54ae5ad152d04a471b906cf",
      "parents": [
        "69c854817566db82c362797b4a6521d0b00fe1d8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Jun 16 15:32:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:41 2009 -0700"
      },
      "message": "mm: check the argument of kunmap on architectures without highmem\n\nIf you\u0027re using a non-highmem architecture, passing an argument with the\nwrong type to kunmap() doesn\u0027t give you a warning because the ifdef\ndoesn\u0027t check the type.\n\nUsing a static inline function solves the problem nicely.\n\nReported-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f33d49a2ed546e01f7b1d0607661810f2421859",
      "tree": "8b05ac7ec2cd123efb266ecaa1bf0bd1487158f8",
      "parents": [
        "75927af8bcb940dad4fe281713d526cb520869ff"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 16 15:32:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:40 2009 -0700"
      },
      "message": "mm, PM/Freezer: Disable OOM killer when tasks are frozen\n\nCurrently, the following scenario appears to be possible in theory:\n\n* Tasks are frozen for hibernation or suspend.\n* Free pages are almost exhausted.\n* Certain piece of code in the suspend code path attempts to allocate\n  some memory using GFP_KERNEL and allocation order less than or\n  equal to PAGE_ALLOC_COSTLY_ORDER.\n* __alloc_pages_internal() cannot find a free page so it invokes the\n  OOM killer.\n* The OOM killer attempts to kill a task, but the task is frozen, so\n  it doesn\u0027t die immediately.\n* __alloc_pages_internal() jumps to \u0027restart\u0027, unsuccessfully tries\n  to find a free page and invokes the OOM killer.\n* No progress can be made.\n\nAlthough it is now hard to trigger during hibernation due to the memory\nshrinking carried out by the hibernation code, it is theoretically\npossible to trigger during suspend after the memory shrinking has been\nremoved from that code path.  Moreover, since memory allocations are\ngoing to be used for the hibernation memory shrinking, it will be even\nmore likely to happen during hibernation.\n\nTo prevent it from happening, introduce the oom_killer_disabled switch\nthat will cause __alloc_pages_internal() to fail in the situations in\nwhich the OOM killer would have been called and make the freezer set\nthis switch after tasks have been successfully frozen.\n\n[akpm@linux-foundation.org: be nicer to the namespace]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Fengguang Wu \u003cfengguang.wu@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b6748e2dd69906af3835db4dc9d1c8a3ee4c68c",
      "tree": "5d5476844f8e29e31684ce8ccf7e163ab3182ad6",
      "parents": [
        "03668a4debf4f50de55c34b6e66dae63e1c73716"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jun 16 15:32:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:40 2009 -0700"
      },
      "message": "mm: introduce follow_pfn()\n\nAnaloguous to follow_phys(), add a helper that looks up the PFN at a\nuser virtual address in an IO mapping or a raw PFN mapping.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e08a369ee10b361ac1cdcdf4fabd420fd08beb3",
      "tree": "9dbf870cad025b64781d9051b6680a8a23927e5a",
      "parents": [
        "56e49d218890f49b0057710a4b6fef31f5ffbfec"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:32:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:39 2009 -0700"
      },
      "message": "vmscan: cleanup the scan batching code\n\nThe vmscan batching logic is twisting.  Move it into a standalone function\nnr_scan_try_batch() and document it.  No behavior change.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56e49d218890f49b0057710a4b6fef31f5ffbfec",
      "tree": "a0525dd9a140352276bdfb76a3d65230c3e5121d",
      "parents": [
        "35efa5e993a7a00a50b87d2b7725c3eafc80b083"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Jun 16 15:32:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:38 2009 -0700"
      },
      "message": "vmscan: evict use-once pages first\n\nWhen the file LRU lists are dominated by streaming IO pages, evict those\npages first, before considering evicting other pages.\n\nThis should be safe from deadlocks or performance problems\nbecause only three things can happen to an inactive file page:\n\n1) referenced twice and promoted to the active list\n2) evicted by the pageout code\n3) under IO, after which it will get evicted or promoted\n\nThe pages freed in this way can either be reused for streaming IO, or\nallocated for something else.  If the pages are used for streaming IO,\nthis pageout pattern continues.  Otherwise, we will fall back to the\nnormal pageout pattern.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nReported-by: Elladan \u003celladan@eskimo.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20a0307c0396c2edb651401d2f2db193dda2f3c9",
      "tree": "408fde4bf84223757f5dd150e401e8d9d9df5d36",
      "parents": [
        "a1dd268cf6306565a31a48deff8bf4f6b4b105f7"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:32:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:36 2009 -0700"
      },
      "message": "mm: introduce PageHuge() for testing huge/gigantic pages\n\nA series of patches to enhance the /proc/pagemap interface and to add a\nuserspace executable which can be used to present the pagemap data.\n\nExport 10 more flags to end users (and more for kernel developers):\n\n        11. KPF_MMAP            (pseudo flag) memory mapped page\n        12. KPF_ANON            (pseudo flag) memory mapped page (anonymous)\n        13. KPF_SWAPCACHE       page is in swap cache\n        14. KPF_SWAPBACKED      page is swap/RAM backed\n        15. KPF_COMPOUND_HEAD   (*)\n        16. KPF_COMPOUND_TAIL   (*)\n        17. KPF_HUGE\t\thugeTLB pages\n        18. KPF_UNEVICTABLE     page is in the unevictable LRU list\n        19. KPF_HWPOISON        hardware detected corruption\n        20. KPF_NOPAGE          (pseudo flag) no page frame at the address\n\n        (*) For compound pages, exporting _both_ head/tail info enables\n            users to tell where a compound page starts/ends, and its order.\n\na simple demo of the page-types tool\n\n# ./page-types -h\npage-types [options]\n            -r|--raw                  Raw mode, for kernel developers\n            -a|--addr    addr-spec    Walk a range of pages\n            -b|--bits    bits-spec    Walk pages with specified bits\n            -l|--list                 Show page details in ranges\n            -L|--list-each            Show page details one by one\n            -N|--no-summary           Don\u0027t show summay info\n            -h|--help                 Show this usage message\naddr-spec:\n            N                         one page at offset N (unit: pages)\n            N+M                       pages range from N to N+M-1\n            N,M                       pages range from N to M-1\n            N,                        pages range from N to end\n            ,M                        pages range from 0 to M\nbits-spec:\n            bit1,bit2                 (flags \u0026 (bit1|bit2)) !\u003d 0\n            bit1,bit2\u003dbit1            (flags \u0026 (bit1|bit2)) \u003d\u003d bit1\n            bit1,~bit2                (flags \u0026 (bit1|bit2)) \u003d\u003d bit1\n            \u003dbit1,bit2                flags \u003d\u003d (bit1|bit2)\nbit-names:\n          locked              error         referenced           uptodate\n           dirty                lru             active               slab\n       writeback            reclaim              buddy               mmap\n       anonymous          swapcache         swapbacked      compound_head\n   compound_tail               huge        unevictable           hwpoison\n          nopage           reserved(r)         mlocked(r)    mappedtodisk(r)\n         private(r)       private_2(r)   owner_private(r)            arch(r)\n        uncached(r)       readahead(o)       slob_free(o)     slub_frozen(o)\n      slub_debug(o)\n                                   (r) raw mode bits  (o) overloaded bits\n\n# ./page-types\n             flags      page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          487369     1903  _________________________________\n0x0000000000000014               5        0  __R_D____________________________  referenced,dirty\n0x0000000000000020               1        0  _____l___________________________  lru\n0x0000000000000024              34        0  __R__l___________________________  referenced,lru\n0x0000000000000028            3838       14  ___U_l___________________________  uptodate,lru\n0x0001000000000028              48        0  ___U_l_______________________I___  uptodate,lru,readahead\n0x000000000000002c            6478       25  __RU_l___________________________  referenced,uptodate,lru\n0x000100000000002c              47        0  __RU_l_______________________I___  referenced,uptodate,lru,readahead\n0x0000000000000040            8344       32  ______A__________________________  active\n0x0000000000000060               1        0  _____lA__________________________  lru,active\n0x0000000000000068             348        1  ___U_lA__________________________  uptodate,lru,active\n0x0001000000000068              12        0  ___U_lA______________________I___  uptodate,lru,active,readahead\n0x000000000000006c             988        3  __RU_lA__________________________  referenced,uptodate,lru,active\n0x000100000000006c              48        0  __RU_lA______________________I___  referenced,uptodate,lru,active,readahead\n0x0000000000004078               1        0  ___UDlA_______b__________________  uptodate,dirty,lru,active,swapbacked\n0x000000000000407c              34        0  __RUDlA_______b__________________  referenced,uptodate,dirty,lru,active,swapbacked\n0x0000000000000400             503        1  __________B______________________  buddy\n0x0000000000000804               1        0  __R________M_____________________  referenced,mmap\n0x0000000000000828            1029        4  ___U_l_____M_____________________  uptodate,lru,mmap\n0x0001000000000828              43        0  ___U_l_____M_________________I___  uptodate,lru,mmap,readahead\n0x000000000000082c             382        1  __RU_l_____M_____________________  referenced,uptodate,lru,mmap\n0x000100000000082c              12        0  __RU_l_____M_________________I___  referenced,uptodate,lru,mmap,readahead\n0x0000000000000868             192        0  ___U_lA____M_____________________  uptodate,lru,active,mmap\n0x0001000000000868              12        0  ___U_lA____M_________________I___  uptodate,lru,active,mmap,readahead\n0x000000000000086c             800        3  __RU_lA____M_____________________  referenced,uptodate,lru,active,mmap\n0x000100000000086c              31        0  __RU_lA____M_________________I___  referenced,uptodate,lru,active,mmap,readahead\n0x0000000000004878               2        0  ___UDlA____M__b__________________  uptodate,dirty,lru,active,mmap,swapbacked\n0x0000000000001000             492        1  ____________a____________________  anonymous\n0x0000000000005808               4        0  ___U_______Ma_b__________________  uptodate,mmap,anonymous,swapbacked\n0x0000000000005868            2839       11  ___U_lA____Ma_b__________________  uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c              30        0  __RU_lA____Ma_b__________________  referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total          513968     2007\n\n# ./page-types -r\n             flags      page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          468002     1828  _________________________________\n0x0000000100000000           19102       74  _____________________r___________  reserved\n0x0000000000008000              41        0  _______________H_________________  compound_head\n0x0000000000010000             188        0  ________________T________________  compound_tail\n0x0000000000008014               1        0  __R_D__________H_________________  referenced,dirty,compound_head\n0x0000000000010014               4        0  __R_D___________T________________  referenced,dirty,compound_tail\n0x0000000000000020               1        0  _____l___________________________  lru\n0x0000000800000024              34        0  __R__l__________________P________  referenced,lru,private\n0x0000000000000028            3794       14  ___U_l___________________________  uptodate,lru\n0x0001000000000028              46        0  ___U_l_______________________I___  uptodate,lru,readahead\n0x0000000400000028              44        0  ___U_l_________________d_________  uptodate,lru,mappedtodisk\n0x0001000400000028               2        0  ___U_l_________________d_____I___  uptodate,lru,mappedtodisk,readahead\n0x000000000000002c            6434       25  __RU_l___________________________  referenced,uptodate,lru\n0x000100000000002c              47        0  __RU_l_______________________I___  referenced,uptodate,lru,readahead\n0x000000040000002c              14        0  __RU_l_________________d_________  referenced,uptodate,lru,mappedtodisk\n0x000000080000002c              30        0  __RU_l__________________P________  referenced,uptodate,lru,private\n0x0000000800000040            8124       31  ______A_________________P________  active,private\n0x0000000000000040             219        0  ______A__________________________  active\n0x0000000800000060               1        0  _____lA_________________P________  lru,active,private\n0x0000000000000068             322        1  ___U_lA__________________________  uptodate,lru,active\n0x0001000000000068              12        0  ___U_lA______________________I___  uptodate,lru,active,readahead\n0x0000000400000068              13        0  ___U_lA________________d_________  uptodate,lru,active,mappedtodisk\n0x0000000800000068              12        0  ___U_lA_________________P________  uptodate,lru,active,private\n0x000000000000006c             977        3  __RU_lA__________________________  referenced,uptodate,lru,active\n0x000100000000006c              48        0  __RU_lA______________________I___  referenced,uptodate,lru,active,readahead\n0x000000040000006c               5        0  __RU_lA________________d_________  referenced,uptodate,lru,active,mappedtodisk\n0x000000080000006c               3        0  __RU_lA_________________P________  referenced,uptodate,lru,active,private\n0x0000000c0000006c               3        0  __RU_lA________________dP________  referenced,uptodate,lru,active,mappedtodisk,private\n0x0000000c00000068               1        0  ___U_lA________________dP________  uptodate,lru,active,mappedtodisk,private\n0x0000000000004078               1        0  ___UDlA_______b__________________  uptodate,dirty,lru,active,swapbacked\n0x000000000000407c              34        0  __RUDlA_______b__________________  referenced,uptodate,dirty,lru,active,swapbacked\n0x0000000000000400             538        2  __________B______________________  buddy\n0x0000000000000804               1        0  __R________M_____________________  referenced,mmap\n0x0000000000000828            1029        4  ___U_l_____M_____________________  uptodate,lru,mmap\n0x0001000000000828              43        0  ___U_l_____M_________________I___  uptodate,lru,mmap,readahead\n0x000000000000082c             382        1  __RU_l_____M_____________________  referenced,uptodate,lru,mmap\n0x000100000000082c              12        0  __RU_l_____M_________________I___  referenced,uptodate,lru,mmap,readahead\n0x0000000000000868             192        0  ___U_lA____M_____________________  uptodate,lru,active,mmap\n0x0001000000000868              12        0  ___U_lA____M_________________I___  uptodate,lru,active,mmap,readahead\n0x000000000000086c             800        3  __RU_lA____M_____________________  referenced,uptodate,lru,active,mmap\n0x000100000000086c              31        0  __RU_lA____M_________________I___  referenced,uptodate,lru,active,mmap,readahead\n0x0000000000004878               2        0  ___UDlA____M__b__________________  uptodate,dirty,lru,active,mmap,swapbacked\n0x0000000000001000             492        1  ____________a____________________  anonymous\n0x0000000000005008               2        0  ___U________a_b__________________  uptodate,anonymous,swapbacked\n0x0000000000005808               4        0  ___U_______Ma_b__________________  uptodate,mmap,anonymous,swapbacked\n0x000000000000580c               1        0  __RU_______Ma_b__________________  referenced,uptodate,mmap,anonymous,swapbacked\n0x0000000000005868            2839       11  ___U_lA____Ma_b__________________  uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c              29        0  __RU_lA____Ma_b__________________  referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total          513968     2007\n\n# ./page-types --raw --list --no-summary --bits reserved\noffset  count   flags\n0       15      _____________________r___________\n31      4       _____________________r___________\n159     97      _____________________r___________\n4096    2067    _____________________r___________\n6752    2390    _____________________r___________\n9355    3       _____________________r___________\n9728    14526   _____________________r___________\n\nThis patch:\n\nIntroduce PageHuge(), which identifies huge/gigantic pages by their\ndedicated compound destructor functions.\n\nAlso move prep_compound_gigantic_page() to hugetlb.c and make\n__free_pages_ok() non-static.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62bc62a873116805774ffd37d7f86aa4faa832b1",
      "tree": "7f3f5b94b2d484a13ca27b8d3f6f54cfe126d7c0",
      "parents": [
        "974709bdb2a34db378fc84140220f363f558d0d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jun 16 15:32:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths\n\nnum_online_nodes() is called in a number of places but most often by the\npage allocator when deciding whether the zonelist needs to be filtered\nbased on cpusets or the zonelist cache.  This is actually a heavy function\nand touches a number of cache lines.\n\nThis patch stores the number of online nodes at boot time and updates the\nvalue when nodes get onlined and offlined.  The value is then used in a\nnumber of important paths in place of num_online_nodes().\n\n[rientjes@google.com: do not override definition of node_set_online() with macro]\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "418589663d6011de9006425b6c5721e1544fb47a",
      "tree": "ef37fb026d3e38191d6b5c99bc95c190fa98d0fb",
      "parents": [
        "a3af9c389a7f3e675313f442fdd8c247c1cdb66b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:32:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use allocation flags as an index to the zone watermark\n\nALLOC_WMARK_MIN, ALLOC_WMARK_LOW and ALLOC_WMARK_HIGH determin whether\npages_min, pages_low or pages_high is used as the zone watermark when\nallocating the pages.  Two branches in the allocator hotpath determine\nwhich watermark to use.\n\nThis patch uses the flags as an array index into a watermark array that is\nindexed with WMARK_* defines accessed via helpers.  All call sites that\nuse zone-\u003epages_* are updated to use the helpers for accessing the values\nand the array offsets for setting.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49255c619fbd482d704289b5eb2795f8e3b7ff2e",
      "tree": "b1f36ca46bda7767fce12bc4a70360a68f7255ab",
      "parents": [
        "11e33f6a55ed7847d9c8ffe185ef87faf7806abe"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:33 2009 -0700"
      },
      "message": "page allocator: move check for disabled anti-fragmentation out of fastpath\n\nOn low-memory systems, anti-fragmentation gets disabled as there is\nnothing it can do and it would just incur overhead shuffling pages between\nlists constantly.  Currently the check is made in the free page fast path\nfor every page.  This patch moves it to a slow path.  On machines with low\nmemory, there will be small amount of additional overhead as pages get\nshuffled between lists but it should quickly settle.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6484eb3e2a81807722c5f28efef94d8338b7b996",
      "tree": "10ce36f412c2ff0c7eb399af1a189f8e354f56db",
      "parents": [
        "b3c466ce512923298ae8c0121d3e9f397a3f1210"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not check NUMA node ID when the caller knows the node is valid\n\nCallers of alloc_pages_node() can optionally specify -1 as a node to mean\n\"allocate from the current node\".  However, a number of the callers in\nfast paths know for a fact their node is valid.  To avoid a comparison and\nbranch, this patch adds alloc_pages_exact_node() that only checks the nid\nwith VM_BUG_ON().  Callers that know their node is valid are then\nconverted.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\t[for the SLOB NUMA bits]\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3c466ce512923298ae8c0121d3e9f397a3f1210",
      "tree": "ca6f360a6dbaaa0a71b9375fb57d544364532254",
      "parents": [
        "d239171e4f6efd58d7e423853056b1b6a74f1446"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not sanity check order in the fast path\n\nNo user of the allocator API should be passing in an order \u003e\u003d MAX_ORDER\nbut we check for it on each and every allocation.  Delete this check and\nmake it a VM_BUG_ON check further down the call path.\n\n[akpm@linux-foundation.org: s/VM_BUG_ON/WARN_ON_ONCE/]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d239171e4f6efd58d7e423853056b1b6a74f1446",
      "tree": "3b0d96abf99e5add7bfc6236f745503b540bd350",
      "parents": [
        "6c0db4664b49417d80988953e69c323721353227"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: replace __alloc_pages_internal() with __alloc_pages_nodemask()\n\nThe start of a large patch series to clean up and optimise the page\nallocator.\n\nThe performance improvements are in a wide range depending on the exact\nmachine but the results I\u0027ve seen so fair are approximately;\n\nkernbench:\t0\tto\t 0.12% (elapsed time)\n\t\t0.49%\tto\t 3.20% (sys time)\naim9:\t\t-4%\tto\t30% (for page_test and brk_test)\ntbench:\t\t-1%\tto\t 4%\nhackbench:\t-2.5%\tto\t 3.45% (mostly within the noise though)\nnetperf-udp\t-1.34%  to\t 4.06% (varies between machines a bit)\nnetperf-tcp\t-0.44%  to\t 5.22% (varies between machines a bit)\n\nI haven\u0027t sysbench figures at hand, but previously they were within the\n-0.5% to 2% range.\n\nOn netperf, the client and server were bound to opposite number CPUs to\nmaximise the problems with cache line bouncing of the struct pages so I\nexpect different people to report different results for netperf depending\non their exact machine and how they ran the test (different machines, same\ncpus client/server, shared cache but two threads client/server, different\nsocket client/server etc).\n\nI also measured the vmlinux sizes for a single x86-based config with\nCONFIG_DEBUG_INFO enabled but not CONFIG_DEBUG_VM.  The core of the\n.config is based on the Debian Lenny kernel config so I expect it to be\nreasonably typical.\n\nThis patch:\n\n__alloc_pages_internal is the core page allocator function but essentially\nit is an alias of __alloc_pages_nodemask.  Naming a publicly available and\nexported function \"internal\" is also a big ugly.  This patch renames\n__alloc_pages_internal() to __alloc_pages_nodemask() and deletes the old\nnodemask function.\n\nWarning - This patch renames an exported symbol.  No kernel driver is\naffected by external drivers calling __alloc_pages_internal() should\nchange the call to __alloc_pages_nodemask() without any alteration of\nparameters.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58568d2a8215cb6f55caf2332017d7bdff954e1c",
      "tree": "ffcdee457494ac78d6550b0aeac86536ca152e7b",
      "parents": [
        "950592f7b991f267d707d372b90f508bbe72acbc"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Tue Jun 16 15:31:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:31 2009 -0700"
      },
      "message": "cpuset,mm: update tasks\u0027 mems_allowed in time\n\nFix allocating page cache/slab object on the unallowed node when memory\nspread is set by updating tasks\u0027 mems_allowed after its cpuset\u0027s mems is\nchanged.\n\nIn order to update tasks\u0027 mems_allowed in time, we must modify the code of\nmemory policy.  Because the memory policy is applied in the process\u0027s\ncontext originally.  After applying this patch, one task directly\nmanipulates anothers mems_allowed, and we use alloc_lock in the\ntask_struct to protect mems_allowed and memory policy of the task.\n\nBut in the fast path, we didn\u0027t use lock to protect them, because adding a\nlock may lead to performance regression.  But if we don\u0027t add a lock,the\ntask might see no nodes when changing cpuset\u0027s mems_allowed to some\nnon-overlapping set.  In order to avoid it, we set all new allowed nodes,\nthen clear newly disallowed ones.\n\n[lee.schermerhorn@hp.com:\n  The rework of mpol_new() to extract the adjusting of the node mask to\n  apply cpuset and mpol flags \"context\" breaks set_mempolicy() and mbind()\n  with MPOL_PREFERRED and a NULL nodemask--i.e., explicit local\n  allocation.  Fix this by adding the check for MPOL_PREFERRED and empty\n  node mask to mpol_new_mpolicy().\n\n  Remove the now unneeded \u0027nodes \u003d NULL\u0027 from mpol_new().\n\n  Note that mpol_new_mempolicy() is always called with a non-NULL\n  \u0027nodes\u0027 parameter now that it has been removed from mpol_new().\n  Therefore, we don\u0027t need to test nodes for NULL before testing it for\n  \u0027empty\u0027.  However, just to be extra paranoid, add a VM_BUG_ON() to\n  verify this assumption.]\n[lee.schermerhorn@hp.com:\n\n  I don\u0027t think the function name \u0027mpol_new_mempolicy\u0027 is descriptive\n  enough to differentiate it from mpol_new().\n\n  This function applies cpuset set context, usually constraining nodes\n  to those allowed by the cpuset.  However, when the \u0027RELATIVE_NODES flag\n  is set, it also translates the nodes.  So I settled on\n  \u0027mpol_set_nodemask()\u0027, because the comment block for mpol_new() mentions\n  that we need to call this function to \"set nodes\".\n\n  Some additional minor line length, whitespace and typo cleanup.]\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2bf6be8ab63aa84e6149aac934649aadf3828b1",
      "tree": "65e7f74f1ed6fd9516f1615b0f293d2aaeede07b",
      "parents": [
        "7ffc59b4d0bdfa00e882339f85b8a969bb7021e2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Jun 16 15:31:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:30 2009 -0700"
      },
      "message": "mm: clean up get_user_pages_fast() documentation\n\nMove more documentation for get_user_pages_fast into the new kerneldoc comment.\nAdd some comments for get_user_pages as well.\n\nAlso, move get_user_pages_fast declaration up to get_user_pages. It wasn\u0027t\nthere initially because it was once a static inline function.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc566127dd161b6c997466a2349ac179527ea89b",
      "tree": "2973018dd4a89f0b20eaa0838eb654b6eff06f68",
      "parents": [
        "d30a11004e3411909f2448546f036a011978062e"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:30 2009 -0700"
      },
      "message": "radix-tree: add radix_tree_prev_hole()\n\nThe counterpart of radix_tree_next_hole(). To be used by context readahead.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Vladislav Bolkhovitin \u003cvst@vlnb.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d30a11004e3411909f2448546f036a011978062e",
      "tree": "c1980adb410d9fabd2c2eb8af9f0ed8ee4b656da",
      "parents": [
        "2fad6f5deee5556f511eab58da78737a23ddb35d"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:29 2009 -0700"
      },
      "message": "readahead: record mmap read-around states in file_ra_state\n\nMmap read-around now shares the same code style and data structure with\nreadahead code.\n\nThis also removes do_page_cache_readahead().  Its last user, mmap\nread-around, has been changed to call ra_submit().\n\nThe no-readahead-if-congested logic is dumped by the way.  Users will be\npretty sensitive about the slow loading of executables.  So it\u0027s\nunfavorable to disabled mmap read-around on a congested queue.\n\n[akpm@linux-foundation.org: coding-style fixes]\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ebf26a9b338534def47f307c6c8694b6dfc0a79",
      "tree": "26829a8cc727388c0da8eea6de38d7ba0eda2a47",
      "parents": [
        "bb1f17b0372de93758653ca3454bc0df18dc2e5c"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "readahead: make mmap_miss an unsigned int\n\nThis makes the performance impact of possible mmap_miss wrap around to be\ntemporary and tolerable: i.e.  MMAP_LOTSAMISS\u003d100 extra readarounds.\n\nOtherwise if ever mmap_miss wraps around to negative, it takes INT_MAX\ncache misses to bring it back to normal state.  During the time mmap\nreadaround will be _enabled_ for whatever wild random workload.  That\u0027s\nalmost permanent performance impact.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb1f17b0372de93758653ca3454bc0df18dc2e5c",
      "tree": "29ef82933cc98b99d29c6c7004c045af22799d70",
      "parents": [
        "3b0fde0fac19c180317eb0601b3504083f4b9bf5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Jun 16 15:31:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "mm: consolidate init_mm definition\n\n* create mm/init-mm.c, move init_mm there\n* remove INIT_MM, initialize init_mm with C99 initializer\n* unexport init_mm on all arches:\n\n  init_mm is already unexported on x86.\n\n  One strange place is some OMAP driver (drivers/video/omap/) which\n  won\u0027t build modular, but it\u0027s already wants get_vm_area() export.\n  Somebody should look there.\n\n[akpm@linux-foundation.org: add missing #includes]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b0fde0fac19c180317eb0601b3504083f4b9bf5",
      "tree": "5458ec10f3c6759ec64c6fa27e12e692a575d07a",
      "parents": [
        "021415468c889979117b1a07b96f7e36de33e995"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Jun 16 15:31:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "firmware_map: fix hang with x86/32bit\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13484\n\nPeer reported:\n| The bug is introduced from kernel 2.6.27, if E820 table reserve the memory\n| above 4G in 32bit OS(BIOS-e820: 00000000fff80000 - 0000000120000000\n| (reserved)), system will report Int 6 error and hang up. The bug is caused by\n| the following code in drivers/firmware/memmap.c, the resource_size_t is 32bit\n| variable in 32bit OS, the BUG_ON() will be invoked to result in the Int 6\n| error. I try the latest 32bit Ubuntu and Fedora distributions, all hit this\n| bug.\n|\u003d\u003d\u003d\u003d\u003d\u003d\n|static int firmware_map_add_entry(resource_size_t start, resource_size_t end,\n|                  const char *type,\n|                  struct firmware_map_entry *entry)\n\nand it only happen with CONFIG_PHYS_ADDR_T_64BIT is not set.\n\nit turns out we need to pass u64 instead of resource_size_t for that.\n\n[akpm@linux-foundation.org: add comment]\nReported-and-tested-by: Peer Chen \u003cpchen@nvidia.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08604bd9935dc98fb62ef61d5b7baa7ccc10f8c2",
      "tree": "2d0d451d78024bfbb4961a9ba94902abdc5f17e4",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 16 15:31:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:27 2009 -0700"
      },
      "message": "time: move PIT_TICK_RATE to linux/timex.h\n\nPIT_TICK_RATE is currently defined in four architectures, but in three\ndifferent places.  While linux/timex.h is not the perfect place for it, it\nis still a reasonable replacement for those drivers that traditionally use\nasm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency.\n\nNote that for Alpha, the actual value changed from 1193182UL to 1193180UL.\n This is unlikely to make a difference, and probably can only improve\naccuracy.  There was a discussion on the correct value of CLOCK_TICK_RATE\na few years ago, after which every existing instance was getting changed\nto 1193182.  According to the specification, it should be\n1193181.818181...\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecfe0cfa3cae9a8402df12d81b159d851b61cf29",
      "tree": "3050101afe15e21b0543a435a164cf134ffd8c1a",
      "parents": [
        "511da457340d3b30336f7a6731bad9bbe3ffaf08"
      ],
      "author": {
        "name": "Uri Shkolnik",
        "email": "uris@siano-ms.com",
        "time": "Thu Mar 12 10:10:40 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Jun 16 19:14:16 2009 -0300"
      },
      "message": "V4L/DVB (11239): sdio: add cards ids for sms (Siano Mobile Silicon) MDTV receivers\n\nsdio: add cards id for sms (Siano Mobile Silicon) MDTV receivers\n\nAdd SDIO vendor ID, and multiple device IDs for\nvarious SMS-based MDTV SDIO adapters.\n\nSigned-off-by: Uri Shkolnik \u003curis@siano-ms.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "49809d6a511960e5ccfb85b780894f45ac119065",
      "tree": "ef00b16e944adf94774f65e47ddff6787e75b991",
      "parents": [
        "253f13d5cd05204aa3174ffb53490f2b0fad055c"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Sun Jun 07 12:10:39 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Jun 16 19:07:42 2009 -0300"
      },
      "message": "V4L/DVB (11970): gspca - ov519: Add support for the ov518 bridge.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Jean-Francois Moine \u003cmoinejf@free.fr\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "f83b1e616f2f68b56b09b2f5116591981fee0c1c",
      "tree": "d8c423502853b46ec82c58ee31b695552579f7da",
      "parents": [
        "2f38d70fb4e97e7d00e12eaac45790cf6ebd7b22",
        "1e626fdcef61460dc75fe7377f38bb019722b848"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 14:29:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 14:29:46 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: core: use more outbound tlabels\n  firewire: core: don\u0027t update Broadcast_Channel if RFC 2734 conditions aren\u0027t met\n  firewire: core: prepare for non-core children of card devices\n  firewire: core: include linux/uaccess.h instead of asm/uaccess.h\n  firewire: add parent-of-unit accessor\n  firewire: rename source files\n  firewire: reorganize header files\n  firewire: clean up includes\n  firewire: ohci: access bus_seconds atomically\n  firewire: also use vendor ID in root directory for driver matches\n  firewire: share device ID table type with ieee1394\n  firewire: core: add sysfs attribute for easier udev rules\n  firewire: core: check for missing struct update at build time, not run time\n  firewire: core: improve check for local node\n"
    },
    {
      "commit": "b3fec0fe35a4ff048484f1408385a27695d4273b",
      "tree": "088c23f098421ea681d9976a83aad73d15be1027",
      "parents": [
        "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
        "722f2a6c87f34ee0fd0130a8cf45f81e0705594a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)\n  signal: fix __send_signal() false positive kmemcheck warning\n  fs: fix do_mount_root() false positive kmemcheck warning\n  fs: introduce __getname_gfp()\n  trace: annotate bitfields in struct ring_buffer_event\n  net: annotate struct sock bitfield\n  c2port: annotate bitfield for kmemcheck\n  net: annotate inet_timewait_sock bitfields\n  ieee1394/csr1212: fix false positive kmemcheck report\n  ieee1394: annotate bitfield\n  net: annotate bitfields in struct inet_sock\n  net: use kmemcheck bitfields API for skbuff\n  kmemcheck: introduce bitfield API\n  kmemcheck: add opcode self-testing at boot\n  x86: unify pte_hidden\n  x86: make _PAGE_HIDDEN conditional\n  kmemcheck: make kconfig accessible for other architectures\n  kmemcheck: enable in the x86 Kconfig\n  kmemcheck: add hooks for the page allocator\n  kmemcheck: add hooks for page- and sg-dma-mappings\n  kmemcheck: don\u0027t track page tables\n  ...\n"
    },
    {
      "commit": "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
      "tree": "e8de7a132eb88521dd1c19e128eba2d5349bdf4f",
      "parents": [
        "6fd03301d76bc439382710e449f58efbb233df1b",
        "1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)\n  USB: xhci depends on PCI.\n  USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.\n  USB: xhci: Respect critical sections.\n  USB: xHCI: Fix interrupt moderation.\n  USB: xhci: Remove packed attribute from structures.\n  usb; xhci: Fix TRB offset calculations.\n  USB: xhci: replace if-elseif-else with switch-case\n  USB: xhci: Make xhci-mem.c include linux/dmapool.h\n  USB: xhci: drop spinlock in xhci_urb_enqueue() error path.\n  USB: Change names of SuperSpeed ep companion descriptor structs.\n  USB: xhci: Avoid compiler reordering in Link TRB giveback.\n  USB: xhci: Clean up xhci_irq() function.\n  USB: xhci: Avoid global namespace pollution.\n  USB: xhci: Fix Link TRB handoff bit twiddling.\n  USB: xhci: Fix register write order.\n  USB: xhci: fix some compiler warnings in xhci.h\n  USB: xhci: fix lots of compiler warnings.\n  USB: xhci: use xhci_handle_event instead of handle_event\n  USB: xhci: URB cancellation support.\n  USB: xhci: Scatter gather list support for bulk transfers.\n  ...\n"
    },
    {
      "commit": "6fd03301d76bc439382710e449f58efbb233df1b",
      "tree": "3c8a3217aed67319683ffc1debccdb5b3245b16c",
      "parents": [
        "cd5232bd6be2d215a800f3d88c287ca791debfbe",
        "e4792aa30f9d33584d7192685ed149cc5fee737f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 12:57:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 12:57:37 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits)\n  debugfs: use specified mode to possibly mark files read/write only\n  debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.\n  xen: remove driver_data direct access of struct device from more drivers\n  usb: gadget: at91_udc: remove driver_data direct access of struct device\n  uml: remove driver_data direct access of struct device\n  block/ps3: remove driver_data direct access of struct device\n  s390: remove driver_data direct access of struct device\n  parport: remove driver_data direct access of struct device\n  parisc: remove driver_data direct access of struct device\n  of_serial: remove driver_data direct access of struct device\n  mips: remove driver_data direct access of struct device\n  ipmi: remove driver_data direct access of struct device\n  infiniband: ehca: remove driver_data direct access of struct device\n  ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device\n  hvcs: remove driver_data direct access of struct device\n  xen block: remove driver_data direct access of struct device\n  thermal: remove driver_data direct access of struct device\n  scsi: remove driver_data direct access of struct device\n  pcmcia: remove driver_data direct access of struct device\n  PCIE: remove driver_data direct access of struct device\n  ...\n\nManually fix up trivial conflicts due to different direct driver_data\ndirect access fixups in drivers/block/{ps3disk.c,ps3vram.c}\n"
    },
    {
      "commit": "d613839ef987d20f7c9347732b452efd921b97d9",
      "tree": "5998f460596d8dca129d0f116add8f9abddfad38",
      "parents": [
        "609106b9ac968adbc76ce78c979fc3903a56e16c",
        "e212d6f25084e8e9b02a04ba514d7bb1e4a4924a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:46:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:46:45 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: remove some includings of blktrace_api.h\n  mg_disk: seperate mg_disk.h again\n  block: Introduce helper to reset queue limits to default values\n  cfq: remove extraneous \u0027\\n\u0027 in blktrace output\n  ubifs: register backing_dev_info\n  btrfs: properly register fs backing device\n  block: don\u0027t overwrite bdi-\u003estate after bdi_init() has been run\n  cfq: cleanup for last_end_request in cfq_data\n"
    },
    {
      "commit": "609106b9ac968adbc76ce78c979fc3903a56e16c",
      "tree": "4af8b305ab4095870a927ffdb9a5e14eb2107401",
      "parents": [
        "69257cae20640a396f03aa0bf169b815ba66a58a",
        "42e27bfc4bfa42bd905e53be93d862b8e3d80a00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:30:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:30:37 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (38 commits)\n  ps3flash: Always read chunks of 256 KiB, and cache them\n  ps3flash: Cache the last accessed FLASH chunk\n  ps3: Replace direct file operations by callback\n  ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL()\n  ps3: Correct debug message in dma_ioc0_map_pages()\n  drivers/ps3: Add missing annotations\n  ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access\n  ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access\n  ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata\n  ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices\n  block/ps3: remove driver_data direct access of struct device\n  ps3vram: Make ps3vram_priv.reports a void *\n  ps3vram: Remove no longer used ps3vram_priv.ddr_base\n  ps3vram: Replace mutex by spinlock + bio_list\n  block: Add bio_list_peek()\n  powerpc: Use generic atomic64_t implementation on 32-bit processors\n  lib: Provide generic atomic64_t implementation\n  powerpc: Add compiler memory barrier to mtmsr macro\n  powerpc/iseries: Mark signal_vsp_instruction() as maybe unused\n  powerpc/iseries: Fix unused function warning in iSeries DT code\n  ...\n"
    },
    {
      "commit": "e28d713704117bca0820c732210df6075b09f13b",
      "tree": "c2c8b2a40cb5081e8b6368eecc21220ee59903bf",
      "parents": [
        "5fd29d6ccbc98884569d6f3105aeca70858b3e0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:02:28 2009 -0700"
      },
      "message": "printk: Add KERN_DEFAULT printk log-level\n\nThis adds a KERN_DEFAULT loglevel marker, for when you cannot decide\nwhich loglevel you want, and just want to keep an existing printk\nwith the default loglevel.\n\nThe difference between having KERN_DEFAULT and having no log-level\nmarker at all is two-fold:\n\n - having the log-level marker will now force a new-line if the\n   previous printout had not added one (perhaps because it forgot,\n   but perhaps because it expected a continuation)\n\n - having a log-level marker is required if you are printing out a\n   message that otherwise itself could perhaps otherwise be mistaken\n   for a log-level.\n\nSigned-of-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fd29d6ccbc98884569d6f3105aeca70858b3e0f",
      "tree": "93ac507debc6b35e5863116086c57170618099cf",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 10:57:02 2009 -0700"
      },
      "message": "printk: clean up handling of log-levels and newlines\n\nIt used to be that we would only look at the log-level in a printk()\nafter explicit newlines, which can cause annoying problems when the\nprevious printk() did not end with a \u0027\\n\u0027. In that case, the log-level\nmarker would be just printed out in the middle of the line, and be\nseen as just noise rather than change the logging level.\n\nThis changes things to always look at the log-level in the first\nbytes of the printout. If a log level marker is found, it is always\nused as the log-level. Additionally, if no newline existed, one is\nadded (unless the log-level is the explicit KERN_CONT marker, to\nexplicitly show that it\u0027s a continuation of a previous line).\n\nAcked-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ced504b1bd1979378de35c56aa5d3d79fb5033f",
      "tree": "cdaa8b872762e25ad1b426423b1a0bacfecb7783",
      "parents": [
        "e475bba2fdee9c3dbfe25f026f8fb8de69508ad2"
      ],
      "author": {
        "name": "unsik Kim",
        "email": "donari75@gmail.com",
        "time": "Tue Jun 16 08:40:20 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:40:20 2009 +0200"
      },
      "message": "mg_disk: seperate mg_disk.h again\n\neec9462088a26c046d4db3100796a340a50890b8 fold mg_disk.h into mg_disk.c,\nbut mg_disk platform driver needs private data for operation. This also\nmake mg_disk.c as machine independent. Seperate only needed structure and\ndefines to mg_disk.h\n\nSigned-off-by: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e475bba2fdee9c3dbfe25f026f8fb8de69508ad2",
      "tree": "cb2a050b58fbd8cd7a4d82349164622fedc2c6d0",
      "parents": [
        "6923715ae39ed39ac2fc1993e5061668f4f71ad0"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 16 08:23:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:23:52 2009 +0200"
      },
      "message": "block: Introduce helper to reset queue limits to default values\n\nDM reuses the request queue when swapping in a new device table\nIntroduce blk_set_default_limits() which can be used to reset the the\nqueue_limits prior to stacking devices.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f0058c627855ecb3b6c7185b7ad1910463c24c42",
      "tree": "dfa5e75711a2a1dfe8d3b5384558290ad18cf9d6",
      "parents": [
        "b7116ebca4e1a898f30ae474151fd6474327257c"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:06:20 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: Change names of SuperSpeed ep companion descriptor structs.\n\nDifferentiate between SuperSpeed endpoint companion descriptor and the\nwireless USB endpoint companion descriptor.  Make all structure names for\nthis descriptor have \"ss\" (SuperSpeed) in them.  David Vrabel asked for\nthis change in http://marc.info/?l\u003dlinux-usb\u0026m\u003d124091465109367\u0026w\u003d2\n\nReported-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e04748e3a87271fcf30d383e3780c5d3ee1c1618",
      "tree": "1e1053837fcde0761673cbba6140514630a372ed",
      "parents": [
        "b10de142119a676552df3f0d2e3a9d647036c26a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:59:01 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Push scatter gather lists down to host controller drivers.\n\nThis is the original patch I created before David Vrabel posted a better\npatch (http://marc.info/?l\u003dlinux-usb\u0026m\u003d123377477209109\u0026w\u003d2) that does\nbasically the same thing.  This patch will get replaced with his\n(modified) patch later.\n\nAllow USB device drivers that use usb_sg_init() and usb_sg_wait() to push\nbulk endpoint scatter gather lists down to the host controller drivers.\nThis allows host controller drivers to more efficiently enqueue these\ntransfers, and allows the xHCI host controller to better take advantage of\nUSB 3.0 \"bursts\" for bulk endpoints.\n\nThis patch currently only enables scatter gather lists for bulk endpoints.\nOther endpoint types that use the usb_sg_* functions will not have their\nscatter gather lists pushed down to the host controller.  For periodic\nendpoints, we want each scatterlist entry to be a separate transfer.\nEventually, HCDs could parse these scatter-gather lists for periodic\nendpoints also.  For now, we use the old code and call usb_submit_urb()\nfor each scatterlist entry.\n\nThe caller of usb_sg_init() can request that all bytes in the scatter\ngather list be transferred by passing in a length of zero.  Handle that\nrequest for a bulk endpoint under xHCI by walking the scatter gather list\nand calculating the length.  We could let the HCD handle a zero length in\nthis case, but I\u0027m not sure if the core layers in between will get\nconfused by this.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "663c30d0829d556efabd5fbd98fb8473da7fe694",
      "tree": "1d2566aff3b6af6e05cf3a7a0fc1c1fb17bfe5db",
      "parents": [
        "d0e96f5a71a032ced0c35f521c1cbd67e816922a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:58:14 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Parse and store the SuperSpeed endpoint companion descriptors.\n\nThe USB 3.0 bus specification added an \"Endpoint Companion\" descriptor that is\nsupposed to follow all SuperSpeed Endpoint descriptors.  This descriptor is used\nto extend the bus protocol to allow more packets to be sent to an endpoint per\n\"microframe\".  The word microframe was removed from the USB 3.0 specification\nbecause the host controller does not send Start Of Frame (SOF) symbols down the\nUSB 3.0 wires.\n\nThe descriptor defines a bMaxBurst field, which indicates the number of packets\nof wMaxPacketSize that a SuperSpeed device can send or recieve in a service\ninterval.  All non-control endpoints may set this value as high as 16 packets\n(bMaxBurst \u003d 15).\n\nThe descriptor also allows isochronous endpoints to further specify that they\ncan send and receive multiple bursts per service interval.  The bmAttributes\nallows them to specify a \"Mult\" of up to 3 (bmAttributes \u003d 2).\n\nBulk endpoints use bmAttributes to report the number of \"Streams\" they support.\nThis was an extension of the endpoint pipe concept to allow multiple mass\nstorage device commands to be outstanding for one bulk endpoint at a time.  This\nshould allow USB 3.0 mass storage devices to support SCSI command queueing.\nBulk endpoints can say they support up to 2^16 (65,536) streams.\n\nThe information in the endpoint companion descriptor must be stored with the\nother device, config, interface, and endpoint descriptors because the host\ncontroller needs to access them quickly, and we need to install some default\nvalues if a SuperSpeed device doesn\u0027t provide an endpoint companion descriptor.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d65b78a093552fb42448480d4c66bf093a6d4cf",
      "tree": "38d5797b9cdd60421d6b28db225d34c9f2e56f6f",
      "parents": [
        "3ffbba9511b4148cbe1f6b6238686adaeaca8feb"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:57:50 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Support for submitting control URBs under xHCI.\n\nWarn users of URB_NO_SETUP_DMA_MAP about xHCI behavior.\n\nDevice drivers can choose to DMA map the setup packet of a control transfer\nbefore submitting the URB to the USB core.  Drivers then set the\nURB_NO_SETUP_DMA_MAP and pass in the DMA memory address in setup_dma, instead of\nproviding a kernel address for setup_packet.  However, xHCI requires that the\nsetup packet be copied into an internal data structure, and we need a kernel\nmemory address pointer for that.  Warn users of URB_NO_SETUP_DMA_MAP that they\nshould provide a valid pointer for setup_packet, along with the DMA address.\n\nFIXME:  I\u0027m not entirely sure how to work around this in the xHCI driver\nor USB core.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6515272b858742962c1de0f3bf497a048b9abd7",
      "tree": "5172d9b646fa5e364b5b35004f10628aed934a71",
      "parents": [
        "0f2a79300a1471cf92ab43af165ea13555c8b0a5"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:57:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Support for addressing a USB device under xHCI\n\nAdd host controller driver API and a slot_id variable to struct\nusb_device.  This allows the xHCI host controller driver to ask the\nhardware to allocate a slot for the device when a struct usb_device is\nallocated.  The slot needs to be allocated at that point because the\nhardware can run out of internal resources, and we want to know that very\nearly in the device connection process.  Don\u0027t call this new API for root\nhubs, since they aren\u0027t real devices.\n\nAdd HCD API to let the host controller choose the device address.  This is\nespecially important for xHCI hardware running in a virtualized\nenvironment.  The guests running under the VM don\u0027t need to know which\naddresses on the bus are taken, because the hardware picks the address for\nthem.  Announce SuperSpeed USB devices after the address has been assigned\nby the hardware.\n\nDon\u0027t use the new get descriptor/set address scheme with xHCI.  Unless\nspecial handling is done in the host controller driver, the xHC can\u0027t\nissue control transfers before you set the device address.  Support for\nthe older addressing scheme will be added when the xHCI driver supports\nthe Block Set Address Request (BSR) flag in the Address Device command.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7206b00164a1c3ca533e01db285955617e1019f8",
      "tree": "d11f6a5a63238110d4b763661a76ca87761a2d02",
      "parents": [
        "e7b7717247f61e2cf18ec47f91999065c59d1607"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:54:49 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: Add route string to struct usb_device.\n\nThis patch adds a hex route string to each USB device.  The route string is used\nby the USB 3.0 host controller to send packets through the device tree.  USB 3.0\nhubs use this string to route packets to the correct port.  This is fundamental\nbus change from USB 2.0, where all packets were broadcast across the bus.\n\nDevices (including hubs) under a root port receive the route string 0x0.  Every\nfour bits in the route string represent a port on a hub.  This length works\nbecause USB 3.0 hubs are limited to 15 ports, and USB 2.0 hubs (with potentially\nmore ports) will never see packets with a route string.  A port number of 0\nmeans the packet is destined for that hub.\n\nFor example, a peripheral device might have a route string of 0x00097.\nThis means the device is connected to port 9 of the hub at depth 1.\nThe hub at depth 1 is connected to port 7 of a hub at depth 0.\nThe hub at depth 0 is connected to a root port.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6b403b020c1f42180b14d28d832da61167cff822",
      "tree": "4b7271244f3b150a31c856970651d2171343d2c7",
      "parents": [
        "7f84eef0dafb1d318263d8b71c38700aaf2d530d"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:54:10 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: Add SuperSpeed to the list of USB device speeds.\n\nModify the USB core to handle the new USB 3.0 speed, \"SuperSpeed\".  This\nis 5.0 Gbps (wire speed).  There are probably more places that check for\nspeed that I\u0027ve missed.\n\nSuperSpeed devices have a 512 byte endpoint 0 max packet size.  This shows\nup as a bMaxPacketSize0 set to 0x09 (see table 9-8 of the USB 3.0 bus\nspec).\n\nxHCI spec says that the xHC can handle intervals up to 2^15 microframes.  That\nmight change when real silicon becomes available.\n\nAdd FIXME note for SuperSpeed isochronous endpoints.  They can transmit up\nto 16 packets in one \"burst\" before they wait for an acknowledgment of the\npackets.  They can do up to 3 bursts per microframe (determined by the\nmult value in the endpoint companion descriptor).  The xHCI driver doesn\u0027t\nhave support for isoc yet, so fix this later.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "66d4eadd8d067269ea8fead1a50fe87c2979a80d",
      "tree": "b0324868818058161e528bd194f6888456924fd4",
      "parents": [
        "74c6874199af98e602bb7c5fb1beb9cffda98729"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:52:28 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: xhci: BIOS handoff and HW initialization.\n\nAdd PCI initialization code to take control of the xHCI host controller\naway from the BIOS, halt, and reset the host controller.  The xHCI spec\nsays that BIOSes must give up the host controller within 5 seconds.\n\nAdd some host controller glue functions to handle hardware initialization\nand memory allocation for the host controller.  The current xHCI\nprototypes use PCI interrupts, but the xHCI spec requires MSI-X\ninterrupts.  Add code to support MSI-X interrupts, but use the PCI\ninterrupts for now.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "453f77558810ffa669ed5a510a7173ec49def396",
      "tree": "48b76bea4dc9bc0fadaa751be8349b4eb1678f5e",
      "parents": [
        "5be19a9daa2df2507adf5b4676a7db8d131cf56e"
      ],
      "author": {
        "name": "Hao Wu",
        "email": "hao.wu@intel.com",
        "time": "Thu Jun 04 16:06:50 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:47 2009 -0700"
      },
      "message": "USB: Add Intel Langwell USB OTG Transceiver Drive\n\nDescription:\nThis driver is used for Intel Langwell* USB OTG controller in Intel\nMoorestown* platform. It tries to implement host/device role switch\naccording to OTG spec.  The actual hsot and device functions are\naccomplished in modified EHCI driver and Intel Langwell USB OTG client\ncontroller driver.\n\n* Langwell and Moorestown are names used in development. They are not\n  approved official name.\n\nNote:\nThis patch is the first version Intel Langwell USB OTG Transceiver\ndriver. The development is not finished, and the bug fixing is on going\nfor some hardware and software issues. The main purpose of this\nsubmission is for code view.\n\nSupported features:\n- Data-line Pulsing SRP\n- Support HNP to switch roles\n- PCI D0/D3 power management support\n\nKnown issues:\n- HNP is only tested with another Moorestown platform.\n- PCI D0/D3 power management support is not fully tested.\n- VBus Pulsing SRP is not support in current version.\n\nSigned-off-by: Hao Wu \u003chao.wu@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5be19a9daa2df2507adf5b4676a7db8d131cf56e",
      "tree": "8fe299eff424d82c6f733efe8804425dce232ab0",
      "parents": [
        "f9c99bb8b3a1ec81af68d484a551307326c2e933"
      ],
      "author": {
        "name": "Xiaochen Shen",
        "email": "xiaochen.shen@intel.com",
        "time": "Thu Jun 04 15:34:49 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:47 2009 -0700"
      },
      "message": "USB: Add Intel Langwell USB Device Controller driver\n\nIntel Langwell USB Device Controller is a High-Speed USB OTG device\ncontroller in Intel Moorestown platform. It can work in OTG device mode\nwith Intel Langwell USB OTG transceiver driver as well as device-only\nmode. The number of programmable endpoints is different through\ncontroller revision.\n\nNOTE:\nThis patch is the first version Intel Langwell USB OTG device controller\ndriver. The bug fixing is on going for some hardware and software\nissues.  Intel Langwell USB OTG transceiver driver and EHCI driver\npatches will be submitted later.\n\nSupported features:\n - USB OTG protocol support with Intel Langwell USB OTG transceiver\n   driver (turn on CONFIG_USB_LANGWELL_OTG)\n - Support control, bulk, interrupt and isochronous endpoints\n   (isochronous not tested)\n - PCI D0/D3 power management support\n - Link Power Management (LPM) support\n\nTested gadget drivers:\n - g_file_storage\n - g_ether\n - g_zero\n\nThe passed tests:\n - g_file_storage: USBCV Chapter 9 tests\n - g_file_storage: USBCV MSC tests\n - g_file_storage: from/to host files copying\n - g_ether: ping, ftp and scp files from/to host\n - Hotplug, with and without hubs\n\nKnown issues:\n - g_ether: failed part of USBCV chap9 tests\n - LPM support not fully tested\n\nTODO:\n - g_ether: pass all USBCV chap9 tests\n - g_zero: pass usbtest tests\n - Stress tests on different gadget drivers\n - On-chip private SRAM caching support\n\nSigned-off-by: Xiaochen Shen \u003cxiaochen.shen@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f9c99bb8b3a1ec81af68d484a551307326c2e933",
      "tree": "9031ebe390ecd558d54ad484dde5ba66dcf823b7",
      "parents": [
        "c706ebdfc8955b850e477255a8c0f93f9f14712d"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jun 02 11:53:55 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:47 2009 -0700"
      },
      "message": "USB: usb-serial: replace shutdown with disconnect, release\n\nThis patch (as1254) splits up the shutdown method of usb_serial_driver\ninto a disconnect and a release method.\n\nThe problem is that the usb-serial core was calling shutdown during\ndisconnect handling, but drivers didn\u0027t expect it to be called until\nafter all the open file references had been closed.  The result was an\noops when the close method tried to use memory that had been\ndeallocated by shutdown.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c706ebdfc8955b850e477255a8c0f93f9f14712d",
      "tree": "1f880601cdd2663ee4206783092d5fa9d90c8922",
      "parents": [
        "c6994e6f067cf0fc4c6cca3d164018b1150916f8"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jun 02 11:54:11 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:47 2009 -0700"
      },
      "message": "USB: usb-serial: call port_probe and port_remove at the right times\n\nThis patch (as1253) prevents the usb-serial core from calling a\ndriver\u0027s port_probe and port_remove methods more than once per port.\nIt also removes some unnecessary try_module_get() calls and adds a\nmissing port_remove method call in a failure path.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c47d7b09891abb4f8b222317c89c7469bed8db3a",
      "tree": "83d617453031b5485b2afbd93b18d067e2ecf0f6",
      "parents": [
        "5b7d70c6dbf2db786395cbd21750a1a4ce222f84"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Wed Jun 03 09:17:57 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:47 2009 -0700"
      },
      "message": "USB: audio: add USB audio class definitions\n\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5effabbe9e6e0089f7afdde35cb51e8c8b4cf6bc",
      "tree": "d70e441a981a850a2df1bef79a75b8bad27bccf7",
      "parents": [
        "32ebbe7b6ad44ae9c276419710b56de6ba705303"
      ],
      "author": {
        "name": "Yoshihiro Shimoda",
        "email": "shimoda.yoshihiro@renesas.com",
        "time": "Tue May 26 18:24:34 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:46 2009 -0700"
      },
      "message": "USB: r8a66597-hcd: use platform_data instead of module_param\n\nCPU/board specific parameters (PLL clock, vif etc...) can be set\nby platform_data instead of module_param.\n\nv2: remove irq_sense member in platform_data because it can OR in\n    IRQF_TRIGGER_LOW or IRQF_TRIGGER_FALLING against IORESOURCE_IRQ in\n    the struct resource.\n\nSigned-off-by: Yoshihiro Shimoda \u003cshimoda.yoshihiro@renesas.com\u003e\nReviewed-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "98fcb5f78165b8a3d93870ad7afd4d9ebbb8b43a",
      "tree": "ed64298e8b6bf47ba9c57db298e732429f7f669e",
      "parents": [
        "87c1edd217a6742e48028db6664d7763de0449f6"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 11 15:24:09 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:45 2009 -0700"
      },
      "message": "USB: serial: usb_debug,usb_generic_serial: implement sysrq and serial break\n\nThe usb_debug driver was modified to implement serial break handling\nby using a \"magic\" data packet comprised of the sequence:\n\n       0x00 0xff 0x01 0xfe   0x00 0xfe 0x01 0xff\n\nWhen the tty layer requests a serial break the usb_debug driver sends\nthe magic packet.  On the receiving side the magic packet is thrown\naway or a sysrq is activated depending on what kernel .config options\nhave been set.\n\nThe generic serial driver was modified as well as the usb serial\nheaders to generically implement sysrq processing in the same way the\nnon usb uart based drivers implement the sysrq handling.  This will\nallow other usb serial devices to implement sysrq handling as desired.\n\nThe new usb serial functions are named similarly and implemented\nsimilarly to the uart functions as follows:\n\nusb_serial_handle_break \u003c-\u003e uart_handle_break\nusb_serial_handle_sysrq_char \u003c-\u003e uart_handle_sysrq_char\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "715b1dc01fe44537e8fce9566e4bb48d6821d84b",
      "tree": "b1fc0b5c61a7317e7104468afddad544fb3fc34c",
      "parents": [
        "b0cda8c5f7b652c6c27bcb3891d174534d2f1a91"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 11 15:24:07 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:45 2009 -0700"
      },
      "message": "USB: usb_debug, usb_generic_serial: implement multi urb write\n\nThe usb_debug driver, when used as the console, will always fail to\ninsert the carriage return and new line sequence as well as randomly\ndrop console output.  This is a result of only having the single\nwrite_urb and that the tty layer will have a lock that prevents the\nprocessing of the back to back urb requests.\n\nThe solution is to allow more than one urb to be outstanding and have\na slightly deeper transmit queue.  The idea and some code is borrowed\nfrom the ftdi_sio usb driver.\n\nThe generic usb serial driver was modified so as to allow the classic\nmethod of 1 write urb, or a multi write urb scheme with N allowed\noutstanding urbs where N is controlled by max_in_flight_urbs.  When\nmax_in_flight_urbs in a \"struct usb_serial_driver\" is non zero the\nmulti write urb scheme will be used.\n\nThe size of 4000 was selected for the usb_debug driver so that the\ndriver lowers possibility of losing the queued console messages during\nthe kernel startup.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bf92c1906e4f294a48fafc15755c65af636195e0",
      "tree": "cccad4fac26c32dbe0559c971e80f47e1895aa72",
      "parents": [
        "cac85a8b4e8e7c51bc0ce2980bba0e35cfec5c2e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 29 21:02:49 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:44 2009 -0700"
      },
      "message": "USB: usb.h: change private: kernel-doc for new format requirement\n\nUse \"/* private:\" to mark struct members as private so that\nscripts/kernel-doc will handle them correctly.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cac85a8b4e8e7c51bc0ce2980bba0e35cfec5c2e",
      "tree": "37a6dad72a6e26a5925bc743352e9344e21069ee",
      "parents": [
        "5700f4c551f807576eec1d359575681e33057871"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 29 21:04:19 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:44 2009 -0700"
      },
      "message": "USB: composite.h: mark private struct members as private:\n\nMark internal struct members as /* private: */ so that kernel-doc\nwon\u0027t produce warnings about missing descriptions for them.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "00240c3839d843ccf07abd52806f421f7b87bbdc",
      "tree": "4ad3a8c543a7a3de0893b1289086e62fffb98bc6",
      "parents": [
        "604eb89ffed9fba268582dc44d5b462ea94cc0ca"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Apr 27 13:33:16 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:44 2009 -0700"
      },
      "message": "PCI: add power-state name strings\n\nThis patch (as1235) adds an array of PCI power-state names, together\nwith a simple inline accessor routine.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "820d7a253c5e59a786d5b608f6e8d0419fdc2f6e",
      "tree": "ad4c0a7eb64f3b42f84633e4beaea3b0f7cb6f48",
      "parents": [
        "ed14f0340a4954c1a9ffaff01c261428b5753e9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Apr 27 13:17:21 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:43 2009 -0700"
      },
      "message": "USB: remove unused usb_host class\n\nThe usb_host class isn\u0027t used for anything anymore (it was used for\ndebug files, but they have moved to debugfs a few kernel releases ago),\nso let\u0027s delete it before someone accidentally puts a file in it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "74675a58507e769beee7d949dbed788af3c4139d",
      "tree": "d4ae3cc06dbfadecf1eaf6ed0aef249fc87b07e6",
      "parents": [
        "a853a3d4eb2edb066248a39f0634f6f5858816a0"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Apr 30 10:08:18 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:43 2009 -0700"
      },
      "message": "NLS: update handling of Unicode\n\nThis patch (as1239) updates the kernel\u0027s treatment of Unicode.  The\ncharacter-set conversion routines are well behind the current state of\nthe Unicode specification: They don\u0027t recognize the existence of code\npoints beyond plane 0 or of surrogate pairs in the UTF-16 encoding.\n\nThe old wchar_t 16-bit type is retained because it\u0027s still used in\nlots of places.  This shouldn\u0027t cause any new problems; if a\nconversion now results in an invalid 16-bit code then before it must\nhave yielded an undefined code.\n\nDifficult-to-read names like \"utf_mbstowcs\" are replaced with more\ntransparent names like \"utf8s_to_utf16s\" and the ordering of the\nparameters is rationalized (buffer lengths come immediate after the\npointers they refer to, and the inputs precede the outputs).\nFortunately the low-level conversion routines are used in only a few\nplaces; the interfaces to the higher-level uni2char and char2uni\nmethods have been left unchanged.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "00048b8bde5a6cbd9c3a76f272cc9ddb55705e37",
      "tree": "fd8acec26630c895b8012e7ed0699274064b1212",
      "parents": [
        "84fe6e799deaf14e2c7a941e805cd93d83f90927"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 24 14:56:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:42 2009 -0700"
      },
      "message": "USB: add usb debugfs directory\n\nAdd a common usb directory in debugfs that the usb subsystem can use.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cc835e321a9f3fa5e083436872e198095f4805b9",
      "tree": "84f317bf30099d3376e171a024bc89eb5bf7a589",
      "parents": [
        "def6f8b978618d50daaddb92331d398da9e141f1"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Mar 31 12:28:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:40 2009 -0700"
      },
      "message": "USB: nop-usb-xceiv: behave when linked as a module\n\nThe NOP OTG transceiver driver needs to be usable from modules.\nMake sure its symbols are always accessible at both compile and\nlink time, and make sure the device instance is allocated from\nthe heap so that device lifetime rules are obeyed.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "156f5a7801195fa2ce44aeeb62d6cf8468f3332a",
      "tree": "dd506816ca6f14bb650189aa364eb0a2f51ad5cc",
      "parents": [
        "1b713e00500c6f03317742981674e89a21629399"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Tue Jun 02 15:01:37 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:28 2009 -0700"
      },
      "message": "debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.\n\nMany developers use \"/debug/\" or \"/debugfs/\" or \"/sys/kernel/debug/\"\ndirectory name to mount debugfs filesystem for ftrace according to\n./Documentation/tracers/ftrace.txt file.\n\nAnd, three directory names(ex:/debug/, /debugfs/, /sys/kernel/debug/) is\nexisted in kernel source like ftrace, DRM, Wireless, Documentation,\nNetwork[sky2]files to mount debugfs filesystem.\n\ndebugfs means debug filesystem for debugging easy to use by greg kroah\nhartman. \"/sys/kernel/debug/\" name is suitable as directory name\nof debugfs filesystem.\n- debugfs related reference: http://lwn.net/Articles/334546/\n\nFix inconsistency of directory name to mount debugfs filesystem.\n\n* From Steven Rostedt\n  - find_debugfs() and tracing_files() in this patch.\n\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nAcked-by     : Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nReviewed-by  : Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by  : James Smart \u003cjames.smart@emulex.com\u003e\nCC: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCC: David Airlie \u003cairlied@linux.ie\u003e\nCC: Peter Osterlund \u003cpetero2@telia.com\u003e\nCC: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCC: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCC: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4b9d0d3b81ec0900971cbe8aba8ba0ae9c08a087",
      "tree": "81227afb0893d341dd34255e0d6ba9e4daeb2f4e",
      "parents": [
        "2bdf914915e98fe82495d05741a57e37f4b604e8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 30 14:43:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:26 2009 -0700"
      },
      "message": "eisa: remove driver_data direct access of struct device\n\nIn the near future, the driver core is going to not allow direct access\nto the driver_data pointer in struct device.  Instead, the functions\ndev_get_drvdata() and dev_set_drvdata() should be used.  These functions\nhave been around since the beginning, so are backwards compatible with\nall older kernel versions.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b03f38b685e2e1db174fb8982930e789a516f414",
      "tree": "8ad84738e433409647a1450a991dba1ba90d7921",
      "parents": [
        "f7a386c5b8ff34cd84ae922603d1c6f9d234edee"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: block: add nodename support for block drivers.\n\nThis adds support for block drivers to report their requested nodename\nto userspace.  It also updates a number of block drivers to provide the\nneeded subdirectory and device name to be used for them.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f7a386c5b8ff34cd84ae922603d1c6f9d234edee",
      "tree": "ae1c03544dd511d85cc537c632eba6f035072e36",
      "parents": [
        "d405640539555b601e52f7d18f1f0b1345d18bf5"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: usb: add nodename support for usb drivers.\n\nThis adds support for USB drivers to report their requested nodename to\nuserspace.  It also updates a number of USB drivers to provide the\nneeded subdirectory and device name to be used for them.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ],
  "next": "d405640539555b601e52f7d18f1f0b1345d18bf5"
}
