)]}'
{
  "log": [
    {
      "commit": "21f1b932dbcc5ed18444e6995aeb856e583804ae",
      "tree": "3a378aaf90c4937482b8fb1b06f902aa09c12ed0",
      "parents": [
        "73997870c64d604f521e85a57511f36a2dc22ed0"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Fri Oct 23 06:50:12 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Dec 05 18:40:47 2009 -0200"
      },
      "message": "V4L/DVB (13183): gspca: add stv0680 subdriver\n\nThis patch adds a new subdriver to gspca supporting cams with the stv0680\nbridge (replacing the old in kernel v4l1 driver).\n\nMany thanks to Hans Verkuil for providing me with one of the 2 cams used in\ntesting this new sub driver.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
      "tree": "3cec6d72a450735fe6b8ed996c7399f57c05a5cb",
      "parents": [
        "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
        "b8007ef7422270864eae523cb38d7522a53a94d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)\n  tracing: Separate raw syscall from syscall tracer\n  ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n  tracing, function tracer: Clean up strstrip() usage\n  ring-buffer benchmark: Run producer/consumer threads at nice +19\n  tracing: Remove the stale include/trace/power.h\n  tracing: Only print objcopy version warning once from recordmcount\n  tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n  ring-buffer: Move access to commit_page up into function used\n  tracing: do not disable interrupts for trace_clock_local\n  ring-buffer: Add multiple iterations between benchmark timestamps\n  kprobes: Sanitize struct kretprobe_instance allocations\n  tracing: Fix to use __always_unused attribute\n  compiler: Introduce __always_unused\n  tracing: Exit with error if a weak function is used in recordmcount.pl\n  tracing: Move conditional into update_funcs() in recordmcount.pl\n  tracing: Add regex for weak functions in recordmcount.pl\n  tracing: Move mcount section search to front of loop in recordmcount.pl\n  tracing: Fix objcopy revision check in recordmcount.pl\n  tracing: Check absolute path of input file in recordmcount.pl\n  tracing: Correct the check for number of arguments in recordmcount.pl\n  ...\n"
    },
    {
      "commit": "bb2166c898adb5fe29bc450004926802d2a16035",
      "tree": "dc0a1d1219ab7e7324fbca533676d9d3a6a02c56",
      "parents": [
        "0bf7969feae831ede7276f7cc73b586ce0902374",
        "34769945f7cd9ab470413ffe64426e3ad069f49e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix spurious irq seqfile conversion\n  genirq: switch /proc/irq/*/spurious to seq_file\n  irq: Do not attempt to create subdirectories if /proc/irq/\u003cirq\u003e failed\n  irq: Remove unused debug_poll_all_shared_irqs()\n  irq: Fix docbook comments\n  irq: trivial: Fix typo in comment for #endif\n"
    },
    {
      "commit": "69f061e0c2ed47304b3eeac7fb7bd5268652dc50",
      "tree": "69bca9d5c7e7eb5e79dae030cbce713686e4d209",
      "parents": [
        "607781762e7aae9c976f0a9a8829d4ba3e2da4ab",
        "f84d49b218b7d4c6cba2e0b41f24bd4045403962"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:33 2009 -0800"
      },
      "message": "Merge branch \u0027core-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: Print warning message when dropping signals\n  signal: Fix alternate signal stack check\n"
    },
    {
      "commit": "607781762e7aae9c976f0a9a8829d4ba3e2da4ab",
      "tree": "933dad6ecb0be49e9b1ef41b69d5aa256510720e",
      "parents": [
        "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
        "8bfb2f8e655b9d0c45fde679fcd5fd97e34513db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  rcu: Make RCU\u0027s CPU-stall detector be default\n  rcu: Add expedited grace-period support for preemptible RCU\n  rcu: Enable fourth level of TREE_RCU hierarchy\n  rcu: Rename \"quiet\" functions\n  rcu: Re-arrange code to reduce #ifdef pain\n  rcu: Eliminate unneeded function wrapping\n  rcu: Fix grace-period-stall bug on large systems with CPU hotplug\n  rcu: Eliminate __rcu_pending() false positives\n  rcu: Further cleanups of use of lastcomp\n  rcu: Simplify association of forced quiescent states with grace periods\n  rcu: Accelerate callback processing on CPUs not detecting GP end\n  rcu: Mark init-time-only rcu_bootup_announce() as __init\n  rcu: Simplify association of quiescent states with grace periods\n  rcu: Rename dynticks_completed to completed_fqs\n  rcu: Enable synchronize_sched_expedited() fastpath\n  rcu: Remove inline from forward-referenced functions\n  rcu: Fix note_new_gpnum() uses of -\u003egpnum\n  rcu: Fix synchronization for rcu_process_gp_end() uses of -\u003ecompleted counter\n  rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of -\u003ecompleted counter\n  rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls\n  ...\n"
    },
    {
      "commit": "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
      "tree": "deaed4192d440b6afb7470b0c36e69d9d65dd119",
      "parents": [
        "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
        "5c828713358cb9df8aa174371edcbbb62203a490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ratelimit: Make suppressed output messages more useful\n  printk: Remove ratelimit.h from kernel.h\n  ratelimit: Fix/allow use in atomic contexts\n  ratelimit: Use per ratelimit context locking\n"
    },
    {
      "commit": "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
      "tree": "a6c8daae5390b44750dfc4ca9bc984430dd16e74",
      "parents": [
        "9b269d4034c7855ac34f0985cc55ee29bd80e80a",
        "c08f782985eed9959438368e84ce1d7f2ed03d95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:59 2009 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mutex: Fix missing conditions to build mutex_spin_on_owner()\n  mutex: Better control mutex adaptive spinning config\n  locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit\n  locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init()\n  locking: Remove unused prototype\n  locking: Reduce ifdefs in kernel/spinlock.c\n  locking: Make inlining decision Kconfig based\n"
    },
    {
      "commit": "9b269d4034c7855ac34f0985cc55ee29bd80e80a",
      "tree": "ec6c7f54fea5ecfb23eb5ec287732b92924012aa",
      "parents": [
        "7b626acb8f983eb83b396ab96cc24b18d635d487",
        "2ea6dec4a22a6f66f6633876212fd4d195cf8277"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:46 2009 -0800"
      },
      "message": "Merge branch \u0027core-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: Add smp_call_function_any()\n  generic-ipi: Fix misleading smp_call_function*() description\n"
    },
    {
      "commit": "7b626acb8f983eb83b396ab96cc24b18d635d487",
      "tree": "8c3320191311e6186d3aa722f1acd12acd47ece8",
      "parents": [
        "1ebb275afcf5a47092e995541d6c604eef96062a",
        "4528752f49c1f4025473d12bc5fa9181085c3f22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:07 2009 -0800"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree\n  x86/amd-iommu: Remove amd_iommu_pd_table\n  x86/amd-iommu: Move reset_iommu_command_buffer out of locked code\n  x86/amd-iommu: Cleanup DTE flushing code\n  x86/amd-iommu: Introduce iommu_flush_device() function\n  x86/amd-iommu: Cleanup attach/detach_device code\n  x86/amd-iommu: Keep devices per domain in a list\n  x86/amd-iommu: Add device bind reference counting\n  x86/amd-iommu: Use dev-\u003earch-\u003eiommu to store iommu related information\n  x86/amd-iommu: Remove support for domain sharing\n  x86/amd-iommu: Rearrange dma_ops related functions\n  x86/amd-iommu: Move some pte allocation functions in the right section\n  x86/amd-iommu: Remove iommu parameter from dma_ops_domain_alloc\n  x86/amd-iommu: Use get_device_id and check_device where appropriate\n  x86/amd-iommu: Move find_protection_domain to helper functions\n  x86/amd-iommu: Simplify get_device_resources()\n  x86/amd-iommu: Let domain_for_device handle aliases\n  x86/amd-iommu: Remove iommu specific handling from dma_ops path\n  x86/amd-iommu: Remove iommu parameter from __(un)map_single\n  x86/amd-iommu: Make alloc_new_range aware of multiple IOMMUs\n  ...\n"
    },
    {
      "commit": "1ebb275afcf5a47092e995541d6c604eef96062a",
      "tree": "56722c2a688f4034e5157a0fceec98d6ac3b36f0",
      "parents": [
        "83fdbfbfe6e7e8906e3a3f8f6bc074d887e92109",
        "26bb7505cf7db3560286be9f6384b6d3911f78b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:47:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:47:17 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (31 commits)\n  GFS2: Fix glock refcount issues\n  writeback: remove unused nonblocking and congestion checks (gfs2)\n  GFS2: drop rindex glock to refresh rindex list\n  GFS2: Tag all metadata with jid\n  GFS2: Locking order fix in gfs2_check_blk_state\n  GFS2: Remove dirent_first() function\n  GFS2: Display nobarrier option in /proc/mounts\n  GFS2: add barrier/nobarrier mount options\n  GFS2: remove division from new statfs code\n  GFS2: Improve statfs and quota usability\n  GFS2: Use dquot_send_warning()\n  VFS: Export dquot_send_warning\n  GFS2: Add set_xquota support\n  GFS2: Add get_xquota support\n  GFS2: Clean up gfs2_adjust_quota() and do_glock()\n  GFS2: Remove constant argument from qd_get()\n  GFS2: Remove constant argument from qdsb_get()\n  GFS2: Add proper error reporting to quota sync via sysfs\n  GFS2: Add get_xstate quota function\n  GFS2: Remove obsolete code in quota.c\n  ...\n"
    },
    {
      "commit": "83fdbfbfe6e7e8906e3a3f8f6bc074d887e92109",
      "tree": "977e10a076d76fdb2622f089211f3d0954ba6873",
      "parents": [
        "d9b2c4d0b03c721808c0d259e43a27f1e80205bc",
        "c84d6efd363a3948eb32ec40d46bab6338580454"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:44:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:44:57 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (30 commits)\n  TOMOYO: Add recursive directory matching operator support.\n  remove CONFIG_SECURITY_FILE_CAPABILITIES compile option\n  SELinux: print denials for buggy kernel with unknown perms\n  Silence the existing API for capability version compatibility check.\n  LSM: Move security_path_chmod()/security_path_chown() to after mutex_lock().\n  SELinux: header generation may hit infinite loop\n  selinux: Fix warnings\n  security: report the module name to security_module_request\n  Config option to set a default LSM\n  sysctl: require CAP_SYS_RAWIO to set mmap_min_addr\n  tpm: autoload tpm_tis based on system PnP IDs\n  tpm_tis: TPM_STS_DATA_EXPECT workaround\n  define convenient securebits masks for prctl users (v2)\n  tpm: fix header for modular build\n  tomoyo: improve hash bucket dispersion\n  tpm add default function definitions\n  LSM: imbed ima calls in the security hooks\n  SELinux: add .gitignore files for dynamic classes\n  security: remove root_plug\n  SELinux: fix locking issue introduced with c6d3aaa4e35c71a3\n  ...\n"
    },
    {
      "commit": "d9b2c4d0b03c721808c0d259e43a27f1e80205bc",
      "tree": "f17a4166f62ee14faa1401a6cbd353a4ab8c77cb",
      "parents": [
        "27d16d08717faeaa8afd1b736a096dbaab90f08e",
        "5fa9167a1bf5f5a4b7282f5e7ac56a4a5a1fa044"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:42:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:42:59 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (50 commits)\n  pcmcia: rework the irq_req_t typedef\n  pcmcia: remove deprecated handle_to_dev() macro\n  pcmcia: pcmcia_request_window() doesn\u0027t need a pointer to a pointer\n  pcmcia: remove unused \"window_t\" typedef\n  pcmcia: move some window-related code to pcmcia_ioctl.c\n  pcmcia: Change window_handle_t logic to unsigned long\n  pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page()\n  pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page()\n  pcmcia: Pass struct pcmcia_device to pcmcia_release_window()\n  drivers/pcmcia: remove unnecessary kzalloc\n  pcmcia: correct handling for Zoomed Video registers in topic.h\n  pcmcia: fix printk formats\n  pcmcia: autoload module pcmcia\n  pcmcia/staging: update comedi drivers\n  PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket\n  PCMCIA: ss: allow PCI IRQs \u003e 255\n  PCMCIA: soc_common: remove \u0027dev\u0027 member from soc_pcmcia_socket\n  PCMCIA: soc_common: constify soc_pcmcia_socket ops member\n  PCMCIA: sa1111: remove duplicated initializers\n  PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data\n  ...\n"
    },
    {
      "commit": "38938c879eb0c39edf85d5164aa0cffe2874304c",
      "tree": "fdcc22972a02219dcb385dae868f6e708523dfe7",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Dec 04 17:44:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:10:12 2009 -0800"
      },
      "message": "Add support for GCC-4.5\u0027s __builtin_unreachable() to compiler.h (v2)\n\nStarting with version 4.5, GCC has a new built-in function\n__builtin_unreachable() that can be used in places like the kernel\u0027s\nBUG() where inline assembly is used to transfer control flow.  This\neliminated the need for an endless loop in these places.\n\nThe patch adds a new macro \u0027unreachable()\u0027 that will expand to either\n__builtin_unreachable() or an endless loop depending on the compiler\nversion.\n\nChange from v1: Simplify unreachable() for non-GCC 4.5 case.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ab7d13fcbd7ce1658c563e345990ba453719deb",
      "tree": "5db7f97c264883765da4a9c6324019f0cf746e44",
      "parents": [
        "2c77634965ee28c8b4790ffb5e83dd5ff7ac8988"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 06 16:20:51 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:58:47 2009 +0000"
      },
      "message": "GFS2: Tag all metadata with jid\n\nThere are two spare field in the header common to all GFS2\nmetadata. One is just the right size to fit a journal id\nin it, and this patch updates the journal code so that each\ntime a metadata block is modified, we tag it with the journal\nid of the node which is performing the modification.\n\nThe reason for this is that it should make it much easier to\ndebug issues which arise if we can tell which node was the\nlast to modify a particular metadata block.\n\nSince the field is updated before the block is written into\nthe journal, each journal should only contain metadata which\nis tagged with its own journal id. The one exception to this\nis the journal header block, which might have a different node\u0027s\nid in it, if that journal was recovered by another node in the\ncluster.\n\nThus each journal will contain a record of which nodes recovered\nit, via the journal header.\n\nThe other field in the metadata header could potentially be\nused to hold information about what kind of operation was\nperformed, but for the time being we just zero it on each\ntransaction so that if we use it for that in future, we\u0027ll\nknow that the information (where it exists) is reliable.\n\nI did consider using the other field to hold the journal\nsequence number, however since in GFS2\u0027s journaling we write\nthe modified data into the journal and not the original\ndata, this gives no information as to what action caused the\nmodification, so I think we can probably come up with a better\nuse for those 64 bits in the future.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "86e931a35e93d94e6e91b57cc76456e16d188ea9",
      "tree": "55078897d1c3dfa43fed6458a7721af17362b4a3",
      "parents": [
        "e285c100362762f7440643be637dd332460fdc75"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 12:35:17 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:53:02 2009 +0000"
      },
      "message": "VFS: Export dquot_send_warning\n\nSending a message to userspace in a generic format to warn\nof events (e.g. quota exceeded) in the quota subsystem is\na generically useful feature. This patch makes some minor\nchanges to the send_message function from dquot.c renaming\nit quota_send_message, moving it to quota.c and exporting it\nfor use by filesystems which do not use the dquot code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "796bd9524731850967d437b7f47a86acc776ea89",
      "tree": "ddaf9a4bd69e6178257b4a488b174301c4d3f045",
      "parents": [
        "2646a1f61a3b5525914757f10fa12b5b94713648"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 29 12:27:23 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:43:23 2009 +0000"
      },
      "message": "VFS: Add forget_all_cached_acls()\n\nThis is required for cluster filesystems which want to use\ncached ACLs so that they can invalidate the cache when\nrequired.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "c84d6efd363a3948eb32ec40d46bab6338580454",
      "tree": "3ba7ac46e6626fe8ac843834588609eb6ccee5c6",
      "parents": [
        "7539cf4b92be4aecc573ea962135f246a7a33401",
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "56f3f55cf9b604b924353ab6fcdac5fee5637ae3",
      "tree": "b031bd5d9833a27cec1c551e487810cc2bcb33c8",
      "parents": [
        "049e2d13b8e8a6d8be43e675a5ed9d4613819f65",
        "7716977b6ae5a0cdd0afab5c6035c4d0ce53f599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:41:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:41:49 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: Correct WM831X_MAX_ISEL_VALUE\n"
    },
    {
      "commit": "fa1452e808732ae10e8b1267fd75fc2d028d634b",
      "tree": "c6c3031fa072b168fceef530f38e5166f21ed17d",
      "parents": [
        "a49ed0bf427a8328a3296eebedc7697fe5098dbf"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Nov 30 14:59:44 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 02 10:24:37 2009 +0100"
      },
      "message": "locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit\n\nReorder task_struct field for TRACE_IRQFLAGS to remove padding\non 64-bit.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4B135F50.8070302@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f13a48bd798a159291ca583b95453171b88b7448",
      "tree": "a644293386e30ed5ab297e5943e57658e1d11e6a",
      "parents": [
        "df87f8c06c7f562ef9d93b9d674eebf2ffb96f6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 15:36:11 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 08:20:31 2009 -0800"
      },
      "message": "SLOW_WORK: Move slow_work\u0027s proc file to debugfs\n\nMove slow_work\u0027s debugging proc file to debugfs.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nRequested-and-acked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7716977b6ae5a0cdd0afab5c6035c4d0ce53f599",
      "tree": "9534843e6f393dba12bb843e1d846dc19d5349b1",
      "parents": [
        "29e553631b2a0d4eebd23db630572e1027a9967a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 30 13:24:18 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Tue Dec 01 11:24:19 2009 +0100"
      },
      "message": "mfd: Correct WM831X_MAX_ISEL_VALUE\n\nThere was confusion between the array size and the highest ISEL\nvalue possible.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "6e80133f7f247f313da1638af4ce30f2bac303cc",
      "tree": "318afcc1c1c434135849cef50e3d89be505ad011",
      "parents": [
        "e3a41d7b99e7f97d9a50bec2a8f4eb237ce1d504",
        "4fa9f4ede88b4e2ff135b6e5717499d734508c62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache: (31 commits)\n  FS-Cache: Provide nop fscache_stat_d() if CONFIG_FSCACHE_STATS\u003dn\n  SLOW_WORK: Fix GFS2 to #include \u003clinux/module.h\u003e before using THIS_MODULE\n  SLOW_WORK: Fix CIFS to pass THIS_MODULE to slow_work_register_user()\n  CacheFiles: Don\u0027t log lookup/create failing with ENOBUFS\n  CacheFiles: Catch an overly long wait for an old active object\n  CacheFiles: Better showing of debugging information in active object problems\n  CacheFiles: Mark parent directory locks as I_MUTEX_PARENT to keep lockdep happy\n  CacheFiles: Handle truncate unlocking the page we\u0027re reading\n  CacheFiles: Don\u0027t write a full page if there\u0027s only a partial page to cache\n  FS-Cache: Actually requeue an object when requested\n  FS-Cache: Start processing an object\u0027s operations on that object\u0027s death\n  FS-Cache: Make sure FSCACHE_COOKIE_LOOKING_UP cleared on lookup failure\n  FS-Cache: Add a retirement stat counter\n  FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n  FS-Cache: Handle read request vs lookup, creation or other cache failure\n  FS-Cache: Don\u0027t delete pending pages from the page-store tracking tree\n  FS-Cache: Fix lock misorder in fscache_write_op()\n  FS-Cache: The object-available state can\u0027t rely on the cookie to be available\n  FS-Cache: Permit cache retrieval ops to be interrupted in the initial wait phase\n  FS-Cache: Use radix tree preload correctly in tracking of pages to be stored\n  ...\n"
    },
    {
      "commit": "a49ed0bf427a8328a3296eebedc7697fe5098dbf",
      "tree": "b2add5cbe839899d58b2a43126e59b80801157ed",
      "parents": [
        "c9286b7e293a1ea054e857ff3f5a23d0ad8d4f36"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 16 19:57:50 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 24 14:41:13 2009 +0100"
      },
      "message": "locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init()\n\nSPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED are deprecated. Replace them\nwith the __*_LOCK_UNLOCKED variants.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c9286b7e293a1ea054e857ff3f5a23d0ad8d4f36",
      "tree": "6bbbbc2c08f3cc2a2a7cb794cb818b169f965977",
      "parents": [
        "8e13c7b772387f55dc05c6a0e5b30010c3c46ff9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 16 19:50:38 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 24 14:41:12 2009 +0100"
      },
      "message": "locking: Remove unused prototype\n\ncommit 910067d1(remove generic__raw_read_trylock()) removed the\nimplementation but left the prototype around. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3a222e52e4d4be77cc4520a57af1a4a0d8222d1",
      "tree": "1c3d5df529a404636b996ef39c991c9b8813aa12",
      "parents": [
        "0bce95279909aa4cc401a2e3140b4295ca22e72a"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Nov 23 16:21:30 2009 -0600"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 24 15:06:47 2009 +1100"
      },
      "message": "remove CONFIG_SECURITY_FILE_CAPABILITIES compile option\n\nAs far as I know, all distros currently ship kernels with default\nCONFIG_SECURITY_FILE_CAPABILITIES\u003dy.  Since having the option on\nleaves a \u0027no_file_caps\u0027 option to boot without file capabilities,\nthe main reason to keep the option is that turning it off saves\nyou (on my s390x partition) 5k.  In particular, vmlinux sizes\ncame to:\n\nwithout patch fscaps\u003dn:\t\t \t53598392\nwithout patch fscaps\u003dy:\t\t \t53603406\nwith this patch applied:\t\t53603342\n\nwith the security-next tree.\n\nAgainst this we must weigh the fact that there is no simple way for\nuserspace to figure out whether file capabilities are supported,\nwhile things like per-process securebits, capability bounding\nsets, and adding bits to pI if CAP_SETPCAP is in pE are not supported\nwith SECURITY_FILE_CAPABILITIES\u003dn, leaving a bit of a problem for\napplications wanting to know whether they can use them and/or why\nsomething failed.\n\nIt also adds another subtly different set of semantics which we must\nmaintain at the risk of severe security regressions.\n\nSo this patch removes the SECURITY_FILE_CAPABILITIES compile\noption.  It drops the kernel size by about 50k over the stock\nSECURITY_FILE_CAPABILITIES\u003dy kernel, by removing the\ncap_limit_ptraced_target() function.\n\nChangelog:\n\tNov 20: remove cap_limit_ptraced_target() as it\u0027s logic\n\t\twas ifndef\u0027ed.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Andrew G. Morgan\" \u003cmorgan@kernel.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6ebb237bece23275d1da149b61a342f0d4d06a08",
      "tree": "5f3d99f6ce2e1e98736e5708eecb5bf217f78fde",
      "parents": [
        "9f680ab41485edfdc96331b70afa7513aa0a7720"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Nov 22 08:53:50 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 18:58:16 2009 +0100"
      },
      "message": "rcu: Re-arrange code to reduce #ifdef pain\n\nRemove #ifdefs from kernel/rcupdate.c and\ninclude/linux/rcupdate.h by moving code to\ninclude/linux/rcutiny.h, include/linux/rcutree.h, and\nkernel/rcutree.c.\n\nAlso remove some definitions that are no longer used.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1258908830885-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f680ab41485edfdc96331b70afa7513aa0a7720",
      "tree": "620b34f8129c0ea4ddee033c9875a9f60bfba2ae",
      "parents": [
        "b668c9cf3e58739dac54a1d6f42f2b4bdd980b3e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Nov 22 08:53:49 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 18:58:16 2009 +0100"
      },
      "message": "rcu: Eliminate unneeded function wrapping\n\nThe functions rcu_init() is a wrapper for __rcu_init(), and also\nsets up the CPU-hotplug notifier for rcu_barrier_cpu_hotplug().\nBut TINY_RCU doesn\u0027t need CPU-hotplug notification, and the\nrcu_barrier_cpu_hotplug() is a simple wrapper for\nrcu_cpu_notify().\n\nSo push rcu_init() out to kernel/rcutree.c and kernel/rcutiny.c\nand get rid of the wrapper function rcu_barrier_cpu_hotplug().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12589088302320-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ced24c8973f79113444d1e00ee8bd9e74fbf43e",
      "tree": "aeab7b72d009b15f918b0dfeb17bfc5a1603b071",
      "parents": [
        "b2f125bcf5eac41a6d74f75ac573b77753213b74"
      ],
      "author": {
        "name": "Kevin Wells",
        "email": "kevin.wells@nxp.com",
        "time": "Thu Nov 12 00:23:00 2009 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Nov 20 00:25:42 2009 +0000"
      },
      "message": "i2c: i2c-pnx: Made buf type unsigned to prevent sign extension\n\nMade buf type unsigned to prevent sign extension\n\nSigned-off-by: Kevin Wells \u003ckevin.wells@nxp.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "308efab5e231d1510cd35931d87629bf5171caae",
      "tree": "f477e28706603dac927e352f2b0c23034f981808",
      "parents": [
        "5854d9c8d18359b1fc2f23c0ef2d51dd53281bd6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Nov 19 13:30:36 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 19 13:43:06 2009 -0800"
      },
      "message": "vt: Fix use of \"new\" in a struct field\n\nAs this struct is exposed to user space and the API was added for this\nrelease it\u0027s a bit of a pain for the C++ world and we still have time to\nfix it. Rename the fields before we end up with that pain in an actual\nrelease.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nReported-by: Olivier Goffart\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fee096deb4f33897937b974cb2c5168bab7935be",
      "tree": "c86e5ed5b3435ff0f0266f343b19f8cc7be63340",
      "parents": [
        "d0e27b7808dc667f3015be0b6888f6d680e222c8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:12:05 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:12:05 2009 +0000"
      },
      "message": "CacheFiles: Catch an overly long wait for an old active object\n\nCatch an overly long wait for an old, dying active object when we want to\nreplace it with a new one.  The probability is that all the slow-work threads\nare hogged, and the delete can\u0027t get a look in.\n\nWhat we do instead is:\n\n (1) if there\u0027s nothing in the slow work queue, we sleep until either the dying\n     object has finished dying or there is something in the slow work queue\n     behind which we can queue our object.\n\n (2) if there is something in the slow work queue, we return ETIMEDOUT to\n     fscache_lookup_object(), which then puts us back on the slow work queue,\n     presumably behind the deletion that we\u0027re blocked by.  We are then\n     deferred for a while until we work our way back through the queue -\n     without blocking a slow-work thread unnecessarily.\n\nA backtrace similar to the following may appear in the log without this patch:\n\n\tINFO: task kslowd004:5711 blocked for more than 120 seconds.\n\t\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n\tkslowd004     D 0000000000000000     0  5711      2 0x00000080\n\t ffff88000340bb80 0000000000000046 ffff88002550d000 0000000000000000\n\t ffff88002550d000 0000000000000007 ffff88000340bfd8 ffff88002550d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff88002550d2a8\n\tCall Trace:\n\t [\u003cffffffff81058e21\u003e] ? trace_hardirqs_on+0xd/0xf\n\t [\u003cffffffffa011c4d8\u003e] ? cachefiles_wait_bit+0x0/0xd [cachefiles]\n\t [\u003cffffffffa011c4e1\u003e] cachefiles_wait_bit+0x9/0xd [cachefiles]\n\t [\u003cffffffff81353153\u003e] __wait_on_bit+0x43/0x76\n\t [\u003cffffffff8111ae39\u003e] ? ext3_xattr_get+0x1ec/0x270\n\t [\u003cffffffff813531ef\u003e] out_of_line_wait_on_bit+0x69/0x74\n\t [\u003cffffffffa011c4d8\u003e] ? cachefiles_wait_bit+0x0/0xd [cachefiles]\n\t [\u003cffffffff8104c125\u003e] ? wake_bit_function+0x0/0x2e\n\t [\u003cffffffffa011bc79\u003e] cachefiles_mark_object_active+0x203/0x23b [cachefiles]\n\t [\u003cffffffffa011c209\u003e] cachefiles_walk_to_object+0x558/0x827 [cachefiles]\n\t [\u003cffffffffa011a429\u003e] cachefiles_lookup_object+0xac/0x12a [cachefiles]\n\t [\u003cffffffffa00aa1e9\u003e] fscache_lookup_object+0x1c7/0x214 [fscache]\n\t [\u003cffffffffa00aafc5\u003e] fscache_object_state_machine+0xa5/0x52d [fscache]\n\t [\u003cffffffffa00ab4ac\u003e] fscache_object_slow_work_execute+0x5f/0xa0 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\t1 lock held by kslowd004/5711:\n\t #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#7/1){+.+.+.}, at: [\u003cffffffffa011be64\u003e] cachefiles_walk_to_object+0x1b3/0x827 [cachefiles]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a17754fb8c28af19cd70dcbec6d5b0773b94e0c1",
      "tree": "d7c25b217c684153eadbac78ab9b1bbff08b75f6",
      "parents": [
        "868411be3f445a83fafbd734f3e426400138add5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:52 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:52 2009 +0000"
      },
      "message": "CacheFiles: Don\u0027t write a full page if there\u0027s only a partial page to cache\n\ncachefiles_write_page() writes a full page to the backing file for the last\npage of the netfs file, even if the netfs file\u0027s last page is only a partial\npage.\n\nThis causes the EOF on the backing file to be extended beyond the EOF of the\nnetfs, and thus the backing file will be truncated by cachefiles_attr_changed()\ncalled from cachefiles_lookup_object().\n\nSo we need to limit the write we make to the backing file on that last page\nsuch that it doesn\u0027t push the EOF too far.\n\nAlso, if a backing file that has a partial page at the end is expanded, we\ndiscard the partial page and refetch it on the basis that we then have a hole\nin the file with invalid data, and should the power go out...  A better way to\ndeal with this could be to record a note that the partial page contains invalid\ndata until the correct data is written into it.\n\nThis isn\u0027t a problem for netfs\u0027s that discard the whole backing file if the\nfile size changes (such as NFS).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "60d543ca724be155c2b6166e36a00c80b21bd810",
      "tree": "90ec6edd77ddb7666dbf7069aa2e001f155cea49",
      "parents": [
        "d461d26dde901b0523c46b0317e7fccf574a3933"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:45 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:45 2009 +0000"
      },
      "message": "FS-Cache: Start processing an object\u0027s operations on that object\u0027s death\n\nStart processing an object\u0027s operations when that object moves into the DYING\nstate as the object cannot be destroyed until all its outstanding operations\nhave completed.\n\nFurthermore, make sure that read and allocation operations handle being woken\nup on a dead object.  Such events are recorded in the Allocs.abt and\nRetrvls.abt statistics as viewable through /proc/fs/fscache/stats.\n\nThe code for waiting for object activation for the read and allocation\noperations is also extracted into its own function as it is much the same in\nall cases, differing only in the stats incremented.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "201a15428bd54f83eccec8b7c64a04b8f9431204",
      "tree": "326fcce64ce96657253fd141a3f4a767ac95418a",
      "parents": [
        "e3d4d28b1c8cc7c26536a50b43d86ccd39878550"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "message": "FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n\nHandle netfs pages that the vmscan algorithm wants to evict from the pagecache\nunder OOM conditions, but that are waiting for write to the cache.  Under these\nconditions, vmscan calls the releasepage() function of the netfs, asking if a\npage can be discarded.\n\nThe problem is typified by the following trace of a stuck process:\n\n\tkslowd005     D 0000000000000000     0  4253      2 0x00000080\n\t ffff88001b14f370 0000000000000046 ffff880020d0d000 0000000000000007\n\t 0000000000000006 0000000000000001 ffff88001b14ffd8 ffff880020d0d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff880020d0d2a8\n\tCall Trace:\n\t [\u003cffffffffa00782d8\u003e] __fscache_wait_on_page_write+0x8b/0xa7 [fscache]\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffffa0078240\u003e] ? __fscache_check_page_write+0x63/0x70 [fscache]\n\t [\u003cffffffffa00b671d\u003e] nfs_fscache_release_page+0x4e/0xc4 [nfs]\n\t [\u003cffffffffa00927f0\u003e] nfs_release_page+0x3c/0x41 [nfs]\n\t [\u003cffffffff810885d3\u003e] try_to_release_page+0x32/0x3b\n\t [\u003cffffffff81093203\u003e] shrink_page_list+0x316/0x4ac\n\t [\u003cffffffff8109372b\u003e] shrink_inactive_list+0x392/0x67c\n\t [\u003cffffffff813532fa\u003e] ? __mutex_unlock_slowpath+0x100/0x10b\n\t [\u003cffffffff81058df0\u003e] ? trace_hardirqs_on_caller+0x10c/0x130\n\t [\u003cffffffff8135330e\u003e] ? mutex_unlock+0x9/0xb\n\t [\u003cffffffff81093aa2\u003e] shrink_list+0x8d/0x8f\n\t [\u003cffffffff81093d1c\u003e] shrink_zone+0x278/0x33c\n\t [\u003cffffffff81052d6c\u003e] ? ktime_get_ts+0xad/0xba\n\t [\u003cffffffff81094b13\u003e] try_to_free_pages+0x22e/0x392\n\t [\u003cffffffff81091e24\u003e] ? isolate_pages_global+0x0/0x212\n\t [\u003cffffffff8108e743\u003e] __alloc_pages_nodemask+0x3dc/0x5cf\n\t [\u003cffffffff81089529\u003e] grab_cache_page_write_begin+0x65/0xaa\n\t [\u003cffffffff8110f8c0\u003e] ext3_write_begin+0x78/0x1eb\n\t [\u003cffffffff81089ec5\u003e] generic_file_buffered_write+0x109/0x28c\n\t [\u003cffffffff8103cb69\u003e] ? current_fs_time+0x22/0x29\n\t [\u003cffffffff8108a509\u003e] __generic_file_aio_write+0x350/0x385\n\t [\u003cffffffff8108a588\u003e] ? generic_file_aio_write+0x4a/0xae\n\t [\u003cffffffff8108a59e\u003e] generic_file_aio_write+0x60/0xae\n\t [\u003cffffffff810b2e82\u003e] do_sync_write+0xe3/0x120\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810b18e1\u003e] ? __dentry_open+0x1a5/0x2b8\n\t [\u003cffffffff810b1a76\u003e] ? dentry_open+0x82/0x89\n\t [\u003cffffffffa00e693c\u003e] cachefiles_write_page+0x298/0x335 [cachefiles]\n\t [\u003cffffffffa0077147\u003e] fscache_write_op+0x178/0x2c2 [fscache]\n\t [\u003cffffffffa0075656\u003e] fscache_op_execute+0x7a/0xd1 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8102ef83\u003e] ? tg_shares_up+0x171/0x227\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\nIn the above backtrace, the following is happening:\n\n (1) A page storage operation is being executed by a slow-work thread\n     (fscache_write_op()).\n\n (2) FS-Cache farms the operation out to the cache to perform\n     (cachefiles_write_page()).\n\n (3) CacheFiles is then calling Ext3 to perform the actual write, using Ext3\u0027s\n     standard write (do_sync_write()) under KERNEL_DS directly from the netfs\n     page.\n\n (4) However, for Ext3 to perform the write, it must allocate some memory, in\n     particular, it must allocate at least one page cache page into which it\n     can copy the data from the netfs page.\n\n (5) Under OOM conditions, the memory allocator can\u0027t immediately come up with\n     a page, so it uses vmscan to find something to discard\n     (try_to_free_pages()).\n\n (6) vmscan finds a clean netfs page it might be able to discard (possibly the\n     one it\u0027s trying to write out).\n\n (7) The netfs is called to throw the page away (nfs_release_page()) - but it\u0027s\n     called with __GFP_WAIT, so the netfs decides to wait for the store to\n     complete (__fscache_wait_on_page_write()).\n\n (8) This blocks a slow-work processing thread - possibly against itself.\n\nThe system ends up stuck because it can\u0027t write out any netfs pages to the\ncache without allocating more memory.\n\nTo avoid this, we make FS-Cache cancel some writes that aren\u0027t in the middle of\nactually being performed.  This means that some data won\u0027t make it into the\ncache this time.  To support this, a new FS-Cache function is added\nfscache_maybe_release_page() that replaces what the netfs releasepage()\nfunctions used to do with respect to the cache.\n\nThe decisions fscache_maybe_release_page() makes are counted and displayed\nthrough /proc/fs/fscache/stats on a line labelled \"VmScan\".  There are four\ncounters provided: \"nos\u003dN\" - pages that weren\u0027t pending storage; \"gon\u003dN\" -\npages that were pending storage when we first looked, but weren\u0027t by the time\nwe got the object lock; \"bsy\u003dN\" - pages that we ignored as they were actively\nbeing written when we looked; and \"can\u003dN\" - pages that we cancelled the storage\nof.\n\nWhat I\u0027d really like to do is alter the behaviour of the cancellation\nheuristics, depending on how necessary it is to expel pages.  If there are\nplenty of other pages that aren\u0027t waiting to be written to the cache that\ncould be ejected first, then it would be nice to hold up on immediate\ncancellation of cache writes - but I don\u0027t see a way of doing that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "1bccf513ac49d44604ba1cddcc29f5886e70f1b6",
      "tree": "096ba75a3d02018c5f6e1857aaf1d41471733850",
      "parents": [
        "6897e3df8fc37bd4a58bbcdef8306da7fc175584"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:25 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:25 2009 +0000"
      },
      "message": "FS-Cache: Fix lock misorder in fscache_write_op()\n\nFS-Cache has two structs internally for keeping track of the internal state of\na cached file: the fscache_cookie struct, which represents the netfs\u0027s state,\nand fscache_object struct, which represents the cache\u0027s state.  Each has a\npointer that points to the other (when both are in existence), and each has a\nspinlock for pointer maintenance.\n\nSince netfs operations approach these structures from the cookie side, they get\nthe cookie lock first, then the object lock.  Cache operations, on the other\nhand, approach from the object side, and get the object lock first.  It is not\nthen permitted for a cache operation to get the cookie lock whilst it is\nholding the object lock lest deadlock occur; instead, it must do one of two\nthings:\n\n (1) increment the cookie usage counter, drop the object lock and then get both\n     locks in order, or\n\n (2) simply hold the object lock as certain parts of the cookie may not be\n     altered whilst the object lock is held.\n\nIt is also not permitted to follow either pointer without holding the lock at\nthe end you start with.  To break the pointers between the cookie and the\nobject, both locks must be held.\n\nfscache_write_op(), however, violates the locking rules: It attempts to get the\ncookie lock without (a) checking that the cookie pointer is a valid pointer,\nand (b) holding the object lock to protect the cookie pointer whilst it follows\nit.  This is so that it can access the pending page store tree without\ninterference from __fscache_write_page().\n\nThis is fixed by splitting the cookie lock, such that the page store tracking\ntree is protected by its own lock, and checking that the cookie pointer is\nnon-NULL before we attempt to follow it whilst holding the object lock.\n\nThe new lock is subordinate to both the cookie lock and the object lock, and so\nshould be taken after those.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4fbf4291aa15926cd4fdca0ffe9122e89d0459db",
      "tree": "ec2195c39ef8117acea598af4a5c20c77f67aa0b",
      "parents": [
        "440f0affe247e9990c8f8778f1861da4fd7d5e50"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:04 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:04 2009 +0000"
      },
      "message": "FS-Cache: Allow the current state of all objects to be dumped\n\nAllow the current state of all fscache objects to be dumped by doing:\n\n\tcat /proc/fs/fscache/objects\n\nBy default, all objects and all fields will be shown.  This can be restricted\nby adding a suitable key to one of the caller\u0027s keyrings (such as the session\nkeyring):\n\n\tkeyctl add user fscache:objlist \"\u003crestrictions\u003e\" @s\n\nThe \u003crestrictions\u003e are:\n\n\tK\tShow hexdump of object key (don\u0027t show if not given)\n\tA\tShow hexdump of object aux data (don\u0027t show if not given)\n\nAnd paired restrictions:\n\n\tC\tShow objects that have a cookie\n\tc\tShow objects that don\u0027t have a cookie\n\tB\tShow objects that are busy\n\tb\tShow objects that aren\u0027t busy\n\tW\tShow objects that have pending writes\n\tw\tShow objects that don\u0027t have pending writes\n\tR\tShow objects that have outstanding reads\n\tr\tShow objects that don\u0027t have outstanding reads\n\tS\tShow objects that have slow work queued\n\ts\tShow objects that don\u0027t have slow work queued\n\nIf neither side of a restriction pair is given, then both are implied.  For\nexample:\n\n\tkeyctl add user fscache:objlist KB @s\n\nshows objects that are busy, and lists their object keys, but does not dump\ntheir auxiliary data.  It also implies \"CcWwRrSs\", but as \u0027B\u0027 is given, \u0027b\u0027 is\nnot implied.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "440f0affe247e9990c8f8778f1861da4fd7d5e50",
      "tree": "0012732ac8af0245005403d9a3b0a2b1209edf32",
      "parents": [
        "3bde31a4ac225cb5805be02eff6eaaf7e0766ccd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:01 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:01 2009 +0000"
      },
      "message": "FS-Cache: Annotate slow-work runqueue proc lines for FS-Cache work items\n\nAnnotate slow-work runqueue proc lines for FS-Cache work items.  Objects\ninclude the object ID and the state.  Operations include the object ID, the\noperation ID and the operation type and state.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3bde31a4ac225cb5805be02eff6eaaf7e0766ccd",
      "tree": "9fb757ab7d46e0c37fb5e88d3185f1861fbc794e",
      "parents": [
        "31ba99d304494cb28fa8671ccc769c5543e1165d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "message": "SLOW_WORK: Allow a requeueable work item to sleep till the thread is needed\n\nAdd a function to allow a requeueable work item to sleep till the thread\nprocessing it is needed by the slow-work facility to perform other work.\n\nSometimes a work item can\u0027t progress immediately, but must wait for the\ncompletion of another work item that\u0027s currently being processed by another\nslow-work thread.\n\nIn some circumstances, the waiting item could instead - theoretically - put\nitself back on the queue and yield its thread back to the slow-work facility,\nthus waiting till it gets processing time again before attempting to progress.\nThis would allow other work items processing time on that thread.\n\nHowever, this only works if there is something on the queue for it to queue\nbehind - otherwise it will just get a thread again immediately, and will end\nup cycling between the queue and the thread, eating up valuable CPU time.\n\nSo, slow_work_sleep_till_thread_needed() is provided such that an item can put\nitself on a wait queue that will wake it up when the event it is actually\ninterested in occurs, then call this function in lieu of calling schedule().\n\nThis function will then sleep until either the item\u0027s event occurs or another\nwork item appears on the queue.  If another work item is queued, but the\nitem\u0027s event hasn\u0027t occurred, then the work item should requeue itself and\nyield the thread back to the slow-work facility by returning.\n\nThis can be used by CacheFiles for an object that is being created on one\nthread to wait for an object being deleted on another thread where there is\nnothing on the queue for the creation to go and wait behind.  As soon as an\nitem appears on the queue that could be given thread time instead, CacheFiles\ncan stick the creating object back on the queue and return to the slow-work\nfacility - assuming the object deletion didn\u0027t also complete.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "31ba99d304494cb28fa8671ccc769c5543e1165d",
      "tree": "ea2d839fb70798cf6a3b55ccc87f749e14e14f1d",
      "parents": [
        "8fba10a42d191de612e60e7009c8f0313f90a9b3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:53 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:53 2009 +0000"
      },
      "message": "SLOW_WORK: Allow the owner of a work item to determine if it is queued or not\n\nAdd a function (slow_work_is_queued()) to permit the owner of a work item to\ndetermine if the item is queued or not.\n\nThe work item is counted as being queued if it is actually on the queue, not\njust if it is pending.  If it is executing and pending, then it is not on the\nqueue, but will rather be put back on the queue when execution finishes.\n\nThis permits a caller to quickly work out if it may be able to put another,\ndependent work item on the queue behind it, or whether it will have to wait\ntill that is finished.\n\nThis can be used by CacheFiles to work out whether the creation a new object\ncan be immediately deferred when it has to wait for an old object to be\ndeleted, or whether a wait must take place.  If a wait is necessary, then the\nslow-work thread can otherwise get blocked, preventing the deletion from\ntaking place.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "8fba10a42d191de612e60e7009c8f0313f90a9b3",
      "tree": "1e772fcc7ad3eb5bb3ca1c6cd156171295e6db25",
      "parents": [
        "6b8268b17a1ffc942bc72d7d00274e433d6b6719"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "message": "SLOW_WORK: Allow the work items to be viewed through a /proc file\n\nAllow the executing and queued work items to be viewed through a /proc file\nfor debugging purposes.  The contents look something like the following:\n\n    THR PID   ITEM ADDR        FL MARK  DESC\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\n      0  3005 ffff880023f52348  a 952ms FSC: OBJ17d3: LOOK\n      1  3006 ffff880024e33668  2 160ms FSC: OBJ17e5 OP60d3b: Write1/Store fl\u003d2\n      2  3165 ffff8800296dd180  a 424ms FSC: OBJ17e4: LOOK\n      3  4089 ffff8800262c8d78  a 212ms FSC: OBJ17ea: CRTN\n      4  4090 ffff88002792bed8  2 388ms FSC: OBJ17e8 OP60d36: Write1/Store fl\u003d2\n      5  4092 ffff88002a0ef308  2 388ms FSC: OBJ17e7 OP60d2e: Write1/Store fl\u003d2\n      6  4094 ffff88002abaf4b8  2 132ms FSC: OBJ17e2 OP60d4e: Write1/Store fl\u003d2\n      7  4095 ffff88002bb188e0  a 388ms FSC: OBJ17e9: CRTN\n    vsq     - ffff880023d99668  1 308ms FSC: OBJ17e0 OP60f91: Write1/EnQ fl\u003d2\n    vsq     - ffff8800295d1740  1 212ms FSC: OBJ16be OP4d4b6: Write1/EnQ fl\u003d2\n    vsq     - ffff880025ba3308  1 160ms FSC: OBJ179a OP58dec: Write1/EnQ fl\u003d2\n    vsq     - ffff880024ec83e0  1 160ms FSC: OBJ17ae OP599f2: Write1/EnQ fl\u003d2\n    vsq     - ffff880026618e00  1 160ms FSC: OBJ17e6 OP60d33: Write1/EnQ fl\u003d2\n    vsq     - ffff880025a2a4b8  1 132ms FSC: OBJ16a2 OP4d583: Write1/EnQ fl\u003d2\n    vsq     - ffff880023cbe6d8  9 212ms FSC: OBJ17eb: LOOK\n    vsq     - ffff880024d37590  9 212ms FSC: OBJ17ec: LOOK\n    vsq     - ffff880027746cb0  9 212ms FSC: OBJ17ed: LOOK\n    vsq     - ffff880024d37ae8  9 212ms FSC: OBJ17ee: LOOK\n    vsq     - ffff880024d37cb0  9 212ms FSC: OBJ17ef: LOOK\n    vsq     - ffff880025036550  9 212ms FSC: OBJ17f0: LOOK\n    vsq     - ffff8800250368e0  9 212ms FSC: OBJ17f1: LOOK\n    vsq     - ffff880025036aa8  9 212ms FSC: OBJ17f2: LOOK\n\nIn the \u0027THR\u0027 column, executing items show the thread they\u0027re occupying and\nqueued threads indicate which queue they\u0027re on.  \u0027PID\u0027 shows the process ID of\na slow-work thread that\u0027s executing something.  \u0027FL\u0027 shows the work item flags.\n\u0027MARK\u0027 indicates how long since an item was queued or began executing.  Lastly,\nthe \u0027DESC\u0027 column permits the owner of an item to give some information.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "6b8268b17a1ffc942bc72d7d00274e433d6b6719",
      "tree": "bd293facd4b805fc05588fcaf024e964a0bb1cca",
      "parents": [
        "0160950297c08f8233c89b9f9e7dd59cfb080809"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "message": "SLOW_WORK: Add delayed_slow_work support\n\nThis adds support for starting slow work with a delay, similar\nto the functionality we have for workqueues.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "0160950297c08f8233c89b9f9e7dd59cfb080809",
      "tree": "4910bfb7ab5b4000a1679fd165d217ff48226268",
      "parents": [
        "4d8bb2cbccf6dccaada509aafeb01c6205c9d8c4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "message": "SLOW_WORK: Add support for cancellation of slow work\n\nAdd support for cancellation of queued slow work and delayed slow work items.\nThe cancellation functions will wait for items that are pending or undergoing\nexecution to be discarded by the slow work facility.\n\nAttempting to enqueue work that is in the process of being cancelled will\nresult in ECANCELED.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3d7a641e544e428191667e8b1f83f96fa46dbd65",
      "tree": "172aa672eca96b94f5531885b82abb82b43c7d8a",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "message": "SLOW_WORK: Wait for outstanding work items belonging to a module to clear\n\nWait for outstanding slow work items belonging to a module to clear when\nunregistering that module as a user of the facility.  This prevents the put_ref\ncode of a work item from being taken away before it returns.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "486bfe5c7ca6184f35b93b9f2bf3fa3baa1b65e4",
      "tree": "3cec2570aca8ec88da087398d0bdd52054dfa697",
      "parents": [
        "5cbb0601bfddfc55d6ea409651313c13e3d6e90a",
        "70e3bb504ccfe6ba725ab120bdb516d205d834f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 18 14:54:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 18 14:54:45 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  cxgb3: fix premature page unmap\n  ibm_newemac: Fix EMACx_TRTR[TRT] bit shifts\n  vlan: Fix register_vlan_dev() error path\n  gro: Fix illegal merging of trailer trash\n  sungem: Fix Serdes detection.\n  net: fix mdio section mismatch warning\n  ppp: fix BUG on non-linear SKB (multilink receive)\n  ixgbe: Fixing EEH handler to handle more than one error\n  net: Fix the rollback test in dev_change_name()\n  Revert \"isdn: isdn_ppp: Use SKB list facilities instead of home-grown implementation.\"\n  TI Davinci EMAC : Fix Console Hang when bringing the interface down\n  smsc911x: Fix Console Hang when bringing the interface down.\n  mISDN: fix error return in HFCmulti_init()\n  forcedeth: mac address fix\n  r6040: fix version printing\n  Bluetooth: Fix regression with L2CAP configuration in Basic Mode\n  Bluetooth: Select Basic Mode as default for SOCK_SEQPACKET\n  Bluetooth: Set general bonding security for ACL by default\n  r8169: Fix receive buffer length when MTU is between 1515 and 1536\n  can: add the missing netlink get_xstats_size callback\n  ...\n"
    },
    {
      "commit": "2ea6dec4a22a6f66f6633876212fd4d195cf8277",
      "tree": "f630c63a9e20fab5b31caa88368293a203103408",
      "parents": [
        "72f279b256d520e321a850880d094bc0bcbf45d6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 17 14:27:27 2009 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 18 14:52:25 2009 +0100"
      },
      "message": "generic-ipi: Add smp_call_function_any()\n\nAndrew points out that acpi-cpufreq uses cpumask_any, when it really\nwould prefer to use the same CPU if possible (to avoid an IPI).  In\ngeneral, this seems a good idea to offer.\n\n[ tglx: Documented selection preference and Inlined the UP case to\n  \tavoid the copy of smp_call_function_single() and the extra\n  \tEXPORT ]\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Zhao Yakui \u003cyakui.zhao@intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6ad696d2cf535772dff659298ec7e7260e344595",
      "tree": "2f4d4d088a7bc8203473dcb96a1d1f0591f3de94",
      "parents": [
        "9398180097e359646d46083c3e079a54e20bee82"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Nov 17 14:06:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 17:40:33 2009 -0800"
      },
      "message": "mm: allow memory hotplug and hibernation in the same kernel\n\nAllow memory hotplug and hibernation in the same kernel\n\nMemory hotplug and hibernation were exclusive in Kconfig.  This is\nobviously a problem for distribution kernels who want to support both in\nthe same image.\n\nAfter some discussions with Rafael and others the only problem is with\nparallel memory hotadd or removal while a hibernation operation is in\nprocess.  It was also working for s390 before.\n\nThis patch removes the Kconfig level exclusion, and simply makes the\nmemory add / remove functions grab the pm_mutex to exclude against\nhibernation.\n\nFixes a regression - old kernels didn\u0027t exclude memory hotadd and\nhibernation.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82abc2a97a4a3c7635c40e6dff571816062ec506",
      "tree": "bdafbd1d1030a1d4717b52d07d8d0c3a37e8a693",
      "parents": [
        "cb20c28a9c41052c2d7220325dae60c16f417ded",
        "18dafac1a4c6c88867a50f9a82492976f20383d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 09:15:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 09:15:18 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: deleted inconsistent comment in nilfs_load_inode_block()\n  nilfs2: deleted struct nilfs_dat_group_desc\n  nilfs2: fix lock order reversal in chcp operation\n"
    },
    {
      "commit": "99f4c9de2b707795acb215e2e94df7ea266042b5",
      "tree": "6123682a8e0d880feebb690a55b3fb442ef3dee8",
      "parents": [
        "62ad33f67003b9a7b6013f0511579b9805e11626",
        "156171c71a0dc4bce12b4408bb1591f8fe32dc1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 17 07:51:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 17 07:51:07 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.32-rc7\u0027 into core/iommu\n\nMerge reason: Add fixes we\u0027ll depend on.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e29d4363174949a7a4e46f670993d7ff43342c1c",
      "tree": "ee0752cb07190784c1738cfa4bf4a2f4522f3ce6",
      "parents": [
        "5bfa2a17f2b79eb6a63c5d47ce89d5798bba086a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 15 22:23:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 15 22:23:47 2009 -0800"
      },
      "message": "Revert \"isdn: isdn_ppp: Use SKB list facilities instead of home-grown implementation.\"\n\nThis reverts commit 38783e671399b5405f1fd177d602c400a9577ae6.\n\nIt causes kernel bugzilla #14594\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a7af63108f07637504300671a72432c34e10021",
      "tree": "9cd2e6b79a02ea5c4287adbf063500a51121311b",
      "parents": [
        "c1ea985c710f41e97f1c72c29bbf367375370f0b"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Sun Nov 15 13:49:44 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Nov 15 17:17:38 2009 +0900"
      },
      "message": "nilfs2: deleted struct nilfs_dat_group_desc\n\nstruct nilfs_dat_group_desc is not used both in kernel and user spaces.\nstruct nilfs_palloc_group_desc is used instead.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6959450e567c1f17d3ce8489099fc56c3721d577",
      "tree": "603c327a7b8e246cea3e51ab87ac11660c309060",
      "parents": [
        "94a15564ac63af6bb2ff8d4d04f86d5e7ee0278a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Nov 14 20:46:38 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 15 09:03:10 2009 +0100"
      },
      "message": "swiotlb: Remove duplicate swiotlb_force extern declarations\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: tony.luck@intel.com\nLKML-Reference: \u003c1258199198-16657-4-git-send-email-fujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd4ca27d3dedfff09000586e4ae67771608696a0",
      "tree": "8ebf6b0b4b2e52585c4853d192c47d1866ec7ec6",
      "parents": [
        "0e70613b1c26bf23909d0e778de52d0cc6d88835",
        "3d4c3aa938fcbfee1c7a6d66ee23288448fb97e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 14 13:00:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 14 13:00:17 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: psmouse - remove unneeded \u0027\\n\u0027 from psmouse.proto parameter\n  Input: atkbd - restore LED state at reconnect\n  Input: force LED reset on resume\n  Input: fix locking in memoryless force-feedback devices\n"
    },
    {
      "commit": "6beb000923882f6204ea2cfcd932e568e900803f",
      "tree": "1849bb1e7493bbf5e538d74cec18c6d6f4b16ced",
      "parents": [
        "156171c71a0dc4bce12b4408bb1591f8fe32dc1a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 09 15:21:34 2009 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:53:28 2009 +0100"
      },
      "message": "locking: Make inlining decision Kconfig based\n\ncommit 892a7c67 (locking: Allow arch-inlined spinlocks) implements the\nselection of which lock functions are inlined based on defines in\narch/.../spinlock.h: #define __always_inline__LOCK_FUNCTION\n\nDespite of the name __always_inline__* the lock functions can be built\nout of line depending on config options. Also if the arch does not set\nsome inline defines the generic code might set them; again depending on\nconfig options.\n\nThis makes it unnecessary hard to figure out when and which lock\nfunctions are inlined. Aside of that it makes it way harder and\nmessier for -rt to manipulate the lock functions.\n\nConvert the inlining decision to CONFIG switches. Each lock function\nis inlined depending on CONFIG_INLINE_*. The configs implement the\nexisting dependencies. The architecture code can select ARCH_INLINE_*\nto signal that it wants the corresponding lock function inlined.\nARCH_INLINE_* is necessary as Kconfig ignores \"depends on\"\nrestrictions when a config element is selected.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c20091109151428.504477141@linutronix.de\u003e\nAcked-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "b87e5e2b8ed9336566100c8c796ab6dd52436881",
      "tree": "a55dc24691745c5a2029b8596352a62554864d28",
      "parents": [
        "80647b959f97fa20a4714dde3e07b7f69d896556"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Wed Nov 11 14:26:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:57 2009 -0800"
      },
      "message": "serial: add support for the Lava Quattro PCI quad-port 16550A card\n\nThis seems to be a different model (with a different PCI ID) than the\n\"Quatro\" card that is also in the list.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5c15d0b37ab1cd3969b8ce7828ab41c79f36f77",
      "tree": "a12aaef93ef8cc75eb5488294c64c5bf9d01546c",
      "parents": [
        "9d0ed60fe9cd1fbf57f755cd27a23ae9114d7210"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Nov 11 14:26:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:56 2009 -0800"
      },
      "message": "fb: remove fb_save_state() and fb_restore_state operations\n\nRemove fb_save_state() and fb_restore_state operations from frame buffer layer.\nThey are used only in two drivers:\n1. savagefb  - and cause bug #11248\n2. uvesafb\n\nUsage of these operations is misunderstood in both drivers so kill these\noperations, fix the bug #11248 and avoid confusion in the future.\n\nTested on Savage 3D/MV card and the patch fixes the bug #11248.\n\nThe frame buffer layer uses these funtions during switch between graphics\nand text mode of the console, but these drivers saves state before\nswitching of the frame buffer (in the fb_open) and after releasing it (in\nthe fb_release).  This defeats the purpose of these operations.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d11248\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nReported-by: Jochen Hein \u003cjochen@jochen.org\u003e\nTested-by: Jochen Hein \u003cjochen@jochen.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Michal Januszewski \u003cspock@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe8bc91c4c30122b357d197117705cfd4fabaf28",
      "tree": "33e2895847d812204209444db4093af9a2c3623d",
      "parents": [
        "ea0174a7137c8ca9f130ca681f3a99c872da6778"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 16 19:26:15 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:22:49 2009 +0100"
      },
      "message": "ext3: Wait for proper transaction commit on fsync\n\nWe cannot rely on buffer dirty bits during fsync because pdflush can come\nbefore fsync is called and clear dirty bits without forcing a transaction\ncommit. What we do is that we track which transaction has last changed\nthe inode and which transaction last changed allocation and force it to\ndisk on fsync.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bf3204cbff7d2606e758afb0994e8da6ae1c6c26",
      "tree": "01951b829d2af6a52b82bec35cc05261dcf77fe2",
      "parents": [
        "558a5e296a02266ef43d6e933ee35df9976de987"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Nov 06 21:39:07 2009 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Nov 10 21:13:32 2009 -0800"
      },
      "message": "Input: fix locking in memoryless force-feedback devices\n\nNow that input core acquires dev-\u003eevent_lock spinlock and disables\ninterrupts when propagating input events, using spin_lock_bh() in\nff-memless driver is not allowed. Actually, the timer_lock itself\nis not needed anymore, we should simply use dev-\u003eevent_lock\nas well.\n\nAlso do a small cleanup in force-feedback core.\n\nReported-by: kerneloops.org\nReported-by: http://www.kerneloops.org/searchweek.php?search\u003dml_ff_set_gain\nReported-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "ad32e8cb86e7894aac51c8963eaa9f36bb8a4e14",
      "tree": "4dce812e83de8bd130fd141afc1229b38b483736",
      "parents": [
        "5740afdb68abadc473fd5392df733558a58c1254"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Nov 10 19:46:19 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 12:32:00 2009 +0100"
      },
      "message": "swiotlb: Defer swiotlb init printing, export swiotlb_print_info()\n\nThis enables us to avoid printing swiotlb memory info when we\ninitialize swiotlb. After swiotlb initialization, we could find\nthat we don\u0027t need swiotlb.\n\nThis patch removes the code to print swiotlb memory info in\nswiotlb_init() and exports the function to do that.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: chrisw@sous-sol.org\nCc: dwmw2@infradead.org\nCc: joerg.roedel@amd.com\nCc: muli@il.ibm.com\nCc: tony.luck@intel.com\nCc: benh@kernel.crashing.org\nLKML-Reference: \u003c1257849980-22640-9-git-send-email-fujita.tomonori@lab.ntt.co.jp\u003e\n[ -v2: merge up conflict ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5740afdb68abadc473fd5392df733558a58c1254",
      "tree": "82f87512446607118d48b0e6db9f011abd5e1124",
      "parents": [
        "9f993ac3f708b661207ed7de521f245586217a68"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Nov 10 19:46:18 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 12:31:52 2009 +0100"
      },
      "message": "swiotlb: Add swiotlb_free() function\n\nswiotlb_free() function frees all allocated memory for swiotlb.\n\nWe need to initialize swiotlb before IOMMU initialization (x86\nand powerpc needs to allocate memory from bootmem allocator). If\nIOMMU initialization is successful, we need to free swiotlb\nresource (don\u0027t want to waste 64MB).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: chrisw@sous-sol.org\nCc: dwmw2@infradead.org\nCc: joerg.roedel@amd.com\nCc: muli@il.ibm.com\nLKML-Reference: \u003c1257849980-22640-8-git-send-email-fujita.tomonori@lab.ntt.co.jp\u003e\n[ -v2: build fix for the !CONFIG_SWIOTLB case ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f993ac3f708b661207ed7de521f245586217a68",
      "tree": "f9565a41efe0cc2dfde6d84c8a6bdf310799ffea",
      "parents": [
        "9d5ce73a64be2be8112147a3e0b551ad9cd1247b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Nov 10 19:46:17 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 12:31:43 2009 +0100"
      },
      "message": "bootmem: Add free_bootmem_late()\n\nAdd a new function for freeing bootmem after the bootmem\nallocator has been released and the unreserved pages given to\nthe page allocator.\n\nThis allows us to reserve bootmem and then release it if we\nlater discover it was not needed.\n\n( This new API will be used by the swiotlb code to recover\n  a significant amount of RAM (64MB). )\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: chrisw@sous-sol.org\nCc: dwmw2@infradead.org\nCc: joerg.roedel@amd.com\nCc: muli@il.ibm.com\nCc: hannes@cmpxchg.org\nCc: tj@kernel.org\nCc: akpm@linux-foundation.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c1257849980-22640-7-git-send-email-fujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d5ce73a64be2be8112147a3e0b551ad9cd1247b",
      "tree": "8593dc2ca29e95b1a25e6f677459f3fe5c68dee9",
      "parents": [
        "ea1b0d3945c7374849235b6ecaea1191ee1d9d50"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Nov 10 19:46:16 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 12:31:36 2009 +0100"
      },
      "message": "x86: intel-iommu: Convert detect_intel_iommu to use iommu_init hook\n\nThis changes detect_intel_iommu() to set intel_iommu_init() to\niommu_init hook if detect_intel_iommu() finds the IOMMU.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: chrisw@sous-sol.org\nCc: dwmw2@infradead.org\nCc: joerg.roedel@amd.com\nCc: muli@il.ibm.com\nLKML-Reference: \u003c1257849980-22640-6-git-send-email-fujita.tomonori@lab.ntt.co.jp\u003e\n[ -v2: build fix for the !CONFIG_DMAR case ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd8dbf2e6880e30c00b18600c962d0cb5a03c555",
      "tree": "24835aaf40cec5ceb2aeecccde9240ee173f70f1",
      "parents": [
        "6e65f92ff0d6f18580737321718d09035085a3fb"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 03 16:35:32 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 10 09:33:46 2009 +1100"
      },
      "message": "security: report the module name to security_module_request\n\nFor SELinux to do better filtering in userspace we send the name of the\nmodule along with the AVC denial when a program is denied module_request.\n\nExample output:\n\ntype\u003dSYSCALL msg\u003daudit(11/03/2009 10:59:43.510:9) : arch\u003dx86_64 syscall\u003dwrite success\u003dyes exit\u003d2 a0\u003d3 a1\u003d7fc28c0d56c0 a2\u003d2 a3\u003d7fffca0d7440 items\u003d0 ppid\u003d1727 pid\u003d1729 auid\u003dunset uid\u003droot gid\u003droot euid\u003droot suid\u003droot fsuid\u003droot egid\u003droot sgid\u003droot fsgid\u003droot tty\u003d(none) ses\u003dunset comm\u003drpc.nfsd exe\u003d/usr/sbin/rpc.nfsd subj\u003dsystem_u:system_r:nfsd_t:s0 key\u003d(null)\ntype\u003dAVC msg\u003daudit(11/03/2009 10:59:43.510:9) : avc:  denied  { module_request } for  pid\u003d1729 comm\u003drpc.nfsd kmod\u003d\"net-pf-10\" scontext\u003dsystem_u:system_r:nfsd_t:s0 tcontext\u003dsystem_u:system_r:kernel_t:s0 tclass\u003dsystem\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "afa08974fe80c198b8650f73ed8ab59135ca10d0",
      "tree": "b649e06dc4cb9fa10b87f1914f05c6ca2ba0d910",
      "parents": [
        "3806e94b0148350c72f9a3214274026b6ca03f49"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "message": "i2c: Add an interface to lock/unlock an I2C bus segment\n\nSome drivers need to be able to prevent access to an I2C bus segment\nfor a specific period of time. Add an interface for them to do so\nwithout twiddling with i2c-core internals.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "3806e94b0148350c72f9a3214274026b6ca03f49",
      "tree": "a01e53ccbd4dd7a2871bd933d05a769351c64a3f",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Crane Cai",
        "email": "crane.cai@amd.com",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "message": "i2c-piix4: Modify code name SB900 to Hudson-2\n\nChange SB900 to its formal code name Hudson-2.\n\nSigned-off-by: Crane Cai \u003ccrane.cai@amd.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "2a855dd01bc1539111adb7233f587c5c468732ac",
      "tree": "4ceb2f997ab5ef2830eb91ee8414110bf70cb20b",
      "parents": [
        "51bb296b09a83ee1aae025778db38f9d2cc7bb1a"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Sun Oct 25 15:37:58 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 18:19:12 2009 +0100"
      },
      "message": "signal: Fix alternate signal stack check\n\nAll architectures in the kernel increment/decrement the stack pointer\nbefore storing values on the stack.\n\nOn architectures which have the stack grow down sas_ss_sp \u003d\u003d sp is not\non the alternate signal stack while sas_ss_sp + sas_ss_size \u003d\u003d sp is\non the alternate signal stack.\n\nOn architectures which have the stack grow up sas_ss_sp \u003d\u003d sp is on\nthe alternate signal stack while sas_ss_sp + sas_ss_size \u003d\u003d sp is not\non the alternate signal stack.\n\nThe current implementation fails for architectures which have the\nstack grow down on the corner case where sas_ss_sp \u003d\u003d sp.This was\nreported as Debian bug #544905 on AMD64.\nSimplified test case: http://download.breakpoint.cc/tc-sig-stack.c\n\nThe test case creates the following stack scenario:\n   0xn0300\tstack top\n   0xn0200\talt stack pointer top (when switching to alt stack)\n   0xn01ff\talt stack end\n   0xn0100\talt stack start \u003d\u003d stack pointer\n\nIf the signal is sent the stack pointer is pointing to the base\naddress of the alt stack and the kernel erroneously decides that it\nhas already switched to the alternate stack because of the current\ncheck for \"sp - sas_ss_sp \u003c sas_ss_size\"\n\nOn parisc (stack grows up) the scenario would be:\n   0xn0200\tstack pointer\n   0xn01ff\talt stack end\n   0xn0100\talt stack start \u003d alt stack pointer base\n   \t\t    \t  \t  (when switching to alt stack)\n   0xn0000\tstack base\n\nThis is handled correctly by the current implementation.\n\n[ tglx: Modified for archs which have the stack grow up (parisc) which\n  \twould fail with the correct implementation for stack grows\n  \tdown. Added a check for sp \u003e\u003d current-\u003esas_ss_sp which is\n  \tstrictly not necessary but makes the code symetric for both\n  \tvariants ]\n\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20091025143758.GA6653@Chamillionaire.breakpoint.cc\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "663e69592856df53ef52969482ef413a96bc4e06",
      "tree": "7866ab9917d0f4a676b59b37d6e28f354d009872",
      "parents": [
        "24b26d4211130b6455692804c14d537158855cd7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "message": "irq: Remove unused debug_poll_all_shared_irqs()\n\ncommit 74296a8ed added this function for debug purposes, but it was\nnever used for anything. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a84216e671c724e0920dfad2fb70828d428ff60a",
      "tree": "a39f53715c73d267d854653dfe275da5fc60e842",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491",
        "bcfe3c2046fc4f16544f2b127f1b159dd1fcad8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)\n  mac80211: check interface is down before type change\n  cfg80211: fix NULL ptr deref\n  libertas if_usb: Fix crash on 64-bit machines\n  mac80211: fix reason code output endianness\n  mac80211: fix addba timer\n  ath9k: fix misplaced semicolon on rate control\n  b43: Fix DMA TX bounce buffer copying\n  mac80211: fix BSS leak\n  rt73usb.c : more ids\n  ipw2200: fix oops on missing firmware\n  gre: Fix dev_addr clobbering for gretap\n  sky2: set carrier off in probe\n  net: fix sk_forward_alloc corruption\n  pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card\n  r8169: Fix card drop incoming VLAN tagged MTU byte large jumbo frames\n  ibmtr: possible Read buffer overflow?\n  net: Fix RPF to work with policy routing\n  net: fix kmemcheck annotations\n  e1000e: rework disable K1 at 1000Mbps for 82577/82578\n  e1000e: config PHY via software after resets\n  ...\n"
    },
    {
      "commit": "bce8fc4cb796dc77ea71699ef88802879a177474",
      "tree": "683ff9f2def12d390af0ae2dc2326b4d9f85a1cd",
      "parents": [
        "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
        "ec29b8d2af01912bb79adda8aeab4293539f29ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Remove -Wcast-align\n  perf tools: Fix compatibility with libelf 0.8 and autodetect\n  perf events: Don\u0027t generate events for the idle task when exclude_idle is set\n  perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers\n"
    },
    {
      "commit": "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
      "tree": "89dce7d51c11ea56150e4f5613a28369e238f90e",
      "parents": [
        "efcd9e0b91bcb92a1dd530d1a1f26eb83a5d21e2",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove cpu arg from the rb_time_stamp() function\n  tracing: Fix comment typo and documentation example\n  tracing: Fix trace_seq_printf() return value\n  tracing: Update *ppos instead of filp-\u003ef_pos\n"
    },
    {
      "commit": "7b2a35132ad0a70902dcd2844c27ed64cda0ce9b",
      "tree": "f800a7d536d7850ac5cfeca5eb576f9af568751d",
      "parents": [
        "c4b8ac2c1aee1398b9378b8730bac56294b3410b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Nov 02 08:50:52 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 15:47:54 2009 +0100"
      },
      "message": "compiler: Introduce __always_unused\n\nI wrote some code which is used as compile-time checker, and the\ncode should be elided after compile.\n\nSo I need to annotate the code as \"always unused\", compared to\n\"maybe unused\".\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c4AEE2CEC.8040206@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a6f2a7512021ceae3c4201c7aab07f032e9ce91",
      "tree": "03fdca9848003b3a6fda57113b3e750ec1e22a55",
      "parents": [
        "39acbc12affcaa23ef1d887ba3d197baca8e6e47"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Oct 12 20:17:41 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 30 14:59:51 2009 -0700"
      },
      "message": "Driver core: allow certain drivers prohibit bind/unbind via sysfs\n\nPlatform drivers registered via platform_driver_probe() can be bound\nto devices only once, upon registration, because discard their probe()\nroutines to save memory. Unbinding the driver through sysfs \u0027unbind\u0027\nleaves the device stranded and confuses users so let\u0027s not create\nbind and unbind attributes for such drivers.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Éric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9d410c796067686b1e032d54ce475b7055537138",
      "tree": "4442bdbe4a4be1cce024f2e83a12b7404ef935fa",
      "parents": [
        "63ca2d74ea4f9c7a7ac082c915609a7b224908e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 05:03:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:25:12 2009 -0700"
      },
      "message": "net: fix sk_forward_alloc corruption\n\nOn UDP sockets, we must call skb_free_datagram() with socket locked,\nor risk sk_forward_alloc corruption. This requirement is not respected\nin SUNRPC.\n\nAdd a convenient helper, skb_free_datagram_locked() and use it in SUNRPC\n\nReported-by: Francis Moreau \u003cfrancis.moro@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14d18a81b5171d4433e41129619c75748b4f4d26",
      "tree": "715d5d99fc74e05d8530b6af2ea5059e5a00749b",
      "parents": [
        "1d5846b9216665d0ae743bf351d0b8fa90c40523"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 29 00:10:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 22:48:44 2009 -0700"
      },
      "message": "net: fix kmemcheck annotations\n\nstruct sk_buff kmemcheck annotations enlarged this structure by 8/16 bytes\n\nFix this by moving \u0027protocol\u0027 inside flags1 bitfield,\nand queue_mapping inside flags2 bitfield.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5975c725dfd6f7d36f493ab1453fbdbd35c1f0e3",
      "tree": "1beb7ac54f2b1b7917faee08bba39b5eba2b4cfa",
      "parents": [
        "ff76ec18cabb12a6c8f3c65bd1d23f1a770fe908"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 29 11:40:17 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Oct 30 08:27:25 2009 +1100"
      },
      "message": "define convenient securebits masks for prctl users (v2)\n\nHi James, would you mind taking the following into\nsecurity-testing?\n\nThe securebits are used by passing them to prctl with the\nPR_{S,G}ET_SECUREBITS commands.  But the defines must be\nshifted to be used in prctl, which begs to be confused and\nmisused by userspace.  So define some more convenient\nvalues for userspace to specify.  This way userspace does\n\n\tprctl(PR_SET_SECUREBITS, SECBIT_NOROOT);\n\ninstead of\n\n\tprctl(PR_SET_SECUREBITS, 1 \u003c\u003c SECURE_NOROOT);\n\n(Thanks to Michael for the idea)\n\nThis patch also adds include/linux/securebits to the installed headers.\nThen perhaps it can be included by glibc\u0027s sys/prctl.h.\n\nChangelog:\n\tOct 29: Stephen Rothwell points out that issecure can\n\t\tbe under __KERNEL__.\n\tOct 14: (Suggestions by Michael Kerrisk):\n\t\t1. spell out SETUID in SECBIT_NO_SETUID*\n\t\t2. SECBIT_X_LOCKED does not imply SECBIT_X\n\t\t3. add definitions for keepcaps\n        Oct 14: As suggested by Michael Kerrisk, don\u0027t\n\t\tuse SB_* as that convention is already in\n\t\tuse.  Use SECBIT_ prefix instead.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9532faeb293f5a5f0ff06f567de14e557698dbde",
      "tree": "46319ff2506340b56b34801e3a722bbaf28d55bf",
      "parents": [
        "add810a1c58ba9edb6076ababe5861f36c049217",
        "3c7d76e371ac1a3802ae1673f5c63554af59325c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:18:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:18:20 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-param-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-param-fixes:\n  param: fix setting arrays of bool\n  param: fix NULL comparison on oom\n  param: fix lots of bugs with writing charp params from sysfs, by leaking mem.\n"
    },
    {
      "commit": "3242f9804ba992c867360e2b57efc268b8e4e175",
      "tree": "96fbdbc1344aa67588ce26765f308c674b91a75f",
      "parents": [
        "23756692147c5dfd3328afd42e16e9d943ff756c",
        "7456b0405d8fc063c49628f969cdb23be060fc80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6:\n  HWPOISON: fix invalid page count in printk output\n  HWPOISON: Allow schedule_on_each_cpu() from keventd\n  HWPOISON: fix/proc/meminfo alignment\n  HWPOISON: fix oops on ksm pages\n  HWPOISON: Fix page count leak in hwpoison late kill in do_swap_page\n  HWPOISON: return early on non-LRU pages\n  HWPOISON: Add brief hwpoison description to Documentation\n  HWPOISON: Clean up PR_MCE_KILL interface\n"
    },
    {
      "commit": "fefcfd431b5181615e7da628e34c5227c895b85a",
      "tree": "0da42ba9d66c6e9a12b6352b5be41f2fa023c91b",
      "parents": [
        "37c2ca24119f7dd89cbbb43833df1e6c5fb3417b",
        "89061d3d58e1f0742139605dc6a7950aa1ecc019"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:20 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Move drop_futex_key_refs out of spinlock\u0027ed region\n  rcu: Fix TREE_PREEMPT_RCU CPU_HOTPLUG bad-luck hang\n  rcu: Stopgap fix for synchronize_rcu_expedited() for TREE_PREEMPT_RCU\n  rcu: Prevent RCU IPI storms in presence of high call_rcu() load\n  futex: Check for NULL keys in match_futex\n  futex: Handle spurious wake up\n"
    },
    {
      "commit": "6e958d73c25eecaf02a1998cda9ec8ce8da11042",
      "tree": "94b8d48d268297925aa02f8ab358274f878bae9e",
      "parents": [
        "7811a32407b971d9086c46403124f1453b95c430",
        "92f6a5e37a2e2d3342dafb2b39c2f8bc340bbf84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:10:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:10:38 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Do less agressive buddy clearing\n  sched: Disable SD_PREFER_LOCAL for MC/CPU domains\n"
    },
    {
      "commit": "c68d2b1594548cda7f6dbac6a4d9d30a9b01558c",
      "tree": "6b2011fcd806906a64b0a98eeb798effb879d168",
      "parents": [
        "1b62cbf2140df510a56d38b9d49df2aae95cd0d2"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Oct 26 16:50:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:30 2009 -0700"
      },
      "message": "8250_pci: add IBM Saturn serial card\n\nThe IBM Saturn serial card has only one port. Without that fixup,\nthe kernel thinks it has two, which confuses userland setup and\nadmin tools as well.\n\n[akpm@linux-foundation.org: fix pci-ids.h layout]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Michael Reed \u003cmreed10@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b62cbf2140df510a56d38b9d49df2aae95cd0d2",
      "tree": "c9e589807ba5eccb16dd0f2f4b1cb9a01fa0a4d8",
      "parents": [
        "9d09daf8e891e6ed60f96fbaf765ba7bced8bad1"
      ],
      "author": {
        "name": "Krauth.Julien",
        "email": "Krauth.Julien@addi-data.com",
        "time": "Mon Oct 26 16:50:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:30 2009 -0700"
      },
      "message": "serial: add ADDI-DATA GmbH PCI-Express communication cards in 8250_pci.c and pci_ids.h\n\nAdd support for ADDI-DATA GmbH PCI-Express communication cards:\n\nAPCIe-7300\nAPCIe-7420\nAPCIe-7500\nAPCIe-7800\n\nWarning: 8250_pci.c depends on pci_ids.h. 8250_pci.c\n\nSigned-off-by: Krauth Julien \u003cKrauth.Julien@addi-data.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a1b71b4008d332e57b5605a8228ea7aa96687e8",
      "tree": "92016012d1fa61980b5fd1519172704364f51e2d",
      "parents": [
        "478988d3b28e98a31e0cfe24e011e28ba0f3cf0d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 26 16:49:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "strstrip(): mark as as must_check\n\nstrstrip() can return a modified value of its input argument, when\nremoving elading whitesapce.  So it is surely bug for this function\u0027s\nreturn value to be ignored.  The caller is probably going to use the\nincorrect original pointer.\n\nSo mark it __must_check to prevent this frm happening (as it has before).\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2eca40a8ccd4160dbfaa5cbd61038d921d0e5f13",
      "tree": "e4136b7e9c87486f12643b9389f11de718cb2bb2",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 26 16:49:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:24 2009 -0700"
      },
      "message": "cpufreq: add cpufreq_get() stub for CONFIG_CPU_FREQ\u003dn\n\nWhen CONFIG_CPU_FREQ is disabled, cpufreq_get() needs a stub.  Used by kvm\n(although it looks like a bit of the kvm code could be omitted when\nCONFIG_CPU_FREQ is disabled).\n\narch/x86/built-in.o: In function `kvm_arch_init\u0027:\n(.text+0x10de7): undefined reference to `cpufreq_get\u0027\n\n(Needed in linux-next\u0027s KVM tree, but it\u0027s correct in 2.6.32).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nTested-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9de09ace8d518141a4375e1d216ab64db4377799",
      "tree": "da8e7a77f4ea91eb3bb73fc6da72ecf8c99e1c16",
      "parents": [
        "1beee96bae0daf7f491356777c3080cc436950f5",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:20 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up fixes and move base from -rc1 to -rc5.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff76ec18cabb12a6c8f3c65bd1d23f1a770fe908",
      "tree": "dd9e8c788ba25f40483620bec6e34cff371ba886",
      "parents": [
        "024e1a49411a1a7363e65db48edf1b09e9ee68ad"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Oct 28 12:26:39 2009 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Oct 29 11:17:40 2009 +1100"
      },
      "message": "tpm: fix header for modular build\n\nFix build for TCG_TPM\u003dm.  Header file doesn\u0027t handle this\nand incorrectly builds stubs.\n\ndrivers/char/tpm/tpm.c:720: error: redefinition of \u0027tpm_pcr_read\u0027\ninclude/linux/tpm.h:35: error:previous definition of \u0027tpm_pcr_read\u0027 was here\ndrivers/char/tpm/tpm.c:752: error: redefinition of \u0027tpm_pcr_extend\u0027\ninclude/linux/tpm.h:38: error:previous definition of \u0027tpm_pcr_extend\u0027 was here\n\nRepairs linux-next\u0027s\n\ncommit d6ba452128178091dab7a04d54f7e66fdc32fb39\nAuthor: Mimi Zohar \u003czohar@linux.vnet.ibm.com\u003e\nDate:   Mon Oct 26 09:26:18 2009 -0400\n\n    tpm add default function definitions\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Rajiv Andrade \u003csrajiv@linux.vnet.ibm.com\u003e\nCc: Mimi Zohar \u003czohar@us.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "65afac7d80ab3bc9f81e75eafb71eeb92a3ebdef",
      "tree": "544c1e9192d8e47f1d1b1d54e36365f393ec7be0",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:16 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:17 2009 +1030"
      },
      "message": "param: fix lots of bugs with writing charp params from sysfs, by leaking mem.\n\ne180a6b7759a \"param: fix charp parameters set via sysfs\" fixed the case\nwhere charp parameters written via sysfs were freed, leaving drivers\naccessing random memory.\n\nUnfortunately, storing a flag in the kparam struct was a bad idea: it\u0027s\nrodata so setting it causes an oops on some archs.  But that\u0027s not all:\n\n1) module_param_array() on charp doesn\u0027t work reliably, since we use an\n   uninitialized temporary struct kernel_param.\n2) there\u0027s a fundamental race if a module uses this parameter and then\n   it\u0027s changed: they will still access the old, freed, memory.\n\nThe simplest fix (ie. for 2.6.32) is to never free the memory.  This\nprevents all these problems, at cost of a memory leak.  In practice, there\nare only 18 places where a charp is writable via sysfs, and all are\nroot-only writable.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d6ba452128178091dab7a04d54f7e66fdc32fb39",
      "tree": "024302f601bea7931bcb554b937463e79db156f2",
      "parents": [
        "6c21a7fb492bf7e2c4985937082ce58ddeca84bd"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Oct 26 09:26:18 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Oct 28 09:22:17 2009 +1100"
      },
      "message": "tpm add default function definitions\n\nAdd default tpm_pcr_read/extend function definitions required\nby IMA/Kconfig changes.\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nReviewed-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2c28e2451dba2260e9f88811b29a7787db7e7616",
      "tree": "c0f0cf0665566ebccd013bb37b02dcdaa3e04649",
      "parents": [
        "88b91c7ca49bc8600cf1106eb891d08c1965b9ce"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Oct 26 13:57:44 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 27 14:59:28 2009 +0100"
      },
      "message": "rcu: Fix TINY_RCU #elif condition\n\nSome compilers are happy with \"#elif CONFIG_RCU_TINY\", while\nothers strongly prefer \"#elif defined(CONFIG_RCU_TINY)\".  Change\nto the latter to make more compilers happy.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12565906642768-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ce5b90340879ce93d169b7b523c2cbbe7c45843",
      "tree": "1372672a37f331a49c3825876a4c3e71ad2df3a0",
      "parents": [
        "cf886c44ec418a01b2c52493465accb81acbf930"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 26 07:55:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 26 09:40:40 2009 +0100"
      },
      "message": "rcu: Do tiny cleanups in rcutiny\n\nNo change in functionality - just straighten out a few small\nstylistic details.\n\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: avi@redhat.com\nCc: mtosatti@redhat.com\nLKML-Reference: \u003c12565226351355-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0cd397d33608ae6c97d2ee6c8c43462b419b7e26",
      "tree": "7c6ac61e7d8cc9cf410251024f1a6e515987b478",
      "parents": [
        "9b1d82fa1611706fa7ee1505f290160a18caf95d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Oct 25 19:03:51 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 26 09:40:30 2009 +0100"
      },
      "message": "rcu: Add synchronize_srcu_expedited()\n\nThis patch creates a synchronize_srcu_expedited() that uses\nsynchronize_sched_expedited() where synchronize_srcu()\nuses synchronize_sched().  The synchronize_srcu() and\nsynchronize_srcu_expedited() functions become one-liners that\npass synchronize_sched() or synchronize_sched_expedited(),\nrepectively, to a new __synchronize_srcu() function.\n\nWhile in the file, move the EXPORT_SYMBOL_GPL()s to immediately\nfollow the corresponding functions.\n\nRequested-by: Avi Kivity \u003cavi@redhat.com\u003e\nTested-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: avi@redhat.com\nLKML-Reference: \u003c12565226354038-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b1d82fa1611706fa7ee1505f290160a18caf95d",
      "tree": "7b2eed068360465d0b028d345eb318b1a8217305",
      "parents": [
        "0edf1a683e499191b27a067956ae9f5fa6e046c6"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Oct 25 19:03:50 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 26 09:40:29 2009 +0100"
      },
      "message": "rcu: \"Tiny RCU\", The Bloatwatch Edition\n\nThis patch is a version of RCU designed for !SMP provided for a\nsmall-footprint RCU implementation.  In particular, the\nimplementation of synchronize_rcu() is extremely lightweight and\nhigh performance. It passes rcutorture testing in each of the\nfour relevant configurations (combinations of NO_HZ and PREEMPT)\non x86.  This saves about 1K bytes compared to old Classic RCU\n(which is no longer in mainline), and more than three kilobytes\ncompared to Hierarchical RCU (updated to 2.6.30):\n\n\tCONFIG_TREE_RCU:\n\n\t   text\t   data\t    bss\t    dec\t    filename\n\t    183       4       0     187     kernel/rcupdate.o\n\t   2783     520      36    3339     kernel/rcutree.o\n\t\t\t\t   3526 Total (vs 4565 for v7)\n\n\tCONFIG_TREE_PREEMPT_RCU:\n\n\t   text\t   data\t    bss\t    dec\t    filename\n\t    263       4       0     267     kernel/rcupdate.o\n\t   4594     776      52    5422     kernel/rcutree.o\n\t   \t\t\t   5689 Total (6155 for v7)\n\n\tCONFIG_TINY_RCU:\n\n\t   text\t   data\t    bss\t    dec\t    filename\n\t     96       4       0     100     kernel/rcupdate.o\n\t    734      24       0     758     kernel/rcutiny.o\n\t    \t\t\t    858 Total (vs 848 for v7)\n\nThe above is for x86.  Your mileage may vary on other platforms.\nFurther compression is possible, but is being procrastinated.\n\nChanges from v7 (http://lkml.org/lkml/2009/10/9/388)\n\no\tApply Lai Jiangshan\u0027s review comments (aside from\nmight_sleep() \tin synchronize_sched(), which is covered by SMP builds).\n\no\tFix up expedited primitives.\n\nChanges from v6 (http://lkml.org/lkml/2009/9/23/293).\n\no\tForward ported to put it into the 2.6.33 stream.\n\no\tAdded lockdep support.\n\no\tMake lightweight rcu_barrier.\n\nChanges from v5 (http://lkml.org/lkml/2009/6/23/12).\n\no\tPorted to latest pre-2.6.32 merge window kernel.\n\n\t- Renamed rcu_qsctr_inc() to rcu_sched_qs().\n\t- Renamed rcu_bh_qsctr_inc() to rcu_bh_qs().\n\t- Provided trivial rcu_cpu_notify().\n\t- Provided trivial exit_rcu().\n\t- Provided trivial rcu_needs_cpu().\n\t- Fixed up the rcu_*_enter/exit() functions in linux/hardirq.h.\n\no\tRemoved the dependence on EMBEDDED, with a view to making\n\tTINY_RCU default for !SMP at some time in the future.\n\no\tAdded (trivial) support for expedited grace periods.\n\nChanges from v4 (http://lkml.org/lkml/2009/5/2/91) include:\n\no\tSqueeze the size down a bit further by removing the\n\t-\u003ecompleted field from struct rcu_ctrlblk.\n\no\tThis permits synchronize_rcu() to become the empty function.\n\tPrevious concerns about rcutorture were unfounded, as\n\trcutorture correctly handles a constant value from\n\trcu_batches_completed() and rcu_batches_completed_bh().\n\nChanges from v3 (http://lkml.org/lkml/2009/3/29/221) include:\n\no\tChanged rcu_batches_completed(), rcu_batches_completed_bh()\n\trcu_enter_nohz(), rcu_exit_nohz(), rcu_nmi_enter(), and\n\trcu_nmi_exit(), to be static inlines, as suggested by David\n\tHowells.  Doing this saves about 100 bytes from rcutiny.o.\n\t(The numbers between v3 and this v4 of the patch are not directly\n\tcomparable, since they are against different versions of Linux.)\n\nChanges from v2 (http://lkml.org/lkml/2009/2/3/333) include:\n\no\tFix whitespace issues.\n\no\tChange short-circuit \"||\" operator to instead be \"+\" in order\nto \tfix performance bug noted by \"kraai\" on LWN.\n\n\t\t(http://lwn.net/Articles/324348/)\n\nChanges from v1 (http://lkml.org/lkml/2009/1/13/440) include:\n\no\tThis version depends on EMBEDDED as well as !SMP, as suggested\n\tby Ingo.\n\no\tUpdated rcu_needs_cpu() to unconditionally return zero,\n\tpermitting the CPU to enter dynticks-idle mode at any time.\n\tThis works because callbacks can be invoked upon entry to\n\tdynticks-idle mode.\n\no\tPaul is now OK with this being included, based on a poll at\nthe \tKernel Miniconf at linux.conf.au, where about ten people said\n\tthat they cared about saving 900 bytes on single-CPU systems.\n\no\tApplies to both mainline and tip/core/rcu.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: avi@redhat.com\nCc: mtosatti@redhat.com\nLKML-Reference: \u003c12565226351355-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb015f0c85362aa767f8f00f50a40d85e489414f",
      "tree": "8f45c92a354d02f2d25c451a83398886cd78bc1c",
      "parents": [
        "94efb72328afa29ea5fd93e48ed17489afcdaa12"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Mon Oct 19 11:43:32 2009 +0200"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sat Oct 24 17:13:01 2009 +0200"
      },
      "message": "pcmcia: drop already defined PCI_IDs\n\nOut of 10 PCI_IDs found in the PCMCIA subsystem, only two were not defined in\npci_ids.h. Move them and drop the duplicates. Successfully build-tested.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\n"
    },
    {
      "commit": "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647",
      "tree": "0c08371aefcf53b976d61e6a74667bcb21db3251",
      "parents": [
        "67b394f7f26d84edb7294cc6528ab7ca6daa2ad1"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:19 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:51 2009 +0200"
      },
      "message": "tracing: Remove cpu arg from the rb_time_stamp() function\n\nThe cpu argument is not used inside the rb_time_stamp() function.\nPlus fix a typo.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233647.118547500@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5c828713358cb9df8aa174371edcbbb62203a490",
      "tree": "c8aeafba911cb428b5dc46a9e252c337b7c51d17",
      "parents": [
        "3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Fri Oct 23 14:58:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 17:26:37 2009 +0200"
      },
      "message": "ratelimit: Make suppressed output messages more useful\n\nToday I got:\n\n  [39648.224782] Registered led device: iwl-phy0::TX\n  [40676.545099] __ratelimit: 246 callbacks suppressed\n  [40676.545103] abcdef[23675]: segfault at 0 ...\n\nas you can see the ratelimit message contains a function prefix.\nSince this is always __ratelimit, this wont help much.\n\nThis patch changes __ratelimit and printk_ratelimit to print the\nfunction name that calls ratelimit.\n\nThis will pinpoint the responsible function, as long as not several\ndifferent places call ratelimit with the same ratelimit state at\nthe same time. In that case we catch only one random function that\ncalls ratelimit after the wait period.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c200910231458.11832.borntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "721a669b7225edeeb0ca8e2bf71b83882326a71b",
      "tree": "51bc7438941db50224489091eed677ba67decf56",
      "parents": [
        "2e600d01c131ee189f55ca1879cd364b9e056df8"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Tue Sep 15 14:33:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 09:35:02 2009 +0200"
      },
      "message": "perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers\n\nMake the hrtimer based events work for sysprof.\n\nWhenever a swevent is scheduled out, the hrtimer is canceled.\nWhen it is scheduled back in, the timer is restarted. This\nhappens every scheduler tick, which means the timer never\nexpired because it was getting repeatedly restarted over and\nover with the same period.\n\nTo fix that, save the remaining time when disabling; when\nreenabling, use that saved time as the period instead of the\nuser-specified sampling period.\n\nAlso, move the starting and stopping of the hrtimers to helper\nfunctions instead of duplicating the code.\n\nSigned-off-by: Søren Sandmann Pedersen \u003csandmann@redhat.com\u003e\nLKML-Reference: \u003cye8vdi7mluz.fsf@camel16.daimi.au.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "40b1f4e5113eafc5e84f2ba86822df66087fcb25",
      "tree": "0197db1cbab2acee740b0e4ea67b4ee22057e19d",
      "parents": [
        "d995053d045d777e78ba7eba71a6a0733f3aa726"
      ],
      "author": {
        "name": "Michael Neuling",
        "email": "mikey@neuling.org",
        "time": "Thu Oct 22 14:39:28 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 08:28:10 2009 +0200"
      },
      "message": "irq: trivial: Fix typo in comment for #endif\n\nThe comment suggests this #endif is CONFIG_X86 but it\u0027s really\nCONFIG_TRACE_IRQFLAGS_SUPPORT\n\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nCc: michael@ellerman.id.au\nLKML-Reference: \u003c18191.1256182768@neuling.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3225beaba05d4f06087593f5e903ce867b6e118a",
      "tree": "e68653a5f31ef98cbc96e170680187311e881fa0",
      "parents": [
        "e95646c3ec33c8ec0693992da4332a6b32eb7e31"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 22 16:39:28 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 22 16:39:30 2009 +1030"
      },
      "message": "virtio_blk: Revert serial number support\n\nThis reverts \"Add serial number support for virtio_blk, V4a\".\n\nTurns out that virtio_pci, lguest and s/390 all have an 8 bit limit\non virtio config space, so noone could ever use this.\n\nThis is coming back later in a cleaner form.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: john cooper \u003cjohn.cooper@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e95646c3ec33c8ec0693992da4332a6b32eb7e31",
      "tree": "7855767cc4dccdefc4ea64584cc01b64f92176f3",
      "parents": [
        "f8b12e513b953aebf30f8ff7d2de9be7e024dbbe"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Sep 30 11:17:21 2009 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 22 16:39:28 2009 +1030"
      },
      "message": "virtio: let header files include virtio_ids.h\n\nRusty,\n\ncommit 3ca4f5ca73057a617f9444a91022d7127041970a\n    virtio: add virtio IDs file\nmoved all device IDs into a single file. While the change itself is\na very good one, it can break userspace applications. For example\nif a userspace tool wanted to get the ID of virtio_net it used to\ninclude virtio_net.h. This does no longer work, since virtio_net.h\ndoes not include virtio_ids.h.\nThis patch moves all \"#include \u003clinux/virtio_ids.h\u003e\" from the C\nfiles into the header files, making the header files compatible with\nthe old ones.\n\nIn addition, this patch exports virtio_ids.h to userspace.\n\nCC: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7c650a0a9dda405ba41df12cf106d1228e50e3ba",
      "tree": "192d743da2ffbe6305a28b4571b5cefc78d6755a",
      "parents": [
        "012abeea669ea49636cf952d13298bb68654146a",
        "159a7ff7a13f9a02c75006f40c0561a3a81aefcd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 16 09:25:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 16 09:25:11 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  sata_mv: Prevent PIO commands to be defered too long if traffic in progress.\n  pata_sc1200: Fix crash on boot\n  libata: fix internal command failure handling\n  libata: fix PMP initialization\n  sata_nv: make sure link is brough up online when skipping hardreset\n  ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2\n  ahci: Add the AHCI controller Linux Device ID for NVIDIA chipsets.\n  pata_via: extend the rev_max for VT6330\n"
    },
    {
      "commit": "5deab536654f95345ea11e8ec6ed5c778df348b5",
      "tree": "4f6557fccab0e5521498f834f984fa96ea4e5f48",
      "parents": [
        "726206f84c67303cc004aacfd45d37f9277a29f6"
      ],
      "author": {
        "name": "Shane Huang",
        "email": "shane.huang@amd.com",
        "time": "Tue Oct 13 11:14:00 2009 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Oct 16 06:21:20 2009 -0400"
      },
      "message": "ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2\n\nThis patch renames the code name SB900 into Hudson-2\n\nSigned-off-by: Shane Huang \u003cshane.huang@amd.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c3da31485f074a6f598b67045b08e2e15d908310",
      "tree": "64f9ad3d3752e80de2b22b47cbea8f8512dc5d59",
      "parents": [
        "bd0704111e625ebe75418531550cf471215c3267",
        "8f7e524ce33ca81b663711404709396165da3cbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:03:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:03:17 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits)\n  vmxnet: fix 2 build problems\n  net: add support for STMicroelectronics Ethernet controllers.\n  net: ks8851_mll uses mii interfaces\n  net/fec_mpc52xx: Fix kernel panic on FEC error\n  net: Fix OF platform drivers coldplug/hotplug when compiled as modules\n  TI DaVinci EMAC: Clear statistics register properly.\n  r8169: partial support and phy init for the 8168d\n  irda/sa1100_ir: check return value of startup hook\n  udp: Fix udp_poll() and ioctl()\n  WAN: fix Cisco HDLC handshaking.\n  tcp: fix tcp_defer_accept to consider the timeout\n  3c574_cs: spin_lock the set_multicast_list function\n  net: Teach pegasus driver to ignore bluetoother adapters with clashing Vendor:Product IDs\n  netxen: fix pci bar mapping\n  ethoc: fix warning from 32bit build\n  libertas: fix build\n  net: VMware virtual Ethernet NIC driver: vmxnet3\n  net: Fix IXP 2000 network driver building.\n  libertas: fix build\n  mac80211: document ieee80211_rx() context requirement\n  ...\n"
    },
    {
      "commit": "019129d595caaa5bd0b41d128308da1be6a91869",
      "tree": "2db09ada99b0b8ca0a6423626fa85a9c1a7fc141",
      "parents": [
        "37c72e56f6b234ea7387ba530434a80abf2658d8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 14 10:15:56 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:17:17 2009 +0200"
      },
      "message": "rcu: Stopgap fix for synchronize_rcu_expedited() for TREE_PREEMPT_RCU\n\nFor the short term, map synchronize_rcu_expedited() to\nsynchronize_rcu() for TREE_PREEMPT_RCU and to\nsynchronize_sched_expedited() for TREE_RCU.\n\nLonger term, there needs to be a real expedited grace period for\nTREE_PREEMPT_RCU, but candidate patches to date are considerably\nmore complex and intrusive.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: npiggin@suse.de\nCc: jens.axboe@oracle.com\nLKML-Reference: \u003c12555405592331-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "43046b606673c9c991919ff75b980b72541e9ede"
}
