)]}'
{
  "log": [
    {
      "commit": "fd8a11e100b463811f41266ea3880c830f3359ea",
      "tree": "ad26d74766e03088b6c783ed12f312668d32dd74",
      "parents": [
        "9e04b3336a90efef6a912501155f9880abf7b3c2"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Thu Jun 18 16:49:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 16:46:04 2009 -0700"
      },
      "message": "spi_mpc83xx: quieten down the \"Requested speed is too low\" message\n\nWhen a platform is running at high frequencies it\u0027s not always possible to\nscale-down a frequency to a requested value, and using mmc_spi driver this\nleads to the following printk flood during card polling:\n\n  ...\n  mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use\n  520828 Hz instead.\n  mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use\n  520828 Hz instead.\n  ...\n\nFix this by using WARN_ONCE(), it\u0027s better than the flood, and also better\nthan turning dev_err() into dev_dbg(), since we actually want to warn that\nsome things may not work correctly.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e04b3336a90efef6a912501155f9880abf7b3c2",
      "tree": "a30ac517b376e9afd024436bfaf1e939c8b9c738",
      "parents": [
        "433f13a7274ccc3541d2832ffe5ef4472036cc72"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Thu Jun 18 16:48:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 16:46:04 2009 -0700"
      },
      "message": "spi_mpc83xx: handle other Freescale processors\n\nWith this patch we\u0027ll able to select spi_mpc83xx driver on the MPC86xx\nplatforms.  Let the driver depend on FSL_SOC, so we don\u0027t have to worry\nabout Kconfig anymore.\n\nAlso remove the \"experimental\" dependency, the driver has been tested to\nwork on a various hardware, and surely not experimental anymore.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "433f13a7274ccc3541d2832ffe5ef4472036cc72",
      "tree": "3ae071e5bb856de36c78cce612dfba81bee68523",
      "parents": [
        "1e9c28599879040039f610c5b177e61ef65ff100"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jun 18 16:48:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 16:46:04 2009 -0700"
      },
      "message": "bootmem.c: avoid c90 declaration warning\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\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": "1e9c28599879040039f610c5b177e61ef65ff100",
      "tree": "308fea743fbadefa3ea9a88ff3ae51f6fe0c624a",
      "parents": [
        "0732f87761dbe417cb6e084b712d07e879e876ef"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Thu Jun 18 16:48:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 16:46:03 2009 -0700"
      },
      "message": "gpio: driver for PrimeCell PL061 GPIO controller\n\nThis is a driver for the ARM PrimeCell PL061 GPIO AMBA peripheral.  The\ndriver is implemented using the gpiolib framework.\n\nThis driver also includes support for the use of the PL061 as an interrupt\ncontroller (secondary).\n\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0732f87761dbe417cb6e084b712d07e879e876ef",
      "tree": "afed6ca0368fd3e121fd4f43b11e32aa1e5139c0",
      "parents": [
        "15fc204afc6feb915c400159546f646eca8ba1d9",
        "536fc240e7147858255bdb08e7a999a3351a9fb4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:46 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  jbd2: clean up jbd2_journal_try_to_free_buffers()\n  ext4: Don\u0027t update ctime for non-extent-mapped inodes\n  ext4: Fix up whitespace issues in fs/ext4/inode.c\n  ext4: Fix 64-bit block type problem on 32-bit platforms\n  ext4: teach the inode allocator to use a goal inode number\n  ext4: Use a hash of the topdir directory name for the Orlov parent group\n  ext4: document the \"abort\" mount option\n  ext4: move the abort flag from s_mount_opts to s_mount_flags\n  ext4: update the s_last_mounted field in the superblock\n  ext4: change s_mount_opt to be an unsigned int\n  ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl\n  ext4: avoid unnecessary spinlock in critical POSIX ACL path\n  ext3: avoid unnecessary spinlock in critical POSIX ACL path\n  ext4: convert instrumentation from markers to tracepoints\n  jbd2: convert instrumentation from markers to tracepoints\n"
    },
    {
      "commit": "15fc204afc6feb915c400159546f646eca8ba1d9",
      "tree": "51bec0710be2a0cb0bedbccbea7813f17fbc61ea",
      "parents": [
        "d2aa4550379f92e929af7ed1dd4f55e6a1e331f8",
        "944557116908cbe835be41bfbd39d9706da9fd71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:35 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (56 commits)\n  sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn\n  sh: Enable soc-camera in ap325rxa/migor/se7724 defconfigs.\n  sh: remove stray markers.\n  sh: defconfig updates.\n  sh: pci: Initial PCI-Express support for SH7786 Urquell board.\n  sh: Generic HAVE_PERF_COUNTER support.\n  SH: convert migor to soc-camera as platform-device\n  SH: convert ap325rxa to soc-camera as platform-device\n  soc-camera: unify i2c camera device platform data\n  sh: add platform data for r8a66597-hcd in setup-sh7723\n  sh: add platform data for r8a66597-hcd in setup-sh7366\n  sh: x3proto: add platform data for r8a66597-hcd\n  sh: highlander: add platform data for r8a66597-hcd\n  sh: sh7785lcr: add platform data for r8a66597-hcd\n  sh: turn off irqs when disabling CMT/TMU timers\n  sh: use kzalloc() for cpg clocks\n  sh: unbreak WARN_ON()\n  sh: Use generic atomic64_t implementation.\n  sh: Revised clock function in highlander\n  sh: Update r7780mp defconfig\n  ...\n"
    },
    {
      "commit": "d2aa4550379f92e929af7ed1dd4f55e6a1e331f8",
      "tree": "5ef0fc69a507f0d701fd157b6652427eabd5efdd",
      "parents": [
        "9e3e4b1d2d13bead8d52703c82a02b55f108b491",
        "cb2107be43d2fc5eadec58b92b54bf32c00bfff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (55 commits)\n  netxen: fix tx ring accounting\n  netxen: fix detection of cut-thru firmware mode\n  forcedeth: fix dma api mismatches\n  atm: sk_wmem_alloc initial value is one\n  net: correct off-by-one write allocations reports\n  via-velocity : fix no link detection on boot\n  Net / e100: Fix suspend of devices that cannot be power managed\n  TI DaVinci EMAC : Fix rmmod error\n  net: group address list and its count\n  ipv4: Fix fib_trie rebalancing, part 2\n  pkt_sched: Update drops stats in act_police\n  sky2: version 1.23\n  sky2: add GRO support\n  sky2: skb recycling\n  sky2: reduce default transmit ring\n  sky2: receive counter update\n  sky2: fix shutdown synchronization\n  sky2: PCI irq issues\n  sky2: more receive shutdown\n  sky2: turn off pause during shutdown\n  ...\n\nManually fix trivial conflict in net/core/skbuff.c due to kmemcheck\n"
    },
    {
      "commit": "9e3e4b1d2d13bead8d52703c82a02b55f108b491",
      "tree": "69d725323a2da43a571eb218beb7c55fa39f1ff2",
      "parents": [
        "dcce284a259373f9e5570f2e33f79eca84fcf565",
        "47bece87b14b866872b52ff04d469832e4936756"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:14:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:14:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  [WATCHDOG] hpwdt: Add NMI sourcing\n  [WATCHDOG] iTCO_wdt: Fix ICH7+ reboot issue.\n  [WATCHDOG] iTCO_wdt: fix memory corruption when RCBA is disabled by hardware\n  [WATCHDOG] Correct WDIOF_MAGICCLOSE flag\n  [WATCHDOG] move platform probe and remove function to devinit and devexit\n  [WATCHDOG] Some more general cleanup\n  [WATCHDOG] iTCO_wdt: Cleanup code\n"
    },
    {
      "commit": "dcce284a259373f9e5570f2e33f79eca84fcf565",
      "tree": "afc4b23208974f17c080ea3d2ecfbaca4254c010",
      "parents": [
        "9729a6eb5878a3daa18395f2b5fb38bf9359a761"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 18 13:24:12 2009 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:12:57 2009 -0700"
      },
      "message": "mm: Extend gfp masking to the page allocator\n\nThe page allocator also needs the masking of gfp flags during boot,\nso this moves it out of slab/slub and uses it with the page allocator\nas well.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9729a6eb5878a3daa18395f2b5fb38bf9359a761",
      "tree": "7ea32e9793c659d4059c49e7da2f38da795e7679",
      "parents": [
        "5ae8606d5746bc84e19018fc3753cc1faf18843f",
        "48606a9f2fc034f0b308d088c1f7ab6d407c462c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:11:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:11:50 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md: (39 commits)\n  md/raid5: correctly update sync_completed when we reach max_resync\n  md/raid5: add missing call to schedule() after prepare_to_wait()\n  md/linear: use call_rcu to free obsolete \u0027conf\u0027 structures.\n  md linear: Protecting mddev with rcu locks to avoid races\n  md: Move check for bitmap presence to personality code.\n  md: remove chunksize rounding from common code.\n  md: raid0/linear: ensure device sizes are rounded to chunk size.\n  md: move assignment of -\u003eutime so that it never gets skipped.\n  md: Push down reconstruction log message to personality code.\n  md: merge reconfig and check_reshape methods.\n  md: remove unnecessary arguments from -\u003ereconfig method.\n  md: raid5: check stripe cache is large enough in start_reshape\n  md: raid0: chunk_sectors cleanups.\n  md: fix some comments.\n  md/raid5: Use is_power_of_2() in raid5_reconfig()/raid6_reconfig().\n  md: convert conf-\u003echunk_size and conf-\u003eprev_chunk to sectors.\n  md: Convert mddev-\u003enew_chunk to sectors.\n  md: Make mddev-\u003echunk_size sector-based.\n  md: raid0 :Enables chunk size other than powers of 2.\n  md: prepare for non-power-of-two chunk sizes\n  ...\n"
    },
    {
      "commit": "5ae8606d5746bc84e19018fc3753cc1faf18843f",
      "tree": "b90484b42af54c43d9cce4ff089ae3b994b91e3f",
      "parents": [
        "d2829224619866daf336141b71550e223a198838"
      ],
      "author": {
        "name": "Mark Salter",
        "email": "msalter@redhat.com",
        "time": "Wed Jun 17 22:51:11 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:10:33 2009 -0700"
      },
      "message": "MN10300: Add support for new ELF relocs in kernel modules\n\nAdd support for new relocs which may show up in MN10300 kernel modules due to\nlinker relaxation.\n\nSigned-off-by: Mark Salter \u003cmsalter@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2829224619866daf336141b71550e223a198838",
      "tree": "59e12165ac9dea56a04f3b46ec098f4292f67481",
      "parents": [
        "eae9d2ba0cfc27a2ad9765f23efb98fb80d80234"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Jun 17 16:28:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:05 2009 -0700"
      },
      "message": "lib: add lib/gcd.c\n\nThis patch adds lib/gcd.c which contains a greatest common divider\nimplementation taken from sound/core/pcm_timer.c\n\nSeveral usages of this new library function will be sent to subsystem\nmaintainers.\n\n[akpm@linux-foundation.org: use swap() (pointed out by Joe)]\n[akpm@linux-foundation.org: just add gcd.o to obj-y, remove Kconfig changes]\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Julius Volz \u003cjuliusv@google.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eae9d2ba0cfc27a2ad9765f23efb98fb80d80234",
      "tree": "f4be40ca528b2f23f97fa9cb6ebe91b8d6696d5b",
      "parents": [
        "8820f27ad9a5ad2a62cdcdf425d7921c31831800"
      ],
      "author": {
        "name": "Rodolfo Giometti",
        "email": "giometti@linux.it",
        "time": "Wed Jun 17 16:28:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "LinuxPPS: core support\n\nThis patch adds the kernel side of the PPS support currently named\n\"LinuxPPS\".\n\nPPS means \"pulse per second\" and a PPS source is just a device which\nprovides a high precision signal each second so that an application can\nuse it to adjust system clock time.\n\nCommon use is the combination of the NTPD as userland program with a GPS\nreceiver as PPS source to obtain a wallclock-time with sub-millisecond\nsynchronisation to UTC.\n\nTo obtain this goal the userland programs shoud use the PPS API\nspecification (RFC 2783 - Pulse-Per-Second API for UNIX-like Operating\nSystems, Version 1.0) which in part is implemented by this patch.  It\nprovides a set of chars devices, one per PPS source, which can be used to\nget the time signal.  The RFC\u0027s functions can be implemented by accessing\nto these char devices.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8820f27ad9a5ad2a62cdcdf425d7921c31831800",
      "tree": "adbfe206274c1789f0c2bf6f514573c0ae96ec0c",
      "parents": [
        "229a0505f2c4387555318e14c80e1362be2e39f7"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: copyright fixes\n\nFix the copyright statements in a couple of GRU files.  No functional\nchanges are being made.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "229a0505f2c4387555318e14c80e1362be2e39f7",
      "tree": "01ff5a74b5bf44485023e8c63620e5dde0912e03",
      "parents": [
        "2b702b28addc0f9eb2f37148f0b99f546cadd30a"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: remove references to the obsolete global status handle\n\nDelete references to the SGI GRU GSH hardware resources.  These GRU\nresources have been deleted from the hardware.  (These resources have\nnever benn used, anyway).\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b702b28addc0f9eb2f37148f0b99f546cadd30a",
      "tree": "9313d3f09de281de0291baa77bc4f5d0057b4b8d",
      "parents": [
        "1926ee85a903d189c5702eed6531be321e33eb47"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: fixes to grudump utility\n\nMinor fixes to the SGI GRU grudump facility:\n\t- fix address where user data is written\n\t- add gru number to data passed to user\n\t- indicate if context is locked\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1926ee85a903d189c5702eed6531be321e33eb47",
      "tree": "1ae951591d3be09b86479800e2a4f03f119f4d78",
      "parents": [
        "b1b19fcfa417cf62447413d6e8b9b6598adf00b9"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: fix potential use-after-free when purging GRU tlbs\n\nFix potential SGI GRU bug that could cause a use-after-free.  If one\nthread in a task is flushing the GRU and another thread destroys the GRU\ncontext, there is the potential to access a table after it has been freed.\n\nCopy the gms pointer to a local variable before unlocking the gts table.\nNote that no refcnt is needed for the gms - the reference is held\nindirectly by the task\u0027s mm_struct.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1b19fcfa417cf62447413d6e8b9b6598adf00b9",
      "tree": "843b78d76879848fa8907ce24662ecc568012219",
      "parents": [
        "92b39388eeb45326feb0fa8bd69dbbce66c9efbf"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:04 2009 -0700"
      },
      "message": "gru: add user request to specify gru slice\n\nAdd a user request to specify the gru instruction slice parameter for user\ncontexts.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92b39388eeb45326feb0fa8bd69dbbce66c9efbf",
      "tree": "f39193cc5341dfd4ed3b807f9f802c4575822a29",
      "parents": [
        "9f2501142bd3c496afa7efdf18583aab56fe3134"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: generic infrastructure for context options\n\nChange the user GRU request for specifying the \"task_slice\" option to use\na generic infrastructure that can be expanded in the future to include\nadditional context options.  No new capabilities are added with this\npatch.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f2501142bd3c496afa7efdf18583aab56fe3134",
      "tree": "c805d705289c0dbfcb6aee9f15313f0a46340f7f",
      "parents": [
        "6471cd4d6c2526f3df693895a6bfa70353fad3f7"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: cleanup gru inline functions\n\nCleanup of GRU inline functions to eliminate unnecessary inline code.\nUpdate function descriptions.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6471cd4d6c2526f3df693895a6bfa70353fad3f7",
      "tree": "002c7ff3f7942082727ba1b041200eb94bcbe53e",
      "parents": [
        "7e796a72a2691d7094fd62da61097294d0d59ce4"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: delete user request for fetching chiplet status\n\nDelete the user request for fetching the status of a GRU chiplet.  This\nrequest has been made obsolete by other changes.  Note: this is not a\nchange to a user API - there are no compatibility issues with this change.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e796a72a2691d7094fd62da61097294d0d59ce4",
      "tree": "9e8d4e1eae9a2d23f604f0af5d101979dc7afec7",
      "parents": [
        "d6e2fbce0d70c2072a1c478dbd37b34d27129d74"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: collect per-context user statistics\n\nCollect GRU statistics for each user GRU context.  Statistics are kept for\nTLB misses \u0026 content resource contention.  Add user request for retrieving\nthe statistics.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6e2fbce0d70c2072a1c478dbd37b34d27129d74",
      "tree": "a5751ae55607dae0e9d394bf09857d15ea72c028",
      "parents": [
        "d5826dd6002f23940458860701ce22fba9df2614"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: fix automatic retry of gru instruction failures\n\nFix bug in automatic retry of GRU instruction failures.  CBR substatus\n(message queue failure) was being checked incorrectly.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5826dd6002f23940458860701ce22fba9df2614",
      "tree": "b0220c628cc2606b77fd39c38144c83396b83ca9",
      "parents": [
        "1a2c09e3b41e334b6651d53b39cfe8ceefbc45f8"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:03 2009 -0700"
      },
      "message": "gru: add user request to explicitly unload a gru context\n\nAdd user function to explicitly unload GRU kernel contexts from the GRU.\nOnly contexts that are not in-use will be unloaded.\n\nThis function is primarily for testing.  It is not expected that this will\nbe used in normal production systems.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a2c09e3b41e334b6651d53b39cfe8ceefbc45f8",
      "tree": "f005fcb5c5251256767b15f4a23ee220e6de5c88",
      "parents": [
        "270952a907220c0331fdaecbb55df892921c5e2d"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:02 2009 -0700"
      },
      "message": "gru: fix cache coherency issues with instruction retry\n\nFix two problems related to GRU instruction failures.  Cache coherency is\nnot maintained for CBEs except when loading or unloading contexts.  When\nreading a CBE to extract error information, the CBE must first be flushed\nfrom the cache.\n\nThe function that reads kerrnel CBEs was reading the wrong CBE.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "270952a907220c0331fdaecbb55df892921c5e2d",
      "tree": "374bc1a642108f2c878a86903a70d8af8cd7a04a",
      "parents": [
        "eb5bd5e52a8eafb1ddb42f983d41f97552afa106"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:02 2009 -0700"
      },
      "message": "gru: update to rev 0.9 of gru spec\n\nUpdate GRU driver to the latest version of the GRU spec. This consists\nof minor updates:\n\t- changes \u0026 additions to error status bits\n\t- new restriction on handling of TLB misses while in FMM mode\n\t- new field (not used by software) in TFH\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb5bd5e52a8eafb1ddb42f983d41f97552afa106",
      "tree": "e23bb25f5f6530bf6adc6cabdf3642d9611cfc00",
      "parents": [
        "9120dec47f150636d85b3dba03318ccecd181c79"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:02 2009 -0700"
      },
      "message": "gru: update gru kernel self tests\n\nChange the kernel self tests that can be optionally executed on GRU\ninitialization.  This is primarily for testing.\n\nEliminate the BUG statements on failure and return bad status.  Add ioctl\ninterface to execute the tests on demand.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9120dec47f150636d85b3dba03318ccecd181c79",
      "tree": "8819f1aa2b71992c8a4d80e974e7236c0d762fdb",
      "parents": [
        "4a7a17c1188a878e9f00e4ca8dc724c7cff17606"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: support for asynchronous gru instructions\n\nAdd support for asynchronous GRU instructions.  Currently, asynchronous\ninstructions are supported only for GRU instructions issued by the kernel.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a7a17c1188a878e9f00e4ca8dc724c7cff17606",
      "tree": "e7c728b3031534620fbb01ab0ae059ae28fd5f89",
      "parents": [
        "940229b9c0dcd9b6e1d64d0d26eba00238ddae98"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: support instruction completion interrupts\n\nAdd support for interrupts generated by GRU instruction completion.\nPreviously, the only interrupts were for TLB misses.  The hardware also\nsupports interrupts on instruction completion.  This will be supported for\ninstructions issued by the kernel.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "940229b9c0dcd9b6e1d64d0d26eba00238ddae98",
      "tree": "62df332cc772d692af3bce50de8b9210dafead3d",
      "parents": [
        "17b49a67a6a59f0e9f3c22e67ddb602410e8e182"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: check context state on reload\n\nCheck whether the gru state being loaded into a gru is from a new context\nor a previously unloaded context.  If new, simply zero out the hardware\ncontext; if unloaded and valid, reload the old state.\n\nThis change is primarily for reloading kernel contexts where the previous\nis not required to be saved.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17b49a67a6a59f0e9f3c22e67ddb602410e8e182",
      "tree": "c12156560f6ed549d008ce4d630d791be11f4999",
      "parents": [
        "3eac2e95d7bb92222e185e445eca1fe3f695050f"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: fix handling of mesq failures\n\nFix endcase in handling GRU message queue failures due to NACKs of PUT\nrequests.  Must ensure that the \"present\" bits are cleared before\nresending the message.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eac2e95d7bb92222e185e445eca1fe3f695050f",
      "tree": "51edba7b926d3587dfa40646bf7b453f47d26dff",
      "parents": [
        "836ce679c0b5b5040164171afc33753396864b30"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: support contexts with zero dsrs or cbrs\n\nSupport alocation of GRU contexts that contain zero DSR or CBR resources.\nSome instructions do not require DSR resources.  Contexts without CBR\nresources are useful for diagnostics.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "836ce679c0b5b5040164171afc33753396864b30",
      "tree": "786be786c29fa6821d8ee95668393cd43193a278",
      "parents": [
        "6e9100741ca430eeef8022794f8b62a23a5916af"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:04:00 2009 -0700"
      },
      "message": "gru: change resource assignment for kernel threads\n\nChange the way GRU resources are assigned for kernel threads.  GRU\ncontexts for kernel threads are now allocated on demand and can be stolen\nby user processes when idle.  This allows MPI jobs to use ALL of the GRU\nresources when the kernel is not using them.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e9100741ca430eeef8022794f8b62a23a5916af",
      "tree": "4c19d2cbbd2d3f1cd429946120c078b653ae67b3",
      "parents": [
        "d57c82b10709bbb1deb7eb26cf42abcde8851e4d"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: support cch_allocate for kernel threads\n\nChange the interface to cch_allocate so that it can be used to allocate\nGRU contexts for kernel threads.  Kernel threads use the GRU in unmapped\nmode and do not require ASIDs for the GRU TLB.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d57c82b10709bbb1deb7eb26cf42abcde8851e4d",
      "tree": "6e7e2a9e9e9254cfe63e94b8ee14cd1250324160",
      "parents": [
        "364b76df80f62cee1b66e871df2f69db6e3d3d9e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: change context load and unload\n\nRemove \"static\" from the functions for loading/unloading GRU contexts.\nThese functions will be called from other GRU files.  Fix bug in unlocking\ngru context.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "364b76df80f62cee1b66e871df2f69db6e3d3d9e",
      "tree": "7289e8489a7b4d5441a867be44ad152088517450",
      "parents": [
        "9cc9b056ea51608788609d7e26c7db55ef81bb2e"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: dynamic allocation of kernel contexts\n\nChange the interface to gru_alloc_gts() so that it can be used to allocate\nGRU contexts for kernel threads.  Kernel threads do not have vdata\nstructures for the GRU contexts.  The GRU resource count are now passed\nexplicitly instead of inside the vdata structure.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cc9b056ea51608788609d7e26c7db55ef81bb2e",
      "tree": "e6381d7575babaee9658c5a2bc007a8dd2ec49ae",
      "parents": [
        "cd1334f03f7b799bc6893b511daf2080e8f73863"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: dump chiplet state\n\nAdd support for dumpping the state of an entire GRU chiplet.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd1334f03f7b799bc6893b511daf2080e8f73863",
      "tree": "468d9bc99e19aa7895321927eaf30c4dae55166f",
      "parents": [
        "d6580a9f15238b87e618310c862231ae3f352d2d"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed Jun 17 16:28:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "gru: bug fixes for GRU exception handling\n\nBug fixes for GRU exception handling.  Additional fields from the CBR must\nbe returned to the user to allow the user to correctly diagnose GRU\nexceptions.\n\nHandle endcase in TFH TLB miss handling.  Verify that TFH actually\nindicates a pending exception.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6580a9f15238b87e618310c862231ae3f352d2d",
      "tree": "d7e6c1ed8a0d5fe143e4f5b90dee899be26d54f7",
      "parents": [
        "c8a06c1ef0bc45915fc45a170c7c60426971304c"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Jun 17 16:28:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:59 2009 -0700"
      },
      "message": "kexec: sysrq: simplify sysrq-c handler\n\nCurrently the sysrq-c handler is bit over-engineered.  Its behavior is\ndependent on a few compile time and run time factors that alter its\nbehavior which is really unnecessecary.\n\nIf CONFIG_KEXEC is not configured, sysrq-c, crashes the system with a NULL\npointer dereference.  If CONFIG_KEXEC is configured, it calls crash_kexec\ndirectly, which implies that the kexec kernel will either be booted (if\nits been previously loaded), or it will simply do nothing (the no kexec\nkernel has been loaded).\n\nIt would be much easier to just simplify the whole thing to dereference a\nNULL pointer all the time regardless of configuration.  That way, it will\nalways try to crash the system, and if a kexec kernel has been loaded into\nreserved space, it will still boot from the page fault trap handler\n(assuming panic_on_oops is set appropriately).\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Brayan Arraes \u003cbrayan@yack.com.br\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8a06c1ef0bc45915fc45a170c7c60426971304c",
      "tree": "9e8f5d3890766bca481c15aac69ef96f52612874",
      "parents": [
        "9916219579d078c80377dd3988c2cc213536d868"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Jun 17 16:28:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "w1-gpio: add external pull-up enable callback\n\nOn embedded devices, sleep mode conditions can be tricky to handle,\nEspecially when processors tend to pull-down the w1 bus during sleep.  Bus\nslaves (such as the ds2760) may interpret this as a reason for power-down\nconditions and entirely switch off the device.\n\nThis patch adds a callback function pointer to let users switch on and off\nthe external pull-up resistor.  This lets the outside world know whether\nthe processor is currently actively driving the bus or not.\n\nWhen this callback is not provided, the code behaviour won\u0027t change.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Ville Syrjala \u003csyrjala@sci.fi\u003e\nAcked-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9916219579d078c80377dd3988c2cc213536d868",
      "tree": "f92bf45865ffc734d97c9f5ec1b4b3af2206bf37",
      "parents": [
        "d6d0a6aee252f004b06f27f74e401198f9c9ffb8"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jun 17 16:28:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "dma-mapping: ia64: add CONFIG_DMA_API_DEBUG support\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc; \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6d0a6aee252f004b06f27f74e401198f9c9ffb8",
      "tree": "42349c0047da974a5b4f4f62d6192108ec70bf76",
      "parents": [
        "7c095e4603dd6ce78ff5b9b70896fe3e05c13f5c"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jun 17 16:28:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "dma-mapping: ia64: use asm-generic/dma-mapping-common.h\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc; \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c095e4603dd6ce78ff5b9b70896fe3e05c13f5c",
      "tree": "4de9ce5ba2c5e19e85c8c54e4884845a929504bb",
      "parents": [
        "c147d8ea3e2f6f953647f2347ae732fd99b32e73"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jun 17 16:28:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "dma-mapping: x86: use asm-generic/dma-mapping-common.h\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c147d8ea3e2f6f953647f2347ae732fd99b32e73",
      "tree": "235159755038adfb0309f71ffe835fbe550da001",
      "parents": [
        "7bf99fb673f18408be1ebc958321ef4c3f6da9e2"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jun 17 16:28:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "dma-mapping: add asm-generic/dma-mapping-common.h\n\nWe unified x86 and IA64\u0027s handling of multiple dma mapping operations\n(struct dma_map_ops in linux/dma-mapping.h) so we can remove duplication\nin their arch/include/asm/dma-mapping.h.\n\nThis patchset adds include/asm-generic/dma-mapping-common.h that provides\nsome generic dma mapping function definitions for the users of struct\ndma_map_ops.  This enables us to remove about 100 lines.  This also\nenables us to easily add CONFIG_DMA_API_DEBUG support, which only x86\nsupports for now.  The 4th patch adds CONFIG_DMA_API_DEBUG support to IA64\nby adding only 8 lines.\n\nThis patch:\n\nThis header file provides some mapping function definitions that the users\nof struct dma_map_ops can use.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bf99fb673f18408be1ebc958321ef4c3f6da9e2",
      "tree": "30913cc5304597b39f1a910997e4f8ad3c3350b4",
      "parents": [
        "2521f2c228ad750701ba4702484e31d876dbc386"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Wed Jun 17 16:28:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:58 2009 -0700"
      },
      "message": "gcov: enable GCOV_PROFILE_ALL for x86_64\n\nEnable gcov profiling of the entire kernel on x86_64. Required changes\ninclude disabling profiling for:\n\n* arch/kernel/acpi/realmode and arch/kernel/boot/compressed:\n  not linked to main kernel\n* arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet:\n  profiling causes segfaults during boot (incompatible context)\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Li Wei \u003cW.Li@Sun.COM\u003e\nCc: Michael Ellerman \u003cmichaele@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Heiko Carstens \u003cheicars2@linux.vnet.ibm.com\u003e\nCc: Martin Schwidefsky \u003cmschwid2@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2521f2c228ad750701ba4702484e31d876dbc386",
      "tree": "2221de3e3de9512979b8244c6304366e3be5be63",
      "parents": [
        "0b923606e75f1ab672e25b14ac039a1cdcfa382f"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Wed Jun 17 16:28:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:57 2009 -0700"
      },
      "message": "gcov: add gcov profiling infrastructure\n\nEnable the use of GCC\u0027s coverage testing tool gcov [1] with the Linux\nkernel.  gcov may be useful for:\n\n * debugging (has this code been reached at all?)\n * test improvement (how do I change my test to cover these lines?)\n * minimizing kernel configurations (do I need this option if the\n   associated code is never run?)\n\nThe profiling patch incorporates the following changes:\n\n * change kbuild to include profiling flags\n * provide functions needed by profiling code\n * present profiling data as files in debugfs\n\nNote that on some architectures, enabling gcc\u0027s profiling option\n\"-fprofile-arcs\" for the entire kernel may trigger compile/link/\nrun-time problems, some of which are caused by toolchain bugs and\nothers which require adjustment of architecture code.\n\nFor this reason profiling the entire kernel is initially restricted\nto those architectures for which it is known to work without changes.\nThis restriction can be lifted once an architecture has been tested\nand found compatible with gcc\u0027s profiling. Profiling of single files\nor directories is still available on all platforms (see config help\ntext).\n\n[1] http://gcc.gnu.org/onlinedocs/gcc/Gcov.html\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Li Wei \u003cW.Li@Sun.COM\u003e\nCc: Michael Ellerman \u003cmichaele@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Heiko Carstens \u003cheicars2@linux.vnet.ibm.com\u003e\nCc: Martin Schwidefsky \u003cmschwid2@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b923606e75f1ab672e25b14ac039a1cdcfa382f",
      "tree": "7661aaea6d8809b002cd03f910122f87eb35608a",
      "parents": [
        "b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Wed Jun 17 16:28:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:57 2009 -0700"
      },
      "message": "seq_file: add function to write binary data\n\nseq_write() can be used to construct seq_files containing arbitrary data.\nRequired by the gcov-profiling interface to synthesize binary profiling\ndata files.\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Li Wei \u003cW.Li@Sun.COM\u003e\nCc: Michael Ellerman \u003cmichaele@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Heiko Carstens \u003cheicars2@linux.vnet.ibm.com\u003e\nCc: Martin Schwidefsky \u003cmschwid2@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7",
      "tree": "ec5688052334448ec8edd3a1a9cb95cd68501ac7",
      "parents": [
        "e24aca672ff06aff0e6a1045efab86043ea5f735"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Wed Jun 17 16:28:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:57 2009 -0700"
      },
      "message": "kernel: constructor support\n\nCall constructors (gcc-generated initcall-like functions) during kernel\nstart and module load.  Constructors are e.g.  used for gcov data\ninitialization.\n\nDisable constructor support for usermode Linux to prevent conflicts with\nhost glibc.\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Li Wei \u003cW.Li@Sun.COM\u003e\nCc: Michael Ellerman \u003cmichaele@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Heiko Carstens \u003cheicars2@linux.vnet.ibm.com\u003e\nCc: Martin Schwidefsky \u003cmschwid2@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e24aca672ff06aff0e6a1045efab86043ea5f735",
      "tree": "03150209218ffc55157fc2555acb894e0ae88789",
      "parents": [
        "20ea8fad9e5d2475c4cbbd2f8b0c88903e9584dc"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Wed Jun 17 16:28:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:57 2009 -0700"
      },
      "message": "edac: Kconfig: fix the meaning of EDAC abbreviation\n\nFix the meaning of EDAC(Error Detection And Correction) correctly.\n\n[akpm@linux-foundation.org: add missing space]\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20ea8fad9e5d2475c4cbbd2f8b0c88903e9584dc",
      "tree": "6710b9b02f3d8c681afa53ba680f1545a7997658",
      "parents": [
        "8f101a051ef054c33186abcd54b30a88afea47ef"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Jun 17 16:28:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:57 2009 -0700"
      },
      "message": "edac: add missing __devexit_p()\n\nThe remove function uses __devexit, so the .remove assignment needs\n__devexit_p() to fix a build error with hotplug disabled.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f101a051ef054c33186abcd54b30a88afea47ef",
      "tree": "d1f977c58f86c0495ec578548fcdf45c2789e8c1",
      "parents": [
        "1dc9b70d7d48abd8a5c6f83021f38992f3b5a77f"
      ],
      "author": {
        "name": "Harry Ciao",
        "email": "qingtao.cao@windriver.com",
        "time": "Wed Jun 17 16:28:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:57 2009 -0700"
      },
      "message": "edac: cpc925 MC platform device setup\n\nFix up the number of cells for the values of CPC925 Memory Controller,\nand setup related platform device during system booting up, against\nwhich CPC925 Memory Controller EDAC driver would be matched.\n\nSigned-off-by: Harry Ciao \u003cqingtao.cao@windriver.com\u003e\nCc: Doug Thompson \u003cnorsk5@yahoo.com\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dc9b70d7d48abd8a5c6f83021f38992f3b5a77f",
      "tree": "f4e3544c20b432d727a1c96f80eafb716a0f5966",
      "parents": [
        "2a9036afffb3a174e980f90eb507c5aea6b540f6"
      ],
      "author": {
        "name": "Harry Ciao",
        "email": "qingtao.cao@windriver.com",
        "time": "Wed Jun 17 16:27:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:56 2009 -0700"
      },
      "message": "edac: add edac_device_alloc_index()\n\nAdd edac_device_alloc_index(), because for MAPLE platform there may\nexist several EDAC driver modules that could make use of\nedac_device_ctl_info structure at the same time. The index allocation\nfor these structures should be taken care of by EDAC core.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Harry Ciao \u003cqingtao.cao@windriver.com\u003e\nCc: Doug Thompson \u003cnorsk5@yahoo.com\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a9036afffb3a174e980f90eb507c5aea6b540f6",
      "tree": "6c5d1272aabd9c35ff04760c7280b8e68c328b6a",
      "parents": [
        "26c369dada267d3df1beb86cf89b865ac1178a7f"
      ],
      "author": {
        "name": "Harry Ciao",
        "email": "qingtao.cao@windriver.com",
        "time": "Wed Jun 17 16:27:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:56 2009 -0700"
      },
      "message": "edac: add CPC925 Memory Controller driver\n\nIntroduce IBM CPC925 EDAC driver, which makes use of ECC, CPU and\nHyperTransport Link error detections and corrections on the IBM\nCPC925 Bridge and Memory Controller.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Harry Ciao \u003cqingtao.cao@windriver.com\u003e\nCc: Doug Thompson \u003cnorsk5@yahoo.com\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26c369dada267d3df1beb86cf89b865ac1178a7f",
      "tree": "f51d2663ffb3155e97b71b38b4e9990fbcf98063",
      "parents": [
        "665c7741fb63c7ceeb515f1d1ed8b016efe65bf3"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Wed Jun 17 16:27:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:56 2009 -0700"
      },
      "message": "futex: documentation: fix inconsistent description of futex list_op_pending\n\nStrictly speaking list_op_pending points to the \u0027lock entry\u0027, not the\n\u0027lock word\u0027 (which is actually at \u0027offset\u0027 from \u0027lock entry\u0027).  We can\ninfer this based on reading the code in kernel/futex.c:\n\n\t    struct robust_list __user *entry, *next_entry, *pending;\n\t\t...\n            if (fetch_robust_entry(\u0026pending, \u0026head-\u003elist_op_pending, \u0026pip))\n                    return;\n            ...\n            if (pending)\n                    handle_futex_death((void __user *)pending + futex_offset,\n                                       curr, pip);\n\nWhich is also consistent with the rest of the docs on robust futex lists.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linuxtronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "665c7741fb63c7ceeb515f1d1ed8b016efe65bf3",
      "tree": "2c7a06e02d444bb773808c497c680a5b2db7af23",
      "parents": [
        "b4188def441197d38f20e0935372780ed7c0e19d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:56 2009 -0700"
      },
      "message": "ipcns: move free_ipcs() proto\n\nFunction is really private to ipc/ and avoid struct kern_ipc_perm\nforward declaration.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReviewed-by: WANG Cong \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": "b4188def441197d38f20e0935372780ed7c0e19d",
      "tree": "483d47961a7c18a9d15f81cb8690f66feeb566bc",
      "parents": [
        "90af90d7d3a7411db64860c9d6e5798ff87cad08"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:56 2009 -0700"
      },
      "message": "ipcns: make free_ipc_ns() static\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReviewed-by: WANG Cong \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": "90af90d7d3a7411db64860c9d6e5798ff87cad08",
      "tree": "84f9c68edb231d6b64d2b24add4d7bedcb5a4aa8",
      "parents": [
        "612ce478fac2729ad564ec3f5d3c551674b8e9c2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:56 2009 -0700"
      },
      "message": "nsproxy: extract create_nsproxy()\n\nclone_nsproxy() does useless copying of old nsproxy -- every pointer will\nbe rewritten to new ns or to old ns.  Remove copying, rename\nclone_nsproxy(), create_nsproxy() will be used by C/R code to create fresh\nnsproxy on restart.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "612ce478fac2729ad564ec3f5d3c551674b8e9c2",
      "tree": "a87745acbdac4d4b710006a003287f706a923487",
      "parents": [
        "64424289dd2e37b4800df1f7f2ef4fe550f58729"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:55 2009 -0700"
      },
      "message": "ipcns: extract create_ipc_ns()\n\nclone_ipc_ns() is misnamed, it doesn\u0027t clone anything and doesn\u0027t use\npassed parameter.  Rename it.\n\ncreate_ipc_ns() will be used by C/R to create fresh ipcns.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: WANG Cong \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": "64424289dd2e37b4800df1f7f2ef4fe550f58729",
      "tree": "15e33fc3c1e46e423b964998785ba45927e1d83b",
      "parents": [
        "4c2a7e72d5937c6a112141c7ff3df0727b3cf3df"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:55 2009 -0700"
      },
      "message": "ipcns: remove useless get/put while CLONE_NEWIPC\n\ncopy_ipcs() doesn\u0027t actually copy anything. If new ipcns is created, it\u0027s\ncreated from scratch, in this case get/put on old ipcns isn\u0027t needed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: WANG Cong \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": "4c2a7e72d5937c6a112141c7ff3df0727b3cf3df",
      "tree": "783dc576aef932a3b56c62da2edb63c1bf9b1170",
      "parents": [
        "dca4a979604da1bac6956c0117abc2114d6dd3ec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:55 2009 -0700"
      },
      "message": "utsns: extract creeate_uts_ns()\n\ncreate_uts_ns() will be used by C/R to create fresh uts_ns.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.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": "dca4a979604da1bac6956c0117abc2114d6dd3ec",
      "tree": "88d37178c05c0441900e81df9fbb217b0ac778d6",
      "parents": [
        "ed469a63c37a996fa2c7041d2dc980715707902c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:55 2009 -0700"
      },
      "message": "pidns: rewrite copy_pid_ns()\n\ncopy_pid_ns() is a perfect example of a case where unwinding leads to more\ncode and makes it less clear.  Watch the diffstat.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nReviewed-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nReviewed-by: WANG Cong \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": "ed469a63c37a996fa2c7041d2dc980715707902c",
      "tree": "a81bb7ff48cf56a10facf949407a28eb9e5961ea",
      "parents": [
        "17f98dcf6010a1cfd25d179fd0ce77d3dc2685c3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jun 17 16:27:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:55 2009 -0700"
      },
      "message": "pidns: make create_pid_namespace() accept parent pidns\n\ncreate_pid_namespace() creates everything, but caller has to assign parent\npidns by hand, which is unnatural.  At the moment of call new -\u003elevel has\nto be taken from somewhere and parent pidns is already available.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nReviewed-by: WANG Cong \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": "17f98dcf6010a1cfd25d179fd0ce77d3dc2685c3",
      "tree": "520d88ba2282b4811f492be6cc4565a2a3eea128",
      "parents": [
        "7338f29984114066b00da343a22876bb08259a84"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 17 16:27:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:55 2009 -0700"
      },
      "message": "pids: clean up find_task_by_pid variants\n\nfind_task_by_pid_type_ns is only used to implement find_task_by_vpid and\nfind_task_by_pid_ns, but both of them pass PIDTYPE_PID as first argument.\nSo just fold find_task_by_pid_type_ns into find_task_by_pid_ns and use\nfind_task_by_pid_ns to implement find_task_by_vpid.\n\nWhile we\u0027re at it also remove the exports for find_task_by_pid_ns and\nfind_task_by_vpid - we don\u0027t have any modular callers left as the only\nmodular caller of he old pre pid namespace find_task_by_pid (gfs2) was\nswitched to pid_task which operates on a struct pid pointer instead of a\npid_t.  Given the confusion about pid_t values vs namespace that\u0027s\ngenerally the better option anyway and I think we\u0027re better of restricting\nmodules to do it that way.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oleg Nesterov \u003coleg@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": "7338f29984114066b00da343a22876bb08259a84",
      "tree": "639fa2c3bae7a8501ca232c9df905c07de153314",
      "parents": [
        "81fc401e426e8a4c719035ef86d051bd0d1111e5"
      ],
      "author": {
        "name": "Sukanto Ghosh",
        "email": "sukanto.cse.iitb@gmail.com",
        "time": "Wed Jun 17 16:27:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:54 2009 -0700"
      },
      "message": "sysctl.c: remove unused variable\n\nRemoce the unused variable \u0027val\u0027 from __do_proc_dointvec()\n\nThe integer has been declared and used as \u0027val \u003d -val\u0027 and there is no\nreference to it anywhere.\n\nSigned-off-by: Sukanto Ghosh \u003csukanto.cse.iitb@gmail.com\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinder@kernel.org\u003e\nCc: Sukanto Ghosh \u003csukanto.cse.iitb@gmail.com\u003e\nCc: Jiri Kosina \u003cjkosina@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": "81fc401e426e8a4c719035ef86d051bd0d1111e5",
      "tree": "65c8397edef37f85b5ec79953d1da26dfa339bd0",
      "parents": [
        "9653a69e923522050e15dab042b163dcc2ed7111"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Wed Jun 17 16:27:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:54 2009 -0700"
      },
      "message": "ppdev: reduce kernel log spam\n\nOne of my programs frequently grabs the parport, does something with it\nand then drops it again. This results in spamming of the kernel log with\n\n\"... registered pardevice\"\n\"... unregistered pardevice\"\n\nThese messages are completely useless, except for debugging ppdev,\nprobably.  So put them under DEBUG (or dynamic debug).\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9653a69e923522050e15dab042b163dcc2ed7111",
      "tree": "3358e2b1e7e38f98b9f2f93155653a5deb0f89be",
      "parents": [
        "d6f47befdd7483cd1e14a7ae76ef22f7f9722c90"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Jun 17 16:27:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:54 2009 -0700"
      },
      "message": "Char: isicom: fix build warning\n\nFix this:\nisicom.c: In function `isicom_probe\u0027:\nisicom.c:1587: warning: `signature\u0027 may be used uninitialized in this function\nby uninitialized_var(), because if the signature is not initialized in\nreset_card(), we won\u0027t use it.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6f47befdd7483cd1e14a7ae76ef22f7f9722c90",
      "tree": "77ea51c4a4ffc513d8d5a3a6f09f66234eea85ea",
      "parents": [
        "31a985fbb18c1600955124a1efd2343efa867549"
      ],
      "author": {
        "name": "Adriano dos Santos Fernandes",
        "email": "adrianosf@uol.com.br",
        "time": "Wed Jun 17 16:27:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:54 2009 -0700"
      },
      "message": "drivers/char/mem.c: memory_open() cleanup: lookup minor device number from devlist\n\nmemory_open() ignores devlist and does a switch for each item, duplicating\ncode and conditional definitions.\n\nClean it up by adding backing_dev_info to devlist and use it to lookup for\nthe minor device.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Adriano dos Santos Fernandes \u003cadrianosf@uol.com.br\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31a985fbb18c1600955124a1efd2343efa867549",
      "tree": "e0ab5427da93de03871c0a304bd01e3821994100",
      "parents": [
        "371cbb387e33651b4c1326457116568ff01ac422"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jun 17 16:27:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:54 2009 -0700"
      },
      "message": "ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h\n\nThe definition of ipc_parse_version depends on\n__ARCH_WANT_IPC_PARSE_VERSION, but the header file declares it\nconditionally based on the architecture.\n\nUse the macro consistently to make it easier to add new architectures.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\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": "371cbb387e33651b4c1326457116568ff01ac422",
      "tree": "4678d02d44fc9764f316e5d84e5d307cc14a0923",
      "parents": [
        "63706172f332fd3f6e7458ebfb35fa6de9c21dc5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:54 2009 -0700"
      },
      "message": "kthreads: simplify migration_thread() exit path\n\nNow that kthread_stop() can be used even if the task has already exited,\nwe can kill the \"wait_to_die:\" loop in migration_thread().  But we must\npin rq-\u003emigration_thread after creation.\n\nActually, I don\u0027t think CPU_UP_CANCELED or CPU_DEAD should wait for\n-\u003emigration_thread exit.  Perhaps we can simplify this code a bit more.\nmigration_call() can set -\u003eshould_stop and forget about this thread.  But\nwe need a new helper in kthred.c for that.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Vitaliy Gusev \u003cvgusev@openvz.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63706172f332fd3f6e7458ebfb35fa6de9c21dc5",
      "tree": "5548f226aa3ba7cca565a2b9d9574a5b6b1a9446",
      "parents": [
        "cdd140bdd6c7bc6395f08877a73c39941501af93"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:54 2009 -0700"
      },
      "message": "kthreads: rework kthread_stop()\n\nBased on Eric\u0027s patch which in turn was based on my patch.\n\nkthread_stop() has the nasty problems:\n\n- it runs unpredictably long with the global semaphore held.\n\n- it deadlocks if kthread itself does kthread_stop() before it obeys\n  the kthread_should_stop() request.\n\n- it is not useable if kthread exits on its own, see for example the\n  ugly \"wait_to_die:\" hack in migration_thread()\n\n- it is not possible to just tell kthread it should stop, we must always\n  wait for its exit.\n\nWith this patch kthread() allocates all neccesary data (struct kthread) on\nits own stack, globals kthread_stop_xxx are deleted.  -\u003evfork_done is used\nas a pointer into \"struct kthread\", this means kthread_stop() can easily\nwait for kthread\u0027s exit.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Vitaliy Gusev \u003cvgusev@openvz.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdd140bdd6c7bc6395f08877a73c39941501af93",
      "tree": "48664b2790fb2b5152bd67bf70fb3405e1ef6e8b",
      "parents": [
        "e1eb1ebcca871673c76caf63335c4237680040f1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:53 2009 -0700"
      },
      "message": "kthreads: simplify the startup synchronization\n\nWe use two completions two create the kernel thread, this is a bit ugly.\nkthread() wakes up create_kthread() via -\u003estarted, then create_kthread()\nwakes up the caller kthread_create() via -\u003edone.  But kthread() does not\nneed to wait for kthread(), it can just return.  Instead kthread() itself\ncan wake up the caller of kthread_create().\n\nKill kthread_create_info-\u003estarted, -\u003edone is enough.  This improves the\nscalability a bit and sijmplifies the code.\n\nThe only problem if kernel_thread() fails, in that case create_kthread()\nmust do complete(\u0026create-\u003edone).\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Vitaliy Gusev \u003cvgusev@openvz.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1eb1ebcca871673c76caf63335c4237680040f1",
      "tree": "d5a1b0e667222a43ec2780787ac21011072d45f1",
      "parents": [
        "f95d39d10fe7d47336e65172f52bf64e0096f983"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Wed Jun 17 16:27:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:53 2009 -0700"
      },
      "message": "mm: exit.c reorder wait_opts to remove padding on 64 bit builds\n\nReorder struct wait_opts to remove 8 bytes of alignment padding on 64 bit\nbuilds.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f95d39d10fe7d47336e65172f52bf64e0096f983",
      "tree": "14b469b68455968dfd707695083ece72287dfaab",
      "parents": [
        "a3f6dfb7295facb0505b5beca5a7ce48b0612379"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:53 2009 -0700"
      },
      "message": "do_wait: fix the theoretical race with stop/trace/cont\n\ndo_wait:\n\n\tcurrent-\u003estate \u003d TASK_INTERRUPTIBLE;\n\n\tread_lock(\u0026tasklist_lock);\n\t... search for the task to reap ...\n\nIn theory, the -\u003estate changing can leak into the critical section.  Since\nthe child can change its status under read_lock(tasklist) in parallel\n(finish_stop/ptrace_stop), we can miss the wakeup if __wake_up_parent()\nsees us in TASK_RUNNING state.  Add the barrier.\n\nAlso, use __set_current_state() to set TASK_RUNNING.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3f6dfb7295facb0505b5beca5a7ce48b0612379",
      "tree": "882e1103eaf759ab0e3bc53c08ff69b1f096b1bf",
      "parents": [
        "64a16caf5e3417ee32f670debcb5857b02a9e08e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:53 2009 -0700"
      },
      "message": "do_wait: kill the old BUG_ON, use while_each_thread()\n\ndo_wait() does BUG_ON(tsk-\u003esignal !\u003d current-\u003esignal), this looks like a\nraher obsolete check.  At least, I don\u0027t think do_wait() is the best place\nto verify that all threads have the same -\u003esignal.  Remove it.\n\nAlso, change the code to use while_each_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64a16caf5e3417ee32f670debcb5857b02a9e08e",
      "tree": "1e32f8ac1ad0d7cefeeb6bfdac995ec1ad6d7396",
      "parents": [
        "9e8ae01d1c86dcaa6443c897662545d088036e4c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:53 2009 -0700"
      },
      "message": "do_wait: simplify retval/tsk_result/notask_error mess\n\nNow that we don\u0027t pass \u0026retval down to other helpers we can simplify\nthe code more.\n\n- kill tsk_result, just use retval\n\n- add the \"notask\" label right after the main loop, and\n  s/got end/goto notask/ after the fastpath pid check.\n\n  This way we don\u0027t need to initialize retval before this\n  check and the code becomes a bit more clean, if this pid\n  has no attached tasks we should just skip the list search.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e8ae01d1c86dcaa6443c897662545d088036e4c",
      "tree": "d9465ffe404d318e0038d3133f76550faa3ce3c3",
      "parents": [
        "47918025efdabd34e96b13b26eb2cf2fd6fd1f7c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "introduce \"struct wait_opts\" to simplify do_wait() patches\n\nIntroduce \"struct wait_opts\" which holds the parameters for misc helpers\nin do_wait() pathes.\n\nThis adds 13 lines to kernel/exit.c, but saves 256 bytes from .o and imho\nmakes the code much more readable.\n\nThis patch temporary uglifies rusage/siginfo code a little bit, will be\naddressed by further cleanups.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47918025efdabd34e96b13b26eb2cf2fd6fd1f7c",
      "tree": "bae081deabe6e955e94c5510ae408b50b930c225",
      "parents": [
        "3b34fc5880a2dcc7e5ed9837ef8d6bae051ab266"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "shift \"ptrace implies WUNTRACED\" from ptrace_do_wait() to wait_task_stopped()\n\nNo functional changes, preparation for the next patch.\n\nptrace_do_wait() adds WUNTRACED to options for wait_task_stopped() which\nshould always accept the stopped tracee, even if do_wait() was called\nwithout WUNTRACED.\n\nChange wait_task_stopped() to check \"ptrace || WUNTRACED\" instead.  This\nmakes the code more explicit, and \"int options\" argument becomes const in\ndo_wait() pathes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b34fc5880a2dcc7e5ed9837ef8d6bae051ab266",
      "tree": "477b9a29135cc7b8815ce7ce19201bce371c56a1",
      "parents": [
        "72a1de39f89325a834a8c70b2a0d8f71d919f640"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "elf_core_dump: use rcu_read_lock() to access -\u003ereal_parent\n\nIn theory it is not safe to dereference -\u003eparent/real_parent without\ntasklist or rcu lock, we can race with re-parenting.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72a1de39f89325a834a8c70b2a0d8f71d919f640",
      "tree": "f79fefd4eaad9cbc381792bddb1e1f3f432ad9f6",
      "parents": [
        "77d1ef79568b337f599b75795acc8f78a87ba9ba"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "copy_process(): remove the unneeded clear_tsk_thread_flag(TIF_SIGPENDING)\n\nThe forked child can have TIF_SIGPENDING if it was copied from parent\u0027s\nti-\u003eflags.  But this is harmless and actually almost never happens,\nbecause copy_process() can\u0027t succeed if signal_pending() \u003d\u003d T.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77d1ef79568b337f599b75795acc8f78a87ba9ba",
      "tree": "4fc0f622c6e064e76e6fd28981c3375ee3d153a9",
      "parents": [
        "e49612544c695117644af48bb4625264a3d2918f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "wait_task_zombie: do not use thread_group_cputime()\n\nThere is no reason for thread_group_cputime() in wait_task_zombie(), there\nmust be no other threads.\n\nThis call was previously needed to collect the per-cpu data which we do\nnot have any longer.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Vitaly Mayatskikh \u003cvmayatsk@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": "e49612544c695117644af48bb4625264a3d2918f",
      "tree": "7fe576d195533fb671c7a610cc35e9608e48c87e",
      "parents": [
        "d92656633b8352c6d4b14afcb7beb154d76e7aa6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "ptrace: don\u0027t take tasklist to get/set -\u003elast_siginfo\n\nChange ptrace_getsiginfo/ptrace_setsiginfo to use lock_task_sighand()\nwithout tasklist_lock.  Perhaps it makes sense to make a single helper\nwith \"bool rw\" argument.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d92656633b8352c6d4b14afcb7beb154d76e7aa6",
      "tree": "616dabaff973bc4483ece684c93afdb2dcacff59",
      "parents": [
        "d1e98f429aa10132b3010ba3b0be47552a2eb14b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:52 2009 -0700"
      },
      "message": "ptrace: do_notify_parent_cldstop: fix the wrong -\u003ensproxy usage\n\nIf the non-traced sub-thread calls do_notify_parent_cldstop(), we send the\nnotification to group_leader-\u003ereal_parent and we report group_leader\u0027s\npid.\n\nBut, if group_leader is traced we use the wrong -\u003eparent-\u003ensproxy-\u003epid_ns,\nthe tracer and parent can live in different namespaces.  Change the code\nto use \"parent\" instead of tsk-\u003eparent.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1e98f429aa10132b3010ba3b0be47552a2eb14b",
      "tree": "bd4458a65ac9ff942a3ba6dfcd70c281e15e067a",
      "parents": [
        "8053bdd5ce15dcf043d41a4dd6cac4a5567effdc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:51 2009 -0700"
      },
      "message": "ptrace: wait_task_zombie: s/-\u003eparent/-\u003ereal_parent/\n\nChange wait_task_zombie() to use -\u003ereal_parent instead of -\u003eparent.  We\ncould even use current afaics, but -\u003ereal_parent is more clean.\n\nWe know that the child is not ptrace_reparented() and thus they are equal.\n But we should avoid using task_struct-\u003eparent, we are going to remove it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8053bdd5ce15dcf043d41a4dd6cac4a5567effdc",
      "tree": "b139a0763d46143fbe5e36811b03c1987ef23b7a",
      "parents": [
        "4b105cbbaf7c06e01c27391957dc3c446328d087"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:51 2009 -0700"
      },
      "message": "ptrace_get_task_struct: s/tasklist/rcu/, make it static\n\n- Use rcu_read_lock() instead of tasklist_lock to find/get the task\n  in ptrace_get_task_struct().\n\n- Make it static, it has no callers outside of ptrace.c.\n\n- The comment doesn\u0027t match the reality, this helper does not do\n  any checks. Beacuse it is really trivial and static I removed the\n  whole comment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b105cbbaf7c06e01c27391957dc3c446328d087",
      "tree": "4b6a65061a7bf46baea9d8867fdda0c22c8a3d45",
      "parents": [
        "f2f0b00ad61d53adfecb8bdf8f3cf8f05f6ed548"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:51 2009 -0700"
      },
      "message": "ptrace: do not use task_lock() for attach\n\nRemove the \"Nasty, nasty\" lock dance in ptrace_attach()/ptrace_traceme() -\nfrom now task_lock() has nothing to do with ptrace at all.\n\nWith the recent changes nobody uses task_lock() to serialize with ptrace,\nbut in fact it was never needed and it was never used consistently.\n\nHowever ptrace_attach() calls __ptrace_may_access() and needs task_lock()\nto pin task-\u003emm for get_dumpable().  But we can call __ptrace_may_access()\nbefore we take tasklist_lock, -\u003ecred_exec_mutex protects us against\ndo_execve() path which can change creds and MMF_DUMP* flags.\n\n(ugly, but we can\u0027t use ptrace_may_access() because it hides the error\ncode, so we have to take task_lock() and use __ptrace_may_access()).\n\nNOTE: this change assumes that LSM hooks, security_ptrace_may_access() and\nsecurity_ptrace_traceme(), can be called without task_lock() held.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2f0b00ad61d53adfecb8bdf8f3cf8f05f6ed548",
      "tree": "dda08f8bb3e8c403b2d1cf941b17c9909975c209",
      "parents": [
        "b79b7ba93df14a1fc0b8d4d6d78a0e097de03bbd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:51 2009 -0700"
      },
      "message": "ptrace: cleanup check/set of PT_PTRACED during attach\n\nptrace_attach() and ptrace_traceme() are the last functions which look as\nif the untraced task can have task-\u003eptrace !\u003d 0, this must not be\npossible.  Change the code to just check -\u003eptrace !\u003d 0 and s/|\u003d/\u003d/ to set\nPT_PTRACED.\n\nAlso, a couple of trivial whitespace cleanups in ptrace_attach().\n\nAnd move ptrace_traceme() up near ptrace_attach() to keep them close to\neach other.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b79b7ba93df14a1fc0b8d4d6d78a0e097de03bbd",
      "tree": "65ce7c7335fc1dd0a91a3224466c4eaa0ec489f4",
      "parents": [
        "5cb11446892833e50970fb2277a9f7563b0a8bd3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:51 2009 -0700"
      },
      "message": "ptrace: ptrace_attach: check PF_KTHREAD + exit_state instead of -\u003emm\n\n- Add PF_KTHREAD check to prevent attaching to the kernel thread\n  with a borrowed -\u003emm.\n\n  With or without this change we can race with daemonize() which\n  can set PF_KTHREAD or clear -\u003emm after ptrace_attach() does the\n  check, but this doesn\u0027t matter because reparent_to_kthreadd()\n  does ptrace_unlink().\n\n- Kill \"!task-\u003emm\" check. We don\u0027t really care about -\u003emm !\u003d NULL,\n  and the task can call exit_mm() right after we drop task_lock().\n  What we need is to make sure we can\u0027t attach after exit_notify(),\n  check task-\u003eexit_state !\u003d 0 instead.\n\nAlso, move the \"already traced\" check down for cosmetic reasons.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cb11446892833e50970fb2277a9f7563b0a8bd3",
      "tree": "9cb858cb093c4b927601ef8a612d8dd791aeb1c8",
      "parents": [
        "1c216279539bd65c5a3d497e25d441dbddbcf1ec"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:51 2009 -0700"
      },
      "message": "ptrace: do not use task-\u003eptrace directly in core kernel\n\nNo functional changes.\n\n- Nobody except ptrace.c \u0026 co should use ptrace flags directly, we have\n  task_ptrace() for that.\n\n- No need to specially check PT_PTRACED, we must not have other PT_ bits\n  set without PT_PTRACED. And no need to know this flag exists.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c216279539bd65c5a3d497e25d441dbddbcf1ec",
      "tree": "38e401a7ebd185fd819aa490c474b220bc388d4f",
      "parents": [
        "dea33cfd99022d82d923a0c6a3bd895fb6683fb2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:49 2009 -0700"
      },
      "message": "ptrace: tracehook_unsafe_exec(): remove the stale comment\n\ntracehook_unsafe_exec() doesn\u0027t need task_lock(), remove the old comment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dea33cfd99022d82d923a0c6a3bd895fb6683fb2",
      "tree": "889ea712abbbb8b8c220dd593383ec6f9ad15ffc",
      "parents": [
        "48597760fad3d6a3e30a14241a3ce5ccb1a0e9bc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:49 2009 -0700"
      },
      "message": "ptrace: mm_need_new_owner: use -\u003ereal_parent to search in the siblings\n\n\"Search in the siblings\" should use -\u003ereal_parent, not -\u003eparent.  If the\ntask is traced then -\u003eparent \u003d\u003d tracer, while the task\u0027s parent is always\n-\u003ereal_parent.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48597760fad3d6a3e30a14241a3ce5ccb1a0e9bc",
      "tree": "5081660166bf7e0412baf34de9901807a81d6f5c",
      "parents": [
        "9d35f8464dd51466e60447625784cf1740f03ff4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:49 2009 -0700"
      },
      "message": "ptrace: remove PT_DTRACE from arch/m32r\n\nm32r: PTRACE_SINGLESTEP sets PT_DTRACE, it is never used except cleared\nafter do_execve().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d35f8464dd51466e60447625784cf1740f03ff4",
      "tree": "14f23f6a4492f6c433154ca6da774d988c02ec5f",
      "parents": [
        "bba7fc0a21d76ef951cdac6d11896dc6b5a9ffa7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:48 2009 -0700"
      },
      "message": "ptrace: remove PT_DTRACE from m68k, m68knommu\n\nm68k sets PT_DTRACE in trap_c() but never uses it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bba7fc0a21d76ef951cdac6d11896dc6b5a9ffa7",
      "tree": "9751533ba945cf876974eaf5c3bf4251e0800b8f",
      "parents": [
        "02e787494ada6026074189c5268b88b7ca5cd595"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:48 2009 -0700"
      },
      "message": "ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa\n\navr32, mn10300, parisc, s390, sh, xtensa:\n\nThey never set PT_DTRACE, but clear it after do_execve().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02e787494ada6026074189c5268b88b7ca5cd595",
      "tree": "2732a54ece36c785ae22dbd708802977cb5be73b",
      "parents": [
        "87245135d5057edd5a8037131f81eeffd76d4fef"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:48 2009 -0700"
      },
      "message": "ptrace: remove PT_DTRACE from arch/h8300\n\nh8300 defines PT_DTRACE for asm but never uses it.\n\nDEFINE(PT_PTRACED, PT_PTRACED) seems to be unused too.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87245135d5057edd5a8037131f81eeffd76d4fef",
      "tree": "9c6c695f474dfced54311467fd5c14de57f6dbb9",
      "parents": [
        "2ffebca6aa7e1687905c842dd8c5c1e811e574e7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 17 16:27:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:48 2009 -0700"
      },
      "message": "allow_signal: kill the bogus -\u003emm check, add a note about CLONE_SIGHAND\n\nallow_signal() checks -\u003emm \u003d\u003d NULL.  Not sure why.  Perhaps to make sure\ncurrent is the kernel thread.  But this helper must not be used unless we\nare the kernel thread, kill this check.\n\nAlso, document the fact that the CLONE_SIGHAND kthread must not use\nallow_signal(), unless the caller really wants to change the parent\u0027s\n-\u003esighand-\u003eaction as well.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ffebca6aa7e1687905c842dd8c5c1e811e574e7",
      "tree": "93ec4e18c54289e82dcc8e602c166d5ffee50ef8",
      "parents": [
        "c5b947b28828e82814605824e5db0bc58d66d8c0"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 17 16:27:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:48 2009 -0700"
      },
      "message": "memcg: fix lru rotation in isolate_pages\n\nTry to fix memcg\u0027s lru rotation sanity: make memcg use the same logic as\nthe global LRU does.\n\nNow, at __isolate_lru_page() retruns -EBUSY, the page is rotated to the\ntail of LRU in global LRU\u0027s isolate LRU pages.  But in memcg, it\u0027s not\nhandled.  This makes memcg do the same behavior as global LRU and rotate\nLRU in the page is busy.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "c5b947b28828e82814605824e5db0bc58d66d8c0",
      "tree": "0ce0c8c468668eb30d769fa97a99d332b9d9f987",
      "parents": [
        "22a668d7c3ef833e7d67e9cef587ecc78069d532"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Jun 17 16:27:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:48 2009 -0700"
      },
      "message": "memcg: add interface to reset limits\n\nWe don\u0027t have an interface to reset mem.limit or memsw.limit now.\n\nThis patch allows to reset mem.limit or memsw.limit when they are being\nset to -1.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\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": "22a668d7c3ef833e7d67e9cef587ecc78069d532",
      "tree": "da9f2e7ea7224c347dfe33ea9d4dddd944c861ac",
      "parents": [
        "8a9478ca7f4bcb8945cec7f95d52dae2d5e50cbd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 17 16:27:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:48 2009 -0700"
      },
      "message": "memcg: fix behavior under memory.limit equals to memsw.limit\n\nA user can set memcg.limit_in_bytes \u003d\u003d memcg.memsw.limit_in_bytes when the\nuser just want to limit the total size of applications, in other words,\nnot very interested in memory usage itself.  In this case, swap-out will\nbe done only by global-LRU.\n\nBut, under current implementation, memory.limit_in_bytes is checked at\nfirst and try_to_free_page() may do swap-out.  But, that swap-out is\nuseless for memsw.limit_in_bytes and the thread may hit limit again.\n\nThis patch tries to fix the current behavior at memory.limit \u003d\u003d\nmemsw.limit case.  And documentation is updated to explain the behavior of\nthis special case.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\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": "8a9478ca7f4bcb8945cec7f95d52dae2d5e50cbd",
      "tree": "935e6ee3340ebe999374b54967cc2fa14e8d0060",
      "parents": [
        "20ebcdda78a282d1d5266887ddf8a2d670182576"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jun 17 16:27:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:47 2009 -0700"
      },
      "message": "memcg: fix swap accounting\n\nThis patch fixes mis-accounting of swap usage in memcg.\n\nIn the current implementation, memcg\u0027s swap account is uncharged only when\nswap is completely freed.  But there are several cases where swap cannot\nbe freed cleanly.  For handling that, this patch changes that memcg\nuncharges swap account when swap has no references other than cache.\n\nBy this, memcg\u0027s swap entry accounting can be fully synchronous with the\napplication\u0027s behavior.\n\nThis patch also changes memcg\u0027s hooks for swap-out.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "20ebcdda78a282d1d5266887ddf8a2d670182576",
      "tree": "99186bc3125ea5df5853ba58314b5944926ab8a0",
      "parents": [
        "338c843108bf5030d6765f4405126e70f8b77845"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 17 16:27:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:47 2009 -0700"
      },
      "message": "memcg: remove unneeded forward declaration from sched.h\n\nThis forward declaration seems pointless.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "338c843108bf5030d6765f4405126e70f8b77845"
}
