)]}'
{
  "log": [
    {
      "commit": "ece78b7df734726e790dcab207f463401ff80440",
      "tree": "4a0b23c28c6a727d5eebc8a88a22fe3720c425fd",
      "parents": [
        "07acfc2a9349a8ce45b236c2624dad452001966b",
        "0324876628a9c7faf8127e20af29373dc6dec876"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 08:14:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 08:14:59 2012 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\nPull ext2, ext3 and quota fixes from Jan Kara:\n \"Interesting bits are:\n   - removal of a special i_mutex locking subclass (I_MUTEX_QUOTA) since\n     quota code does not need i_mutex anymore in any unusual way.\n   - backport (from ext4) of a fix of a checkpointing bug (missing cache\n     flush) that could lead to fs corruption on power failure\n\n  The rest are just random small fixes \u0026 cleanups.\"\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  ext2: trivial fix to comment for ext2_free_blocks\n  ext2: remove the redundant comment for ext2_export_ops\n  ext3: return 32/64-bit dir name hash according to usage type\n  quota: Get rid of nested I_MUTEX_QUOTA locking subclass\n  quota: Use precomputed value of sb_dqopt in dquot_quota_sync\n  ext2: Remove i_mutex use from ext2_quota_write()\n  reiserfs: Remove i_mutex use from reiserfs_quota_write()\n  ext4: Remove i_mutex use from ext4_quota_write()\n  ext3: Remove i_mutex use from ext3_quota_write()\n  quota: Fix double lock in add_dquot_ref() with CONFIG_QUOTA_DEBUG\n  jbd: Write journal superblock with WRITE_FUA after checkpointing\n  jbd: protect all log tail updates with j_checkpoint_mutex\n  jbd: Split updating of journal superblock and marking journal empty\n  ext2: do not register write_super within VFS\n  ext2: Remove s_dirt handling\n  ext2: write superblock only once on unmount\n  ext3: update documentation with barrier\u003d1 default\n  ext3: remove max_debt in find_group_orlov()\n  jbd: Refine commit writeout logic\n"
    },
    {
      "commit": "644473e9c60c1ff4f6351fed637a6e5551e3dce7",
      "tree": "10316518bedc735a2c6552886658d69dfd9f1eb0",
      "parents": [
        "fb827ec68446c83e9e8754fa9b55aed27ecc4661",
        "4b06a81f1daee668fbd6de85557bfb36dd36078f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace enhancements from Eric Biederman:\n \"This is a course correction for the user namespace, so that we can\n  reach an inexpensive, maintainable, and reasonably complete\n  implementation.\n\n  Highlights:\n   - Config guards make it impossible to enable the user namespace and\n     code that has not been converted to be user namespace safe.\n\n   - Use of the new kuid_t type ensures the if you somehow get past the\n     config guards the kernel will encounter type errors if you enable\n     user namespaces and attempt to compile in code whose permission\n     checks have not been updated to be user namespace safe.\n\n   - All uids from child user namespaces are mapped into the initial\n     user namespace before they are processed.  Removing the need to add\n     an additional check to see if the user namespace of the compared\n     uids remains the same.\n\n   - With the user namespaces compiled out the performance is as good or\n     better than it is today.\n\n   - For most operations absolutely nothing changes performance or\n     operationally with the user namespace enabled.\n\n   - The worst case performance I could come up with was timing 1\n     billion cache cold stat operations with the user namespace code\n     enabled.  This went from 156s to 164s on my laptop (or 156ns to\n     164ns per stat operation).\n\n   - (uid_t)-1 and (gid_t)-1 are reserved as an internal error value.\n     Most uid/gid setting system calls treat these value specially\n     anyway so attempting to use -1 as a uid would likely cause\n     entertaining failures in userspace.\n\n   - If setuid is called with a uid that can not be mapped setuid fails.\n     I have looked at sendmail, login, ssh and every other program I\n     could think of that would call setuid and they all check for and\n     handle the case where setuid fails.\n\n   - If stat or a similar system call is called from a context in which\n     we can not map a uid we lie and return overflowuid.  The LFS\n     experience suggests not lying and returning an error code might be\n     better, but the historical precedent with uids is different and I\n     can not think of anything that would break by lying about a uid we\n     can\u0027t map.\n\n   - Capabilities are localized to the current user namespace making it\n     safe to give the initial user in a user namespace all capabilities.\n\n  My git tree covers all of the modifications needed to convert the core\n  kernel and enough changes to make a system bootable to runlevel 1.\"\n\nFix up trivial conflicts due to nearby independent changes in fs/stat.c\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)\n  userns:  Silence silly gcc warning.\n  cred: use correct cred accessor with regards to rcu read lock\n  userns: Convert the move_pages, and migrate_pages permission checks to use uid_eq\n  userns: Convert cgroup permission checks to use uid_eq\n  userns: Convert tmpfs to use kuid and kgid where appropriate\n  userns: Convert sysfs to use kgid/kuid where appropriate\n  userns: Convert sysctl permission checks to use kuid and kgids.\n  userns: Convert proc to use kuid/kgid where appropriate\n  userns: Convert ext4 to user kuid/kgid where appropriate\n  userns: Convert ext3 to use kuid/kgid where appropriate\n  userns: Convert ext2 to use kuid/kgid where appropriate.\n  userns: Convert devpts to use kuid/kgid where appropriate\n  userns: Convert binary formats to use kuid/kgid where appropriate\n  userns: Add negative depends on entries to avoid building code that is userns unsafe\n  userns: signal remove unnecessary map_cred_ns\n  userns: Teach inode_capable to understand inodes whose uids map to other namespaces.\n  userns: Fail exec for suid and sgid binaries with ids outside our user namespace.\n  userns: Convert stat to return values mapped from kuids and kgids\n  userns: Convert user specfied uids and gids in chown into kuids and kgid\n  userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs\n  ...\n"
    },
    {
      "commit": "468f4d1a855f8039dabf441b8bf68cae264033ff",
      "tree": "303ac5bc1ac3f86f136a30f9356e84f20dcbf13f",
      "parents": [
        "eb2689e06b3526c7684b09beecf26070f05ee825",
        "8714c8d74d313c3ba27bf9c2aaacb1ad71c644f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 14:07:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 14:07:06 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates from Rafael Wysocki:\n\n - Implementation of opportunistic suspend (autosleep) and user space\n   interface for manipulating wakeup sources.\n\n - Hibernate updates from Bojan Smojver and Minho Ban.\n\n - Updates of the runtime PM core and generic PM domains framework\n   related to PM QoS.\n\n - Assorted fixes.\n\n* tag \u0027pm-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)\n  epoll: Fix user space breakage related to EPOLLWAKEUP\n  PM / Domains: Make it possible to add devices to inactive domains\n  PM / Hibernate: Use get_gendisk to verify partition if resume_file is integer format\n  PM / Domains: Fix computation of maximum domain off time\n  PM / Domains: Fix link checking when add subdomain\n  PM / Sleep: User space wakeup sources garbage collector Kconfig option\n  PM / Sleep: Make the limit of user space wakeup sources configurable\n  PM / Documentation: suspend-and-cpuhotplug.txt: Fix typo\n  PM / Domains: Cache device stop and domain power off governor results, v3\n  PM / Domains: Make device removal more straightforward\n  PM / Sleep: Fix a mistake in a conditional in autosleep_store()\n  epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready\n  PM / QoS: Create device constraints objects on notifier registration\n  PM / Runtime: Remove device fields related to suspend time, v2\n  PM / Domains: Rework default domain power off governor function, v2\n  PM / Domains: Rework default device stop governor function, v2\n  PM / Sleep: Add user space interface for manipulating wakeup sources, v3\n  PM / Sleep: Add \"prevent autosleep time\" statistics to wakeup sources\n  PM / Sleep: Implement opportunistic sleep, v2\n  PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints\n  ...\n"
    },
    {
      "commit": "2e341ca686042aa464efa755447e7bcee91d1eb6",
      "tree": "c6b16b6b6a6e871fa04396cb2c7eb759bcad5be3",
      "parents": [
        "927ad551031798d4cba49766549600bbb33872d7",
        "85e184e4c3cd3e2285ceab91ff8f0cac094e8a85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 13:05:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 13:05:43 2012 -0700"
      },
      "message": "Merge tag \u0027sound-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nPull sound updates from Takashi Iwai:\n \"This is the first big chunk for 3.5 merges of sound stuff.\n\n  There are a few big changes in different areas.  First off, the\n  streaming logic of USB-audio endpoints has been largely rewritten for\n  the better support of \"implicit feedback\".  If anything about USB got\n  broken, this change has to be checked.\n\n  For HD-audio, the resume procedure was changed; instead of delaying\n  the resume of the hardware until the first use, now waking up\n  immediately at resume.  This is for buggy BIOS.\n\n  For ASoC, dynamic PCM support and the improved support for digital\n  links between off-SoC devices are major framework changes.\n\n  Some highlights are below:\n\n  * HD-audio\n   - Avoid accesses of invalid pin-control bits that may stall the codec\n   - V-ref setup cleanups\n   - Fix the races in power-saving code\n   - Fix the races in codec cache hashes and connection lists\n   - Split some common codes for BIOS auto-parser to hda_auto_parser.c\n   - Changed the PM resume code to wake up immediately for buggy BIOS\n   - Creative SoundCore3D support\n   - Add Conexant CX20751/2/3/4 codec support\n\n  * ASoC\n   - Dynamic PCM support, allowing support for SoCs with internal\n     routing through components with tight sequencing and formatting\n     constraints within their internal paths or where there are multiple\n     components connected with CPU managed DMA controllers inside the\n     SoC.\n   - Greatly improved support for direct digital links between off-SoC\n     devices, providing a much simpler way of connecting things like\n     digital basebands to CODECs.\n   - Much more fine grained and robust locking, cleaning up some of the\n     confusion that crept in with multi-component.\n   - CPU support for nVidia Tegra 30 I2S and audio hub controllers and\n     ST-Ericsson MSP I2S controolers\n   - New CODEC drivers for Cirrus CS42L52, LAPIS Semiconductor ML26124,\n     Texas Instruments LM49453.\n   - Some regmap changes needed by the Tegra I2S driver.\n   - mc13783 audio support.\n\n  * Misc\n   - Rewrite with module_pci_driver()\n   - Xonar DGX support for snd-oxygen\n   - Improvement of packet handling in snd-firewire driver\n   - New USB-endpoint streaming logic\n   - Enhanced M-audio FTU quirks and relevant cleanups\n   - Increment the support of OSS devices to 256\n   - snd-aloop accuracy improvement\n\n  There are a few more pending changes for 3.5, but they will be sent\n  slightly later as partly depending on the changes of DRM.\"\n\nFix up conflicts in regmap (due to duplicate patches, with some further\nupdates then having already come in from the regmap tree).  Also some\nfairly trivial context conflicts in the imx and mcx soc drivers.\n\n* tag \u0027sound-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (280 commits)\n  ALSA: snd-usb: fix stream info output in /proc\n  ALSA: pcm - Add proper state checks to snd_pcm_drain()\n  ALSA: sh: Fix up namespace collision in sh_dac_audio.\n  ALSA: hda/realtek - Fix unused variable compile warning\n  ASoC: sh: fsi: enable chip specific data transfer mode\n  ASoC: sh: fsi: call fsi_hw_startup/shutdown from fsi_dai_trigger()\n  ASoC: sh: fsi: use same format for IN/OUT\n  ASoC: sh: fsi: add fsi_version() and removed meaningless version check\n  ASoC: sh: fsi: use register field macro name on IN/OUT_DMAC\n  ASoC: tegra: Add machine driver for WM8753 codec\n  ALSA: hda - Fix possible races of accesses to connection list array\n  ASoC: OMAP: HDMI: Introduce codec\n  ARM: mx31_3ds: Add sound support\n  ASoC: imx-mc13783 cleanup\n  mx31moboard: Add sound support\n  ASoC: mc13783 codec cleanups\n  ASoC: add imx-mc13783 sound support\n  ASoC: Add mc13783 codec\n  mfd: mc13xxx: add codec platform data\n  ASoC: don\u0027t flip master of DT-instantiated DAI links\n  ...\n"
    },
    {
      "commit": "e8650a08232e75274304b812ff04cfce9af9671c",
      "tree": "0609c942e6ca99016e788ff2ee2bbed1bb9215a4",
      "parents": [
        "3c2c4b73aa79e4a1b601710b59e092441175f4bb",
        "f70d4a95edc7da87f39cd8b603ba131df2c198ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial updates from Jiri Kosina:\n \"As usual, it\u0027s mostly typo fixes, redundant code elimination and some\n  documentation updates.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits)\n  edac, mips: don\u0027t change code that has been removed in edac/mips tree\n  xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer\n  lib: Change mail address of Oskar Schirmer\n  net: Change mail address of Oskar Schirmer\n  arm/m68k: Change mail address of Sebastian Hess\n  i2c: Change mail address of Oskar Schirmer\n  net: Fix tcp_build_and_update_options comment in struct tcp_sock\n  atomic64_32.h: fix parameter naming mismatch\n  Kconfig: replace \"--- help ---\" with \"---help---\"\n  c2port: fix bogus Kconfig \"default no\"\n  edac: Fix spelling errors.\n  qla1280: Remove redundant NULL check before release_firmware() call\n  remoteproc: remove redundant NULL check before release_firmware()\n  qla2xxx: Remove redundant NULL check before release_firmware() call.\n  aic94xx: Get rid of redundant NULL check before release_firmware() call\n  tehuti: delete redundant NULL check before release_firmware()\n  qlogic: get rid of a redundant test for NULL before call to release_firmware()\n  bna: remove redundant NULL test before release_firmware()\n  tg3: remove redundant NULL test before release_firmware() call\n  typhoon: get rid of redundant conditional before all to release_firmware()\n  ...\n"
    },
    {
      "commit": "08cefc7ab839cf3ece44b8033968a4732eac06d8",
      "tree": "7264efb33cb3d1249f7be3a7ea6dd12d30c313c1",
      "parents": [
        "1523299d5817773e344d135d4b1c485f269400bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:41:49 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:27 2012 -0700"
      },
      "message": "userns: Convert ext4 to user kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "1523299d5817773e344d135d4b1c485f269400bc",
      "tree": "eef0768f5418facb1d37dbe99f346b9d77223f9f",
      "parents": [
        "b8a9f9e183229d163d8ace855cbbb63c209fba3c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:41:24 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:27 2012 -0700"
      },
      "message": "userns: Convert ext3 to use kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "fd2cbd4dfa3db477dd6226d387d3f1911d36a6a9",
      "tree": "b0ada946d14cdcf5db6da2d177be9590a3449e9a",
      "parents": [
        "1ce8486dcc00c1e095af8d155fa4451936b89013"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Apr 07 11:05:19 2012 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:37 2012 +0200"
      },
      "message": "jbd: Write journal superblock with WRITE_FUA after checkpointing\n\nIf journal superblock is written only in disk\u0027s caches and other transaction\nstarts reusing space of the transaction cleaned from the log, it can happen\nblocks of a new transaction reach the disk before journal superblock. When\npower failure happens in such case, subsequent journal replay would still try\nto replay the old transaction but some of it\u0027s blocks may be already\noverwritten by the new transaction. For this reason we must use WRITE_FUA when\nupdating log tail and we must first write new log tail to disk and update\nin-memory information only after that.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9754e39c7bc51328f145e933bfb0df47cd67b6e9",
      "tree": "d2fa043f74939d049d6934aea6ab7b1c272be8a5",
      "parents": [
        "f72cf5e223a28d3b3ea7dc9e40464fd534e359e8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Apr 07 12:33:03 2012 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:36 2012 +0200"
      },
      "message": "jbd: Split updating of journal superblock and marking journal empty\n\nThere are three case of updating journal superblock. In the first case, we want\nto mark journal as empty (setting s_sequence to 0), in the second case we want\nto update log tail, in the third case we want to update s_errno. Split these\ncases into separate functions. It makes the code slightly more straightforward\nand later patches will make the distinction even more important.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "21e52e15666323078b8517a4312712579176b56f",
      "tree": "6e9e75c6e1400e0426a7c7985a3f986fea5a7782",
      "parents": [
        "f511fc624642f0bb8cf65aaa28979737514d4746"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Apr 30 14:16:19 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 09 14:26:56 2012 -0700"
      },
      "message": "rcu: Make RCU_FAST_NO_HZ handle timer migration\n\nThe current RCU_FAST_NO_HZ assumes that timers do not migrate unless a\nCPU goes offline, in which case it assumes that the CPU will have to come\nout of dyntick-idle mode (cancelling the timer) in order to go offline.\nThis is important because when RCU_FAST_NO_HZ permits a CPU to enter\ndyntick-idle mode despite having RCU callbacks pending, it posts a timer\non that CPU to force a wakeup on that CPU.  This wakeup ensures that the\nCPU will eventually handle the end of the grace period, including invoking\nits RCU callbacks.\n\nHowever, Pascal Chapperon\u0027s test setup shows that the timer handler\nrcu_idle_gp_timer_func() really does get invoked in some cases.  This is\nproblematic because this can cause the CPU that entered dyntick-idle\nmode despite still having RCU callbacks pending to remain in\ndyntick-idle mode indefinitely, which means that its RCU callbacks might\nnever be invoked.  This situation can result in grace-period delays or\neven system hangs, which matches Pascal\u0027s observations of slow boot-up\nand shutdown (https://lkml.org/lkml/2012/4/5/142).  See also the bugzilla:\n\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d806548\n\nThis commit therefore causes the \"should never be invoked\" timer handler\nrcu_idle_gp_timer_func() to use smp_call_function_single() to wake up\nthe CPU for which the timer was intended, allowing that CPU to invoke\nits RCU callbacks in a timely manner.\n\nReported-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\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": "6791e36c4a40e8930e08669e60077eea6770c429",
      "tree": "880d7255cc13a270d513e4fb6c4219f85d9536d0",
      "parents": [
        "30e3ce6dcbe3fc29c343b17e768b07d4a795de21"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sun Apr 29 22:53:02 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 01 21:25:25 2012 +0200"
      },
      "message": "PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints\n\nAdd tracepoints to wakeup_source_activate and wakeup_source_deactivate.\nUseful for checking that specific wakeup sources overlap as expected.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2fdbb31b662787f78bb78b3e4e18f1a072058ffc",
      "tree": "c8dbe70ab53102acf7f802eb50c5262c82cd45aa",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Feb 23 15:58:29 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:55:19 2012 -0700"
      },
      "message": "rcu: Add RCU_FAST_NO_HZ tracing for idle exit\n\nTraces of rcu_prep_idle events can be confusing because\nrcu_cleanup_after_idle() does no tracing.  This commit therefore adds\nthis tracing.\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": "c97f3bdd26080c2cb2a648c37b6dcb8eac2f91e7",
      "tree": "b35a0e006486995ce7d18028f9bdbd3f1d803c66",
      "parents": [
        "fde39a6b15612943673555aec7237f9e7228f27d"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Apr 23 10:31:15 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 23 13:15:35 2012 +0100"
      },
      "message": "ASoC: dapm: Fix x86_64 build warning.\n\nFixes the following build warning on x86_64.\n\nIn file included from include/trace/ftrace.h:567:0,\n                 from include/trace/define_trace.h:86,\n                 from include/trace/events/asoc.h:410,\n                 from sound/soc/soc-core.c:45:\ninclude/trace/events/asoc.h: In function \u0027ftrace_raw_event_snd_soc_dapm_output_path\u0027:\ninclude/trace/events/asoc.h:246:1: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]\ninclude/trace/events/asoc.h: In function \u0027ftrace_raw_event_snd_soc_dapm_input_path\u0027:\ninclude/trace/events/asoc.h:275:1: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "ec2e3031b65f23f66840b5c89c4b83076831a435",
      "tree": "b85d6a5590fc0eaa3a5e7ca1a67e97b673629e65",
      "parents": [
        "0cbe4b36b075e80f3149a91ef640bc7930aa94c7"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Apr 18 11:41:11 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Apr 18 18:23:00 2012 +0100"
      },
      "message": "ASoC: dapm: Add API call to query valid DAPM paths\n\nIn preparation for ASoC DSP support.\n\nAdd a DAPM API call to determine whether a DAPM audio path is valid between\nsource and sink widgets. This also takes into account all kcontrol mux and mixer\nsettings in between the source and sink widgets to validate the audio path.\n\nThis will be used by the DSP core to determine the runtime DAI mappings\nbetween FE and BE DAIs in order to run PCM operations.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "2db938bee32e7469ca8ed9bfb3a05535f28c680d",
      "tree": "7d175a486c2e02270839ba18da61455603c2205e",
      "parents": [
        "923e9a1399b620d063cd88537c64561bc3d5f905"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Feb 21 17:25:37 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Apr 11 11:12:44 2012 +0200"
      },
      "message": "jbd: Refine commit writeout logic\n\nCurrently we write out all journal buffers in WRITE_SYNC mode. This improves\nperformance for fsync heavy workloads but hinders performance when writes\nare mostly asynchronous, most noticably it slows down readers and users\ncomplain about slow desktop response etc.\n\nSo submit writes as asynchronous in the normal case and only submit writes as\nWRITE_SYNC if we detect someone is waiting for current transaction commit.\n\nI\u0027ve gathered some numbers to back this change. The first is the read latency\ntest. It measures time to read 1 MB after several seconds of sleeping in\npresence of streaming writes.\n\nTop 10 times (out of 90) in us:\nBefore\t\tAfter\n2131586\t\t697473\n1709932\t\t557487\n1564598\t\t535642\n1480462\t\t347573\n1478579\t\t323153\n1408496\t\t222181\n1388960\t\t181273\n1329565\t\t181070\n1252486\t\t172832\n1223265\t\t172278\n\nAverage:\n619377\t\t82180\n\nSo the improvement in both maximum and average latency is massive.\n\nI\u0027ve measured fsync throughput by:\nfs_mark -n 100 -t 1 -s 16384 -d /mnt/fsync/ -S 1 -L 4\n\nin presence of streaming reader. The numbers (fsyncs/s) are:\nBefore\t\tAfter\n9.9\t\t6.3\n6.8\t\t6.0\n6.3\t\t6.2\n5.8\t\t6.1\n\nSo fsync performance seems unharmed by this change.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b3aa1584e9f3449b0669ab2beb9b9bf99874e1d6",
      "tree": "4bcbf6af794bc00ff949b9b519f6dd5f205bb37c",
      "parents": [
        "e75d660672ddd11704b7f0fdb8ff21968587b266"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Mon Apr 09 10:44:57 2012 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 10 10:49:47 2012 +0200"
      },
      "message": "workqueue: Fix workqueue_execute_end() comment\n\nworkqueue_execute_end() is called after the callback function,\nnot before.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "66cfb32772495068fbb5627b2dc88649ad66c3e5",
      "tree": "4ce3537afdbd9be92a7a3e6ef4e8e8519ee11543",
      "parents": [
        "6742259866d03d5bc19815441ba928e8378343dc",
        "7b8e6da46b921d30ac1553cac56d8fb74f0b431d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:04:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:04:42 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/x86/p4: Add format attributes\n  tracing, sched, vfs: Fix \u0027old_pid\u0027 usage in trace_sched_process_exec()\n"
    },
    {
      "commit": "6308191f6f55d3629c7dbe72dfb856ad9fa560fd",
      "tree": "d3f073b0e522fc7dbee52ca6c25d92f28059f2fd",
      "parents": [
        "8ebfdf2babcda5a3b06cc67523bca1f9aed46009"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 30 18:26:36 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 11:53:22 2012 +0200"
      },
      "message": "tracing, sched, vfs: Fix \u0027old_pid\u0027 usage in trace_sched_process_exec()\n\n1. TRACE_EVENT(sched_process_exec) forgets to actually use the\n   old pid argument, it sets -\u003eold_pid \u003d p-\u003epid.\n\n2. search_binary_handler() uses the wrong pid number. tracepoint\n   needs the global pid_t from the root namespace, while old_pid\n   is the virtual pid number as it seen by the tracer/parent.\n\nWith this patch we have two pid_t\u0027s in search_binary_handler(),\nnot really nice. Perhaps we should switch to \"struct pid*\", but\nin this case it would be better to cleanup the current code\nfirst and move the \"depth \u003d\u003d 0\" code outside.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Denys Vlasenko \u003cdvlasenk@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120330162636.GA4857@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9613bebb223dea3179c265dc31e1bb41ae39f321",
      "tree": "39bf883573d23775a53be3172323c0237fef5630",
      "parents": [
        "40380f1c7841a5dcbf0b20f0b6da11969211ef77",
        "bc3f116fec194f1d7329b160c266fe16b9266a1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 12:44:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 12:44:29 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\nPull btrfs fixes and features from Chris Mason:\n \"We\u0027ve merged in the error handling patches from SuSE.  These are\n  already shipping in the sles kernel, and they give btrfs the ability\n  to abort transactions and go readonly on errors.  It involves a lot of\n  churn as they clarify BUG_ONs, and remove the ones we now properly\n  deal with.\n\n  Josef reworked the way our metadata interacts with the page cache.\n  page-\u003eprivate now points to the btrfs extent_buffer object, which\n  makes everything faster.  He changed it so we write an whole extent\n  buffer at a time instead of allowing individual pages to go down,,\n  which will be important for the raid5/6 code (for the 3.5 merge\n  window ;)\n\n  Josef also made us more aggressive about dropping pages for metadata\n  blocks that were freed due to COW.  Overall, our metadata caching is\n  much faster now.\n\n  We\u0027ve integrated my patch for metadata bigger than the page size.\n  This allows metadata blocks up to 64KB in size.  In practice 16K and\n  32K seem to work best.  For workloads with lots of metadata, this cuts\n  down the size of the extent allocation tree dramatically and fragments\n  much less.\n\n  Scrub was updated to support the larger block sizes, which ended up\n  being a fairly large change (thanks Stefan Behrens).\n\n  We also have an assortment of fixes and updates, especially to the\n  balancing code (Ilya Dryomov), the back ref walker (Jan Schmidt) and\n  the defragging code (Liu Bo).\"\n\nFixed up trivial conflicts in fs/btrfs/scrub.c that were just due to\nremoval of the second argument to k[un]map_atomic() in commit\n7ac687d9e047.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (75 commits)\n  Btrfs: update the checks for mixed block groups with big metadata blocks\n  Btrfs: update to the right index of defragment\n  Btrfs: do not bother to defrag an extent if it is a big real extent\n  Btrfs: add a check to decide if we should defrag the range\n  Btrfs: fix recursive defragment with autodefrag option\n  Btrfs: fix the mismatch of page-\u003emapping\n  Btrfs: fix race between direct io and autodefrag\n  Btrfs: fix deadlock during allocating chunks\n  Btrfs: show useful info in space reservation tracepoint\n  Btrfs: don\u0027t use crc items bigger than 4KB\n  Btrfs: flush out and clean up any block device pages during mount\n  btrfs: disallow unequal data/metadata blocksize for mixed block groups\n  Btrfs: enhance superblock sanity checks\n  Btrfs: change scrub to support big blocks\n  Btrfs: minor cleanup in scrub\n  Btrfs: introduce common define for max number of mirrors\n  Btrfs: fix infinite loop in btrfs_shrink_device()\n  Btrfs: fix memory leak in resolver code\n  Btrfs: allow dup for data chunks in mixed mode\n  Btrfs: validate target profiles only if we are going to use them\n  ...\n"
    },
    {
      "commit": "69e1aaddd63104f37021d0b0f6abfd9623c9134c",
      "tree": "14ad49741b428d270b681694bb2df349465455b9",
      "parents": [
        "56b59b429b4c26e5e730bc8c3d837de9f7d0a966",
        "9d547c35799a4ddd235f1565cec2fff6c9263504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:02:55 2012 -0700"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 updates for 3.4 from Ted Ts\u0027o:\n \"Ext4 commits for 3.3 merge window; mostly cleanups and bug fixes\n\n  The changes to export dirty_writeback_interval are from Artem\u0027s s_dirt\n  cleanup patch series.  The same is true of the change to remove the\n  s_dirt helper functions which never got used by anyone in-tree.  I\u0027ve\n  run these changes by Al Viro, and am carrying them so that Artem can\n  more easily fix up the rest of the file systems during the next merge\n  window.  (Originally we had hopped to remove the use of s_dirt from\n  ext4 during this merge window, but his patches had some bugs, so I\n  ultimately ended dropping them from the ext4 tree.)\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (66 commits)\n  vfs: remove unused superblock helpers\n  mm: export dirty_writeback_interval\n  ext4: remove useless s_dirt assignment\n  ext4: write superblock only once on unmount\n  ext4: do not mark superblock as dirty unnecessarily\n  ext4: correct ext4_punch_hole return codes\n  ext4: remove restrictive checks for EOFBLOCKS_FL\n  ext4: always set then trimmed blocks count into len\n  ext4: fix trimmed block count accunting\n  ext4: fix start and len arguments handling in ext4_trim_fs()\n  ext4: update s_free_{inodes,blocks}_count during online resize\n  ext4: change some printk() calls to use ext4_msg() instead\n  ext4: avoid output message interleaving in ext4_error_\u003cfoo\u003e()\n  ext4: remove trailing newlines from ext4_msg() and ext4_error() messages\n  ext4: add no_printk argument validation, fix fallout\n  ext4: remove redundant \"EXT4-fs: \" from uses of ext4_msg\n  ext4: give more helpful error message in ext4_ext_rm_leaf()\n  ext4: remove unused code from ext4_ext_map_blocks()\n  ext4: rewrite punch hole to use ext4_ext_remove_space()\n  jbd2: cleanup journal tail after transaction commit\n  ...\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "f63d395d47f37a4fe771e6d4b1db9d2cdae5ffc5",
      "tree": "3448a14ae965802adb963762cadeb9989ce4caa2",
      "parents": [
        "643ac9fc5429e85b8b7f534544b80bcc4f34c367",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 08:53:47 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client updates for Linux 3.4 from Trond Myklebust:\n \"New features include:\n   - Add NFS client support for containers.\n\n     This should enable most of the necessary functionality, including\n     lockd support, and support for rpc.statd, NFSv4 idmapper and\n     RPCSEC_GSS upcalls into the correct network namespace from which\n     the mount system call was issued.\n\n   - NFSv4 idmapper scalability improvements\n\n     Base the idmapper cache on the keyring interface to allow\n     concurrent access to idmapper entries.  Start the process of\n     migrating users from the single-threaded daemon-based approach to\n     the multi-threaded request-key based approach.\n\n   - NFSv4.1 implementation id.\n\n     Allows the NFSv4.1 client and server to mutually identify each\n     other for logging and debugging purposes.\n\n   - Support the \u0027vers\u003d4.1\u0027 mount option for mounting NFSv4.1 instead of\n     having to use the more counterintuitive \u0027vers\u003d4,minorversion\u003d1\u0027.\n\n   - SUNRPC tracepoints.\n\n     Start the process of adding tracepoints in order to improve\n     debugging of the RPC layer.\n\n   - pNFS object layout support for autologin.\n\n  Important bugfixes include:\n\n   - Fix a bug in rpc_wake_up/rpc_wake_up_status that caused them to\n     fail to wake up all tasks when applied to priority waitqueues.\n\n   - Ensure that we handle read delegations correctly, when we try to\n     truncate a file.\n\n   - A number of fixes for NFSv4 state manager loops (mostly to do with\n     delegation recovery).\"\n\n* tag \u0027nfs-for-3.4-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (224 commits)\n  NFS: fix sb-\u003es_id in nfs debug prints\n  xprtrdma: Remove assumption that each segment is \u003c\u003d PAGE_SIZE\n  xprtrdma: The transport should not bug-check when a dup reply is received\n  pnfs-obj: autologin: Add support for protocol autologin\n  NFS: Remove nfs4_setup_sequence from generic rename code\n  NFS: Remove nfs4_setup_sequence from generic unlink code\n  NFS: Remove nfs4_setup_sequence from generic read code\n  NFS: Remove nfs4_setup_sequence from generic write code\n  NFS: Fix more NFS debug related build warnings\n  SUNRPC/LOCKD: Fix build warnings when CONFIG_SUNRPC_DEBUG is undefined\n  nfs: non void functions must return a value\n  SUNRPC: Kill compiler warning when RPC_DEBUG is unset\n  SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n  NFS: Use cond_resched_lock() to reduce latencies in the commit scans\n  NFSv4: It is not safe to dereference lsp-\u003els_state in release_lockowner\n  NFS: ncommit count is being double decremented\n  SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up()\n  Try using machine credentials for RENEW calls\n  NFSv4.1: Fix a few issues in filelayout_commit_pagelist\n  NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code\n  ...\n"
    },
    {
      "commit": "9586c959bfc917695893bef0102433a7d0675691",
      "tree": "c8b89e40b7a04c3150e50785e7c48b67df360c83",
      "parents": [
        "34699403e9916060af8ae23f5e4705a6c078e79d",
        "addfd8a09e1f434a73b3d87d36ef050c73511d2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:33:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:33:14 2012 -0700"
      },
      "message": "Merge tag \u0027regmap-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\nPull regmap updates from Mark Brown:\n \"Things are really quieting down with the regmap API, while we\u0027re still\n  seeing a trickle of new features coming in they\u0027re getting much\n  smaller than they were.  It\u0027s also nice to have some features which\n  support other subsystems building infrastructure on top of regmap.\n  Highlights include:\n\n  - Support for padding between the register and the value when\n    interacting with the device, sometimes needed for fast interfaces.\n  - Support for applying register updates to the device when restoring\n    the register state.  This is intended to be used to apply updates\n    supplied by manufacturers for tuning the performance of the device\n    (many of which are to undocumented registers which aren\u0027t otherwise\n    covered).\n  - Support for multi-register operations on cached registers.\n  - Support for syncing only part of the register cache.\n  - Stubs and parameter query functions intended to make it easier for\n    other subsystems to build infrastructure on top of the regmap API.\n\n  plus a few driver updates making use of the new features which it was\n  easier to merge via this tree.\"\n\n* tag \u0027regmap-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (41 commits)\n  regmap: Fix future missing prototype of devres_alloc() and friends\n  regmap: Rejig struct declarations for stubbed API\n  regmap: Fix rbtree block base in sync\n  regcache: Make sure we sync register 0 in an rbtree cache\n  regmap: delete unused module.h from drivers/base/regmap files\n  regmap: Add stub for regcache_sync_region()\n  mfd: Improve performance of later WM1811 revisions\n  regmap: Fix x86_64 breakage\n  regmap: Allow drivers to sync only part of the register cache\n  regmap: Supply ranges to the sync operations\n  regmap: Add tracepoints for cache only and cache bypass\n  regmap: Mark the cache as clean after a successful sync\n  regmap: Remove default cache sync implementation\n  regmap: Skip hardware defaults for LZO caches\n  regmap: Expose the driver name in debugfs\n  mfd: wm8400: Convert to devm_regmap_init_i2c()\n  mfd: wm831x: Convert to devm_regmap_init()\n  mfd: wm8994: Convert to devm_regmap_init()\n  mfd/ASoC: Convert WM8994 driver to use regmap patches\n  mfd: Add __devinit and __devexit annotations in wm8994\n  ...\n"
    },
    {
      "commit": "143bede527b054a271053f41bfaca2b57baa9408",
      "tree": "95c71d3705c73bf98e7a1547da35e70a44703c1e",
      "parents": [
        "ffd7b33944f4573a063af7a55f8a5199c8185665"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Mar 01 14:56:26 2012 +0100"
      },
      "committer": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Thu Mar 22 01:45:34 2012 +0100"
      },
      "message": "btrfs: return void in functions without error conditions\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
      "tree": "0dbb83e57260ea7fc0dc421f214d5f1b26262005",
      "parents": [
        "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
        "bea95c152dee1791dd02cbc708afbb115bb00f9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes for v3.4 from Ingo Molnar:\n\n - New \"hardware based branch profiling\" feature both on the kernel and\n   the tooling side, on CPUs that support it.  (modern x86 Intel CPUs\n   with the \u0027LBR\u0027 hardware feature currently.)\n\n   This new feature is basically a sophisticated \u0027magnifying glass\u0027 for\n   branch execution - something that is pretty difficult to extract from\n   regular, function histogram centric profiles.\n\n   The simplest mode is activated via \u0027perf record -b\u0027, and the result\n   looks like this in perf report:\n\n\t$ perf record -b any_call,u -e cycles:u branchy\n\n\t$ perf report -b --sort\u003dsymbol\n\t    52.34%  [.] main                   [.] f1\n\t    24.04%  [.] f1                     [.] f3\n\t    23.60%  [.] f1                     [.] f2\n\t     0.01%  [k] _IO_new_file_xsputn    [k] _IO_file_overflow\n\t     0.01%  [k] _IO_vfprintf_internal  [k] _IO_new_file_xsputn\n\t     0.01%  [k] _IO_vfprintf_internal  [k] strchrnul\n\t     0.01%  [k] __printf               [k] _IO_vfprintf_internal\n\t     0.01%  [k] main                   [k] __printf\n\n   This output shows from/to branch columns and shows the highest\n   percentage (from,to) jump combinations - i.e.  the most likely taken\n   branches in the system.  \"branches\" can also include function calls\n   and any other synchronous and asynchronous transitions of the\n   instruction pointer that are not \u0027next instruction\u0027 - such as system\n   calls, traps, interrupts, etc.\n\n   This feature comes with (hopefully intuitive) flat ascii and TUI\n   support in perf report.\n\n - Various \u0027perf annotate\u0027 visual improvements for us assembly junkies.\n   It will now recognize function calls in the TUI and by hitting enter\n   you can follow the call (recursively) and back, amongst other\n   improvements.\n\n - Multiple threads/processes recording support in perf record, perf\n   stat, perf top - which is activated via a comma-list of PIDs:\n\n\tperf top -p 21483,21485\n\tperf stat -p 21483,21485 -ddd\n\tperf record -p 21483,21485\n\n - Support for per UID views, via the --uid paramter to perf top, perf\n   report, etc.  For example \u0027perf top --uid mingo\u0027 will only show the\n   tasks that I am running, excluding other users, root, etc.\n\n - Jump label restructurings and improvements - this includes the\n   factoring out of the (hopefully much clearer) include/linux/static_key.h\n   generic facility:\n\n\tstruct static_key key \u003d STATIC_KEY_INIT_FALSE;\n\n\t...\n\n\tif (static_key_false(\u0026key))\n\t        do unlikely code\n\telse\n\t        do likely code\n\n\t...\n\tstatic_key_slow_inc();\n\t...\n\tstatic_key_slow_inc();\n\t...\n\n   The static_key_false() branch will be generated into the code with as\n   little impact to the likely code path as possible.  the\n   static_key_slow_*() APIs flip the branch via live kernel code patching.\n\n   This facility can now be used more widely within the kernel to\n   micro-optimize hot branches whose likelihood matches the static-key\n   usage and fast/slow cost patterns.\n\n - SW function tracer improvements: perf support and filtering support.\n\n - Various hardenings of the perf.data ABI, to make older perf.data\u0027s\n   smoother on newer tool versions, to make new features integrate more\n   smoothly, to support cross-endian recording/analyzing workflows\n   better, etc.\n\n - Restructuring of the kprobes code, the splitting out of \u0027optprobes\u0027,\n   and a corner case bugfix.\n\n - Allow the tracing of kernel console output (printk).\n\n - Improvements/fixes to user-space RDPMC support, allowing user-space\n   self-profiling code to extract PMU counts without performing any\n   system calls, while playing nice with the kernel side.\n\n - \u0027perf bench\u0027 improvements\n\n - ... and lots of internal restructurings, cleanups and fixes that made\n   these features possible.  And, as usual this list is incomplete as\n   there were also lots of other improvements\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)\n  perf report: Fix annotate double quit issue in branch view mode\n  perf report: Remove duplicate annotate choice in branch view mode\n  perf/x86: Prettify pmu config literals\n  perf report: Enable TUI in branch view mode\n  perf report: Auto-detect branch stack sampling mode\n  perf record: Add HEADER_BRANCH_STACK tag\n  perf record: Provide default branch stack sampling mode option\n  perf tools: Make perf able to read files from older ABIs\n  perf tools: Fix ABI compatibility bug in print_event_desc()\n  perf tools: Enable reading of perf.data files from different ABI rev\n  perf: Add ABI reference sizes\n  perf report: Add support for taken branch sampling\n  perf record: Add support for sampling taken branch\n  perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK\n  x86/kprobes: Split out optprobe related code to kprobes-opt.c\n  x86/kprobes: Fix a bug which can modify kernel code permanently\n  x86/kprobes: Fix instruction recovery on optimized path\n  perf: Add callback to flush branch_stack on context switch\n  perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n  perf/x86: Add LBR software filter support for Intel CPUs\n  ...\n"
    },
    {
      "commit": "313162d0b83836e2f57e51b9b8650fb4b9c396ea",
      "tree": "8f39f20515a924d392cf9a72db0918fda07a34c7",
      "parents": [
        "51990e825431089747f8896244b5c17d3a6423f1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jan 30 11:46:54 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Mar 16 10:38:24 2012 -0400"
      },
      "message": "device.h: audit and cleanup users in main include dir\n\nThe \u003clinux/device.h\u003e header includes a lot of stuff, and\nit in turn gets a lot of use just for the basic \"struct device\"\nwhich appears so often.\n\nClean up the users as follows:\n\n1) For those headers only needing \"struct device\" as a pointer\nin fcn args, replace the include with exactly that.\n\n2) For headers not really using anything from device.h, simply\ndelete the include altogether.\n\n3) For headers relying on getting device.h implicitly before\nbeing included themselves, now explicitly include device.h\n\n4) For files in which doing #1 or #2 uncovers an implicit\ndependency on some other header, fix by explicitly adding\nthe required header(s).\n\nAny C files that were implicitly relying on device.h to be\npresent have already been dealt with in advance.\n\nTotal removals from #1 and #2: 51.  Total additions coming\nfrom #3: 9.  Total other implicit dependencies from #4: 7.\n\nAs of 3.3-rc1, there were 110, so a net removal of 42 gives\nabout a 38% reduction in device.h presence in include/*\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "7d9aca39dcacd2b3f42e2e287162329f410f93e1",
      "tree": "2907b680b2b7625226f46d23d74ccc9c58ad0362",
      "parents": [
        "e1c1c69c8fc7656c33460c8e085ac0d0be22ac3b",
        "a0cc0209abb9fe2b9ab71aa41be70eddd0cbdd61"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:13:25 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:13:25 2012 +0000"
      },
      "message": "Merge remote-tracking branch \u0027regmap/topic/drivers\u0027 into regmap-next\n\nResolved simple add/add conflicts:\n\tdrivers/base/regmap/internal.h\n\tdrivers/base/regmap/regmap.c\n"
    },
    {
      "commit": "79feb521a44705262d15cc819a4117a447b11ea7",
      "tree": "a4de6ed084b7a68c0885049d94841ce8334b64a7",
      "parents": [
        "a78bb11d7acd525623c6a0c2ff4e213d527573fa"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 13 22:22:54 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Mar 13 22:22:54 2012 -0400"
      },
      "message": "jbd2: issue cache flush after checkpointing even with internal journal\n\nWhen we reach jbd2_cleanup_journal_tail(), there is no guarantee that\ncheckpointed buffers are on a stable storage - especially if buffers were\nwritten out by jbd2_log_do_checkpoint(), they are likely to be only in disk\u0027s\ncaches. Thus when we update journal superblock effectively removing old\ntransaction from journal, this write of superblock can get to stable storage\nbefore those checkpointed buffers which can result in filesystem corruption\nafter a crash. Thus we must unconditionally issue a cache flush before we\nupdate journal superblock in these cases.\n\nA similar problem can also occur if journal superblock is written only in\ndisk\u0027s caches, other transaction starts reusing space of the transaction\ncleaned from the log and power failure happens. Subsequent journal replay would\nstill try to replay the old transaction but some of it\u0027s blocks may be already\noverwritten by the new transaction. For this reason we must use WRITE_FUA when\nupdating log tail and we must first write new log tail to disk and update\nin-memory information only after that.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "24bcc89c7e7c64982e6192b4952a0a92379fc341",
      "tree": "0661b6c83fa9bb681f3aa32264323ce96c264958",
      "parents": [
        "31d4f3a2f3c73f279ff96a7135d7202ef6833f12"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 13 15:41:04 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Mar 13 15:41:04 2012 -0400"
      },
      "message": "jbd2: split updating of journal superblock and marking journal empty\n\nThere are three case of updating journal superblock. In the first case, we want\nto mark journal as empty (setting s_sequence to 0), in the second case we want\nto update log tail, in the third case we want to update s_errno. Split these\ncases into separate functions. It makes the code slightly more straightforward\nand later patches will make the distinction even more important.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "737f24bda723fdf89ecaacb99fa2bf5683c32799",
      "tree": "35495fff3e9956679cb5468e74e6814c8e44ee66",
      "parents": [
        "8eedce996556d7d06522cd3a0e6069141c8dffe0",
        "b7c924274c456499264d1cfa3d44063bb11eb5db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/builtin-record.c\n\ttools/perf/builtin-top.c\n\ttools/perf/perf.h\n\ttools/perf/util/top.h\n\nMerge reason: resolve these cherry-picking conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bdd4431c8d071491a68a65d9457996f222b5ecd3",
      "tree": "9de69701cdba1dd28bcb804476bff07806f6d7a3",
      "parents": [
        "586c6e7013c8cbb8c91aaa6568ec349b1dc2c691",
        "1cc85961e214773cb7d7f2ccbe3bc644dd466df0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:16:01 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:16:10 2012 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu\n\nThe major features of this series are:\n\n - making RCU more aggressive about entering dyntick-idle mode in order to\n   improve energy efficiency\n\n - converting a few more call_rcu()s to kfree_rcu()s\n\n - applying a number of rcutree fixes and cleanups to rcutiny\n\n - removing CONFIG_SMP #ifdefs from treercu\n\n - allowing RCU CPU stall times to be set via sysfs\n\n - adding CPU-stall capability to rcutorture\n\n - adding more RCU-abuse diagnostics\n\n - updating documentation\n\n - fixing yet more issues located by the still-ongoing top-to-bottom\n   inspection of RCU, this time with a special focus on the\n   CPU-hotplug code path.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d5b7d4f80ed6e861c1c220fd57e3dad0912526e",
      "tree": "40c015040a63379d114b8f33b4d70e248867a9a4",
      "parents": [
        "a3c3774176838bbfa4f6e48133644903818e56dc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:02:57 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:10:56 2012 +0000"
      },
      "message": "regmap: Add tracepoints for cache only and cache bypass\n\nUseful for figuring out where the hardware interaction went or came from.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4ff16c25e2cc48cbe6956e356c38a25ac063a64d",
      "tree": "27ff21500ab5559497126e6a25e65bcf96d44c59",
      "parents": [
        "034d150a44a2b428e273e69889397c01f63eaf14"
      ],
      "author": {
        "name": "David Smith",
        "email": "dsmith@redhat.com",
        "time": "Tue Feb 07 10:11:05 2012 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 23 09:28:06 2012 +0100"
      },
      "message": "tracepoint, vfs, sched: Add exec() tracepoint\n\nAdded a minimal exec tracepoint. Exec is an important major event\nin the life of a task, like fork(), clone() or exit(), all of\nwhich we already trace.\n\n[ We also do scheduling re-balancing during exec() - so it\u0027s useful\n  from a scheduler instrumentation POV as well. ]\n\nIf you want to watch a task start up, when it gets exec\u0027ed is a good place\nto start.  With the addition of this tracepoint, exec\u0027s can be monitored\nand better picture of general system activity can be obtained. This\ntracepoint will also enable better process life tracking, allowing you to\nanswer questions like \"what process keeps starting up binary X?\".\n\nThis tracepoint can also be useful in ftrace filtering and trigger\nconditions: i.e. starting or stopping filtering when exec is called.\n\nSigned-off-by: David Smith \u003cdsmith@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/4F314D19.7030504@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c79a045fd590a26e81e75f5d8d4ec5c7d23e565",
      "tree": "8123849709e37dc2394373ad40cf333b2f19ebb5",
      "parents": [
        "719741d9986572d64b47c35c09f5e7bb8d389400"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 30 14:51:37 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 12:06:55 2012 +0100"
      },
      "message": "sched/events: Revert trace_sched_stat_sleeptime()\n\nCommit 1ac9bc69 (\"sched/tracing: Add a new tracepoint for sleeptime\")\nadded a new sched:sched_stat_sleeptime tracepoint.\n\nIt\u0027s broken: the first sample we get on a task might be bad because\nof a stale sleep_start value that wasn\u0027t reset at the last task switch\nbecause the tracepoint was not active.\n\nIt also breaks the existing schedstat samples due to the side\neffects of:\n\n-               se-\u003estatistics.sleep_start \u003d 0;\n...\n-               se-\u003estatistics.block_start \u003d 0;\n\nNor do I see means to fix it without adding overhead to the scheduler\nfast path, which I\u0027m not willing to for the sake of redundant\ninstrumentation.\n\nMost importantly, sleep time information can already be constructed\nby tracing context switches and wakeups, and taking the timestamp\ndifference between the schedule-out, the wakeup and the schedule-in.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-pc4c9qhl8q6vg3bs4j6k0rbd@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "486e259340fc4c60474f2c14703e3b3634bb58ca",
      "tree": "70a58702194588fa0773463523f72c682785d040",
      "parents": [
        "0bb7b59d6e2b8440cd7097097dd4bbfc4d76ed07"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 14:11:30 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:25 2012 -0800"
      },
      "message": "rcu: Avoid waking up CPUs having only kfree_rcu() callbacks\n\nWhen CONFIG_RCU_FAST_NO_HZ is enabled, RCU will allow a given CPU to\nenter dyntick-idle mode even if it still has RCU callbacks queued.\nRCU avoids system hangs in this case by scheduling a timer for several\njiffies in the future.  However, if all of the callbacks on that CPU\nare from kfree_rcu(), there is no reason to wake the CPU up, as it is\nnot a problem to defer freeing of memory.\n\nThis commit therefore tracks the number of callbacks on a given CPU\nthat are from kfree_rcu(), and avoids scheduling the timer if all of\na given CPU\u0027s callbacks are from kfree_rcu().\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": "2201c590dd6e802795e21e69e3c152c519f1568e",
      "tree": "a617a8578dd181bbcb83c0e3c6198a3dc836eef8",
      "parents": [
        "3d2b158262826e8b75bbbfb7b97010838dd92ac7"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Mon Feb 20 17:53:01 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 20 17:53:01 2012 -0500"
      },
      "message": "jbd2: add drop_transaction/update_superblock_end tracepoints\n\nThis patch adds trace_jbd2_drop_transaction and\ntrace_jbd2_update_superblock_end because there are similar tracepoints\nin jbd and they are needed in jbd2 as well.\n\nReviewed-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "95100358491abaa2e9a5483811370059bbca4645",
      "tree": "4fc32c4bf2ef4416b4a914f5426f96ba58f29ec1",
      "parents": [
        "cdfb0d30e943f36c8a074a26c3d168a05bdbb372"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 24 20:03:08 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 13:46:05 2012 -0500"
      },
      "message": "printk/tracing: Add console output tracing\n\nAdd a printk.console trace point to record any printk\nmessages into the trace, regardless of the current\nconsole loglevel. This can help correlate (existing)\nprintk debugging with other tracing.\n\nLink: http://lkml.kernel.org/r/1322161388.5366.54.camel@jlt3.sipsolutions.net\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "484546509ce5d49d43ec0a6eb2141c6bf3362bfc",
      "tree": "22145ca23b08aee51d17f335897e035a20a96dcc",
      "parents": [
        "2fbb90db1b8fcc78f43830f1a009f3af243c5f42"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Feb 07 09:40:30 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 09:14:43 2012 -0500"
      },
      "message": "x86/tracing: Denote the power and cpuidle tracepoints as _rcuidle()\n\nThe power and cpuidle tracepoints are called within a rcu_idle_exit()\nsection, and must be denoted with the _rcuidle() version of the tracepoint.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5753cba17611af108995672c4e2d978014e17a56",
      "tree": "5b0588c60045b155e9dc79e01490b248e19b6c2c",
      "parents": [
        "85c0d24f026ca6935897694be4eb0b5c514b907d"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "steved@redhat.com",
        "time": "Mon Feb 06 10:08:08 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 10:37:53 2012 -0500"
      },
      "message": "SUNRPC: Adding status trace points\n\nThis patch adds three trace points to the status routines\nin the sunrpc state machine.\n\nThe goal of these trace points is to give an Admin\nthe ability to check on binding status or connection\nstatus to see if there is a potential problem.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "85c0d24f026ca6935897694be4eb0b5c514b907d",
      "tree": "1f70f139d093624630c59d1a85054a6a3cc65320",
      "parents": [
        "a4980e7840176b4baa60715c32c5994b084ea9a6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 10:31:35 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 10:31:35 2012 -0500"
      },
      "message": "SUNRPC: Fix up sunrpc trace events\n\nThe reporting of the RPC queue name needs to use the __string()\nevent interface.\n\nReported-by: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "977b7e3a52a7421ad33a393a38ece59f3d41c2fa",
      "tree": "8ad7bb97c2385c3407c4fb647cc932978057559d",
      "parents": [
        "3310225dfc71a35a2cc9340c15c0e08b14b3c754"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Feb 04 20:54:03 2012 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Feb 06 11:17:25 2012 +0800"
      },
      "message": "writeback: fix dereferencing NULL bdi-\u003edev on trace_writeback_queue\n\nWhen a SD card is hot removed without umount, del_gendisk() will call\nbdi_unregister() without destroying/freeing it. This leaves the bdi in\nthe bdi-\u003edev \u003d NULL, bdi-\u003ewb.task \u003d NULL, bdi-\u003ebdi_list removed state.\n\nWhen sync(2) gets the bdi before bdi_unregister() and calls\nbdi_queue_work() after the unregister, trace_writeback_queue will be\ndereferencing the NULL bdi-\u003edev. Fix it with a simple test for NULL.\n\nLKML-reference: http://lkml.org/lkml/2012/1/18/346\nCc: stable@kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nTested-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "42481ba29033b3e692fe81e6536fc8f59b40ce07",
      "tree": "f9ee3f436e38148d2b5f32a06ba7b3fb3fc11aaa",
      "parents": [
        "241057486646dd42278538218376c79aae2c359f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Feb 04 23:29:19 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Feb 05 15:53:02 2012 +0100"
      },
      "message": "Remove incorrect comment from include/trace/events/power.h\n\nThe code is not going to be removed, so remove the comment stating\nthat it will be.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "972c5ae961d6e5103e2b33d935cfa4145fd47140",
      "tree": "350b2a76b979ba8766c09838617df67ff330eca0",
      "parents": [
        "5196d20305d5e30d871111d3a876cf067dd94255",
        "7c7ed8ec337bf5f62cc5287a6eb6b2f1b7504c2f"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 03 23:12:42 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 03 23:13:05 2012 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nSync with Linus\u0027 tree to be able to apply patch to a newer\ncode (namely drivers/gpu/drm/gma500/psb_intel_lvds.c)\n"
    },
    {
      "commit": "60d3369edb03fb4799c45ac594e2b8a76aa9079c",
      "tree": "e02a4229fbfa914e4768feb535215c7fc25a80ee",
      "parents": [
        "61c54d20d16f098823058b07b399ac5b716ea5ba"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Jan 15 21:48:38 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 03 22:41:34 2012 +0100"
      },
      "message": "Fix up version number reference in include/trace/events/power.h\n\nWhat was originally going to be 2.6.41 became 3.1 .\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "15eb77a07c714ac80201abd0a9568888bcee6276",
      "tree": "cc43dc8458cb431900fd47990772ffa56b36b4f4",
      "parents": [
        "2673b4cf5d59c3ee5e0c12f6d734d38770324dc4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jan 17 11:18:56 2012 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Feb 01 16:53:40 2012 +0800"
      },
      "message": "writeback: fix NULL bdi-\u003edev in trace writeback_single_inode\n\nbdi_prune_sb() resets sb-\u003es_bdi to default_backing_dev_info when the\ntearing down the original bdi. Fix trace_writeback_single_inode to\nuse sb-\u003es_bdi\u003ddefault_backing_dev_info rather than bdi-\u003edev\u003dNULL for a\nteared down bdi.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nTested-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "82b0a4c3c171b180629696e8d1d5f52516f711e6",
      "tree": "60aab7bc3a767e3c017a228597eaaeedeffe4c00",
      "parents": [
        "a613fa168afc19179a7547fbba45644c5b6912bf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 14:52:23 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:21 2012 -0500"
      },
      "message": "SUNRPC: Add trace events to the sunrpc subsystem\n\nAdd declarations to allow tracing of RPC call creation, running, sleeping,\nand destruction.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96070c83b295b31912ad92d3ffb66baec2b86d50",
      "tree": "9ee346398552b40df1a7c7a80cb366bfd6a07181",
      "parents": [
        "87f71ae2dd7471c1b4c94100be1f218e91dc64c3",
        "163566f60bfe6a8176650155e2d98649b0dfabf8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 11:09:19 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 11:09:19 2012 +0100"
      },
      "message": "Merge branch \u0027sigtrace\u0027 of git://github.com/utrace/linux into perf/core\n"
    },
    {
      "commit": "f9156c7288e2d11501ded4d7fe6d9a3a41ee4057",
      "tree": "7bd26fc9a111c6af1601ecd2d1b0ab60da32f3f0",
      "parents": [
        "67175b855bfd6ed95ffeff95532173c07de6432d",
        "96bdc7dc61fb1b1e8e858dafb13abee8482ba064"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:49:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:49:54 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (62 commits)\n  Btrfs: use larger system chunks\n  Btrfs: add a delalloc mutex to inodes for delalloc reservations\n  Btrfs: space leak tracepoints\n  Btrfs: protect orphan block rsv with spin_lock\n  Btrfs: add allocator tracepoints\n  Btrfs: don\u0027t call btrfs_throttle in file write\n  Btrfs: release space on error in page_mkwrite\n  Btrfs: fix btrfsck error 400 when truncating a compressed\n  Btrfs: do not use btrfs_end_transaction_throttle everywhere\n  Btrfs: add balance progress reporting\n  Btrfs: allow for resuming restriper after it was paused\n  Btrfs: allow for canceling restriper\n  Btrfs: allow for pausing restriper\n  Btrfs: add skip_balance mount option\n  Btrfs: recover balance on mount\n  Btrfs: save balance parameters to disk\n  Btrfs: soft profile changing mode (aka soft convert)\n  Btrfs: implement online profile changing\n  Btrfs: do not reduce profile in do_chunk_alloc()\n  Btrfs: virtual address space subset filter\n  ...\n\nFix up trivial conflict in fs/btrfs/ioctl.c due to the use of the new\nmnt_drop_write_file() helper.\n"
    },
    {
      "commit": "8c2a3ca20f6233677ac3222c6506174010eb414f",
      "tree": "88d1105c665d355b363929557ed0c5489795e348",
      "parents": [
        "90290e19820e3323ce6b9c2888eeb68bf29c278b"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jan 10 10:31:31 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 16 15:29:43 2012 -0500"
      },
      "message": "Btrfs: space leak tracepoints\n\nThis in addition to a script in my btrfs-tracing tree will help track down space\nleaks when we\u0027re getting space left over in block groups on umount.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "3f7de037fb3727b20bc27332cdcf2488b702394c",
      "tree": "7e355b7e60b584ca7aaaf7c8abfa1f2408c15ff2",
      "parents": [
        "45a8090e626ab470c91142954431a93846030b0d"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Nov 10 08:29:20 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 16 15:29:42 2012 -0500"
      },
      "message": "Btrfs: add allocator tracepoints\n\nI used these tracepoints when figuring out what the cluster stuff was doing, so\nadd them to mainline in case we need to profile this stuff again.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "6c303d3ab39f0dc69546f179c424ee1124f50906",
      "tree": "40fd551256229f2ac1f931c3f9e650ba67deefc7",
      "parents": [
        "099469502f62fbe0d7e4f0b83a2f22538367f734"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Nov 22 21:13:48 2011 +0100"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jan 13 18:48:50 2012 +0100"
      },
      "message": "tracing: let trace_signal_generate() report more info, kill overflow_fail/lose_info\n\n__send_signal()-\u003etrace_signal_generate() doesn\u0027t report enough info.\nThe users want to know was the signal actually delivered or not, and\nthey also need the shared/private info.\n\nThe patch moves trace_signal_generate() at the end of __send_signal()\nand adds the 2 additional arguments.\n\nThis also allows us to kill trace_signal_overflow_fail/lose_info, we\ncan simply add the appropriate TRACE_SIGNAL_ \"result\" codes.\n\nReported-by: Seiji Aguchi \u003csaguchi@redhat.com\u003e\nReviewed-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "ea4d349ffa8028c655236497c2ba17c17aaa0d65",
      "tree": "b983961282dea73db03a1257fa4aaec109aee5cc",
      "parents": [
        "45676885b76237a4c236d26fe20a9b0cfdb2eb22"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Jan 12 17:19:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:08 2012 -0800"
      },
      "message": "vmscan/trace: Add \u0027file\u0027 info to trace_mm_vmscan_lru_isolate()\n\nIn trace_mm_vmscan_lru_isolate(), we don\u0027t output \u0027file\u0027 information to\nthe trace event and it is a bit inconvenient for the user to get the\nreal information(like pasted below).  mm_vmscan_lru_isolate:\nisolate_mode\u003d2 order\u003d0 nr_requested\u003d32 nr_scanned\u003d32 nr_taken\u003d32\ncontig_taken\u003d0 contig_dirty\u003d0 contig_failed\u003d0\n\n\u0027active\u0027 can be obtained by analyzing mode(Thanks go to Minchan and\nMel), So this patch adds \u0027file\u0027 to the trace event and it now looks\nlike: mm_vmscan_lru_isolate: isolate_mode\u003d2 order\u003d0 nr_requested\u003d32\nnr_scanned\u003d32 nr_taken\u003d32 contig_taken\u003d0 contig_dirty\u003d0 contig_failed\u003d0\nfile\u003d0\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
      "tree": "a76225046369c440de93739add9823f5ea060245",
      "parents": [
        "40ba587923ae67090d9f141c1d3c951be5c1420e",
        "bc31b86a5923fad5f3fbb6192f767f410241ba27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n  writeback: balanced_rate cannot exceed write bandwidth\n  writeback: do strict bdi dirty_exceeded\n  writeback: avoid tiny dirty poll intervals\n  writeback: max, min and target dirty pause time\n  writeback: dirty ratelimit - think time compensation\n  btrfs: fix dirtied pages accounting on sub-page writes\n  writeback: fix dirtied pages accounting on redirty\n  writeback: fix dirtied pages accounting on sub-page writes\n  writeback: charge leaked page dirties to active tasks\n  writeback: Include all dirty inodes in background writeback\n"
    },
    {
      "commit": "40ba587923ae67090d9f141c1d3c951be5c1420e",
      "tree": "342a72fc0ee13a0d2496ef970b64dfeadf1355d2",
      "parents": [
        "54c2c5761febcca46c8037d3a81612991e6c209a",
        "6b550f9495947fc279d12c38feaf98500e8d0646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (aka \"Andrew\u0027s patch-bomb\")\n\nAndrew elucidates:\n - First installmeant of MM.  We have a HUGE number of MM patches this\n   time.  It\u0027s crazy.\n - MAINTAINERS updates\n - backlight updates\n - leds\n - checkpatch updates\n - misc ELF stuff\n - rtc updates\n - reiserfs\n - procfs\n - some misc other bits\n\n* akpm: (124 commits)\n  user namespace: make signal.c respect user namespaces\n  workqueue: make alloc_workqueue() take printf fmt and args for name\n  procfs: add hidepid\u003d and gid\u003d mount options\n  procfs: parse mount options\n  procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n  procfs: make proc_get_link to use dentry instead of inode\n  signal: add block_sigmask() for adding sigmask to current-\u003eblocked\n  sparc: make SA_NOMASK a synonym of SA_NODEFER\n  reiserfs: don\u0027t lock root inode searching\n  reiserfs: don\u0027t lock journal_init()\n  reiserfs: delay reiserfs lock until journal initialization\n  reiserfs: delete comments referring to the BKL\n  drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n  drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030\n  drivers/rtc/: remove redundant spi driver bus initialization\n  drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static\n  drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static\n  rtc: convert drivers/rtc/* to use module_platform_driver()\n  drivers/rtc/rtc-wm831x.c: convert to devm_kzalloc()\n  drivers/rtc/rtc-wm831x.c: remove unused period IRQ handler\n  ...\n"
    },
    {
      "commit": "43d2b113241d6797b890318767e0af78e313414b",
      "tree": "6f25647f2660f8fca63cc8355b70ad643993dab8",
      "parents": [
        "6bd4837de96e7d9f9bf33e59117c24fc230862ac"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jan 10 15:08:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:44 2012 -0800"
      },
      "message": "tracepoint: add tracepoints for debugging oom_score_adj\n\noom_score_adj is used for guarding processes from OOM-Killer.  One of\nproblem is that it\u0027s inherited at fork().  When a daemon set oom_score_adj\nand make children, it\u0027s hard to know where the value is set.\n\nThis patch adds some tracepoints useful for debugging. This patch adds\n3 trace points.\n  - creating new task\n  - renaming a task (exec)\n  - set oom_score_adj\n\nTo debug, users need to enable some trace pointer. Maybe filtering is useful as\n\n# EVENT\u003d/sys/kernel/debug/tracing/events/task/\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_newtask/filter\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_rename/filter\n# echo 1 \u003e $EVENT/enable\n# EVENT\u003d/sys/kernel/debug/tracing/events/oom/\n# echo 1 \u003e $EVENT/enable\n\noutput will be like this.\n# grep oom /sys/kernel/debug/tracing/trace\nbash-7699  [007] d..3  5140.744510: oom_score_adj_update: pid\u003d7699 comm\u003dbash oom_score_adj\u003d-1000\nbash-7699  [007] ...1  5151.818022: task_newtask: pid\u003d7729 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\nls-7729  [003] ...2  5151.818504: task_rename: pid\u003d7729 oldcomm\u003dbash newcomm\u003dls oom_score_adj\u003d-1000\nbash-7699  [002] ...1  5175.701468: task_newtask: pid\u003d7730 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\ngrep-7730  [007] ...2  5175.701993: task_rename: pid\u003d7730 oldcomm\u003dbash newcomm\u003dgrep oom_score_adj\u003d-1000\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b413d48aa70605701c0b395b2e350ca15f5d643a",
      "tree": "6aa777c589eedfb9dc498f375d553e561e203506",
      "parents": [
        "da066ad3570b88e7dee82e76a06ee9a7adffcf0d"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue Jan 10 15:07:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:41 2012 -0800"
      },
      "message": "mm-tracepoint: rename page-free events\n\nRename mm_page_free_direct into mm_page_free and mm_pagevec_free into\nmm_page_free_batched\n\nSince v2.6.33-5426-gc475dab the kernel triggers mm_page_free_direct for\nall freed pages, not only for directly freed.  So, let\u0027s name it properly.\n For pages freed via page-list we also trigger mm_page_free_batched event.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff9cb1c4eead5e4c292e75cd3170a82d66944101",
      "tree": "cdb132a39e550a9b7b28ea67544cb86cd6ebdb6e",
      "parents": [
        "e4e11180dfa545233e5145919b75b7fac88638df",
        "d50f2ab6f050311dbf7b8f5501b25f0bf64a439b"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 10 11:54:07 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 10 11:54:07 2012 -0500"
      },
      "message": "Merge branch \u0027for_linus\u0027 into for_linus_merged\n\nConflicts:\n\tfs/ext4/ioctl.c\n"
    },
    {
      "commit": "b7d845f8825b058b80e76320f573505afbf4a1fc",
      "tree": "dc66dec44b489723427c9c4a9a92ef6e9f17c55b",
      "parents": [
        "2943c833222ef87c111ee0c6b7b8519ad2983e99",
        "0a92815db789bd5a922d882826cf710f9b0b9d85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:35:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:35:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (36 commits)\n  mfd: Clearing events requires event registers to be writable for da9052-core\n  mfd: Fix annotations in da9052-core\n  gpiolib: Mark da9052 driver broken\n  mfd: Declare da9052_regmap_config for the bus drivers\n  MFD: DA9052/53 MFD core module add SPI support v2\n  MFD: DA9052/53 MFD core module\n  regmap: Add irq_base accessor to regmap_irq\n  regmap: Allow drivers to reinitialise the register cache at runtime\n  regmap: Add trace event for successful cache reads\n  regmap: Allow regmap_update_bits() users to detect changes\n  regmap: Report if we actually handled an interrupt in regmap-irq\n  regmap: Fix rbtreee build when not using debugfs\n  regmap: Provide debugfs dump of the rbtree cache data\n  regmap: Do debugfs init before cache init\n  regmap: Suppress noop writes in regmap_update_bits()\n  regmap: Remove indexed cache type\n  regmap: Drop check whether a register is readable in regcache_read\n  regmap: Properly round cache_word_size\n  regmap: Add support for 10/14 register formating\n  regmap: Try cached read before checking if a hardware read is possible\n  ...\n"
    },
    {
      "commit": "0db49b72bce26341274b74fd968501489a361ae3",
      "tree": "cdb076827aefb38d719d4c42f8ef291c36072fa8",
      "parents": [
        "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
        "1ac9bc6943edf7d181b4b1cc734981350d4f6bae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:33:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:44:54 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  sched/tracing: Add a new tracepoint for sleeptime\n  sched: Disable scheduler warnings during oopses\n  sched: Fix cgroup movement of waking process\n  sched: Fix cgroup movement of newly created process\n  sched: Fix cgroup movement of forking process\n  sched: Remove cfs bandwidth period check in tg_set_cfs_period()\n  sched: Fix load-balance lock-breaking\n  sched: Replace all_pinned with a generic flags field\n  sched: Only queue remote wakeups when crossing cache boundaries\n  sched: Add missing rcu_dereference() around -\u003ereal_parent usage\n  [S390] fix cputime overflow in uptime_proc_show\n  [S390] cputime: add sparse checking and cleanup\n  sched: Mark parent and real_parent as __rcu\n  sched, nohz: Fix missing RCU read lock\n  sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer\n  sched, nohz: Fix the idle cpu check in nohz_idle_balance\n  sched: Use jump_labels for sched_feat\n  sched/accounting: Fix parameter passing in task_group_account_field\n  sched/accounting: Fix user/system tick double accounting\n  sched/accounting: Re-use scheduler statistics for the root cgroup\n  ...\n\nFix up conflicts in\n - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h\n\tusecs_to_cputime64() vs the sparse cleanups\n - kernel/sched/fair.c, kernel/time/tick-sched.c\n\tscheduler changes in multiple branches\n"
    },
    {
      "commit": "423d091dfe58d3109d84c408810a7cfa82f6f184",
      "tree": "43c4385d1dc7219582f924d42db1f3e203a577bd",
      "parents": [
        "1483b3823542c9721eddf09a077af1e02ac96b50",
        "919b83452b2e7c1dbced0456015508b4b9585db3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)\n  cpu: Export cpu_up()\n  rcu: Apply ACCESS_ONCE() to rcu_boost() return value\n  Revert \"rcu: Permit rt_mutex_unlock() with irqs disabled\"\n  docs: Additional LWN links to RCU API\n  rcu: Augment rcu_batch_end tracing for idle and callback state\n  rcu: Add rcutorture tests for srcu_read_lock_raw()\n  rcu: Make rcutorture test for hotpluggability before offlining CPUs\n  driver-core/cpu: Expose hotpluggability to the rest of the kernel\n  rcu: Remove redundant rcu_cpu_stall_suppress declaration\n  rcu: Adaptive dyntick-idle preparation\n  rcu: Keep invoking callbacks if CPU otherwise idle\n  rcu: Irq nesting is always 0 on rcu_enter_idle_common\n  rcu: Don\u0027t check irq nesting from rcu idle entry/exit\n  rcu: Permit dyntick-idle with callbacks pending\n  rcu: Document same-context read-side constraints\n  rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass\n  rcu: Remove dynticks false positives and RCU failures\n  rcu: Reduce latency of rcu_prepare_for_idle()\n  rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n  rcu: Avoid needlessly IPIing CPUs at GP end\n  ...\n"
    },
    {
      "commit": "1ac9bc6943edf7d181b4b1cc734981350d4f6bae",
      "tree": "c7853336d693e4593488c26b8ce27ceca3803a6f",
      "parents": [
        "664dfa65e84429d0b68694483e1de7365c7c56fb"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Wed Dec 21 16:15:40 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 23 17:56:17 2011 +0100"
      },
      "message": "sched/tracing: Add a new tracepoint for sleeptime\n\nIf CONFIG_SCHEDSTATS is defined, the kernel maintains\ninformation about how long the task was sleeping or\nin the case of iowait, blocking in the kernel before\ngetting woken up.\n\nThis will be useful for sleep time profiling.\n\nNote: this information is only provided for sched_fair.\nOther scheduling classes may choose to provide this in\nthe future.\n\nNote: the delay includes the time spent on the runqueue\nas well.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1324512940-32060-2-git-send-email-asharma@fb.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60e07cf515e541ea3e13b888d273c9b19a2ad9dd",
      "tree": "d9c2b3a1f4e306cbdb199c4cae9fd3ed03a528b6",
      "parents": [
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Sun Dec 18 15:49:54 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Dec 18 15:49:54 2011 -0500"
      },
      "message": "ext4: do not reference pa_inode from group_pa\n\npa_inode in group_pa is set NULL in ext4_mb_new_group_pa, so\npa_inode should be not referenced.\n\nReported-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "83712358ba0a1497ce59a4f84ce4dd0f803fe6fc",
      "tree": "d17ab27a7bff50616e3b63ad137c004d9ccfbcb0",
      "parents": [
        "32c7f202a4801252a0f3578807b75a961f792870"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Jun 11 19:25:42 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Dec 18 14:20:27 2011 +0800"
      },
      "message": "writeback: dirty ratelimit - think time compensation\n\nCompensate the task\u0027s think time when computing the final pause time,\nso that -\u003edirty_ratelimit can be executed accurately.\n\n        think time :\u003d time spend outside of balance_dirty_pages()\n\nIn the rare case that the task slept longer than the 200ms period time\n(result in negative pause time), the sleep time will be compensated in\nthe following periods, too, if it\u0027s less than 1 second.\n\nAccumulated errors are carefully avoided as long as the max pause area\nis not hitted.\n\nPseudo code:\n\n        period \u003d pages_dirtied / task_ratelimit;\n        think \u003d jiffies - dirty_paused_when;\n        pause \u003d period - think;\n\n1) normal case: period \u003e think\n\n        pause \u003d period - think\n        dirty_paused_when \u003d jiffies + pause\n        nr_dirtied \u003d 0\n\n                             period time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n                  think time      pause time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n        ------|----------------|---------------|------------------------\n        dirty_paused_when   jiffies\n\n2) no pause case: period \u003c\u003d think\n\n        don\u0027t pause; reduce future pause time by:\n        dirty_paused_when +\u003d period\n        nr_dirtied \u003d 0\n\n                           period time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n                                  think time\n              |\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003e|\n        ------|--------------------------------+-------------------|----\n        dirty_paused_when                                       jiffies\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "b3bba872ddb0320a7ecb54decae53c13ceb2ed4c",
      "tree": "ed47c72d9193d40173e319663d4e1eb1c60a7d15",
      "parents": [
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Dec 08 16:53:54 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Dec 18 14:20:17 2011 +0800"
      },
      "message": "writeback: show writeback reason with __print_symbolic\n\nThis makes the binary trace understandable by trace-cmd.\n\nCC: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCC: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "4968c300e1fa5389fdf1f1ebd8b8e4aec9aa4a9e",
      "tree": "3424a8c3d2543096acad7319ec57fa8f62813620",
      "parents": [
        "101db7b41d8d6c070278bca1f7bce814ecbf781d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Dec 07 16:32:40 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:22 2011 -0800"
      },
      "message": "rcu: Augment rcu_batch_end tracing for idle and callback state\n\nThe current rcu_batch_end event trace records only the name of the RCU\nflavor and the total number of callbacks that remain queued on the\ncurrent CPU.  This is insufficient for testing and tuning the new\ndyntick-idle RCU_FAST_NO_HZ code, so this commit adds idle state along\nwith whether or not any of the callbacks that were ready to invoke\nat the beginning of rcu_do_batch() are still queued.\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": "7cb92499000e3c86dae653077b1465458a039ef6",
      "tree": "ebc982a5cc562b4fe0cb8f20541f45a5506a0b5f",
      "parents": [
        "3842a0832a1d6eb0b31421f8810a813135967512"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Nov 28 12:28:34 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:07 2011 -0800"
      },
      "message": "rcu: Permit dyntick-idle with callbacks pending\n\nThe current implementation of RCU_FAST_NO_HZ prevents CPUs from entering\ndyntick-idle state if they have RCU callbacks pending.  Unfortunately,\nthis has the side-effect of often preventing them from entering this\nstate, especially if at least one other CPU is not in dyntick-idle state.\nHowever, the resulting per-tick wakeup is wasteful in many cases: if the\nCPU has already fully responded to the current RCU grace period, there\nwill be nothing for it to do until this grace period ends, which will\nfrequently take several jiffies.\n\nThis commit therefore permits a CPU that has done everything that the\ncurrent grace period has asked of it (rcu_pending() \u003d\u003d 0) even if it\nstill as RCU callbacks pending.  However, such a CPU posts a timer to\nwake it up several jiffies later (6 jiffies, based on experience with\ngrace-period lengths).  This wakeup is required to handle situations\nthat can result in all CPUs being in dyntick-idle mode, thus failing\nto ever complete the current grace period.  If a CPU wakes up before\nthe timer goes off, then it cancels that timer, thus avoiding spurious\nwakeups.\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": "f535a607c13c7b674e0788ca5765779aa74a01c3",
      "tree": "433a07d16ff11d9f67e7991831cebf3cadfd9939",
      "parents": [
        "84ad00cb61f1cb21f0b63bc6f7dc254399eb3830"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 20:43:02 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:02 2011 -0800"
      },
      "message": "rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n\nWith the new implementation of RCU_FAST_NO_HZ, it was possible to hang\nRCU grace periods as follows:\n\no\tCPU 0 attempts to go idle, cycles several times through the\n\trcu_prepare_for_idle() loop, then goes dyntick-idle when\n\tRCU needs nothing more from it, while still having at least\n\ton RCU callback pending.\n\no\tCPU 1 goes idle with no callbacks.\n\nBoth CPUs can then stay in dyntick-idle mode indefinitely, preventing\nthe RCU grace period from ever completing, possibly hanging the system.\n\nThis commit therefore prevents CPUs that have RCU callbacks from entering\ndyntick-idle mode.  This approach also eliminates the need for the\nend-of-grace-period IPIs used previously.\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": "433cdddcd9ac5558068edd7f8d4707a70f7710f5",
      "tree": "7f3686eb64c9ee3a239e5920df588c70837c5637",
      "parents": [
        "045fb9315a2129023d70a0eecf0942e18fca4fcd"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 14:58:03 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:00 2011 -0800"
      },
      "message": "rcu: Add tracing for RCU_FAST_NO_HZ\n\nThis commit adds trace_rcu_prep_idle(), which is invoked from\nrcu_prepare_for_idle() and rcu_wake_cpu() to trace attempts on\nthe part of RCU to force CPUs into dyntick-idle mode.\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": "045fb9315a2129023d70a0eecf0942e18fca4fcd",
      "tree": "ede20a4d4edd1d02362af24131114c93a84b77b1",
      "parents": [
        "182dd4b277177e8465ad11cd9f85f282946b5578"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 12:13:03 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:59 2011 -0800"
      },
      "message": "rcu: Update trace_rcu_dyntick() header comment\n\nThis commit updates the trace_rcu_dyntick() header comment to reflect\nevents added by commit 4b4f421.\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": "4145fa7fbee3ec1e61c52825b146192885d9759f",
      "tree": "58e0767a59bf110acb99da3fb5c1f0f0b5170be8",
      "parents": [
        "9ceae0e248fb553c702d51d5275167d462f4efd2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Oct 31 15:01:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:42 2011 -0800"
      },
      "message": "rcu: Deconfuse dynticks entry-exit tracing\n\nThe trace_rcu_dyntick() trace event did not print both the old and\nthe new value of the nesting level, and furthermore printed only\nthe low-order 32 bits of it.  This could result in some confusion\nwhen interpreting trace-event dumps, so this commit prints both\nthe old and the new value, prints the full 64 bits, and also selects\nthe process-entry/exit increment to print nicely in hexadecimal.\n\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: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "91afaf300269aa99a4d646969b3258b74294ac4d",
      "tree": "b4d7dd5f5c9933be7873b206624f7b55eb25d906",
      "parents": [
        "a8eecf2248a45bf69f0625b23c003ad2ccd765ee"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 07:44:32 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:26 2011 -0800"
      },
      "message": "rcu: Add failure tracing to rcutorture\n\nTrace the rcutorture RCU accesses and dump the trace buffer when the\nfirst failure is detected.\n\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: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "9b2e4f1880b789be1f24f9684f7a54b90310b5c0",
      "tree": "1fa922e0616e298837a7079cb49118188a58186c",
      "parents": [
        "b804cb9e91c6c304959c69d4f9daeef4ffdba71c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Sep 30 12:10:22 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:24 2011 -0800"
      },
      "message": "rcu: Track idleness independent of idle tasks\n\nEarlier versions of RCU used the scheduling-clock tick to detect idleness\nby checking for the idle task, but handled idleness differently for\nCONFIG_NO_HZ\u003dy.  But there are now a number of uses of RCU read-side\ncritical sections in the idle task, for example, for tracing.  A more\nfine-grained detection of idleness is therefore required.\n\nThis commit presses the old dyntick-idle code into full-time service,\nso that rcu_idle_enter(), previously known as rcu_enter_nohz(), is\nalways invoked at the beginning of an idle loop iteration.  Similarly,\nrcu_idle_exit(), previously known as rcu_exit_nohz(), is always invoked\nat the end of an idle-loop iteration.  This allows the idle task to\nuse RCU everywhere except between consecutive rcu_idle_enter() and\nrcu_idle_exit() calls, in turn allowing architecture maintainers to\nspecify exactly where in the idle loop that RCU may be used.\n\nBecause some of the userspace upcall uses can result in what looks\nto RCU like half of an interrupt, it is not possible to expect that\nthe irq_enter() and irq_exit() hooks will give exact counts.  This\npatch therefore expands the -\u003edynticks_nesting counter to 64 bits\nand uses two separate bitfields to count process/idle transitions\nand interrupt entry/exit transitions.  It is presumed that userspace\nupcalls do not happen in the idle loop or from usermode execution\n(though usermode might do a system call that results in an upcall).\nThe counter is hard-reset on each process/idle transition, which\navoids the interrupt entry/exit error from accumulating.  Overflow\nis avoided by the 64-bitness of the -\u003edyntick_nesting counter.\n\nThis commit also adds warnings if a non-idle task asks RCU to enter\nidle state (and these checks will need some adjustment before applying\nFrederic\u0027s OS-jitter patches (http://lkml.org/lkml/2011/10/7/246).\nIn addition, validation of -\u003edynticks and -\u003edynticks_nesting is added.\n\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: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "b781a602ac745ee3d5d745276f1e1905a2c101f9",
      "tree": "bae4134842fba8c0e8ab22a205b73f21eba6c1d4",
      "parents": [
        "391e43da797a96aeb65410281891f6d0b0e9611c"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Nov 28 12:03:35 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:51:23 2011 +0100"
      },
      "message": "events, sched: Add tracepoint for accounting blocked time\n\nThis tracepoint shows how long a task is sleeping in uninterruptible state.\n\nE.g. it may show how long and where a mutex is waited for.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1322471015-107825-8-git-send-email-avagin@openvz.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc7ee55633867909bb05e71f957a4d3c1aa1b488",
      "tree": "b8465a2ee229fed3a7ea133a983236ffe7f657d7",
      "parents": [
        "018690d33ecf4aa1eb1415e38c40e2b0b6c7808e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 30 14:27:08 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 30 20:51:09 2011 +0000"
      },
      "message": "regmap: Add trace event for successful cache reads\n\nCurrently we only trace physical reads, there\u0027s no instrumentation if\nthe read is satisfied from cache.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "208bca0860406d16398145ddd950036a737c3c9d",
      "tree": "7797a16c17d8bd155120126fa7976727fc6de013",
      "parents": [
        "6aad3738f6a79fd0ca480eaceefe064cc471f6eb",
        "0e175a1835ffc979e55787774e58ec79e41957d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Add a \u0027reason\u0027 to wb_writeback_work\n  writeback: send work item to queue_io, move_expired_inodes\n  writeback: trace event balance_dirty_pages\n  writeback: trace event bdi_dirty_ratelimit\n  writeback: fix ppc compile warnings on do_div(long long, unsigned long)\n  writeback: per-bdi background threshold\n  writeback: dirty position control - bdi reserve area\n  writeback: control dirty pause time\n  writeback: limit max dirty pause time\n  writeback: IO-less balance_dirty_pages()\n  writeback: per task dirty rate limit\n  writeback: stabilize bdi-\u003edirty_ratelimit\n  writeback: dirty rate control\n  writeback: add bg_threshold parameter to __bdi_update_bandwidth()\n  writeback: dirty position control\n  writeback: account per-bdi accumulated dirtied pages\n"
    },
    {
      "commit": "f1f8935a5c38a2c61e86a42bc971a2539eef2211",
      "tree": "694950045f2f5d89507d7206cf6595e09cdfbd2c",
      "parents": [
        "34116645d912f65d7eb4508a1db3c9d0e45facb1",
        "f2a44523b20f323e4aef7c16261d34d6f0a4bf06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 10:06:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 10:06:20 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (97 commits)\n  jbd2: Unify log messages in jbd2 code\n  jbd/jbd2: validate sb-\u003es_first in journal_get_superblock()\n  ext4: let ext4_ext_rm_leaf work with EXT_DEBUG defined\n  ext4: fix a syntax error in ext4_ext_insert_extent when debugging enabled\n  ext4: fix a typo in struct ext4_allocation_context\n  ext4: Don\u0027t normalize an falloc request if it can fit in 1 extent.\n  ext4: remove comments about extent mount option in ext4_new_inode()\n  ext4: let ext4_discard_partial_buffers handle unaligned range correctly\n  ext4: return ENOMEM if find_or_create_pages fails\n  ext4: move vars to local scope in ext4_discard_partial_page_buffers_no_lock()\n  ext4: Create helper function for EXT4_IO_END_UNWRITTEN and i_aiodio_unwritten\n  ext4: optimize locking for end_io extent conversion\n  ext4: remove unnecessary call to waitqueue_active()\n  ext4: Use correct locking for ext4_end_io_nolock()\n  ext4: fix race in xattr block allocation path\n  ext4: trace punch_hole correctly in ext4_ext_map_blocks\n  ext4: clean up AGGRESSIVE_TEST code\n  ext4: move variables to their scope\n  ext4: fix quota accounting during migration\n  ext4: migrate cleanup\n  ...\n"
    },
    {
      "commit": "4356f21d09283dc6d39a6f7287a65ddab61e2808",
      "tree": "34822a1662ea83291455834556a4fb5bf98ecd72",
      "parents": [
        "b9e84ac1536d35aee03b2601f19694949f0bd506"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon Oct 31 17:06:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "mm: change isolate mode from #define to bitwise type\n\nChange ISOLATE_XXX macro with bitwise isolate_mode_t type.  Normally,\nmacro isn\u0027t recommended as it\u0027s type-unsafe and making debugging harder as\nsymbol cannot be passed throught to the debugger.\n\nQuote from Johannes\n\" Hmm, it would probably be cleaner to fully convert the isolation mode\ninto independent flags.  INACTIVE, ACTIVE, BOTH is currently a\ntri-state among flags, which is a bit ugly.\"\n\nThis patch moves isolate mode from swap.h to mmzone.h by memcontrol.h\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "67b84999b1a8b1af5625b1eabe92146c5eb42932",
      "tree": "5e746daf684ba699b02a489c75a8d501dddbc6b0",
      "parents": [
        "ec53cf23c0ddb0c29950b9a4ac46964c4c6c6c2f"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Sep 18 13:36:07 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:35 2011 -0400"
      },
      "message": "Revert \"tracing: Include module.h in define_trace.h\"\n\nThis reverts commit 3a9f987b3141f086de27832514aad9f50a53f754.\n\nWith all the files that are real modules now having module.h\nexplicitly called out for inclusion, and no reliance on any\nimplicit presence of module.h assumed, we should no longer\nneed this workaround.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "de47725421ad5627a5c905f4e40bb844ebc06d29",
      "tree": "bc23b0405d4a79dcc866a8b2877f128ee0ea9ffc",
      "parents": [
        "eb5589a8f0dab7e29021344228856339e6a1249c"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 13:46:22 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:32 2011 -0400"
      },
      "message": "include: replace linux/module.h with \"struct module\" wherever possible\n\nThe \u003clinux/module.h\u003e pretty much brings in the kitchen sink along\nwith it, so it should be avoided wherever reasonably possible in\nterms of being included from other commonly used \u003clinux/something.h\u003e\nfiles, as it results in a measureable increase on compile times.\n\nThe worst culprit was probably device.h since it is used everywhere.\nThis file also had an implicit dependency/usage of mutex.h which was\nmasked by module.h, and is also fixed here at the same time.\n\nThere are over a dozen other headers that simply declare the\nstruct instead of pulling in the whole file, so follow their lead\nand simply make it a few more.\n\nMost of the implicit dependencies on module.h being present by\nthese headers pulling it in have been now weeded out, so we can\nfinally make this change with hopefully minimal breakage.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "0e175a1835ffc979e55787774e58ec79e41957d7",
      "tree": "6ec4b65a8de4e9d1c12d26a1079079ed81d79450",
      "parents": [
        "ad4e38dd6a33bb3a4882c487d7abe621e583b982"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Fri Oct 07 21:54:10 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 31 00:33:36 2011 +0800"
      },
      "message": "writeback: Add a \u0027reason\u0027 to wb_writeback_work\n\nThis creates a new \u0027reason\u0027 field in a wb_writeback_work\nstructure, which unambiguously identifies who initiates\nwriteback activity.  A \u0027wb_reason\u0027 enumeration has been\nadded to writeback.h, to enumerate the possible reasons.\n\nThe \u0027writeback_work_class\u0027 and tracepoint event class and\n\u0027writeback_queue_io\u0027 tracepoints are updated to include the\nsymbolic \u0027reason\u0027 in all trace events.\n\nAnd the \u0027writeback_inodes_sbXXX\u0027 family of routines has had\na wb_stats parameter added to them, so callers can specify\nwhy writeback is being started.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "ad4e38dd6a33bb3a4882c487d7abe621e583b982",
      "tree": "5b78b8929ade5372b2e24d4c1793f8cb39962146",
      "parents": [
        "ece13ac31bbe492d940ba0bc4ade2ae1521f46a5"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Fri Oct 07 21:51:56 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 31 00:33:27 2011 +0800"
      },
      "message": "writeback: send work item to queue_io, move_expired_inodes\n\nInstead of sending -\u003eolder_than_this to queue_io() and\nmove_expired_inodes(), send the entire wb_writeback_work\nstructure.  There are other fields of a work item that are\nuseful in these routines and in tracepoints.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "ece13ac31bbe492d940ba0bc4ade2ae1521f46a5",
      "tree": "2bfddab0f62999bf595a72913b79cabafbad0e40",
      "parents": [
        "b48c104d2211b0ac881a71f5f76a3816225f8111"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Aug 29 23:33:20 2010 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 31 00:29:38 2011 +0800"
      },
      "message": "writeback: trace event balance_dirty_pages\n\nUseful for analyzing the dynamics of the throttling algorithms and\ndebugging user reported problems.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "b48c104d2211b0ac881a71f5f76a3816225f8111",
      "tree": "b947f3fd4c8b49ee12d516f3eb520209c577387b",
      "parents": [
        "50657fc4dfa7e345a1008f7c1de0bf930bbecca9"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Mar 02 17:22:49 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 31 00:29:21 2011 +0800"
      },
      "message": "writeback: trace event bdi_dirty_ratelimit\n\nIt helps understand how various throttle bandwidths are updated.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "68d99b2c8efcb6ed3807a55569300c53b5f88be5",
      "tree": "f189c8f2132d3668a2f0e503f5c3f8695b26a1c8",
      "parents": [
        "0e59e7e7feb5a12938fbf9135147eeda3238c6c4",
        "8128c9f21509f9a8b6da94ac432d845dda458406"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:25:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 14:25:01 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)\n  ALSA: hda - Fix ADC input-amp handling for Cx20549 codec\n  ALSA: hda - Keep EAPD turned on for old Conexant chips\n  ALSA: hda/realtek - Fix missing volume controls with ALC260\n  ASoC: wm8940: Properly set codec-\u003edapm.bias_level\n  ALSA: hda - Fix pin-config for ASUS W90V\n  ALSA: hda - Fix surround/CLFE headphone and speaker pins order\n  ALSA: hda - Fix typo\n  ALSA: Update the sound git tree URL\n  ALSA: HDA: Add new revision for ALC662\n  ASoC: max98095: Convert codec-\u003ehw_write to snd_soc_write\n  ASoC: keep pointer to resource so it can be freed\n  ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls\n  ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2\n  ASoC: da7210: Add support for line out and DAC\n  ASoC: da7210: Add support for DAPM\n  ALSA: hda/realtek - Fix DAC assignments of multiple speakers\n  ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value\n  ASoC: Set sgtl5000-\u003eldo in ldo_regulator_register\n  ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture\n  ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture\n  ...\n"
    },
    {
      "commit": "6f91bc5fda82d2c49b4f7fb29424cf6a3c7574bc",
      "tree": "e5670070f007c4ad5300e93a4e36fa9a802e2bd9",
      "parents": [
        "446066724c3629664e29942a00b0aee0d6b1663a"
      ],
      "author": {
        "name": "Eric Gouriou",
        "email": "egouriou@google.com",
        "time": "Thu Oct 27 11:43:23 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 27 11:43:23 2011 -0400"
      },
      "message": "ext4: optimize ext4_ext_convert_to_initialized()\n\nThis patch introduces a fast path in ext4_ext_convert_to_initialized()\nfor the case when the conversion can be performed by transferring\nthe newly initialized blocks from the uninitialized extent into\nan adjacent initialized extent. Doing so removes the expensive\ninvocations of memmove() which occur during extent insertion and\nthe subsequent merge.\n\nIn practice this should be the common case for clients performing\nappend writes into files pre-allocated via\nfallocate(FALLOC_FL_KEEP_SIZE). In such a workload performed via\ndirect IO and when using a suboptimal implementation of memmove()\n(x86_64 prior to the 2.6.39 rewrite), this patch reduces kernel CPU\nconsumption by 32%.\n\nTwo new trace points are added to ext4_ext_convert_to_initialized()\nto offer visibility into its operations. No exit trace point has\nbeen added due to the multiplicity of return points. This can be\nrevisited once the upstream cleanup is backported.\n\nSigned-off-by: Eric Gouriou \u003cegouriou@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
      "tree": "d76974986aaaa8549baf2d6a106fa6cb60d64b88",
      "parents": [
        "8686a0e200419322654a75155e2e6f80346a1297",
        "540f41edc15473ca3b2876de72646546ae101374"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)\n  llist: Add back llist_add_batch() and llist_del_first() prototypes\n  sched: Don\u0027t use tasklist_lock for debug prints\n  sched: Warn on rt throttling\n  sched: Unify the -\u003ecpus_allowed mask copy\n  sched: Wrap scheduler p-\u003ecpus_allowed access\n  sched: Request for idle balance during nohz idle load balance\n  sched: Use resched IPI to kick off the nohz idle balance\n  sched: Fix idle_cpu()\n  llist: Remove cpu_relax() usage in cmpxchg loops\n  sched: Convert to struct llist\n  llist: Add llist_next()\n  irq_work: Use llist in the struct irq_work logic\n  llist: Return whether list is empty before adding in llist_add()\n  llist: Move cpu_relax() to after the cmpxchg()\n  llist: Remove the platform-dependent NMI checks\n  llist: Make some llist functions inline\n  sched, tracing: Show PREEMPT_ACTIVE state in trace_sched_switch\n  sched: Remove redundant test in check_preempt_tick()\n  sched: Add documentation for bandwidth control\n  sched: Return unused runtime on group dequeue\n  ...\n"
    },
    {
      "commit": "7115e3fcf45514db7525a05365b10454ff7f345e",
      "tree": "17450e6337d559cc35dae6a7a73abab01ac63f00",
      "parents": [
        "1f6e05171bb5cc32a4d6437ab2269fc21d169ca7",
        "c752d04066a36ae30b29795f3fa3f536292c1f8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (121 commits)\n  perf symbols: Increase symbol KSYM_NAME_LEN size\n  perf hists browser: Refuse \u0027a\u0027 hotkey on non symbolic views\n  perf ui browser: Use libslang to read keys\n  perf tools: Fix tracing info recording\n  perf hists browser: Elide DSO column when it is set to just one DSO, ditto for threads\n  perf hists: Don\u0027t consider filtered entries when calculating column widths\n  perf hists: Don\u0027t decay total_period for filtered entries\n  perf hists browser: Honour symbol_conf.show_{nr_samples,total_period}\n  perf hists browser: Do not exit on tab key with single event\n  perf annotate browser: Don\u0027t change selection line when returning from callq\n  perf tools: handle endianness of feature bitmap\n  perf tools: Add prelink suggestion to dso update message\n  perf script: Fix unknown feature comment\n  perf hists browser: Apply the dso and thread filters when merging new batches\n  perf hists: Move the dso and thread filters from hist_browser\n  perf ui browser: Honour the xterm colors\n  perf top tui: Give color hints just on the percentage, like on --stdio\n  perf ui browser: Make the colors configurable and change the defaults\n  perf tui: Remove unneeded call to newtCls on startup\n  perf hists: Don\u0027t format the percentage on hist_entry__snprintf\n  ...\n\nFix up conflicts in arch/x86/kernel/kprobes.c manually.\n\nIngo\u0027s tree did the insane \"add volatile to const array\", which just\ndoesn\u0027t make sense (\"volatile const\"?).  But we could remove the const\n*and* make the array volatile to make doubly sure that gcc doesn\u0027t\noptimize it away..\n\nAlso fix up kernel/trace/ring_buffer.c non-data-conflicts manually: the\nreader_lock has been turned into a raw lock by the core locking merge,\nand there was a new user of it introduced in this perf core merge.  Make\nsure that new use also uses the raw accessor functions.\n"
    },
    {
      "commit": "19b4a8d520a6e0176dd52aaa429261ad4fcaa545",
      "tree": "6dcf5a780718fc50b9cd79cc803daa7c7e080a02",
      "parents": [
        "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
        "048b718029033af117870d3da47da12995be14a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  rcu: Move propagation of -\u003ecompleted from rcu_start_gp() to rcu_report_qs_rsp()\n  rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states\n  rcu: Wire up RCU_BOOST_PRIO for rcutree\n  rcu: Make rcu_torture_boost() exit loops at end of test\n  rcu: Make rcu_torture_fqs() exit loops at end of test\n  rcu: Permit rt_mutex_unlock() with irqs disabled\n  rcu: Avoid having just-onlined CPU resched itself when RCU is idle\n  rcu: Suppress NMI backtraces when stall ends before dump\n  rcu: Prohibit grace periods during early boot\n  rcu: Simplify unboosting checks\n  rcu: Prevent early boot set_need_resched() from __rcu_pending()\n  rcu: Dump local stack if cannot dump all CPUs\u0027 stacks\n  rcu: Move __rcu_read_unlock()\u0027s barrier() within if-statement\n  rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation\n  rcu: Make rcu_assign_pointer() unconditionally insert a memory barrier\n  rcu: Make rcu_implicit_dynticks_qs() locals be correct size\n  rcu: Eliminate in_irq() checks in rcu_enter_nohz()\n  nohz: Remove nohz_cpu_mask\n  rcu: Document interpretation of RCU-lockdep splats\n  rcu: Allow rcutorture\u0027s stat_interval parameter to be changed at runtime\n  ...\n"
    },
    {
      "commit": "e33bae14fd8da449d735552d78e6dd33ece0458c",
      "tree": "048c062c47f7bfdb0ea8ad19c5b5849a58ff3022",
      "parents": [
        "7670c7010c7b367ca40c3aba02afb36149764a6e",
        "14211d026dad4641d4dffd7a4c520bcaa8fd4a65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:20:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:20:53 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://github.com/ericvh/linux\n\n* \u0027for-linus\u0027 of git://github.com/ericvh/linux:\n  9p: fix 9p.txt to advertise msize instead of maxdata\n  net/9p: Convert net/9p protocol dumps to tracepoints\n  fs/9p: change an int to unsigned int\n  fs/9p: Cleanup option parsing in 9p\n  9p: move dereference after NULL check\n  fs/9p: inode file operation is properly initialized init_special_inode\n  fs/9p: Update zero-copy implementation in 9p\n"
    },
    {
      "commit": "7e0bb71e75020348bee523720a0c2f04cc72f540",
      "tree": "1a22d65bbce34e8cc0f82c543c9486ffb58332f7",
      "parents": [
        "b9e2780d576a010d4aba1e69f247170bf3718d6b",
        "0ab1e79b825a5cd8aeb3b34d89c9a89dea900056"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:18:39 2011 +0200"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)\n  PM / Clocks: Remove redundant NULL checks before kfree()\n  PM / Documentation: Update docs about suspend and CPU hotplug\n  ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.\n  ARM: mach-shmobile: sh7372 A4R support (v4)\n  ARM: mach-shmobile: sh7372 A3SP support (v4)\n  PM / Sleep: Mark devices involved in wakeup signaling during suspend\n  PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image\n  PM / Hibernate: Do not initialize static and extern variables to 0\n  PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\n  PM / Hibernate: Add resumedelay kernel param in addition to resumewait\n  MAINTAINERS: Update linux-pm list address\n  PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep\u003dnonvs\n  PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep\u003dnonvs\n  PM / Hibernate: Add resumewait param to support MMC-like devices as resume file\n  PM / Hibernate: Fix typo in a kerneldoc comment\n  PM / Hibernate: Freeze kernel threads after preallocating memory\n  PM: Update the policy on default wakeup settings\n  PM / VT: Cleanup #if defined uglyness and fix compile error\n  PM / Suspend: Off by one in pm_suspend()\n  PM / Hibernate: Include storage keys in hibernation image on s390\n  ...\n"
    },
    {
      "commit": "4e7e2a2008f5d8c49791c412849d5b0232d39bb3",
      "tree": "32c3fa2d5cefb388689cb795225022769bf7b413",
      "parents": [
        "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
        "7cccbdc84487616c3dbe493b04bfa1f362f4bc56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:57:45 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:57:45 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://opensource.wolfsonmicro.com/regmap\n\n* \u0027for-linus\u0027 of git://opensource.wolfsonmicro.com/regmap: (62 commits)\n  mfd: Enable rbtree cache for wm831x devices\n  regmap: Support some block operations on cached devices\n  regmap: Allow caches for devices with no defaults\n  regmap: Ensure rbtree syncs registers set to zero properly\n  regmap: Allow rbtree to cache zero default values\n  regmap: Warn on raw I/O as well as bulk reads that bypass cache\n  regmap: Return a sensible error code if we fail to read the cache\n  regmap: Use bsearch() to search the register defaults\n  regmap: Fix doc comment\n  regmap: Optimize the lookup path to use binary search\n  regmap: Ensure we scream if we enable cache bypass/only at the same time\n  regmap: Implement regcache_cache_bypass helper function\n  regmap: Save/restore the bypass state upon syncing\n  regmap: Lock the sync path, ensure we use the lockless _regmap_write()\n  regmap: Fix apostrophe usage\n  regmap: Make _regmap_write() global\n  regmap: Fix lock used for regcache_cache_only()\n  regmap: Grab the lock in regcache_cache_only()\n  regmap: Modify map-\u003ecache_bypass directly\n  regmap: Fix regcache_sync generic implementation\n  ...\n"
    },
    {
      "commit": "348b59012e5c6402741d067cf6eeeb6271999d06",
      "tree": "38041cac7af6f020fa2756eded6a2d9f31132ffc",
      "parents": [
        "ef6b0807e2c986d5f1cb878e1b32a7cf4c32b4c8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Aug 07 00:46:59 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 24 11:13:12 2011 -0500"
      },
      "message": "net/9p: Convert net/9p protocol dumps to tracepoints\n\nThis helps in more control over debugging.\nroot@qemu-img-64:~# ls /pass/123\nls: cannot access /pass/123: No such file or directory\nroot@qemu-img-64:~# cat /sys/kernel/debug/tracing/trace\n# tracer: nop\n#\n#           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n#              | |       |          |         |\n              ls-1536  [001]    70.928584: 9p_protocol_dump: clnt 18446612132784021504 P9_TWALK(tag \u003d 1)\n000: 16 00 00 00 6e 01 00 01 00 00 00 02 00 00 00 01\n010: 00 03 00 31 32 33 00 00 00 ff ff ff ff 00 00 00\n\n              ls-1536  [001]    70.928587: \u003cstack trace\u003e\n \u003d\u003e trace_9p_protocol_dump\n \u003d\u003e p9pdu_finalize\n \u003d\u003e p9_client_rpc\n \u003d\u003e p9_client_walk\n \u003d\u003e v9fs_vfs_lookup\n \u003d\u003e d_alloc_and_lookup\n \u003d\u003e walk_component\n \u003d\u003e path_lookupat\n              ls-1536  [000]    70.929696: 9p_protocol_dump: clnt 18446612132784021504 P9_RLERROR(tag \u003d 1)\n000: 0b 00 00 00 07 01 00 02 00 00 00 4e 03 00 02 00\n010: 00 00 00 00 03 00 02 00 00 00 00 00 ff 43 00 00\n\n              ls-1536  [000]    70.929697: \u003cstack trace\u003e\n \u003d\u003e trace_9p_protocol_dump\n \u003d\u003e p9_client_rpc\n \u003d\u003e p9_client_walk\n \u003d\u003e v9fs_vfs_lookup\n \u003d\u003e d_alloc_and_lookup\n \u003d\u003e walk_component\n \u003d\u003e path_lookupat\n \u003d\u003e do_path_lookup\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "d727b60659a1173eb4142a5fc521ce67c28b34e1",
      "tree": "793d0fc86ecf98331024db5c86bc271cc72aa2d2",
      "parents": [
        "3ee72ca99288f1de95ec9c570e43f531c8799f06",
        "2a5306cc5f383b0e7414c75e458111afd4a563a4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:16:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:16:55 2011 +0200"
      },
      "message": "Merge branch \u0027pm-runtime\u0027 into pm-for-linus\n\n* pm-runtime:\n  PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set\n  PM / Runtime: Replace dev_dbg() with trace_rpm_*()\n  PM / Runtime: Introduce trace points for tracing rpm_* functions\n  PM / Runtime: Don\u0027t run callbacks under lock for power.irq_safe set\n  USB: Add wakeup info to debugging messages\n  PM / Runtime: pm_runtime_idle() can be called in atomic context\n  PM / Runtime: Add macro to test for runtime PM events\n  PM / Runtime: Add might_sleep() to runtime PM functions\n"
    },
    {
      "commit": "9d014020234525ae100879d71078a4bcb4849195",
      "tree": "a0d6c0776670cb876e5a8118a4e6ed28d8f51cbc",
      "parents": [
        "92e51938f5d005026ba4bb5b1fae5a86dc195b86",
        "976d167615b64e14bc1491ca51d424e2ba9a5e84"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:48:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:49:21 2011 +0200"
      },
      "message": "Merge commit \u0027v3.1-rc9\u0027 into perf/core\n\nMerge reason: pick up latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22f92bacbeea24b20e447444c28e7cad9f1ac3f8",
      "tree": "5c3f2346804a186aa2d954f078fd2f4d44bcc26e",
      "parents": [
        "557ab425429a5123d37f412ce3e6d6137cb621f8",
        "0f86267b79bc6e357b8606077c7f70239045ea9c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:08:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:09:08 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92e51938f5d005026ba4bb5b1fae5a86dc195b86",
      "tree": "d3f4db1d6de383ab36efa0147e44ddc8608a8b53",
      "parents": [
        "87ffef79ab7562ca4a1f6f22ed7ddef1c434bc24"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Sep 26 19:55:32 2011 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:07:54 2011 +0200"
      },
      "message": "perf: Fix counter of ftrace events\n\nEach event adds some points to its counters. By default it adds 1,\nand a number of points may be transmited in event\u0027s parameters.\n\nE.g. sched:sched_stat_runtime adds how long process has been running.\n\nBut this functionality was broken by v2.6.31-rc5-392-gf413cdb\nand now the event\u0027s parameters doesn\u0027t affect on a number of points.\n\nTP_perf_assign isn\u0027t defined, so __perf_count(c) isn\u0027t executed and\n__count is always equal to 1.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1317052535-1765247-2-git-send-email-avagin@openvz.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "143dfe8611a63030ce0c79419dc362f7838be557",
      "tree": "626b823d86fbb947296fc6c7fe2be324a85f3b5c",
      "parents": [
        "9d823e8f6b1b7b39f952d7d1795f29162143a433"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Aug 27 18:45:12 2010 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Oct 03 21:08:57 2011 +0800"
      },
      "message": "writeback: IO-less balance_dirty_pages()\n\nAs proposed by Chris, Dave and Jan, don\u0027t start foreground writeback IO\ninside balance_dirty_pages(). Instead, simply let it idle sleep for some\ntime to throttle the dirtying task. In the mean while, kick off the\nper-bdi flusher thread to do background writeback IO.\n\nRATIONALS\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n- disk seeks on concurrent writeback of multiple inodes (Dave Chinner)\n\n  If every thread doing writes and being throttled start foreground\n  writeback, it leads to N IO submitters from at least N different\n  inodes at the same time, end up with N different sets of IO being\n  issued with potentially zero locality to each other, resulting in\n  much lower elevator sort/merge efficiency and hence we seek the disk\n  all over the place to service the different sets of IO.\n  OTOH, if there is only one submission thread, it doesn\u0027t jump between\n  inodes in the same way when congestion clears - it keeps writing to\n  the same inode, resulting in large related chunks of sequential IOs\n  being issued to the disk. This is more efficient than the above\n  foreground writeback because the elevator works better and the disk\n  seeks less.\n\n- lock contention and cache bouncing on concurrent IO submitters (Dave Chinner)\n\n  With this patchset, the fs_mark benchmark on a 12-drive software RAID0 goes\n  from CPU bound to IO bound, freeing \"3-4 CPUs worth of spinlock contention\".\n\n  * \"CPU usage has dropped by ~55%\", \"it certainly appears that most of\n    the CPU time saving comes from the removal of contention on the\n    inode_wb_list_lock\" (IMHO at least 10% comes from the reduction of\n    cacheline bouncing, because the new code is able to call much less\n    frequently into balance_dirty_pages() and hence access the global\n    page states)\n\n  * the user space \"App overhead\" is reduced by 20%, by avoiding the\n    cacheline pollution by the complex writeback code path\n\n  * \"for a ~5% throughput reduction\", \"the number of write IOs have\n    dropped by ~25%\", and the elapsed time reduced from 41:42.17 to\n    40:53.23.\n\n  * On a simple test of 100 dd, it reduces the CPU %system time from 30% to 3%,\n    and improves IO throughput from 38MB/s to 42MB/s.\n\n- IO size too small for fast arrays and too large for slow USB sticks\n\n  The write_chunk used by current balance_dirty_pages() cannot be\n  directly set to some large value (eg. 128MB) for better IO efficiency.\n  Because it could lead to more than 1 second user perceivable stalls.\n  Even the current 4MB write size may be too large for slow USB sticks.\n  The fact that balance_dirty_pages() starts IO on itself couples the\n  IO size to wait time, which makes it hard to do suitable IO size while\n  keeping the wait time under control.\n\n  Now it\u0027s possible to increase writeback chunk size proportional to the\n  disk bandwidth. In a simple test of 50 dd\u0027s on XFS, 1-HDD, 3GB ram,\n  the larger writeback size dramatically reduces the seek count to 1/10\n  (far beyond my expectation) and improves the write throughput by 24%.\n\n- long block time in balance_dirty_pages() hurts desktop responsiveness\n\n  Many of us may have the experience: it often takes a couple of seconds\n  or even long time to stop a heavy writing dd/cp/tar command with\n  Ctrl-C or \"kill -9\".\n\n- IO pipeline broken by bumpy write() progress\n\n  There are a broad class of \"loop {read(buf); write(buf);}\" applications\n  whose read() pipeline will be under-utilized or even come to a stop if\n  the write()s have long latencies _or_ don\u0027t progress in a constant rate.\n  The current threshold based throttling inherently transfers the large\n  low level IO completion fluctuations to bumpy application write()s,\n  and further deteriorates with increasing number of dirtiers and/or bdi\u0027s.\n\n  For example, when doing 50 dd\u0027s + 1 remote rsync to an XFS partition,\n  the rsync progresses very bumpy in legacy kernel, and throughput is\n  improved by 67% by this patchset. (plus the larger write chunk size,\n  it will be 93% speedup).\n\n  The new rate based throttling can support 1000+ dd\u0027s with excellent\n  smoothness, low latency and low overheads.\n\nFor the above reasons, it\u0027s much better to do IO-less and low latency\npauses in balance_dirty_pages().\n\nJan Kara, Dave Chinner and me explored the scheme to let\nbalance_dirty_pages() wait for enough writeback IO completions to\nsafeguard the dirty limit. However it\u0027s found to have two problems:\n\n- in large NUMA systems, the per-cpu counters may have big accounting\n  errors, leading to big throttle wait time and jitters.\n\n- NFS may kill large amount of unstable pages with one single COMMIT.\n  Because NFS server serves COMMIT with expensive fsync() IOs, it is\n  desirable to delay and reduce the number of COMMITs. So it\u0027s not\n  likely to optimize away such kind of bursty IO completions, and the\n  resulted large (and tiny) stall times in IO completion based throttling.\n\nSo here is a pause time oriented approach, which tries to control the\npause time in each balance_dirty_pages() invocations, by controlling\nthe number of pages dirtied before calling balance_dirty_pages(), for\nsmooth and efficient dirty throttling:\n\n- avoid useless (eg. zero pause time) balance_dirty_pages() calls\n- avoid too small pause time (less than   4ms, which burns CPU power)\n- avoid too large pause time (more than 200ms, which hurts responsiveness)\n- avoid big fluctuations of pause times\n\nIt can control pause times at will. The default policy (in a followup\npatch) will be to do ~10ms pauses in 1-dd case, and increase to ~100ms\nin 1000-dd case.\n\nBEHAVIOR CHANGE\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n(1) dirty threshold\n\nUsers will notice that the applications will get throttled once crossing\nthe global (background + dirty)/2\u003d15% threshold, and then balanced around\n17.5%. Before patch, the behavior is to just throttle it at 20% dirtyable\nmemory in 1-dd case.\n\nSince the task will be soft throttled earlier than before, it may be\nperceived by end users as performance \"slow down\" if his application\nhappens to dirty more than 15% dirtyable memory.\n\n(2) smoothness/responsiveness\n\nUsers will notice a more responsive system during heavy writeback.\n\"killall dd\" will take effect instantly.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "048b718029033af117870d3da47da12995be14a3",
      "tree": "b3d4bf5219cd6543c35cb79d1aa08ae98cf2a8af",
      "parents": [
        "47ea91b4052d9e94b9dca5d7a3d947fbebd07ba9",
        "afe24b122eb6edb5f1cb942570ac8d766105c7fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 01 14:21:36 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 01 14:21:36 2011 +0200"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://github.com/paulmckrcu/linux into core/rcu\n"
    }
  ],
  "next": "d4c08f2ac311a360230eef7e5395b0ec8d8f0670"
}
