)]}'
{
  "log": [
    {
      "commit": "72f9adfd20e3be8a33ff3ef96cec787ed97b9ba9",
      "tree": "2e59de0152634f577ba996a1a3f35eceb9c5ebee",
      "parents": [
        "5f66d2b58ca879e70740c82422354144845d6dd3",
        "37f86b469d73fc2f2a925536fb99b8f513f641b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:39:40 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:39:40 2011 -1000"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kdb,kgdb: Allow arbitrary kgdb magic knock sequences\n  kdb: Remove all references to DOING_KGDB2\n  kdb,kgdb: Implement switch and pass buffer from kdb -\u003e gdb\n  kdb: cleanup unused variables missed in the original kdb merge\n"
    },
    {
      "commit": "37f86b469d73fc2f2a925536fb99b8f513f641b7",
      "tree": "f3f5a0c9d360e0bca2a6184b7063a4ab746dc433",
      "parents": [
        "d613d828e8987a1f794378022f900b454fa95403"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue May 24 10:43:06 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:59 2011 -0500"
      },
      "message": "kdb,kgdb: Allow arbitrary kgdb magic knock sequences\n\nThe first packet that gdb sends when the kernel is in kdb mode seems\nto change with every release of gdb.  Instead of continuing to add\nmany different gdb packets, change kdb to automatically look for any\nthing that looks like a gdb packet.\n\nExample 1 cold start test:\necho g \u003e /proc/sysrq-trigger\n$D#44+\n\nExample 2 cold start test:\necho g \u003e /proc/sysrq-trigger\n$3#33\n\nThe second one should re-enter kdb\u0027s shell right away and is purely a\ntest.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "d613d828e8987a1f794378022f900b454fa95403",
      "tree": "637d466ae00621139e9d019c3a439ab0d8959cd5",
      "parents": [
        "f679c4985bb2e7de9d39a5d40b6031361c4ad861"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 23 13:22:54 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:59 2011 -0500"
      },
      "message": "kdb: Remove all references to DOING_KGDB2\n\nThe DOING_KGDB2 was originally a state variable for one of the two\nways to automatically transition from kdb to kgdb.  Purge all these\nvariables and just use one single state for the transition.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "f679c4985bb2e7de9d39a5d40b6031361c4ad861",
      "tree": "9750abdc0f876f38642c06c188b152324c512fdb",
      "parents": [
        "3bdb65ec95e6cccffc40102d7c003047c45da90c"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 23 13:17:41 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:59 2011 -0500"
      },
      "message": "kdb,kgdb: Implement switch and pass buffer from kdb -\u003e gdb\n\nWhen switching from kdb mode to kgdb mode packets were getting lost\ndepending on the size of the fifo queue of the serial chip.  When gdb\ninitially connects if it is in kdb mode it should entirely send any\ncharacter buffer over to the gdbstub when switching connections.\n\nPreviously kdb was zero\u0027ing out the character buffer and this could\nlead to gdb failing to connect at all, or a lengthy pause could occur\non the initial connect.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "3bdb65ec95e6cccffc40102d7c003047c45da90c",
      "tree": "6a93a5c062d5b7c496268005503749bb9080a217",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Jun 30 14:12:00 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:58 2011 -0500"
      },
      "message": "kdb: cleanup unused variables missed in the original kdb merge\n\nThe BTARGS and BTSYMARG variables do not have any function in the\nmainline version of kdb.\n\nReported-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "968e75fc13b6d582f42ce44172e13ba58157e11f",
      "tree": "306eacdf2815f8a49b47228c3b50e7a6083ef7d4",
      "parents": [
        "a00ed25cce6fe856388f89c7cd40da0eee7666a6",
        "d3690f8b713f9710e68214ca38fb8b07b587a2a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 31 14:30:59 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 31 14:30:59 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k/math-emu: Remove unnecessary code\n  m68k/math-emu: Remove commented out old code\n  m68k: Kill warning in setup_arch() when compiling for Sun3\n  m68k/atari: Prefix GPIO_{IN,OUT} with CODEC_\n  sparc: iounmap() and *_free_coherent() - Use lookup_resource()\n  m68k/atari: Reserve some ST-RAM early on for device buffer use\n  m68k/amiga: Chip RAM - Use lookup_resource()\n  resources: Add lookup_resource()\n  sparc: _sparc_find_resource() should check for exact matches\n  m68k/amiga: Chip RAM - Offset resource end by CHIP_PHYSADDR\n  m68k/amiga: Chip RAM - Use resource_size() to fix off-by-one error\n  m68k/amiga: Chip RAM - Change chipavail to an atomic_t\n  m68k/amiga: Chip RAM - Always allocate from the start of memory\n  m68k/amiga: Chip RAM - Convert from printk() to pr_*()\n  m68k/amiga: Chip RAM - Use tabs for indentation\n"
    },
    {
      "commit": "1c388919d89ca35741e9c4d3255adf87f76f0c06",
      "tree": "3858d97ce2f91cdf6ec3badafbf66ef058e178a7",
      "parents": [
        "88efd0bbc0fe403a9948e6f94cc48b9f15ee4861"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat May 07 20:53:16 2011 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Jul 30 21:21:39 2011 +0200"
      },
      "message": "resources: Add lookup_resource()\n\nAdd a function to find an existing resource by a resource start address.\nThis allows to implement simple allocators (with a malloc/free-alike API)\non top of the resource system.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "664a41b8a91bf78a01a751e15175e0008977685a",
      "tree": "d9dc15c83400ad2dfb430ff27ae3e7fdc9395856",
      "parents": [
        "983236b5741e557451f3ed4ec5ebf1f62a5b2c15",
        "ee2ce3a0b43d14d792d34cf88e7bc2091096744b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 30 00:08:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 30 00:08:53 2011 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits)\n  [media] ir-mce_kbd-decoder: include module.h for its facilities\n  [media] ov5642: include module.h for its facilities\n  [media] em28xx: Fix DVB-C maxsize for em2884\n  [media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz\n  [media] v4l: mt9v032: Fix Bayer pattern\n  [media] V4L: mt9m111: rewrite set_pixfmt\n  [media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear\n  [media] V4L: initial driver for ov5642 CMOS sensor\n  [media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails\n  [media] V4L: soc-camera: remove soc-camera bus and devices on it\n  [media] V4L: soc-camera: un-export the soc-camera bus\n  [media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier\n  [media] V4L: add media bus configuration subdev operations\n  [media] V4L: soc-camera: group struct field initialisations together\n  [media] V4L: soc-camera: remove now unused soc-camera specific PM hooks\n  [media] V4L: pxa-camera: switch to using standard PM hooks\n  [media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param\n  [media] Don\u0027t OOPS if videobuf_dvb_get_frontend return NULL\n  [media] NetUP Dual DVB-T/C CI RF: load firmware according card revision\n  [media] omap3isp: Support configurable HS/VS polarities\n  ...\n\nFix up conflicts:\n - arch/arm/mach-omap2/board-rx51-peripherals.c:\n     cleanup regulator supply definitions in mach-omap2\n   vs\n     OMAP3: RX-51: define vdds_csib regulator supply\n - drivers/staging/tm6000/tm6000-alsa.c (trivial)\n"
    },
    {
      "commit": "cb7dee8d22f3e9320424e769d860fbd9712a0666",
      "tree": "58f33d70453e7cd26ec78e96f33ca7a9673df26e",
      "parents": [
        "49267fc82ad2825132be3b016d8eb58a90cb0c36",
        "6124a4e430b64d1577438c8648c59e996d02e73e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:02 2011 -0700"
      },
      "message": "Merge branch \u0027next/dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027next/dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (21 commits)\n  arm/dt: tegra devicetree support\n  arm/versatile: Add device tree support\n  dt/irq: add irq_domain_generate_simple() helper\n  irq: add irq_domain translation infrastructure\n  dmaengine: imx-sdma: add device tree probe support\n  dmaengine: imx-sdma: sdma_get_firmware does not need to copy fw_name\n  dmaengine: imx-sdma: use platform_device_id to identify sdma version\n  mmc: sdhci-esdhc-imx: add device tree probe support\n  mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host\n  mmc: sdhci-esdhc-imx: get rid of the uses of cpu_is_mx()\n  mmc: sdhci-esdhc-imx: do not reference platform data after probe\n  mmc: sdhci-esdhc-imx: extend card_detect and write_protect support for mx5\n  net/fec: add device tree probe support\n  net: ibm_newemac: convert it to use of_get_phy_mode\n  dt/net: add helper function of_get_phy_mode\n  net/fec: gasket needs to be enabled for some i.mx\n  serial/imx: add device tree probe support\n  serial/imx: get rid of the uses of cpu_is_mx1()\n  arm/dt: Add dtb make rule\n  arm/dt: Add skeleton dtsi file\n  ...\n"
    },
    {
      "commit": "6124a4e430b64d1577438c8648c59e996d02e73e",
      "tree": "49cfafad785d1c9e403a5b0d755298b9af2c260f",
      "parents": [
        "8e267f3da5f117d2f1316cf6ddf740f93f1c73aa",
        "580975d7f48d7d047e22bb0f42adf7557801d8d4"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:25:46 2011 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:25:46 2011 +0000"
      },
      "message": "Merge branch \u0027imx/dt\u0027 into next/dt\n"
    },
    {
      "commit": "7e71330169d8056536b299290544980bccc6b300",
      "tree": "7dab4954a7683e35bbf66adadd89b26971960311",
      "parents": [
        "08a543ad33fc188650801bd36eed4ffe272643e1"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 26 03:19:06 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "dt/irq: add irq_domain_generate_simple() helper\n\nirq_domain_generate_simple() is an easy way to generate an irq translation\ndomain for simple irq controllers.  It assumes a flat 1:1 mapping from\nhardware irq number to an offset of the first linux irq number assigned\nto the controller\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "08a543ad33fc188650801bd36eed4ffe272643e1",
      "tree": "cf2b41b922e77190425f999c2268f1558dd52d18",
      "parents": [
        "5fd1a2ed0ec6fb5449c71a988cc15edb8671b3d0"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 26 03:19:06 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "irq: add irq_domain translation infrastructure\n\nThis patch adds irq_domain infrastructure for translating from\nhardware irq numbers to linux irqs.  This is particularly important\nfor architectures adding device tree support because the current\nimplementation (excluding PowerPC and SPARC) cannot handle\ntranslation for more than a single interrupt controller.  irq_domain\nsupports device tree translation for any number of interrupt\ncontrollers.\n\nThis patch converts x86, Microblaze, ARM and MIPS to use irq_domain\nfor device tree irq translation.  x86 is untested beyond compiling it,\nirq_domain is enabled for MIPS and Microblaze, but the old behaviour is\npreserved until the core code is modified to actually register an\nirq_domain yet.  On ARM it works and is required for much of the new\nARM device tree board support.\n\nPowerPC has /not/ been converted to use this new infrastructure.  It\nis still missing some features before it can replace the virq\ninfrastructure already in powerpc (see documentation on\nirq_domain_map/unmap for details).  Followup patches will add the\nmissing pieces and migrate PowerPC to use irq_domain.\n\nSPARC has its own method of managing interrupts from the device tree\nand is unaffected by this change.\n\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "95b6886526bb510b8370b625a49bc0ab3b8ff10f",
      "tree": "2862606224820d200be12d2092dcd26df1654b80",
      "parents": [
        "22712200e175e0df5c7f9edfe6c6bf5c94c23b83",
        "29412f0f6a19e34336368f13eab848091c343952"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (54 commits)\n  tpm_nsc: Fix bug when loading multiple TPM drivers\n  tpm: Move tpm_tis_reenable_interrupts out of CONFIG_PNP block\n  tpm: Fix compilation warning when CONFIG_PNP is not defined\n  TOMOYO: Update kernel-doc.\n  tpm: Fix a typo\n  tpm_tis: Probing function for Intel iTPM bug\n  tpm_tis: Fix the probing for interrupts\n  tpm_tis: Delay ACPI S3 suspend while the TPM is busy\n  tpm_tis: Re-enable interrupts upon (S3) resume\n  tpm: Fix display of data in pubek sysfs entry\n  tpm_tis: Add timeouts sysfs entry\n  tpm: Adjust interface timeouts if they are too small\n  tpm: Use interface timeouts returned from the TPM\n  tpm_tis: Introduce durations sysfs entry\n  tpm: Adjust the durations if they are too small\n  tpm: Use durations returned from TPM\n  TOMOYO: Enable conditional ACL.\n  TOMOYO: Allow using argv[]/envp[] of execve() as conditions.\n  TOMOYO: Allow using executable\u0027s realpath and symlink\u0027s target as conditions.\n  TOMOYO: Allow using owner/group etc. of file objects as conditions.\n  ...\n\nFix up trivial conflict in security/tomoyo/realpath.c\n"
    },
    {
      "commit": "2330fb8242c3efc281ab8a2d3e22686023699955",
      "tree": "b0359e3869a8db4a2039f090f2f3292d37ca0e8d",
      "parents": [
        "5138870d68ffbf6fcdf019af5b2ce78bc5a1f837"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Tue Jun 07 11:43:57 2011 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jul 27 17:53:20 2011 -0300"
      },
      "message": "[media] v4l2-compat-ioctl32: add VIDIOC_DQEVENT support\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "c1095c6da518b0b64e724f629051fa67655cd8d9",
      "tree": "8c2e33ca6c8e3caa71437c3b69b36a8cf03b4f08",
      "parents": [
        "678624e401b0b7747762b5223fb23f86dcdacc93"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jul 27 12:49:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 12:53:36 2011 -0700"
      },
      "message": "signals: sys_ssetmask/sys_rt_sigsuspend should use set_current_blocked()\n\nsys_ssetmask(), sys_rt_sigsuspend() and compat_sys_rt_sigsuspend()\nchange -\u003eblocked directly.  This is not correct, see the changelog in\ne6fa16ab \"signal: sigprocmask() should do retarget_shared_pending()\"\n\nChange them to use set_current_blocked().\n\nAnother change is that now we are doing -\u003esaved_sigmask \u003d -\u003eblocked\nlockless, it doesn\u0027t make any sense to do this under -\u003esiglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Matt Fleming \u003cmatt.fleming@linux.intel.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4302fbc8ec2ccae279c939f241bf8ce64e1a0bb7",
      "tree": "01b7bfa2388d7996fee86c6a4e291605d2303530",
      "parents": [
        "3f0fb4e85b3842a2606c647c0a66afe2073574b4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@chromium.org",
        "time": "Tue Jul 26 16:08:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "panic: panic\u003d-1 for immediate reboot\n\nWhen a kernel BUG or oops occurs, ChromeOS intends to panic and\nimmediately reboot, with stacktrace and other messages preserved in RAM\nacross reboot.\n\nBut the longer we delay, the more likely the user is to poweroff and\nlose the info.\n\npanic_timeout (seconds before rebooting) is set by panic\u003d boot option or\nsysctl or /proc/sys/kernel/panic; but 0 means wait forever, so at\npresent we have to delay at least 1 second.\n\nLet a negative number mean reboot immediately (with the small cosmetic\nbenefit of suppressing that newline-less \"Rebooting in %d seconds..\"\nmessage).\n\nSigned-off-by: Hugh Dickins \u003chughd@chromium.org\u003e\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\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": "947be5dfdaaef01b43a3d5444688ebef2bd263d4",
      "tree": "5abd88d64059278c952a84c9a07a59d8b50040d6",
      "parents": [
        "444d2921215ae6c21f90eb5fa5d03f784f84f1aa"
      ],
      "author": {
        "name": "Vitaliy Ivanov",
        "email": "vitalivanov@gmail.com",
        "time": "Tue Jul 26 16:08:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "gcov: disable CONSTRUCTORS for UML\n\nSelecting GCOV for UML causing configuration mismatch:\n\n  warning: (GCOV_KERNEL) selects CONSTRUCTORS which has unmet direct dependencies (!UML)\n\nConstructors are not needed for UML.\n\nSigned-off-by: Vitaliy Ivanov \u003cvitalivanov@gmail.com\u003e\nCc: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nAcked-by: Richard Weinberger \u003crichard@nod.at\u003e\nAcked-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": "b34a6b1da371ed8af1221459a18c67970f7e3d53",
      "tree": "5addc850de13623b172395b9d0d7d670930fa6b3",
      "parents": [
        "d40dcdb0172a1ba853464983a059fb45e0aaf61a"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Jul 26 16:08:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "ipc: introduce shm_rmid_forced sysctl\n\nAdd support for the shm_rmid_forced sysctl.  If set to 1, all shared\nmemory objects in current ipc namespace will be automatically forced to\nuse IPC_RMID.\n\nThe POSIX way of handling shmem allows one to create shm objects and\ncall shmdt(), leaving shm object associated with no process, thus\nconsuming memory not counted via rlimits.\n\nWith shm_rmid_forced\u003d1 the shared memory object is counted at least for\none process, so OOM killer may effectively kill the fat process holding\nthe shared memory.\n\nIt obviously breaks POSIX - some programs relying on the feature would\nstop working.  So set shm_rmid_forced\u003d1 only if you\u0027re sure nobody uses\n\"orphaned\" memory.  Use shm_rmid_forced\u003d0 by default for compatability\nreasons.\n\nThe feature was previously impemented in -ow as a configure option.\n\n[akpm@linux-foundation.org: fix documentation, per Randy]\n[akpm@linux-foundation.org: fix warning]\n[akpm@linux-foundation.org: readability/conventionality tweaks]\n[akpm@linux-foundation.org: fix shm_rmid_forced/shm_forced_rmid confusion, use standard comment layout]\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserge.hallyn@canonical.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Solar Designer \u003csolar@openwall.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb0a685cb95a0267a96153af2f72486f27be5847",
      "tree": "99ffae5ab7733ce8a1819fec51ca137a3af48d37",
      "parents": [
        "293eb1e7772b25a93647c798c7b89bf26c2da2e0"
      ],
      "author": {
        "name": "Daniel Rebelo de Oliveira",
        "email": "psykon@gmail.com",
        "time": "Tue Jul 26 16:08:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "kernel/fork.c: fix a few coding style issues\n\nSigned-off-by: Daniel Rebelo de Oliveira \u003cpsykon@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": "778d3b0ff0654ad7092bf823fd32010066b12365",
      "tree": "cd0073d8c513e1c56fd6950c4ec985f16fd004ad",
      "parents": [
        "8521fc50d433507a7cdc96bec280f9e5888a54cc"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "cpusets: randomize node rotor used in cpuset_mem_spread_node()\n\n[ This patch has already been accepted as commit 0ac0c0d0f837 but later\n  reverted (commit 35926ff5fba8) because it itroduced arch specific\n  __node_random which was defined only for x86 code so it broke other\n  archs.  This is a followup without any arch specific code.  Other than\n  that there are no functional changes.]\n\nSome workloads that create a large number of small files tend to assign\ntoo many pages to node 0 (multi-node systems).  Part of the reason is\nthat the rotor (in cpuset_mem_spread_node()) used to assign nodes starts\nat node 0 for newly created tasks.\n\nThis patch changes the rotor to be initialized to a random node number\nof the cpuset.\n\n[akpm@linux-foundation.org: fix layout]\n[Lee.Schermerhorn@hp.com: Define stub numa_random() for !NUMA configuration]\n[mhocko@suse.cz: Make it arch independent]\n[akpm@linux-foundation.org: fix CONFIG_NUMA\u003dy, MAX_NUMNODES\u003e1 build]\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Robin Holt \u003cholt@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": "45b583b10a8b438b970e95a7d1d4db22c9e35004",
      "tree": "14fa481598289df0459580c582b48a9d95db51f6",
      "parents": [
        "154dd78d30b56ffb8b447f629bfcceb14150e5c4",
        "f19da2ce8ef5e49b8b8ea199c3601dd45d71b262"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 21:00:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 21:00:19 2011 -0700"
      },
      "message": "Merge \u0027akpm\u0027 patch series\n\n* Merge akpm patch series: (122 commits)\n  drivers/connector/cn_proc.c: remove unused local\n  Documentation/SubmitChecklist: add RCU debug config options\n  reiserfs: use hweight_long()\n  reiserfs: use proper little-endian bitops\n  pnpacpi: register disabled resources\n  drivers/rtc/rtc-tegra.c: properly initialize spinlock\n  drivers/rtc/rtc-twl.c: check return value of twl_rtc_write_u8() in twl_rtc_set_time()\n  drivers/rtc: add support for Qualcomm PMIC8xxx RTC\n  drivers/rtc/rtc-s3c.c: support clock gating\n  drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200\n  init: skip calibration delay if previously done\n  misc/eeprom: add eeprom access driver for digsy_mtc board\n  misc/eeprom: add driver for microwire 93xx46 EEPROMs\n  checkpatch.pl: update $logFunctions\n  checkpatch: make utf-8 test --strict\n  checkpatch.pl: add ability to ignore various messages\n  checkpatch: add a \"prefer __aligned\" check\n  checkpatch: validate signature styles and To: and Cc: lines\n  checkpatch: add __rcu as a sparse modifier\n  checkpatch: suggest using min_t or max_t\n  ...\n\nDid this as a merge because of (trivial) conflicts in\n - Documentation/feature-removal-schedule.txt\n - arch/xtensa/include/asm/uaccess.h\nthat were just easier to fix up in the merge than in the patch series.\n"
    },
    {
      "commit": "626a0312514a121a90b4478cbde111ffc6826ae2",
      "tree": "18524e3f4ea38576459da3d29323bc2268b7d282",
      "parents": [
        "a376d3d6727b2f05ef4c6670cc74afbd8110df89"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "bebarino@gmail.com",
        "time": "Mon Jul 25 17:13:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:15 2011 -0700"
      },
      "message": "kernel/configs.c: include MODULE_*() when CONFIG_IKCONFIG_PROC\u003dn\n\nIf CONFIG_IKCONFIG\u003dm but CONFIG_IKCONFIG_PROC\u003dn we get a module that has\nno MODULE_LICENSE definition.  Move the MODULE_*() definitions outside the\nCONFIG_IKCONFIG_PROC #ifdef to prevent this configuration from tainting\nthe kernel.\n\nSigned-off-by: Stephen Boyd \u003cbebarino@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-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": "c5f41752fd37979dbaec61dc59c7ece0606ddf7e",
      "tree": "47827a7fd86cbe4ad657d640b01e8b76535e8813",
      "parents": [
        "dcfe1421c916345b068f43749263b94270324500"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Jul 25 17:13:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:14 2011 -0700"
      },
      "message": "notifiers: sys: move reboot notifiers into reboot.h\n\nIt is not necessary to share the same notifier.h.\n\nThis patch already moves register_reboot_notifier() and\nunregister_reboot_notifier() from kernel/notifier.c to kernel/sys.c.\n\n[amwang@redhat.com: make allyesconfig succeed on ppc64]\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: WANG Cong \u003camwang@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": "ae891a1b93bf62e9aaa116a7a71312375047fc9f",
      "tree": "83e821e818654da3e3443ecddd757665251db6e0",
      "parents": [
        "5190f0c030f46b3169205f34f6d9ef480fa39ef2"
      ],
      "author": {
        "name": "Maxin B John",
        "email": "maxin.john@gmail.com",
        "time": "Mon Jul 25 17:12:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:14 2011 -0700"
      },
      "message": "devres: fix possible use after free\n\ndevres uses the pointer value as key after it\u0027s freed, which is safe but\ntriggers spurious use-after-free warnings on some static analysis tools.\nRearrange code to avoid such warnings.\n\nSigned-off-by: Maxin B. John \u003cmaxin.john@gmail.com\u003e\nReviewed-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2efaca927f5cd7ecd0f1554b8f9b6a9a2c329c03",
      "tree": "1bea042a7c712e861d7734db59b3311375c439c3",
      "parents": [
        "72c4783210f77fd743f0a316858d33f27db51e7c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 25 17:12:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:11 2011 -0700"
      },
      "message": "mm/futex: fix futex writes on archs with SW tracking of dirty \u0026 young\n\nI haven\u0027t reproduced it myself but the fail scenario is that on such\nmachines (notably ARM and some embedded powerpc), if you manage to hit\nthat futex path on a writable page whose dirty bit has gone from the PTE,\nyou\u0027ll livelock inside the kernel from what I can tell.\n\nIt will go in a loop of trying the atomic access, failing, trying gup to\n\"fix it up\", getting succcess from gup, go back to the atomic access,\nfailing again because dirty wasn\u0027t fixed etc...\n\nSo I think you essentially hang in the kernel.\n\nThe scenario is probably rare\u0027ish because affected architecture are\nembedded and tend to not swap much (if at all) so we probably rarely hit\nthe case where dirty is missing or young is missing, but I think Shan has\na piece of SW that can reliably reproduce it using a shared writable\nmapping \u0026 fork or something like that.\n\nOn archs who use SW tracking of dirty \u0026 young, a page without dirty is\neffectively mapped read-only and a page without young unaccessible in the\nPTE.\n\nAdditionally, some architectures might lazily flush the TLB when relaxing\nwrite protection (by doing only a local flush), and expect a fault to\ninvalidate the stale entry if it\u0027s still present on another processor.\n\nThe futex code assumes that if the \"in_atomic()\" access -EFAULT\u0027s, it can\n\"fix it up\" by causing get_user_pages() which would then be equivalent to\ntaking the fault.\n\nHowever that isn\u0027t the case.  get_user_pages() will not call\nhandle_mm_fault() in the case where the PTE seems to have the right\npermissions, regardless of the dirty and young state.  It will eventually\nupdate those bits ...  in the struct page, but not in the PTE.\n\nAdditionally, it will not handle the lazy TLB flushing that can be\nrequired by some architectures in the fault case.\n\nBasically, gup is the wrong interface for the job.  The patch provides a\nmore appropriate one which boils down to just calling handle_mm_fault()\nsince what we are trying to do is simulate a real page fault.\n\nThe futex code currently attempts to write to user memory within a\npagefault disabled section, and if that fails, tries to fix it up using\nget_user_pages().\n\nThis doesn\u0027t work on archs where the dirty and young bits are maintained\nby software, since they will gate access permission in the TLB, and will\nnot be updated by gup().\n\nIn addition, there\u0027s an expectation on some archs that a spurious write\nfault triggers a local TLB flush, and that is missing from the picture as\nwell.\n\nI decided that adding those \"features\" to gup() would be too much for this\nalready too complex function, and instead added a new simpler\nfixup_user_fault() which is essentially a wrapper around handle_mm_fault()\nwhich the futex code can call.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix some nits Darren saw, fiddle comment layout]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nReported-by: Shan Hai \u003chaishan.bai@gmail.com\u003e\nTested-by: Shan Hai \u003chaishan.bai@gmail.com\u003e\nCc: David Laight \u003cDavid.Laight@ACULAB.COM\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Darren Hart \u003cdarren.hart@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "154dd78d30b56ffb8b447f629bfcceb14150e5c4",
      "tree": "a1d34da3de50d25b96ba315416817a6850cd7b90",
      "parents": [
        "14067ff536286bd2f7f79d46337d2228b12ef880",
        "1ae14703e76de49e6116296f3b20925f491dbb16",
        "3bdccc880b39c2d8e2cdd3783107dc6799ba62ca",
        "b756828609ee8cb1320effc371cfafde6a6246fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:01:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:01:57 2011 -0700"
      },
      "message": "Merge branches \u0027kbuild\u0027, \u0027packaging\u0027 and \u0027misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  genksyms: Use same type in loop comparison\n  kbuild: silence generated makefile message\n  kernel: prevent unnecessary rebuilding due to config_data.gz\n  headers_install: fix __packed in exported kernel headers\n  dtc: regen parser\n  dtc: migrate parser to implicit rules\n  kconfig: regen parser\n  kconfig: migrate parser to implicit rules\n  kconfig/zconf.l: do not ask to generate backup\n  kconfig: kill no longer needed reference to YYDEBUG\n  kconfig: constify `kconf_id_lookup\u0027\n  genksym: regen parser\n  genksyms: migrate parser to implicit rules\n  genksyms: drop -Wno-uninitialized from HOSTCFLAGS_parse.tab.o\n  genksyms: pass hash and lookup functions name and target language though the input file\n  kbuild: simplify the %_shipped rule\n  kbuild: add implicit rules for parser generation\n  kbuild: add `baseprereq\u0027\n  kbuild: Fix reference to vermagic.h\n\n* \u0027packaging\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  package: Makefile: fix perf target bug\n\n* \u0027misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  gitignore: ignore debian build directory\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "096a705bbc080a4041636d07514560da8d78acbe",
      "tree": "38c3c01225709ffa53419083ea6332f8a72610de",
      "parents": [
        "fea80311a939a746533a6d7e7c3183729d6a3faf",
        "5757a6d76cdf6dda2a492c09b985c015e86779b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:33:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:33:36 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1/core\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.1/core\u0027 of git://git.kernel.dk/linux-block: (24 commits)\n  block: strict rq_affinity\n  backing-dev: use synchronize_rcu_expedited instead of synchronize_rcu\n  block: fix patch import error in max_discard_sectors check\n  block: reorder request_queue to remove 64 bit alignment padding\n  CFQ: add think time check for group\n  CFQ: add think time check for service tree\n  CFQ: move think time check variables to a separate struct\n  fixlet: Remove fs_excl from struct task.\n  cfq: Remove special treatment for metadata rqs.\n  block: document blk_plug list access\n  block: avoid building too big plug list\n  compat_ioctl: fix make headers_check regression\n  block: eliminate potential for infinite loop in blkdev_issue_discard\n  compat_ioctl: fix warning caused by qemu\n  block: flush MEDIA_CHANGE from drivers on close(2)\n  blk-throttle: Make total_nr_queued unsigned\n  block: Add __attribute__((format(printf...) and fix fallout\n  fs/partitions/check.c: make local symbols static\n  block:remove some spare spaces in genhd.c\n  block:fix the comment error in blkdev.h\n  ...\n"
    },
    {
      "commit": "fcda12e7f6d58d61997681a9d41779e3fd2ffc94",
      "tree": "ea865215c10b8b09828db2918013dfe02ce62f25",
      "parents": [
        "5fabc487c96819dd12ddb9414835d170fd9cd6d5",
        "62a2635610dbc83c5e8d724e00941eee4d18c186"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:54:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:54:54 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  modpost: Fix modpost\u0027s license checking V3\n  module: add /sys/module/\u003cname\u003e/uevent files\n  module: change attr callbacks to take struct module_kobject\n  modules: make arch\u0027s use default loader hooks\n  modules: add default loader hook implementations\n  param: fix return value handling in param_set_*\n"
    },
    {
      "commit": "5fabc487c96819dd12ddb9414835d170fd9cd6d5",
      "tree": "01532d492e5074b0d3add29bf92ebf9a9d161e9e",
      "parents": [
        "c61264f98c1a974ee6f545f61a4ab33b141d6bda",
        "3f68b0318bbbd61bf08478ab99a149f0d9e5156e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (143 commits)\n  KVM: IOMMU: Disable device assignment without interrupt remapping\n  KVM: MMU: trace mmio page fault\n  KVM: MMU: mmio page fault support\n  KVM: MMU: reorganize struct kvm_shadow_walk_iterator\n  KVM: MMU: lockless walking shadow page table\n  KVM: MMU: do not need atomicly to set/clear spte\n  KVM: MMU: introduce the rules to modify shadow page table\n  KVM: MMU: abstract some functions to handle fault pfn\n  KVM: MMU: filter out the mmio pfn from the fault pfn\n  KVM: MMU: remove bypass_guest_pf\n  KVM: MMU: split kvm_mmu_free_page\n  KVM: MMU: count used shadow pages on prepareing path\n  KVM: MMU: rename \u0027pt_write\u0027 to \u0027emulate\u0027\n  KVM: MMU: cleanup for FNAME(fetch)\n  KVM: MMU: optimize to handle dirty bit\n  KVM: MMU: cache mmio info on page fault path\n  KVM: x86: introduce vcpu_mmio_gva_to_gpa to cleanup the code\n  KVM: MMU: do not update slot bitmap if spte is nonpresent\n  KVM: MMU: fix walking shadow page table\n  KVM guest: KVM Steal time registration\n  ...\n"
    },
    {
      "commit": "88bfa3247961fe5f3623f4d2cf1cd5dc72457598",
      "tree": "d3ce6a00501ed34655918815623642698eece9ca",
      "parents": [
        "4befb026cf74b52fc7d382142bbfc0e9b6aab5e7"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "message": "module: add /sys/module/\u003cname\u003e/uevent files\n\nUserspace wants to manage module parameters with udev rules.\nThis currently only works for loaded modules, but not for\nbuilt-in ones.\n\nTo allow access to the built-in modules we need to\nre-trigger all module load events that happened before any\nuserspace was running. We already do the same thing for all\ndevices, subsystems(buses) and drivers.\n\nThis adds the currently missing /sys/module/\u003cname\u003e/uevent files\nto all module entries.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (split \u0026 trivial fix)\n"
    },
    {
      "commit": "4befb026cf74b52fc7d382142bbfc0e9b6aab5e7",
      "tree": "48c4954f8eb9ab43f449750c3f4b0685fd323c03",
      "parents": [
        "66574cc05438dd0907029075d7e6ec5ac0036fbc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "message": "module: change attr callbacks to take struct module_kobject\n\nThis simplifies the next patch, where we have an attribute on a\nbuiltin module (ie. module \u003d\u003d NULL).\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (split into 2)\n"
    },
    {
      "commit": "74e08fcf7bef973512a1f813700f802a93678670",
      "tree": "467868e281ee7768c0124009340c0a5a1850de98",
      "parents": [
        "81c7413650fbbf881bcb9e567be61a6717eb1876"
      ],
      "author": {
        "name": "Jonas Bonn",
        "email": "jonas@southpole.se",
        "time": "Thu Jun 30 21:22:11 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "message": "modules: add default loader hook implementations\n\nThe module loader code allows architectures to hook into the code by\nproviding a small number of entry points that each arch must implement.\nThis patch provides __weakly linked generic implementations of these\nentry points for architectures that don\u0027t need to do anything special.\n\nSigned-off-by: Jonas Bonn \u003cjonas@southpole.se\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "81c7413650fbbf881bcb9e567be61a6717eb1876",
      "tree": "4e09dc38195e016c983f1aa9430ace78487cb178",
      "parents": [
        "6d6be43d4dfdb167ef72f4aa665c1607db799be4"
      ],
      "author": {
        "name": "Satoru Moriya",
        "email": "satoru.moriya@hds.com",
        "time": "Thu May 26 19:38:04 2011 -0400"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:03 2011 +0930"
      },
      "message": "param: fix return value handling in param_set_*\n\nIn STANDARD_PARAM_DEF, param_set_* handles the case in which strtolfn\nreturns -EINVAL but it may return -ERANGE. If it returns -ERANGE,\nparam_set_* may set uninitialized value to the paramerter. We should handle\nboth cases.\n\nThe one of the cases in which strtolfn() returns -ERANGE is following:\n\n *Type of module parameter is long\n *Set the parameter more than LONG_MAX\n\nSigned-off-by: Satoru Moriya \u003csatoru.moriya@hds.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "dc43d9fa73d82083656fb9c02f4823bcdcfb9f91",
      "tree": "f5303b6d7ff3e0157ab3312b5dc3182785972fec",
      "parents": [
        "80775068dbcf849dca81316e43bcc309985956ac",
        "50c31e4a2497ea17747b587e8f96b278f07f5483"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:04 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mtrr-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mtrr-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, mtrr: Use pci_dev-\u003erevision\n  x86, mtrr: use stop_machine APIs for doing MTRR rendezvous\n  stop_machine: implement stop_machine_from_inactive_cpu()\n  stop_machine: reorganize stop_cpus() implementation\n  x86, mtrr: lock stop machine during MTRR rendezvous sequence\n"
    },
    {
      "commit": "112ec469663e09ffc815761254b52f3ca787ce83",
      "tree": "18a7d2300dc10b7c2c994107681dffc927589701",
      "parents": [
        "a99a7d1436f9375662f35ccac8f1a1e1b0302a11",
        "cbaa51524b3224813814607177a00c350ee35d12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:18 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  time: Fix stupid KERN_WARN compile issue\n  rtc: Avoid accumulating time drift in suspend/resume\n  time: Avoid accumulating time drift in suspend/resume\n  time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime\n"
    },
    {
      "commit": "bdc7ccfc0631797636837b10df7f87bc1e2e4ae3",
      "tree": "70f09f8ffee07486d41ca254b8abb05692713d1e",
      "parents": [
        "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
        "0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair\n  sched: Replace use of entity_key()\n  sched: Separate group-scheduling code more clearly\n  sched: Reorder root_domain to remove 64 bit alignment padding\n  sched: Do not attempt to destroy uninitialized rt_bandwidth\n  sched: Remove unused function cpu_cfs_rq()\n  sched: Fix (harmless) typo \u0027CONFG_FAIR_GROUP_SCHED\u0027\n  sched, cgroup: Optimize load_balance_fair()\n  sched: Don\u0027t update shares twice on on_rq parent\n  sched: update correct entity\u0027s runtime in check_preempt_wakeup()\n  xtensa: Use generic config PREEMPT definition\n  h8300: Use generic config PREEMPT definition\n  m32r: Use generic PREEMPT config\n  sched: Skip autogroup when looking for all rt sched groups\n  sched: Simplify mutex_spin_on_owner()\n  sched: Remove rcu_read_lock() from wake_affine()\n  sched: Generalize sleep inside spinlock detection\n  sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT\n  sched: Isolate preempt counting in its own config option\n  sched: Remove pointless in_atomic() definition check\n  ...\n"
    },
    {
      "commit": "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
      "tree": "4ed4c74b70240451065165fda5fb2059f8c6b1e5",
      "parents": [
        "0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc",
        "7fcfd1abd6480d3b9ef17f5759c175e036e835cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (123 commits)\n  perf: Remove the nmi parameter from the oprofile_perf backend\n  x86, perf: Make copy_from_user_nmi() a library function\n  perf: Remove perf_event_attr::type check\n  x86, perf: P4 PMU - Fix typos in comments and style cleanup\n  perf tools: Make test use the preset debugfs path\n  perf tools: Add automated tests for events parsing\n  perf tools: De-opt the parse_events function\n  perf script: Fix display of IP address for non-callchain path\n  perf tools: Fix endian conversion reading event attr from file header\n  perf tools: Add missing \u0027node\u0027 alias to the hw_cache[] array\n  perf probe: Support adding probes on offline kernel modules\n  perf probe: Add probed module in front of function\n  perf probe: Introduce debuginfo to encapsulate dwarf information\n  perf-probe: Move dwarf library routines to dwarf-aux.{c, h}\n  perf probe: Remove redundant dwarf functions\n  perf probe: Move strtailcmp to string.c\n  perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END\n  tracing/kprobe: Update symbol reference when loading module\n  tracing/kprobes: Support module init function probing\n  kprobes: Return -ENOENT if probe point doesn\u0027t exist\n  ...\n"
    },
    {
      "commit": "0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc",
      "tree": "fb98291d321a50de2dfd99f9bcaa33274f0c3952",
      "parents": [
        "391d6276db9fbdedfbc30e1b56390414f0e55988",
        "7f70893173b056df691b2ee7546bb44fd9abae6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:08 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Fix wrong check in list_splice_init_rcu()\n  net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu()\n  sysctl,rcu: Convert call_rcu(free_head) to kfree\n  vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu()\n  vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu()\n  ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu()\n  ipc,rcu: Convert call_rcu(free_un) to kfree_rcu()\n  security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu()\n  security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu()\n  ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu()\n  block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu()\n  scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu()\n  audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()\n  security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu()\n  md,rcu: Convert call_rcu(free_conf) to kfree_rcu()\n"
    },
    {
      "commit": "391d6276db9fbdedfbc30e1b56390414f0e55988",
      "tree": "d22cd2482f5452d616ee981e954074ffc6ae094d",
      "parents": [
        "75b56ec294b074d70f8a676ab02611a3fea76cab",
        "dd4e5d3ac4a76b868daf30e35bd572def96c30ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:49 2011 -0700"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix trace_[soft,hard]irqs_[on,off]() recursion\n  printk: Fix console_sem vs logbuf_lock unlock race\n  printk: Release console_sem after logbuf_lock\n"
    },
    {
      "commit": "75b56ec294b074d70f8a676ab02611a3fea76cab",
      "tree": "d5299adb43ac6fc8dcc50c3e438c7f0cdd452b1c",
      "parents": [
        "6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f",
        "efbe2eee6dc0f179be84292bf269528b3ec365e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix lockdep_no_validate against IRQ states\n  mutex: Make mutex_destroy() an inline function\n  plist: Remove the need to supply locks to plist heads\n  lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option\n"
    },
    {
      "commit": "431bf99d26157d56689e5de65bd27ce9f077fc3f",
      "tree": "b15e357039956fcdd0e0e6177d2fc99bb3cfa822",
      "parents": [
        "72f96e0e38d7e29ba16dcfd824ecaebe38b8293e",
        "7ae033cc0dfce68d8e0c83aca60837cf2bf0d2e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:01:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:01:57 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (51 commits)\n  PM: Improve error code of pm_notifier_call_chain()\n  PM: Add \"RTC\" to PM trace time stamps to avoid confusion\n  PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem\n  PM / Suspend: Add .suspend_again() callback to suspend_ops\n  PM / OPP: Introduce function to free cpufreq table\n  ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active\n  PM / Domains: Take .power_off() error code into account\n  ARM / shmobile: Use genpd_queue_power_off_work()\n  ARM / shmobile: Use pm_genpd_poweroff_unused()\n  PM / Domains: Introduce function to power off all unused PM domains\n  OMAP: PM: disable idle on suspend for GPIO and UART\n  OMAP: PM: omap_device: add API to disable idle on suspend\n  OMAP: PM: omap_device: add system PM methods for PM domain handling\n  OMAP: PM: omap_device: conditionally use PM domain runtime helpers\n  PM / Runtime: Add new helper function: pm_runtime_status_suspended()\n  PM / Domains: Queue up power off work only if it is not pending\n  PM / Domains: Improve handling of wakeup devices during system suspend\n  PM / Domains: Do not restore all devices on power off error\n  PM / Domains: Allow callbacks to execute all runtime PM helpers\n  PM / Domains: Do not execute device callbacks under locks\n  ...\n"
    },
    {
      "commit": "5a791ea4fa4495f7136679cb5366f6544148e613",
      "tree": "dc27644add7d5f1165db19c28c25ae842e5f96b2",
      "parents": [
        "8209f53d79444747782a28520187abaf689761f2",
        "9c5a2ba70251ecaab18c7a83e38b3c620223476c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:07:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:07:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-3.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: separate out drain_workqueue() from destroy_workqueue()\n  workqueue: remove cancel_rearming_delayed_work[queue]()\n"
    },
    {
      "commit": "8209f53d79444747782a28520187abaf689761f2",
      "tree": "726270ea29e037f026d77a99787b9d844531ac42",
      "parents": [
        "22a3b9771117d566def0150ea787fcc95f16e724",
        "eac1b5e57d7abc836e78fd3fbcf77dbeed01edc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "message": "Merge branch \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc\n\n* \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (39 commits)\n  ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever\n  ptrace: fix ptrace_signal() \u0026\u0026 STOP_DEQUEUED interaction\n  connector: add an event for monitoring process tracers\n  ptrace: dont send SIGSTOP on auto-attach if PT_SEIZED\n  ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task()\n  ptrace_init_task: initialize child-\u003ejobctl explicitly\n  has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/\n  ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop\n  ptrace: wait_consider_task: s/same_thread_group/ptrace_reparented/\n  ptrace: kill real_parent_is_ptracer() in in favor of ptrace_reparented()\n  ptrace: ptrace_reparented() should check same_thread_group()\n  redefine thread_group_leader() as exit_signal \u003e\u003d 0\n  do not change dead_task-\u003eexit_signal\n  kill task_detached()\n  reparent_leader: check EXIT_DEAD instead of task_detached()\n  make do_notify_parent() __must_check, update the callers\n  __ptrace_detach: avoid task_detached(), check do_notify_parent()\n  kill tracehook_notify_death()\n  make do_notify_parent() return bool\n  ptrace: s/tracehook_tracer_task()/ptrace_parent()/\n  ...\n"
    },
    {
      "commit": "951cc93a7493a81a47e20231441bc6cf17c98a37",
      "tree": "f53934f0f225e0215a85c8c59af4c6513e89e3f1",
      "parents": [
        "a7e1aabb28e8154ce987b622fd78d80a1ca39361",
        "415b3334a21aa67806c52d1acf4e72e14f7f402f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:43:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:43:13 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1287 commits)\n  icmp: Fix regression in nexthop resolution during replies.\n  net: Fix ppc64 BPF JIT dependencies.\n  acenic: include NET_SKB_PAD headroom to incoming skbs\n  ixgbe: convert to ndo_fix_features\n  ixgbe: only enable WoL for magic packet by default\n  ixgbe: remove ifdef check for non-existent define\n  ixgbe: Pass staterr instead of re-reading status and error bits from descriptor\n  ixgbe: Move interrupt related values out of ring and into q_vector\n  ixgbe: add structure for containing RX/TX rings to q_vector\n  ixgbe: inline the ixgbe_maybe_stop_tx function\n  ixgbe: Update ATR to use recorded TX queues instead of CPU for routing\n  igb: Fix for DH89xxCC near end loopback test\n  e1000: always call e1000_check_for_link() on e1000_ce4100 MACs.\n  netxen: add fw version compatibility check\n  be2net: request native mode each time the card is reset\n  ipv4: Constrain UFO fragment sizes to multiples of 8 bytes\n  virtio_net: Fix panic in virtnet_remove\n  ipv6: make fragment identifications less predictable\n  ipv6: unshare inetpeers\n  can: make function can_get_bittiming static\n  ...\n"
    },
    {
      "commit": "0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd",
      "tree": "9164575614f17bbce9a03128af460e997189a808",
      "parents": [
        "2bd2d6f2dc952fc44fc52887de36e51896da96b9"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Fri Jul 22 09:14:31 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 22 12:47:22 2011 +0200"
      },
      "message": "sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair\n\nNo need to define a new \"cfs_rq\" variable in the \"for\" block.\nJust use the one at the top of the function.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311297271.3938.1352.camel@minggr.sh.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "033b1142f4bd44a116d1356fe4a0510437ceddf9",
      "tree": "d2a971a7dc9f3a1af8035e38419c4c4ad8c22632",
      "parents": [
        "f5caadbb3d8fc0b71533e880c684b2230bdb76ac",
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:38:42 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 13:38:42 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n"
    },
    {
      "commit": "f5caadbb3d8fc0b71533e880c684b2230bdb76ac",
      "tree": "7a23a2b44f6e043d9cb6ad4245b78da4bd2e14b0",
      "parents": [
        "0ca87f05ba8bdc6791c14878464efc901ad71e99",
        "0f598f0b4c3b2259366cfa8adc01bd8e714c82d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 12:39:35 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 12:39:35 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "efbe2eee6dc0f179be84292bf269528b3ec365e9",
      "tree": "40996bc1d349f1747a5dd0261bdc1c84db2631de",
      "parents": [
        "4582c0a4866ea70c35aa9279e1f91834d3348a93"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 07 11:39:45 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:43:16 2011 +0200"
      },
      "message": "lockdep: Fix lockdep_no_validate against IRQ states\n\nThomas noticed that a lock marked with lockdep_set_novalidate_class()\nwill still trigger warnings for IRQ inversions. Cure this by skipping\nthose when marking irq state.\n\nReported-and-tested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-2dp5vmpsxeraqm42kgww6ge2@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9985c20f9e4aee6857c08246b273a3695a52b929",
      "tree": "e2942d148c4cbd51ddcaa8c9b8e47229a31f6e34",
      "parents": [
        "f53173e47dee5f7514d264796bec58d43ed0f67f"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Thu Jun 30 08:09:55 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:55 2011 +0200"
      },
      "message": "perf: Remove perf_event_attr::type check\n\nPMU type id can be allocated dynamically, so perf_event_attr::type check\nwhen copying attribute from userspace to kernel is not valid.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309421396-17438-4-git-send-email-ming.m.lin@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2bd2d6f2dc952fc44fc52887de36e51896da96b9",
      "tree": "0b08e0ae13cad776cb216a4b85b1eb8d6eda6611",
      "parents": [
        "acb5a9ba3bd7cd8b3264f67a3789a9587d3b935b"
      ],
      "author": {
        "name": "Stephan Baerwolf",
        "email": "stephan.baerwolf@tu-ilmenau.de",
        "time": "Wed Jul 20 14:46:59 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:55 2011 +0200"
      },
      "message": "sched: Replace use of entity_key()\n\n\"entity_key()\" is only used in \"__enqueue_entity()\" and\nits only function is to subtract a tasks vruntime by\nits groups minvruntime.\nBefore this patch a rbtree enqueue-decision is done by\ncomparing two tasks in the style:\n\n\t\"if (entity_key(cfs_rq, se) \u003c entity_key(cfs_rq, entry))\"\n\nwhich would be\n\n\t\"if (se-\u003evruntime-cfs_rq-\u003emin_vruntime \u003c entry-\u003evruntime-cfs_rq-\u003emin_vruntime)\"\n\nor (if reducing cfs_rq-\u003emin_vruntime out)\n\n\t\"if (se-\u003evruntime \u003c entry-\u003evruntime)\"\n\nwhich is\n\n\t\"if (entity_before(se, entry))\"\n\nSo we do not need \"entity_key()\".\nIf \"entity_before()\" is inline we will also save one subtraction (only one,\nbecause \"entity_key(cfs_rq, se)\"  was cached in \"key\")\n\nSigned-off-by: Stephan Baerwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-ns12mnd2h5w8rb9agd8hnsfk@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acb5a9ba3bd7cd8b3264f67a3789a9587d3b935b",
      "tree": "aa384f35760185200183a0a6f53ec8e4ce1d553f",
      "parents": [
        "26a148eb9c790149750f7e77da0d96029443d400"
      ],
      "author": {
        "name": "Jan H. Schönherr",
        "email": "schnhrr@cs.tu-berlin.de",
        "time": "Thu Jul 14 18:32:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:54 2011 +0200"
      },
      "message": "sched: Separate group-scheduling code more clearly\n\nClean up cfs/rt runqueue initialization by moving group scheduling\nrelated code into the corresponding functions.\n\nAlso, keep group scheduling as an add-on, so that things are only done\nadditionally, i. e. remove the init_*_rq() calls from init_tg_*_entry().\n(This removes a redundant initalization during sched_init()).\n\nIn case of group scheduling rt_rq-\u003ehighest_prio.curr is now initialized\ntwice, but adding another #ifdef seems not worth it.\n\nSigned-off-by: Jan H. Schönherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310661163-16606-1-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26a148eb9c790149750f7e77da0d96029443d400",
      "tree": "25d64457be424e6072dd5d7a75c868615dc3b063",
      "parents": [
        "99bc52429f11d1f4f81495ac8237085aaeb6bccf"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Fri Jul 15 11:41:31 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:52 2011 +0200"
      },
      "message": "sched: Reorder root_domain to remove 64 bit alignment padding\n\nReorder root_domain to remove 8 bytes of alignment padding on 64 bit\nbuilds, this shrinks the size from 1736 to 1728 bytes, therefore using\none fewer cachelines.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310726492.1977.5.camel@castor.rsk\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "99bc52429f11d1f4f81495ac8237085aaeb6bccf",
      "tree": "af5b2f44ceb1382b836dc9171fe296b3d35dd48d",
      "parents": [
        "045176d22f08bc0b650a028df0f62fc3c2747699"
      ],
      "author": {
        "name": "Bianca Lutz",
        "email": "sowilo@cs.tu-berlin.de",
        "time": "Wed Jul 13 20:13:36 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:51 2011 +0200"
      },
      "message": "sched: Do not attempt to destroy uninitialized rt_bandwidth\n\nIf a task group is to be created and alloc_fair_sched_group() fails,\nthen the rt_bandwidth of the corresponding task group is not yet\ninitialized. The caller, sched_create_group(), starts a clean up\nprocedure which calls free_rt_sched_group() which unconditionally\ndestroys the not yet initialized rt_bandwidth.\n\nThis crashes or hangs the system in lock_hrtimer_base(): UP systems\ndereference a NULL pointer, while SMP systems loop endlessly on a\ncondition that cannot become true.\n\nThis patch simply avoids the destruction of rt_bandwidth when the\ninitialization code path was not reached.\n\n(This was discovered by accident with a custom kernel modification.)\n\nSigned-off-by: Bianca Lutz \u003csowilo@cs.tu-berlin.de\u003e\nSigned-off-by: Jan Schoenherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310580816-10861-7-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "045176d22f08bc0b650a028df0f62fc3c2747699",
      "tree": "8dc6dd7afa8b953a593f7302314aa032bd472b36",
      "parents": [
        "5f817d676b7b7ac4a29f5ed93063ae7a24550c12"
      ],
      "author": {
        "name": "Jan Schoenherr",
        "email": "schnhrr@cs.tu-berlin.de",
        "time": "Wed Jul 13 20:13:32 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:49 2011 +0200"
      },
      "message": "sched: Remove unused function cpu_cfs_rq()\n\nThe last reference to cpu_cfs_rq() was removed with commit 88ec22d3\n(\"sched: Remove the cfs_rq dependency from set_task_cpu()\"). Thus,\nremove this function, too.\n\nSigned-off-by: Jan Schoenherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310580816-10861-3-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f817d676b7b7ac4a29f5ed93063ae7a24550c12",
      "tree": "5d8c29ac72afb80627ef547f3fa961314494cfe9",
      "parents": [
        "9763b67fb9f3050c6da739105888327587c30c4d"
      ],
      "author": {
        "name": "Jan Schoenherr",
        "email": "schnhrr@cs.tu-berlin.de",
        "time": "Wed Jul 13 20:13:31 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:48 2011 +0200"
      },
      "message": "sched: Fix (harmless) typo \u0027CONFG_FAIR_GROUP_SCHED\u0027\n\nThis patch fixes a typo located in a comment.\n\nSigned-off-by: Jan Schoenherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310580816-10861-2-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9763b67fb9f3050c6da739105888327587c30c4d",
      "tree": "822e6a5243c3d872f86d9c9b980896bc4cd8a491",
      "parents": [
        "9598c82dcacadc3b9daa8170613fd054c6124d30"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 13 13:09:25 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:46 2011 +0200"
      },
      "message": "sched, cgroup: Optimize load_balance_fair()\n\nUse for_each_leaf_cfs_rq() instead of list_for_each_entry_rcu(), this\nachieves that load_balance_fair() only iterates those task_groups that\nactually have tasks on busiest, and that we iterate bottom-up, trying to\nmove light groups before the heavier ones.\n\nNo idea if it will actually work out to be beneficial in practice, does\nanybody have a cgroup workload that might show a difference one way or\nthe other?\n\n[ Also move update_h_load to sched_fair.c, loosing #ifdef-ery ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nLink: http://lkml.kernel.org/r/1310557009.2586.28.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9598c82dcacadc3b9daa8170613fd054c6124d30",
      "tree": "1d6c8b5c1aa9882bf9f5f64b68356baf625d23f8",
      "parents": [
        "9bbd7374361d9bfc75108c3ad1c1b6db28b1be59"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Jul 06 22:30:37 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:44 2011 +0200"
      },
      "message": "sched: Don\u0027t update shares twice on on_rq parent\n\nIn dequeue_task_fair() we bail on dequeue when we encounter a parenting entity\nwith additional weight.  However, we perform a double shares update on this\nentity as we continue the shares update traversal from this point, despite\ndequeue_entity() having already updated its queuing cfs_rq.\nAvoid this by starting from the parent when we resume.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110707053059.797714697@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9bbd7374361d9bfc75108c3ad1c1b6db28b1be59",
      "tree": "d787a387a2a2e3d8c0476b79ae57dd217098763f",
      "parents": [
        "994bf1c92270e3d7731ea08f1d1bd7a668314e60"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Tue Jul 05 19:07:21 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:43 2011 +0200"
      },
      "message": "sched: update correct entity\u0027s runtime in check_preempt_wakeup()\n\nWhile looking at check_preempt_wakeup() I realized that we are\npotentially updating the wrong entity in the fair-group scheduling\ncase. In this case the current task\u0027s cfs_rq may not be the same as\nthe one used for the comparison between the waking task and the\nexisting task\u0027s vruntime.\n\nThis potentially results in us using a stale vruntime in the\npre-emption decision, providing a small false preference for the\nprevious task. The effects of this are bounded since we always\nperform a hierarchal update on the tick.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/CAPM31R+2Ke2urUZKao5W92_LupdR4AYEv-EZWiJ3tG\u003dtEes2cw@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "994bf1c92270e3d7731ea08f1d1bd7a668314e60",
      "tree": "4409a21eab486e53fbe350a66e8a4f28b7a720c0",
      "parents": [
        "bd96efe17d945f0bad56d592f8686dc6309905e7",
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 17:59:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:00:01 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: pick up the latest scheduler fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8a35241803eeb0e9fd3fe27835d6b2775c73b641",
      "tree": "09f15db936084e239279844bcb6db6608e2bb06f",
      "parents": [
        "f701e5b73a1a79ea62ffd45d9e2bed4c7d5c1fd2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jul 21 17:06:53 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jul 21 17:06:53 2011 +0200"
      },
      "message": "ptrace: fix ptrace_signal() \u0026\u0026 STOP_DEQUEUED interaction\n\nSimple test-case,\n\n\tint main(void)\n\t{\n\t\tint pid, status;\n\n\t\tpid \u003d fork();\n\t\tif (!pid) {\n\t\t\tpause();\n\t\t\tassert(0);\n\t\t\treturn 0x23;\n\t\t}\n\n\t\tassert(ptrace(PTRACE_ATTACH, pid, 0,0) \u003d\u003d 0);\n\t\tassert(wait(\u0026status) \u003d\u003d pid);\n\t\tassert(WIFSTOPPED(status) \u0026\u0026 WSTOPSIG(status) \u003d\u003d SIGSTOP);\n\n\t\tkill(pid, SIGCONT);\t// \u003c--- also clears STOP_DEQUEUD\n\n\t\tassert(ptrace(PTRACE_CONT, pid, 0,0) \u003d\u003d 0);\n\t\tassert(wait(\u0026status) \u003d\u003d pid);\n\t\tassert(WIFSTOPPED(status) \u0026\u0026 WSTOPSIG(status) \u003d\u003d SIGCONT);\n\n\t\tassert(ptrace(PTRACE_CONT, pid, 0, SIGSTOP) \u003d\u003d 0);\n\t\tassert(wait(\u0026status) \u003d\u003d pid);\n\t\tassert(WIFSTOPPED(status) \u0026\u0026 WSTOPSIG(status) \u003d\u003d SIGSTOP);\n\n\t\tkill(pid, SIGKILL);\n\t\treturn 0;\n\t}\n\nWithout the patch it hangs. After the patch SIGSTOP \"injected\" by the\ntracer is not ignored and stops the tracee.\n\nNote also that if this test-case uses, say, SIGWINCH instead of SIGCONT,\neverything works without the patch. This can\u0027t be right, and this is\nconfusing.\n\nThe problem is that SIGSTOP (or any other sig_kernel_stop() signal) has\nno effect without JOBCTL_STOP_DEQUEUED. This means it is simply ignored\nafter PTRACE_CONT unless JOBCTL_STOP_DEQUEUED was set \"by accident\", say\nit wasn\u0027t cleared after initial SIGSTOP sent by PTRACE_ATTACH.\n\nAt first glance we could change ptrace_signal() to add STOP_DEQUEUED\nafter return from ptrace_stop(), but this is not right in case when the\ntracer does not change the reported SIGSTOP and SIGCONT comes in between.\nThis is even more wrong with PT_SEIZED, SIGCONT adds JOBCTL_TRAP_NOTIFY\nwhich will be \"lost\" during the TRAP_STOP | TRAP_NOTIFY report.\n\nSo lets add STOP_DEQUEUED _before_ we report the signal. It has no effect\nunless sig_kernel_stop() \u003d\u003d T after the tracer resumes us, and in the\nlatter case the pending STOP_DEQUEUED means no SIGCONT in between, we\nshould stop.\n\nNote also that if SIGCONT was sent, PT_SEIZED tracee will correctly\nreport PTRACE_EVENT_STOP/SIGTRAP and thus the tracer can notice the fact\nSIGSTOP was cancelled.\n\nAlso, move the current-\u003eptrace check from ptrace_signal() to its caller,\nget_signal_to_deliver(), this looks more natural.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "40bcea7bbe8fe452a2d272e2ffd3dea281eec9ff",
      "tree": "aedb6d02e53e3cf84cc32fd81db84032cee205e1",
      "parents": [
        "492f73a303b488ffd67097b2351d54aa6e6c7c73",
        "14a8fd7ceea6915c613746203d6e9a2bf273f16c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:32:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:32:40 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "492f73a303b488ffd67097b2351d54aa6e6c7c73",
      "tree": "6e6c16fbd628bb5eb577cfc70a488ca286563e58",
      "parents": [
        "e08fbb78f03fe2c4f88824faf6f51ce6af185e11",
        "f7bc8b61f65726ff98f52e286b28e294499d7a08"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:29:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:29:21 2011 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: pick up the latest fixes - they won\u0027t make v3.0.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11b80f459adaf91a712f95e7734a17655a36bf30",
      "tree": "b325ce2cb09cbe9e7d98879c71054621dbb97c3c",
      "parents": [
        "bd5fe6c5eb9c548d7f07fe8f89a150bb6705e8e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:44 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:47 2011 -0400"
      },
      "message": "rw_semaphore: remove up/down_read_non_owner\n\nNow that the last users is gone these can be removed.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f",
      "tree": "489c64380668e8c5a29d3f36f37554e4b081a647",
      "parents": [
        "acc11eab70591744369722280c9ce162a6193494",
        "d1e9ae47a0285d3f1699e8219ce50f656243b93f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: align __lock_task_sighand() irq disabling and RCU\n  softirq,rcu: Inform RCU of irq_exit() activity\n  sched: Add irq_{enter,exit}() to scheduler_ipi()\n  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n  rcu: Streamline code produced by __rcu_read_unlock()\n  rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n  rcu: decrease rcu_report_exp_rnp coupling with scheduler\n"
    },
    {
      "commit": "cbaa51524b3224813814607177a00c350ee35d12",
      "tree": "34f0fabff444e5dde2ee2b92d841abb97daf41b1",
      "parents": [
        "3dcad5ff08f65ae30832220a0e0ee2eac3502a1a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Jul 20 15:42:55 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Jul 20 15:42:55 2011 -0700"
      },
      "message": "time: Fix stupid KERN_WARN compile issue\n\nTerribly embarassing. Don\u0027t know how I committed this, but its\nKERN_WARNING not KERN_WARN.\n\nThis fixes the following compile error:\nkernel/time/timekeeping.c: In function ‘__timekeeping_inject_sleeptime’:\nkernel/time/timekeeping.c:608: error: ‘KERN_WARN’ undeclared (first use in this function)\nkernel/time/timekeeping.c:608: error: (Each undeclared identifier is reported only once\nkernel/time/timekeeping.c:608: error: for each function it appears in.)\nkernel/time/timekeeping.c:608: error: expected ‘)’ before string constant\nmake[2]: *** [kernel/time/timekeeping.o] Error 1\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a95cded32de3deae13af34715200532e6823cc9f",
      "tree": "b6085f03d7fac7993a655e3796b4286c4db96694",
      "parents": [
        "22a3c7d188c2b7bfc8e949bf9fad215c094ba78b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun May 01 23:21:00 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 14:10:18 2011 -0700"
      },
      "message": "sysctl,rcu: Convert call_rcu(free_head) to kfree\n\nThe RCU callback free_head just calls kfree(), so we can use kfree_rcu()\ninstead of call_rcu().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "3b097c46964b07479855b01056c61540b8cadd50",
      "tree": "67df2b10ea2692000e7e5df18499e6ba51e1952c",
      "parents": [
        "6034f7e603cd2dae8ed9a1d8d2ccfeb6b5c48d73"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:03:53 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 14:10:11 2011 -0700"
      },
      "message": "audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()\n\nThe rcu callback __put_tree() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(__put_tree).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "d1e9ae47a0285d3f1699e8219ce50f656243b93f",
      "tree": "2f5a68b5ba1677bcd49ee759f09ffc5ccccb1455",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b",
        "a841796f11c90d53dbac773be56b04fbee8af272"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/urgent\n"
    },
    {
      "commit": "a841796f11c90d53dbac773be56b04fbee8af272",
      "tree": "9401a53faddecc7c1644565d0e22630028f82bca",
      "parents": [
        "ec433f0c51527426989ea8a38a856d810d739414"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jul 19 03:25:36 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 11:04:54 2011 -0700"
      },
      "message": "signal: align __lock_task_sighand() irq disabling and RCU\n\nThe __lock_task_sighand() function calls rcu_read_lock() with interrupts\nand preemption enabled, but later calls rcu_read_unlock() with interrupts\ndisabled.  It is therefore possible that this RCU read-side critical\nsection will be preempted and later RCU priority boosted, which means that\nrcu_read_unlock() will call rt_mutex_unlock() in order to deboost itself, but\nwith interrupts disabled. This results in lockdep splats, so this commit\nnests the RCU read-side critical section within the interrupt-disabled\nregion of code.  This prevents the RCU read-side critical section from\nbeing preempted, and thus prevents the attempt to deboost with interrupts\ndisabled.\n\nIt is quite possible that a better long-term fix is to make rt_mutex_unlock()\ndisable irqs when acquiring the rt_mutex structure\u0027s -\u003ewait_lock.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ec433f0c51527426989ea8a38a856d810d739414",
      "tree": "001550d7b18b3f2b5326da3f9dfd893e31c8dc1c",
      "parents": [
        "c5d753a55ac92e09816d410cd17093813f1a904b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 19 15:32:00 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:12 2011 -0700"
      },
      "message": "softirq,rcu: Inform RCU of irq_exit() activity\n\nThe rcu_read_unlock_special() function relies on in_irq() to exclude\nscheduler activity from interrupt level.  This fails because exit_irq()\ncan invoke the scheduler after clearing the preempt_count() bits that\nin_irq() uses to determine that it is at interrupt level.  This situation\ncan result in failures as follows:\n\n $task\t\t\tIRQ\t\tSoftIRQ\n\n rcu_read_lock()\n\n /* do stuff */\n\n \u003cpreempt\u003e |\u003d UNLOCK_BLOCKED\n\n rcu_read_unlock()\n   --t-\u003ercu_read_lock_nesting\n\n\t\t\tirq_enter();\n\t\t\t/* do stuff, don\u0027t use RCU */\n\t\t\tirq_exit();\n\t\t\t  sub_preempt_count(IRQ_EXIT_OFFSET);\n\t\t\t  invoke_softirq()\n\n\t\t\t\t\tttwu();\n\t\t\t\t\t  spin_lock_irq(\u0026pi-\u003elock)\n\t\t\t\t\t  rcu_read_lock();\n\t\t\t\t\t  /* do stuff */\n\t\t\t\t\t  rcu_read_unlock();\n\t\t\t\t\t    rcu_read_unlock_special()\n\t\t\t\t\t      rcu_report_exp_rnp()\n\t\t\t\t\t        ttwu()\n\t\t\t\t\t          spin_lock_irq(\u0026pi-\u003elock) /* deadlock */\n\n   rcu_read_unlock_special(t);\n\nEd can simply trigger this \u0027easy\u0027 because invoke_softirq() immediately\ndoes a ttwu() of ksoftirqd/# instead of doing the in-place softirq stuff\nfirst, but even without that the above happens.\n\nCure this by also excluding softirqs from the\nrcu_read_unlock_special() handler and ensuring the force_irqthreads\nksoftirqd/# wakeup is done from full softirq context.\n\n[ Alternatively, delaying the -\u003ercu_read_lock_nesting decrement\n  until after the special handling would make the thing more robust\n  in the face of interrupts as well.  And there is a separate patch\n  for that. ]\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-and-tested-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c5d753a55ac92e09816d410cd17093813f1a904b",
      "tree": "162c63edcc463e18d50fb5b5be479785f02222c4",
      "parents": [
        "10f39bb1b2c1923ca73e70cb13aeee0e9b822d8f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 19 15:07:25 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:11 2011 -0700"
      },
      "message": "sched: Add irq_{enter,exit}() to scheduler_ipi()\n\nEnsure scheduler_ipi() calls irq_{enter,exit} when it does some actual\nwork. Traditionally we never did any actual work from the resched IPI\nand all magic happened in the return from interrupt path.\n\nNow that we do do some work, we need to ensure irq_{enter,exit} are\ncalled so that we don\u0027t confuse things.\n\nThis affects things like timekeeping, NO_HZ and RCU, basically\neverything with a hook in irq_enter/exit.\n\nExplicit examples of things going wrong are:\n\n  sched_clock_cpu() -- has a callback when leaving NO_HZ state to take\n                    a new reading from GTOD and TSC. Without this\n                    callback, time is stuck in the past.\n\n  RCU -- needs in_irq() to work in order to avoid some nasty deadlocks\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "10f39bb1b2c1923ca73e70cb13aeee0e9b822d8f",
      "tree": "2e8349c57b1f0563a27be49410f413b643ded1a9",
      "parents": [
        "be0e1e21ef707be4d16ea6a96ac9997463e4b8d2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Jul 17 21:14:35 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:11 2011 -0700"
      },
      "message": "rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n\nThe addition of RCU read-side critical sections within runqueue and\npriority-inheritance lock critical sections introduced some deadlock\ncycles, for example, involving interrupts from __rcu_read_unlock()\nwhere the interrupt handlers call wake_up().  This situation can cause\nthe instance of __rcu_read_unlock() invoked from interrupt to do some\nof the processing that would otherwise have been carried out by the\ntask-level instance of __rcu_read_unlock().  When the interrupt-level\ninstance of __rcu_read_unlock() is called with a scheduler lock held\nfrom interrupt-entry/exit situations where in_irq() returns false,\ndeadlock can result.\n\nThis commit resolves these deadlocks by using negative values of\nthe per-task -\u003ercu_read_lock_nesting counter to indicate that an\ninstance of __rcu_read_unlock() is in flight, which in turn prevents\ninstances from interrupt handlers from doing any special processing.\nThis patch is inspired by Steven Rostedt\u0027s earlier patch that similarly\nmade __rcu_read_unlock() guard against interrupt-mediated recursion\n(see https://lkml.org/lkml/2011/7/15/326), but this commit refines\nSteven\u0027s approach to avoid the need for preemption disabling on the\n__rcu_read_unlock() fastpath and to also avoid the need for manipulating\na separate per-CPU variable.\n\nThis patch avoids need for preempt_disable() by instead using negative\nvalues of the per-task -\u003ercu_read_lock_nesting counter.  Note that nested\nrcu_read_lock()/rcu_read_unlock() pairs are still permitted, but they will\nnever see -\u003ercu_read_lock_nesting go to zero, and will therefore never\ninvoke rcu_read_unlock_special(), thus preventing them from seeing the\nRCU_READ_UNLOCK_BLOCKED bit should it be set in -\u003ercu_read_unlock_special.\nThis patch also adds a check for -\u003ercu_read_unlock_special being negative\nin rcu_check_callbacks(), thus preventing the RCU_READ_UNLOCK_NEED_QS\nbit from being set should a scheduling-clock interrupt occur while\n__rcu_read_unlock() is exiting from an outermost RCU read-side critical\nsection.\n\nOf course, __rcu_read_unlock() can be preempted during the time that\n-\u003ercu_read_lock_nesting is negative.  This could result in the setting\nof the RCU_READ_UNLOCK_BLOCKED bit after __rcu_read_unlock() checks it,\nand would also result it this task being queued on the corresponding\nrcu_node structure\u0027s blkd_tasks list.  Therefore, some later RCU read-side\ncritical section would enter rcu_read_unlock_special() to clean up --\nwhich could result in deadlock if that critical section happened to be in\nthe scheduler where the runqueue or priority-inheritance locks were held.\n\nThis situation is dealt with by making rcu_preempt_note_context_switch()\ncheck for negative -\u003ercu_read_lock_nesting, thus refraining from\nqueuing the task (and from setting RCU_READ_UNLOCK_BLOCKED) if we are\nalready exiting from the outermost RCU read-side critical section (in\nother words, we really are no longer actually in that RCU read-side\ncritical section).  In addition, rcu_preempt_note_context_switch()\ninvokes rcu_read_unlock_special() to carry out the cleanup in this case,\nwhich clears out the -\u003ercu_read_unlock_special bits and dequeues the task\n(if necessary), in turn avoiding needless delay of the current RCU grace\nperiod and needless RCU priority boosting.\n\nIt is still illegal to call rcu_read_unlock() while holding a scheduler\nlock if the prior RCU read-side critical section has ever had either\npreemption or irqs enabled.  However, the common use case is legal,\nnamely where then entire RCU read-side critical section executes with\nirqs disabled, for example, when the scheduler lock is held across the\nentire lifetime of the RCU read-side critical section.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d110235d2c331c4f79e0879f51104be79e17a469",
      "tree": "d56bb05a1274f9e7c6a20467d2d04713c185e7ce",
      "parents": [
        "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 20 18:42:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:54:33 2011 +0200"
      },
      "message": "sched: Avoid creating superfluous NUMA domains on non-NUMA systems\n\nWhen creating sched_domains, stop when we\u0027ve covered the entire\ntarget span instead of continuing to create domains, only to\nlater find they\u0027re redundant and throw them away again.\n\nThis avoids single node systems from touching funny NUMA\nsched_domain creation code and reduces the risks of the new\nSD_OVERLAP code.\n\nRequested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: mahesh@linux.vnet.ibm.com\nCc: benh@kernel.crashing.org\nCc: linuxppc-dev@lists.ozlabs.org\nLink: http://lkml.kernel.org/r/1311180177.29152.57.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c",
      "tree": "414bf6bdbad3f04f629fa2a72254ea85acf723f4",
      "parents": [
        "9c3f75cbd144014bea6af866a154cc2e73ab2287"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 15 10:35:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:41 2011 +0200"
      },
      "message": "sched: Allow for overlapping sched_domain spans\n\nAllow for sched_domain spans that overlap by giving such domains their\nown sched_group list instead of sharing the sched_groups amongst\neach-other.\n\nThis is needed for machines with more than 16 nodes, because\nsched_domain_node_span() will generate a node mask from the\n16 nearest nodes without regard if these masks have any overlap.\n\nCurrently sched_domains have a sched_group that maps to their child\nsched_domain span, and since there is no overlap we share the\nsched_group between the sched_domains of the various CPUs. If however\nthere is overlap, we would need to link the sched_group list in\ndifferent ways for each cpu, and hence sharing isn\u0027t possible.\n\nIn order to solve this, allocate private sched_groups for each CPU\u0027s\nsched_domain but have the sched_groups share a sched_group_power\nstructure such that we can uniquely track the power.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-08bxqw9wis3qti9u5inifh3y@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c3f75cbd144014bea6af866a154cc2e73ab2287",
      "tree": "2a565f7ff0820269973415c5605e313cfff903b4",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 14 13:00:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:40 2011 +0200"
      },
      "message": "sched: Break out cpu_power from the sched_group structure\n\nIn order to prepare for non-unique sched_groups per domain, we need to\ncarry the cpu_power elsewhere, so put a level of indirection in.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-qkho2byuhe4482fuknss40ad@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6657719390cd05be45f4e3b501d8bb46889c0a19",
      "tree": "8d2d97f645b05badd134526659f5d9adc7ab9234",
      "parents": [
        "1ba106818615faddb63ba782f85f3498b9eb61c6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 28 15:41:10 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:07 2011 -0400"
      },
      "message": "make sure that nsproxy_cache is initialized early enough\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3bfa784a6539f91a27d7ffdd408efdb638e3bebd",
      "tree": "2fb293076c98a4bbc18fd2ddad7fdc4cea08c384",
      "parents": [
        "1b5d783c94c328d406e801566f161adcfb018dda"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 19 12:55:10 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:11 2011 -0400"
      },
      "message": "kill file_permission() completely\n\nconvert the last remaining caller to inode_permission()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be0e1e21ef707be4d16ea6a96ac9997463e4b8d2",
      "tree": "fe53c0731f5c3a6e56e2358eee9b8f17c3af83f4",
      "parents": [
        "7765be2fec0f476fcd61812d5f9406b04c765020"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 21 05:57:18 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:53 2011 -0700"
      },
      "message": "rcu: Streamline code produced by __rcu_read_unlock()\n\nGiven some common flag combinations, particularly -Os, gcc will inline\nrcu_read_unlock_special() despite its being in an unlikely() clause.\nUse noinline to prohibit this misoptimization.\n\nIn addition, move the second barrier() in __rcu_read_unlock() so that\nit is not on the common-case code path.  This will allow the compiler to\ngenerate better code for the common-case path through __rcu_read_unlock().\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\n"
    },
    {
      "commit": "7765be2fec0f476fcd61812d5f9406b04c765020",
      "tree": "e89ccb3fbd5655090b05f608f8e1d39924f23a9a",
      "parents": [
        "131906b0062ddde7f85bbe67754983c754648bd8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jul 14 12:24:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:52 2011 -0700"
      },
      "message": "rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n\nThe RCU_BOOST commits for TREE_PREEMPT_RCU introduced an other-task\nwrite to a new RCU_READ_UNLOCK_BOOSTED bit in the task_struct structure\u0027s\n-\u003ercu_read_unlock_special field, but, as noted by Steven Rostedt, without\ncorrectly synchronizing all accesses to -\u003ercu_read_unlock_special.\nThis could result in bits in -\u003ercu_read_unlock_special being spuriously\nset and cleared due to conflicting accesses, which in turn could result\nin deadlocks between the rcu_node structure\u0027s -\u003elock and the scheduler\u0027s\nrq and pi locks.  These deadlocks would result from RCU incorrectly\nbelieving that the just-ended RCU read-side critical section had been\npreempted and/or boosted.  If that RCU read-side critical section was\nexecuted with either rq or pi locks held, RCU\u0027s ensuing (incorrect)\ncalls to the scheduler would cause the scheduler to attempt to once\nagain acquire the rq and pi locks, resulting in deadlock.  More complex\ndeadlock cycles are also possible, involving multiple rq and pi locks\nas well as locks from multiple rcu_node structures.\n\nThis commit fixes synchronization by creating -\u003ercu_boosted field in\ntask_struct that is accessed and modified only when holding the -\u003elock\nin the rcu_node structure on which the task is queued (on that rcu_node\nstructure\u0027s -\u003eblkd_tasks list).  This results in tasks accessing only\ntheir own current-\u003ercu_read_unlock_special fields, making unsynchronized\naccess once again legal, and keeping the rcu_read_unlock() fastpath free\nof atomic instructions and memory barriers.\n\nThe reason that the rcu_read_unlock() fastpath does not need to access\nthe new current-\u003ercu_boosted field is that this new field cannot\nbe non-zero unless the RCU_READ_UNLOCK_BLOCKED bit is set in the\ncurrent-\u003ercu_read_unlock_special field.  Therefore, rcu_read_unlock()\nneed only test current-\u003ercu_read_unlock_special: if that is zero, then\ncurrent-\u003ercu_boosted must also be zero.\n\nThis bug does not affect TINY_PREEMPT_RCU because this implementation\nof RCU accesses current-\u003ercu_read_unlock_special with irqs disabled,\nthus preventing races on the !SMP systems that TINY_PREEMPT_RCU runs on.\n\nMaybe-reported-by: Dave Jones \u003cdavej@redhat.com\u003e\nMaybe-reported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "131906b0062ddde7f85bbe67754983c754648bd8",
      "tree": "1b92eacb707befb294b4d9985f10aa44715cba16",
      "parents": [
        "b0d304172f49061b4ff78f9e2b02719ac69c8a7e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Jul 17 02:05:49 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:51 2011 -0700"
      },
      "message": "rcu: decrease rcu_report_exp_rnp coupling with scheduler\n\nPREEMPT_RCU read-side critical sections blocking an expedited grace\nperiod invoke rcu_report_exp_rnp().  When the last such critical section\nhas completed, rcu_report_exp_rnp() invokes the scheduler to wake up the\ntask that invoked synchronize_rcu_expedited() -- needlessly holding the\nroot rcu_node structure\u0027s lock while doing so, thus needlessly providing\na way for RCU and the scheduler to deadlock.\n\nThis commit therefore releases the root rcu_node structure\u0027s lock before\ncalling wake_up().\n\nReported-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e78e8f2d8318851d0911039999c903a6082bef2e",
      "tree": "6de5c0c1fd3219985116b2225448c0c0f8a23093",
      "parents": [
        "f210735fe2f17a6225432ee3d1239bcf23a8659c"
      ],
      "author": {
        "name": "Peter Foley",
        "email": "pefoley2@verizon.net",
        "time": "Tue Jul 05 19:42:18 2011 -0400"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Jul 20 01:32:32 2011 +0200"
      },
      "message": "kernel: prevent unnecessary rebuilding due to config_data.gz\n\nWhen IKCONFIG is built-in make oldconfig will cause the kernel to be\nrelinked even if .config didn\u0027t change. This happens because of a\nconfig_data.gz dependency on .config. This patch changes the if_changed\nto a filechk so that config_data.h is only rebuilt when the contents\nhave actually changed.\n\nSigned-off-by: Peter Foley \u003cpefoley2@verizon.net\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "f701e5b73a1a79ea62ffd45d9e2bed4c7d5c1fd2",
      "tree": "10940ea680a1c8c69cbd9f9aa9aca23a1199aa0e",
      "parents": [
        "d184d6eb1dc3c9869e25a8e422be5c55ab0db4ac"
      ],
      "author": {
        "name": "Vladimir Zapolskiy",
        "email": "vzapolskiy@gmail.com",
        "time": "Fri Jul 15 20:45:18 2011 +0300"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Jul 18 21:38:33 2011 +0200"
      },
      "message": "connector: add an event for monitoring process tracers\n\nThis change adds a procfs connector event, which is emitted on every\nsuccessful process tracer attach or detach.\n\nIf some process connects to other one, kernelspace connector reports\nprocess id and thread group id of both these involved processes. On\ndisconnection null process id is returned.\n\nSuch an event allows to create a simple automated userspace mechanism\nto be aware about processes connecting to others, therefore predefined\nprocess policies can be applied to them if needed.\n\nNote, a detach signal is emitted only in case, if a tracer process\nexplicitly executes PTRACE_DETACH request. In other cases like tracee\nor tracer exit detach event from proc connector is not reported.\n\nSigned-off-by: Vladimir Zapolskiy \u003cvzapolskiy@gmail.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "dcace06cc29df927a74a6bc0e57b9bef87704377",
      "tree": "9a04518032869b1ed79933026379ea0d7081e43a",
      "parents": [
        "6634ae1033ceaeca5877dd75723210f8c2648c17"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 08 19:13:54 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 17 20:23:51 2011 +0200"
      },
      "message": "ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task()\n\nIf the new child is traced, do_fork() adds the pending SIGSTOP.\nIt assumes that either it is traced because of auto-attach or the\ntracer attached later, in both cases sigaddset/set_thread_flag is\ncorrect even if SIGSTOP is already pending.\n\nNow that we have PTRACE_SEIZE this is no longer right in the latter\ncase. If the tracer does PTRACE_SEIZE after copy_process() makes the\nchild visible the queued SIGSTOP is wrong.\n\nWe could check PT_SEIZED bit and change ptrace_attach() to set both\nPT_PTRACED and PT_SEIZED bits simultaneously but see the next patch,\nwe need to know whether this child was auto-attached or not anyway.\n\nSo this patch simply moves this code to ptrace_init_task(), this\nway we can never race with ptrace_attach().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "961c4675c75112717705fa5c0c53cb9664051479",
      "tree": "d424199346b5dc1c5d27fe920a66a6ea11989d89",
      "parents": [
        "bb188d7e64deb0e9cf13a99f44ae0065de5352d6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jul 07 21:33:54 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Jul 17 20:23:50 2011 +0200"
      },
      "message": "has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/\n\nhas_stopped_jobs() naively checks task_is_stopped(group_leader). This\nwas always wrong even without ptrace, group_leader can be dead. And\ngiven that ptrace can change the state to TRACED this is wrong even\nin the single-threaded case.\n\nChange the code to check SIGNAL_STOP_STOPPED and simplify the code,\nretval + break/continue doesn\u0027t make this trivial code more readable.\n\nWe could probably add the usual \"|| signal-\u003egroup_stop_count\" check\nbut I don\u0027t think this makes sense, the task can start the group-stop\nright after the check anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ba1389d74f34c0c6e95cc135a332cd29c29d9c20",
      "tree": "53813843d22cfcfe6d466a5daa44c646f8157980",
      "parents": [
        "f0c077a8b7f9dce590c760a7b2f3c417dffa52d1",
        "5ca80817e231723f1399bff495854ba2171103ca"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:09 2011 +0200"
      },
      "message": "Merge branch \u0027pm-domains\u0027 into for-linus\n\n* pm-domains: (33 commits)\n  ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active\n  PM / Domains: Take .power_off() error code into account\n  ARM / shmobile: Use genpd_queue_power_off_work()\n  ARM / shmobile: Use pm_genpd_poweroff_unused()\n  PM / Domains: Introduce function to power off all unused PM domains\n  PM / Domains: Queue up power off work only if it is not pending\n  PM / Domains: Improve handling of wakeup devices during system suspend\n  PM / Domains: Do not restore all devices on power off error\n  PM / Domains: Allow callbacks to execute all runtime PM helpers\n  PM / Domains: Do not execute device callbacks under locks\n  PM / Domains: Make failing pm_genpd_prepare() clean up properly\n  PM / Domains: Set device state to \"active\" during system resume\n  ARM: mach-shmobile: sh7372 A3RV requires A4LC\n  PM / Domains: Export pm_genpd_poweron() in header\n  ARM: mach-shmobile: sh7372 late pm domain off\n  ARM: mach-shmobile: Runtime PM late init callback\n  ARM: mach-shmobile: sh7372 D4 support\n  ARM: mach-shmobile: sh7372 A4MP support\n  ARM: mach-shmobile: sh7372: make sure that fsi is peripheral of spu2\n  ARM: mach-shmobile: sh7372 A3SG support\n  ...\n"
    },
    {
      "commit": "f0c077a8b7f9dce590c760a7b2f3c417dffa52d1",
      "tree": "ef6d08aa3ca1d79000db7d7479d98bda04a11c78",
      "parents": [
        "1d8047a6f7973470bb1de4606a6e00c0bbee3cc6"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 08 20:53:36 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:20 2011 +0200"
      },
      "message": "PM: Improve error code of pm_notifier_call_chain()\n\nThis enables pm_notifier_call_chain() to get the actual error code\nin the callback rather than always assume -EINVAL by converting all\nPM notifier calls to return encapsulate error code with\nnotifier_from_errno().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a5e4fd8783a2bec861ecf1138cdc042269ff59aa",
      "tree": "0662c2283c8d8601aa152f70a0d0abbe128fec9b",
      "parents": [
        "3b5fe85252326217cd96f24a7bda4460d8f71bee"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@ti.com",
        "time": "Mon Jun 27 01:01:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:19 2011 +0200"
      },
      "message": "PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem\n\nSome platforms wish to implement their PM core suspend code as\nmodules.  To do so, these functions need to be exported to modules.\n\n[rjw: Replaced EXPORT_SYMBOL with EXPORT_SYMBOL_GPL]\n\nReported-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nSigned-off-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3b5fe85252326217cd96f24a7bda4460d8f71bee",
      "tree": "cfcf577a53b88109d36f73577a8177279444a09f",
      "parents": [
        "99f381d3549432a250fe846a2a82d61a032804b0"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Sun Jun 12 15:57:05 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:19 2011 +0200"
      },
      "message": "PM / Suspend: Add .suspend_again() callback to suspend_ops\n\nA system or a device may need to control suspend/wakeup events. It may\nwant to wakeup the system after a predefined amount of time or at a\npredefined event decided while entering suspend for polling or delayed\nwork. Then, it may want to enter suspend again if its predefined wakeup\ncondition is the only wakeup reason and there is no outstanding events;\nthus, it does not wakeup the userspace unnecessary or unnecessary\ndevices and keeps suspended as long as possible (saving the power).\n\nEnabling a system to wakeup after a specified time can be easily\nachieved by using RTC. However, to enter suspend again immediately\nwithout invoking userland and unrelated devices, we need additional\nfeatures in the suspend framework.\n\nSuch need comes from:\n\n 1. Monitoring a critical device status without interrupts that can\nwakeup the system. (in-suspend polling)\n An example is ambient temperature monitoring that needs to shut down\nthe system or a specific device function if it is too hot or cold. The\ntemperature of a specific device may be needed to be monitored as well;\ne.g., a charger monitors battery temperature in order to stop charging\nif overheated.\n\n 2. Execute critical \"delayed work\" at suspend.\n A driver or a system/board may have a delayed work (or any similar\nthings) that it wants to execute at the requested time.\n For example, some chargers want to check the battery voltage some\ntime (e.g., 30 seconds) after the battery is fully charged and the\ncharger has stopped. Then, the charger restarts charging if the voltage\nhas dropped more than a threshold, which is smaller than \"restart-charger\"\nvoltage, which is a threshold to restart charging regardless of the\ntime passed.\n\nThis patch allows to add \"suspend_again\" callback at struct\nplatform_suspend_ops and let the \"suspend_again\" callback return true if\nthe system is required to enter suspend again after the current instance\nof wakeup. Device-wise suspend_again implemented at dev_pm_ops or\nsyscore is not done because: a) suspend_again feature is usually under\nplatform-wise decision and controls the behavior of the whole platform\nand b) There are very limited devices related to the usage cases of\nsuspend_again; chargers and temperature sensors are mentioned so far.\n\nWith suspend_again callback registered at struct platform_suspend_ops\nsuspend_ops in kernel/power/suspend.c with suspend_set_ops by the\nplatform, the suspend framework tries to enter suspend again by\nlooping suspend_enter() if suspend_again has returned true and there has\nbeen no errors in the suspending sequence or pending wakeups (by\npm_wakeup_pending).\n\nTested at Exynos4-NURI.\n\n[rjw: Fixed up kerneldoc comment for suspend_enter().]\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "7f6878a3d707b947603e09d95df0c3a98987e3a4",
      "tree": "aa707653884ae1a7eac99c1b3c772c2eb89eb642",
      "parents": [
        "614243181050436785f5a621749a7da2336a7916"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:27:03 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:45:32 2011 -0400"
      },
      "message": "tracing/kprobe: Update symbol reference when loading module\n\nSince the address of a module-local variable can only be\nsolved after the target module is loaded, the symbol\nfetch-argument should be updated when loading target\nmodule.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072703.6528.75042.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "614243181050436785f5a621749a7da2336a7916",
      "tree": "d64445cc0bc14420b993e82bd4bb4723ea8e34fa",
      "parents": [
        "bc81d48d13d8839fae6833c95794c403b2133f36"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:56 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:17:14 2011 -0400"
      },
      "message": "tracing/kprobes: Support module init function probing\n\nTo support probing module init functions, kprobe-tracer allows\nuser to define a probe on non-existed function when it is given\nwith a module name. This also enables user to set a probe on\na function on a specific module, even if a same name (but different)\nfunction is locally defined in another module.\n\nThe module name must be in the front of function name and separated\nby a \u0027:\u0027. e.g. btrfs:btrfs_init_sysfs\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072656.6528.89970.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bc81d48d13d8839fae6833c95794c403b2133f36",
      "tree": "ebb87fb7664549eba344489e80cef1b64555bba0",
      "parents": [
        "1538f888f1e793de04e0f90372352ac1b05833cf"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:50 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:11:47 2011 -0400"
      },
      "message": "kprobes: Return -ENOENT if probe point doesn\u0027t exist\n\nReturn -ENOENT if probe point doesn\u0027t exist, but still returns\n-EINVAL if both of kprobe-\u003eaddr and kprobe-\u003esymbol_name are\nspecified or both are not specified.\n\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/20110627072650.6528.67329.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1538f888f1e793de04e0f90372352ac1b05833cf",
      "tree": "42c064993df39faf3f285e276f588fc2518016f2",
      "parents": [
        "7143f168e2aa4bc7f8a8bcfe46d8dc52f7be869a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:44 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:10:58 2011 -0400"
      },
      "message": "tracing/kprobes: Merge trace probe enable/disable functions\n\nMerge redundant enable/disable functions into enable_trace_probe()\nand disable_trace_probe().\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20110627072644.6528.26910.stgit@fedora15\n\n[ converted kprobe selftest to use  enable_trace_probe ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "df8d6fe9efba4ea4b46a5bdc229031c5bb880575",
      "tree": "d5fb84d4bec0dc62b1ec1a19a01718620caa9918",
      "parents": [
        "c64be78ffb415278d7d32d6f55de95c73dcc19a4",
        "b0d304172f49061b4ff78f9e2b02719ac69c8a7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:54:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:54:34 2011 -0700"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu\n\n* \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu:\n  rcu: Prevent RCU callbacks from executing before scheduler initialized\n"
    },
    {
      "commit": "c64be78ffb415278d7d32d6f55de95c73dcc19a4",
      "tree": "0777bdbb0424a6ce948c817247757a4ba3b01a32",
      "parents": [
        "5dcd07b9f39ca3e9be5bcc387d193fc0674e1c81"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 11 16:28:50 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:54:02 2011 -0700"
      },
      "message": "sched: Fix 32bit race\n\nCommit 3fe1698b7fe0 (\"sched: Deal with non-atomic min_vruntime reads\non 32bit\") forgot to initialize min_vruntime_copy which could lead to\nan infinite while loop in task_waking_fair() under some circumstances\n(early boot, lucky timing).\n\n[ This bug was also reported by others that blamed it on the RCU\n  initialization problems ]\n\nReported-and-tested-by: Bruno Wolff III \u003cbruno@wolff.to\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7bc8b61f65726ff98f52e286b28e294499d7a08",
      "tree": "88ef0c943d27aa9f69824d87faa990731cc2ebfe",
      "parents": [
        "04da85b86188f224cc9b391b5bdd92a3ba20ffcf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jul 14 23:02:27 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 23:02:27 2011 -0400"
      },
      "message": "ftrace: Fix regression where ftrace breaks when modules are loaded\n\nEnabling function tracer to trace all functions, then load a module and\nthen disable function tracing will cause ftrace to fail.\n\nThis can also happen by enabling function tracing on the command line:\n\n  ftrace\u003dfunction\n\nand during boot up, modules are loaded, then you disable function tracing\nwith \u0027echo nop \u003e current_tracer\u0027 you will trigger a bug in ftrace that\nwill shut itself down.\n\nThe reason is, the new ftrace code keeps ref counts of all ftrace_ops that\nare registered for tracing. When one or more ftrace_ops are registered,\nall the records that represent the functions that the ftrace_ops will\ntrace have a ref count incremented. If this ref count is not zero,\nwhen the code modification runs, that function will be enabled for tracing.\nIf the ref count is zero, that function will be disabled from tracing.\n\nTo make sure the accounting was working, FTRACE_WARN_ON()s were added\nto updating of the ref counts.\n\nIf the ref count hits its max (\u003e 2^30 ftrace_ops added), or if\nthe ref count goes below zero, a FTRACE_WARN_ON() is triggered which\ndisables all modification of code.\n\nSince it is common for ftrace_ops to trace all functions in the kernel,\ninstead of creating \u003e 20,000 hash items for the ftrace_ops, the hash\ncount is just set to zero, and it represents that the ftrace_ops is\nto trace all functions. This is where the issues arrise.\n\nIf you enable function tracing to trace all functions, and then add\na module, the modules function records do not get the ref count updated.\nWhen the function tracer is disabled, all function records ref counts\nare subtracted. Since the modules never had their ref counts incremented,\nthey go below zero and the FTRACE_WARN_ON() is triggered.\n\nThe solution to this is rather simple. When modules are loaded, and\ntheir functions are added to the the ftrace pool, look to see if any\nftrace_ops are registered that trace all functions. And for those,\nupdate the ref count for the module function records.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7143f168e2aa4bc7f8a8bcfe46d8dc52f7be869a",
      "tree": "cd13a0d2524b9ef4c6f807d01912147539c924b8",
      "parents": [
        "f91298709790b9a483752ca3c967845537df2af3"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:36 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 17:44:43 2011 -0400"
      },
      "message": "tracing/kprobes: Rename probe_* to trace_probe_*\n\nRename probe_* to trace_probe_* for avoiding namespace\nconfliction. This also fixes improper names of find_probe_event()\nand cleanup_all_probes() to find_trace_probe() and\nrelease_all_trace_probes() respectively.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110627072636.6528.60374.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f91298709790b9a483752ca3c967845537df2af3",
      "tree": "f7392e3d37b9aa78ef04bdf89bc0d45d2db401e3",
      "parents": [
        "4a9bd3f134decd6d16ead8d288342d57aad486be"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Sat Jul 09 00:17:12 2011 +0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 17:25:04 2011 -0400"
      },
      "message": "perf, x86: P4 PMU - Introduce event alias feature\n\nInstead of hw_nmi_watchdog_set_attr() weak function\nand appropriate x86_pmu::hw_watchdog_set_attr() call\nwe introduce even alias mechanism which allow us\nto drop this routines completely and isolate quirks\nof Netburst architecture inside P4 PMU code only.\n\nThe main idea remains the same though -- to allow\nnmi-watchdog and perf top run simultaneously.\n\nNote the aliasing mechanism applies to generic\nPERF_COUNT_HW_CPU_CYCLES event only because arbitrary\nevent (say passed as RAW initially) might have some\nadditional bits set inside ESCR register changing\nthe behaviour of event and we can\u0027t guarantee anymore\nthat alias event will give the same result.\n\nP.S. Thanks a huge to Don and Steven for for testing\n     and early review.\n\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Stephane Eranian \u003ceranian@google.com\u003e\nCC: Lin Ming \u003cming.m.lin@intel.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110708201712.GS23657@sun\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "4a9bd3f134decd6d16ead8d288342d57aad486be"
}
