)]}'
{
  "log": [
    {
      "commit": "86373435d2299b722ec87c416005953215f049c1",
      "tree": "40d9c8e8bdf2f48b9c69c3423cdad3c0feded67e",
      "parents": [
        "483e3cd6a34ad2d7e41100bc1b98614ac42a4567",
        "c984123c7a888731b7e971e1c878b6f2b716b292"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 16:38:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 16:38:33 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: (25 commits)\n  pata_rz1000: use printk_once\n  ahci: kill @force_restart and refine CLO for ahci_kick_engine()\n  pata_cs5535: add pci id for AMD based CS5535 controllers\n  ahci: Add AMD SB900 SATA/IDE controller device IDs\n  drivers/ata: use resource_size\n  sata_fsl: Defer non-ncq commands when ncq commands active\n  libata: add SATA PMP revision information for spec 1.2\n  libata: fix off-by-one error in ata_tf_read_block()\n  ahci: Gigabyte GA-MA69VM-S2 can\u0027t do 64bit DMA\n  ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic\n  dmi: extend dmi_get_year() to dmi_get_date()\n  dmi: fix date handling in dmi_get_year()\n  libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru()\n  sata_sis: convert to slave_link\n  sata_sil24: always set protocol override for non-ATAPI data commands\n  libata: Export AHCI capabilities\n  libata: Delegate nonrot flag setting to SCSI\n  [libata] Add pata_rdc driver for RDC ATA devices\n  drivers/ata: Remove unnecessary semicolons\n  libata: remove spindown skipping and warning\n  ...\n"
    },
    {
      "commit": "483e3cd6a34ad2d7e41100bc1b98614ac42a4567",
      "tree": "ef544ccdd1e95991c32fd8b656714583b7398371",
      "parents": [
        "774a694f8cd08115d130a290d73c6d8563f26b1b",
        "d28daf923ac5e4a0d7cecebae56f3e339189366b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:24:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:24:03 2009 -0700"
      },
      "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: (105 commits)\n  ring-buffer: only enable ring_buffer_swap_cpu when needed\n  ring-buffer: check for swapped buffers in start of committing\n  tracing: report error in trace if we fail to swap latency buffer\n  tracing: add trace_array_printk for internal tracers to use\n  tracing: pass around ring buffer instead of tracer\n  tracing: make tracing_reset safe for external use\n  tracing: use timestamp to determine start of latency traces\n  tracing: Remove mentioning of legacy latency_trace file from documentation\n  tracing/filters: Defer pred allocation, fix memory leak\n  tracing: remove users of tracing_reset\n  tracing: disable buffers and synchronize_sched before resetting\n  tracing: disable update max tracer while reading trace\n  tracing: print out start and stop in latency traces\n  ring-buffer: disable all cpu buffers when one finds a problem\n  ring-buffer: do not count discarded events\n  ring-buffer: remove ring_buffer_event_discard\n  ring-buffer: fix ring_buffer_read crossing pages\n  ring-buffer: remove unnecessary cpu_relax\n  ring-buffer: do not swap buffers during a commit\n  ring-buffer: do not reset while in a commit\n  ...\n"
    },
    {
      "commit": "774a694f8cd08115d130a290d73c6d8563f26b1b",
      "tree": "2b5f834ac7a149278d2a7e44d7afe69f40ef1431",
      "parents": [
        "4f0ac854167846bd55cd81dbc9a36e03708aa01c",
        "e1f8450854d69f0291882804406ea1bab3ca44b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:23:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:23:18 2009 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (64 commits)\n  sched: Fix sched::sched_stat_wait tracepoint field\n  sched: Disable NEW_FAIR_SLEEPERS for now\n  sched: Keep kthreads at default priority\n  sched: Re-tune the scheduler latency defaults to decrease worst-case latencies\n  sched: Turn off child_runs_first\n  sched: Ensure that a child can\u0027t gain time over it\u0027s parent after fork()\n  sched: enable SD_WAKE_IDLE\n  sched: Deal with low-load in wake_affine()\n  sched: Remove short cut from select_task_rq_fair()\n  sched: Turn on SD_BALANCE_NEWIDLE\n  sched: Clean up topology.h\n  sched: Fix dynamic power-balancing crash\n  sched: Remove reciprocal for cpu_power\n  sched: Try to deal with low capacity, fix update_sd_power_savings_stats()\n  sched: Try to deal with low capacity\n  sched: Scale down cpu_power due to RT tasks\n  sched: Implement dynamic cpu_power\n  sched: Add smt_gain\n  sched: Update the cpu_power sum during load-balance\n  sched: Add SD_PREFER_SIBLING\n  ...\n"
    },
    {
      "commit": "4f0ac854167846bd55cd81dbc9a36e03708aa01c",
      "tree": "0eb34d18a667f8e68ad9255f791560b028fed2a6",
      "parents": [
        "b9356c53ba2f593081e5aa45eb67adcce243d1c0",
        "6b58e7f146f8d79c08f62087f928e1f01747de71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:43 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)\n  perf tools: Avoid unnecessary work in directory lookups\n  perf stat: Clean up statistics calculations a bit more\n  perf stat: More advanced variance computation\n  perf stat: Use stddev_mean in stead of stddev\n  perf stat: Remove the limit on repeat\n  perf stat: Change noise calculation to use stddev\n  x86, perf_counter, bts: Do not allow kernel BTS tracing for now\n  x86, perf_counter, bts: Correct pointer-to-u64 casts\n  x86, perf_counter, bts: Fail if BTS is not available\n  perf_counter: Fix output-sharing error path\n  perf trace: Fix read_string()\n  perf trace: Print out in nanoseconds\n  perf tools: Seek to the end of the header area\n  perf trace: Fix parsing of perf.data\n  perf trace: Sample timestamps as well\n  perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access\n  perf trace: Sample the CPU too\n  perf tools: Work around strict aliasing related warnings\n  perf tools: Clean up warnings list in the Makefile\n  perf tools: Complete support for dynamic strings\n  ...\n"
    },
    {
      "commit": "b9356c53ba2f593081e5aa45eb67adcce243d1c0",
      "tree": "debf2b72d5241dbaa5b4f2088feb0a2584388792",
      "parents": [
        "d90a7e86401ffea2163a4337f3a47f3909c4e255",
        "4680e64a88c4ce2c4e736dade99233e3def13fa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:30 2009 -0700"
      },
      "message": "Merge branch \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (55 commits)\n  arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type\n  Revert \"x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()\"\n  x86/oprofile: Small coding style fixes\n  x86/oprofile: Add counter reservation check for virtual counters\n  x86/oprofile: Implement op_x86_virt_to_phys()\n  oprofile: Adding switch counter to oprofile statistic variables\n  x86/oprofile: Implement mux_clone()\n  x86/oprofile: Enable multiplexing only if the model supports it\n  x86/oprofile: Add function has_mux() to check multiplexing support\n  x86/oprofile: Modify initialization of num_virt_counters\n  x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec\n  x86/oprofile: Remove const qualifier from struct op_x86_model_spec\n  x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c\n  x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c\n  x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c\n  x86/oprofile: Implement multiplexing setup/shutdown functions\n  oprofile: Grouping multiplexing code in op_model_amd.c\n  oprofile: Introduce op_x86_phys_to_virt()\n  oprofile: Grouping multiplexing code in oprof.c\n  oprofile: Remove oprofile_multiplexing_init()\n  ...\n"
    },
    {
      "commit": "eee2775d9924b22643bd89b2e568cc5eed7e8a04",
      "tree": "095ad7851895c5d39596f3ff7ee1e078235a2501",
      "parents": [
        "53e16fbd30005905168d9b75555fdc7e0a2eac58",
        "7db905e636f08ea5bc9825c1f73d77802e8ccad5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:20:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:20:18 2009 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)\n  rcu: Move end of special early-boot RCU operation earlier\n  rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments\n  rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees\n  rcu: Remove lockdep annotations from RCU\u0027s _notrace() API members\n  rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds\n  rcu: Add CPU-offline processing for single-node configurations\n  rcu: Add \"notrace\" to RCU function headers used by ftrace\n  rcu: Remove CONFIG_PREEMPT_RCU\n  rcu: Merge preemptable-RCU functionality into hierarchical RCU\n  rcu: Simplify rcu_pending()/rcu_check_callbacks() API\n  rcu: Use debugfs_remove_recursive() simplify code.\n  rcu: Merge per-RCU-flavor initialization into pre-existing macro\n  rcu: Fix online/offline indication for rcudata.csv trace file\n  rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h\n  rcu: Renamings to increase RCU clarity\n  rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h\n  rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP\n  rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation.\n  rcu: Fix typo in rcu_irq_exit() comment header\n  rcu: Make rcupreempt_trace.c look at offline CPUs\n  ...\n"
    },
    {
      "commit": "4e3408d9f71a70316ebe844c20ef0d7715281f84",
      "tree": "365f67fbcbe8e047a5fbead3db5d2e7ac20b3618",
      "parents": [
        "a66a50054e46ec2a03244bc14c48b9125fcd75a7",
        "96910b6dc8a4fdb75e69f09f47b62d41743d36ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:17:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:17:24 2009 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits)\n  locking, m68k/asm-offsets: Rename signal defines\n  locking: Inline spinlock code for all locking variants on s390\n  locking: Simplify spinlock inlining\n  locking: Allow arch-inlined spinlocks\n  locking: Move spinlock function bodies to header file\n  locking, m68k: Calculate thread_info offset with asm offset\n  locking, m68k/asm-offsets: Rename pt_regs offset defines\n  locking, sparc: Rename __spin_try_lock() and friends\n  locking, powerpc: Rename __spin_try_lock() and friends\n  lockdep: Remove recursion stattistics\n  lockdep: Simplify lock_stat seqfile code\n  lockdep: Simplify lockdep_chains seqfile code\n  lockdep: Simplify lockdep seqfile code\n  lockdep: Fix missing entries in /proc/lock_chains\n  lockdep: Fix missing entry in /proc/lock_stat\n  lockdep: Fix memory usage info of BFS\n  lockdep: Reintroduce generation count to make BFS faster\n  lockdep: Deal with many similar locks\n  lockdep: Introduce lockdep_assert_held()\n  lockdep: Fix style nits\n  ...\n"
    },
    {
      "commit": "a66a50054e46ec2a03244bc14c48b9125fcd75a7",
      "tree": "ab549e4762a89d76846f104162d8f65b52c41a69",
      "parents": [
        "7193bea53f9d9730bbc859777c2f86c76349914d",
        "695a461296e5df148c99ac087b9e1cb380f4db15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:16:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:16:37 2009 -0700"
      },
      "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: (59 commits)\n  x86/gart: Do not select AGP for GART_IOMMU\n  x86/amd-iommu: Initialize passthrough mode when requested\n  x86/amd-iommu: Don\u0027t detach device from pt domain on driver unbind\n  x86/amd-iommu: Make sure a device is assigned in passthrough mode\n  x86/amd-iommu: Align locking between attach_device and detach_device\n  x86/amd-iommu: Fix device table write order\n  x86/amd-iommu: Add passthrough mode initialization functions\n  x86/amd-iommu: Add core functions for pd allocation/freeing\n  x86/dma: Mark iommu_pass_through as __read_mostly\n  x86/amd-iommu: Change iommu_map_page to support multiple page sizes\n  x86/amd-iommu: Support higher level PTEs in iommu_page_unmap\n  x86/amd-iommu: Remove old page table handling macros\n  x86/amd-iommu: Use 2-level page tables for dma_ops domains\n  x86/amd-iommu: Remove bus_addr check in iommu_map_page\n  x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX\n  x86/amd-iommu: Change alloc_pte to support 64 bit address space\n  x86/amd-iommu: Introduce increase_address_space function\n  x86/amd-iommu: Flush domains if address space size was increased\n  x86/amd-iommu: Introduce set_dte_entry function\n  x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices\n  ...\n"
    },
    {
      "commit": "989aa44a5f215427085ccfe65c1e378e3399c9eb",
      "tree": "cd1993f2187e17e0e8d46d4fe12848e7be21fe96",
      "parents": [
        "4004f02d7af9bb1f5fd993fba60ed5bd0f5397a9",
        "47cab6a722d44c71c4f8224017ef548522243cf4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:15:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:15:55 2009 -0700"
      },
      "message": "Merge branch \u0027core-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debug lockups: Improve lockup detection, fix generic arch fallback\n  debug lockups: Improve lockup detection\n"
    },
    {
      "commit": "332a3392188e0ad966543c87b8da2b9d246f301d",
      "tree": "ac0d570590bffdd1924426adc5b255857d2f3297",
      "parents": [
        "a9c86d42599519f3d83b5f46bdab25046fe47b84",
        "81bd5f6c966cf2f137c2759dfc78abdffcff055e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:38:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:38:37 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (102 commits)\n  crypto: sha-s390 - Fix warnings in import function\n  crypto: vmac - New hash algorithm for intel_txt support\n  crypto: api - Do not displace newly registered algorithms\n  crypto: ansi_cprng - Fix module initialization\n  crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx\n  crypto: fips - Depend on ansi_cprng\n  crypto: blkcipher - Do not use eseqiv on stream ciphers\n  crypto: ctr - Use chainiv on raw counter mode\n  Revert crypto: fips - Select CPRNG\n  crypto: rng - Fix typo\n  crypto: talitos - add support for 36 bit addressing\n  crypto: talitos - align locks on cache lines\n  crypto: talitos - simplify hmac data size calculation\n  crypto: mv_cesa - Add support for Orion5X crypto engine\n  crypto: cryptd - Add support to access underlaying shash\n  crypto: gcm - Use GHASH digest algorithm\n  crypto: ghash - Add GHASH digest algorithm for GCM\n  crypto: authenc - Convert to ahash\n  crypto: api - Fix aligned ctx helper\n  crypto: hmac - Prehash ipad/opad\n  ...\n"
    },
    {
      "commit": "a9c86d42599519f3d83b5f46bdab25046fe47b84",
      "tree": "9b269e3162e5cc0c1a8dfc3349303c902718a9a9",
      "parents": [
        "a12e4d304ce701844c639541d90df86e165d03f9",
        "1110afbe728838ac7ce973c37af9e11385dbaef9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:19:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:19:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (377 commits)\n  ASoC: au1x: PSC-AC97 bugfixes\n  ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128\n  ALSA: dummy - Add debug proc file\n  ALSA: Add const prefix to proc helper functions\n  ALSA: Re-export snd_pcm_format_name() function\n  ALSA: hda - Use auto model for HP laptops with ALC268 codec\n  ALSA: cs46xx - Fix minimum period size\n  ASoC: Fix WM835x Out4 capture enumeration\n  ALSA: Remove unneeded ifdef from sound/core.h\n  ALSA: Remove struct snd_monitor_file from public sound/core.h\n  ASoC: Remove unuused hw_read_t\n  sound: oxygen: work around MCE when changing volume\n  ALSA: dummy - Fake buffer allocations\n  ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital\n  ASoC: fix pxa2xx-ac97.c breakage\n  ALSA: dummy - Fix the timer calculation in systimer mode\n  ALSA: dummy - Add more description\n  ALSA: dummy - Better jiffies handling\n  ALSA: dummy - Support high-res timer mode\n  ALSA: Release v1.0.21\n  ...\n"
    },
    {
      "commit": "89af571ca633ada14d17746519a179553a732d31",
      "tree": "7d5486cc43b4ce4c258cb2fcfc449e6a94cdc33d",
      "parents": [
        "1b195b170da6d75abafa290deeb8863dc8a4d79b",
        "59e36927ee08f3bf06d8d14597e57389bf1b41dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:16:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:16:39 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (54 commits)\n  [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code\n  [S390] Wire up page fault events for software perf counters.\n  [S390] Remove smp_cpu_not_running.\n  [S390] Get rid of cpuid.h header file.\n  [S390] Limit cpu detection to 256 physical cpus.\n  [S390] tape: Fix device online messages\n  [S390] Enable guest page hinting by default.\n  [S390] use generic scatterlist.h\n  [S390] s390dbf: Add description for usage of \"%s\" in sprintf events\n  [S390] Initialize __LC_THREAD_INFO early.\n  [S390] fix recursive locking on page_table_lock\n  [S390] kvm: use console_initcall() to initialize s390 virtio console\n  [S390] tape: reversed order of labels\n  [S390] hypfs: Use \"%u\" instead of \"%d\" for unsigned ints in snprintf\n  [S390] kernel: Print an error message if kernel NSS cannot be defined\n  [S390] zcrypt: Free ap_device if dev_set_name fails.\n  [S390] zcrypt: Use spin_lock_bh in suspend callback\n  [S390] xpram: Remove checksum validation for suspend/resume\n  [S390] vmur: Invalid allocation sequence for vmur class\n  [S390] hypfs: remove useless variable qname\n  ...\n"
    },
    {
      "commit": "1b195b170da6d75abafa290deeb8863dc8a4d79b",
      "tree": "f14c0598958171658938e4a330ed8d44fd7eb698",
      "parents": [
        "2490138cb785d299d898b579fa2874a59a3d321a",
        "addd72c1a917091f4bb5e699e307c4c4553f6fd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:16:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 09:16:22 2009 -0700"
      },
      "message": "Merge branch \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: Improve the \"Early log buffer exceeded\" error message\n  kmemleak: fix sparse warning for static declarations\n  kmemleak: fix sparse warning over overshadowed flags\n  kmemleak: move common painting code together\n  kmemleak: add clear command support\n  kmemleak: use bool for true/false questions\n  kmemleak: Do no create the clean-up thread during kmemleak_disable()\n  kmemleak: Scan all thread stacks\n  kmemleak: Don\u0027t scan uninitialized memory when kmemcheck is enabled\n  kmemleak: Ignore the aperture memory hole on x86_64\n  kmemleak: Printing of the objects hex dump\n  kmemleak: Do not report alloc_bootmem blocks as leaks\n  kmemleak: Save the stack trace for early allocations\n  kmemleak: Mark the early log buffer as __initdata\n  kmemleak: Dump object information on request\n  kmemleak: Allow rescheduling during an object scanning\n"
    },
    {
      "commit": "bde69af2ab696eebfac9583ea1e8a46b571e317f",
      "tree": "1f1d6b75c91a6e6a989251af2f3ead5908d8647b",
      "parents": [
        "5c0b912e755caaad555eb6feefdb1124462d8f37"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:29:06 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:56 2009 +0200"
      },
      "message": "[S390] Wire up page fault events for software perf counters.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "5c0b912e755caaad555eb6feefdb1124462d8f37",
      "tree": "94911d8d9a9cb53faeb78bb2396984f64c31f2c2",
      "parents": [
        "e86a6ed63f46fe8fb555fda531084bca3ef62fd7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:29:05 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:56 2009 +0200"
      },
      "message": "[S390] Remove smp_cpu_not_running.\n\nsmp_cpu_not_running() and cpu_stopped() are doing the same.\nRemove one and also get rid of the last hard_smp_processor_id() leftover.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "e86a6ed63f46fe8fb555fda531084bca3ef62fd7",
      "tree": "8024574e6ac2bf6a9bb505e64e4c73d639578088",
      "parents": [
        "4bb5e07b68565d7983108993aa23eccf5f1b35fe"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:29:04 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:56 2009 +0200"
      },
      "message": "[S390] Get rid of cpuid.h header file.\n\nMerge cpuid.h header file into cpu.h.\nWhile at it convert from typedef to struct declaration and also\nconvert cio code to use proper lowcore structure instead of casts.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "4bb5e07b68565d7983108993aa23eccf5f1b35fe",
      "tree": "a76f2d5933cc8d90878f3df2d29f09fbd952daca",
      "parents": [
        "53f8c573ea3b54b7e1b81d2cd403373b08103736"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:29:03 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:55 2009 +0200"
      },
      "message": "[S390] Limit cpu detection to 256 physical cpus.\n\nSaves us more than 65k pointless IPIs.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2ddddf3e0a55a7fcd6f240a7416cfcb12dd38b7e",
      "tree": "d1c923319164723d8d46450c5a01ff85d8847b83",
      "parents": [
        "5dd1d2ece0250125fec2dcccbfb8ab9bb2ac020c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:29:01 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:54 2009 +0200"
      },
      "message": "[S390] Enable guest page hinting by default.\n\nGet rid of the PAGE_STATES config option and enable guest page hinting\nby default.\nIt can be disabled by specifying \"cmma\u003doff\" at the command line.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "5dd1d2ece0250125fec2dcccbfb8ab9bb2ac020c",
      "tree": "1527783844568bc57b7ce6e9c7c60a892c594e06",
      "parents": [
        "f64d04c042193183c6dad98944ae2861b998e8b7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:29:00 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:54 2009 +0200"
      },
      "message": "[S390] use generic scatterlist.h\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f64d04c042193183c6dad98944ae2861b998e8b7",
      "tree": "d275472a5559e0333c8c55dfe418e3e30108b8bc",
      "parents": [
        "0c88ee5b7523e76e290d558c28cd0be48ffad597"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Fri Sep 11 10:28:59 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:53 2009 +0200"
      },
      "message": "[S390] s390dbf: Add description for usage of \"%s\" in sprintf events\n\nUsing \"%s\" in sprintf event functions is dangerous. This patch adds a short\ndescription for this issue to the s390 debug feature documentation.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "0c88ee5b7523e76e290d558c28cd0be48ffad597",
      "tree": "c603735c1012c231a4cc2d315bb30f795e1c4781",
      "parents": [
        "50aa98bad056a17655864a4d71ebc32d95c629a7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:58 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:53 2009 +0200"
      },
      "message": "[S390] Initialize __LC_THREAD_INFO early.\n\n\"lockdep: Fix backtraces\" reveales a bug in early setup code: when\nlockdep tries to save a stack backtrace before setup_arch has been\ncalled the lowcore pointer for the current thread info pointer isn\u0027t\ninitialized yet.\nHowever our save stack backtrace code relies on it. If the pointer\nisn\u0027t initialized the saved backtrace will have zero entries.\nlockdep however relies (correctly) on the fact that that cannot\nhappen.\nA write access to some random memory region is the result.\n\nFix this by initializing the thread info pointer early.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "50aa98bad056a17655864a4d71ebc32d95c629a7",
      "tree": "bf8d22851d99583e2ea388766697bf64672d7926",
      "parents": [
        "c4de0c1a18237c2727dde8ad392e333539b0af3c"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:28:57 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:53 2009 +0200"
      },
      "message": "[S390] fix recursive locking on page_table_lock\n\nSuzuki Poulose reported the following recursive locking bug on s390:\n\nHere is the stack trace : (see Appendix I for more info)\n\n  [\u003c0000000000406ed6\u003e] _spin_lock+0x52/0x94\n  [\u003c0000000000103bde\u003e] crst_table_free+0x14e/0x1a4\n  [\u003c00000000001ba684\u003e] __pmd_alloc+0x114/0x1ec\n  [\u003c00000000001be8d0\u003e] handle_mm_fault+0x2cc/0xb80\n  [\u003c0000000000407d62\u003e] do_dat_exception+0x2b6/0x3a0\n  [\u003c0000000000114f8c\u003e] sysc_return+0x0/0x8\n  [\u003c00000200001642b2\u003e] 0x200001642b2\n\nThe page_table_lock is already acquired in __pmd_alloc (mm/memory.c) and\nit tries to populate the pud/pgd with a new pmd allocated. If another\nthread populates it before we get a chance, we free the pmd using\npmd_free().\n\nOn s390x, pmd_free(even pud_free ) is #defined to crst_table_free(),\nwhich acquires the page_table_lock to protect the crst_table index updates.\n\nHence this ends up in a recursive locking of the page_table_lock.\n\nThe solution suggested by Dave Hansen is to use a new spin lock in the mmu\ncontext to protect the access to the crst_list and the pgtable_list.\n\nReported-by: Suzuki Poulose \u003csuzuki@in.ibm.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "c4de0c1a18237c2727dde8ad392e333539b0af3c",
      "tree": "acd3d458f12f401317d751408a1c3c77a8004b43",
      "parents": [
        "68d36bdbf6377d36129b2c6bcbe9d24c5fb1739a"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Fri Sep 11 10:28:56 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:52 2009 +0200"
      },
      "message": "[S390] kvm: use console_initcall() to initialize s390 virtio console\n\nUse a console_initcall() to initialize the s390 virtio console and\nclean up s390 console initialization in setup.c.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "ad2a5d8e0b518f997af126dd737127bdada90a6f",
      "tree": "bf788cde75d27907c1308955f67bb6e9e50e7dd2",
      "parents": [
        "11af97e18ea8c310d73b59f1361e6f04444e05a8"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Fri Sep 11 10:28:54 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:51 2009 +0200"
      },
      "message": "[S390] hypfs: Use \"%u\" instead of \"%d\" for unsigned ints in snprintf\n\nFor printing unsigned integers hypfs uses \"%d\" in snprintf(). This is wrong.\nWith this patch \"%u\" is used instead.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "11af97e18ea8c310d73b59f1361e6f04444e05a8",
      "tree": "966dab912e7f64b686c1ebfb2a652321ca66dd65",
      "parents": [
        "edc44fa03ed7bc9847787e080190cf1d7ed68ceb"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Fri Sep 11 10:28:53 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:51 2009 +0200"
      },
      "message": "[S390] kernel: Print an error message if kernel NSS cannot be defined\n\nIf a named saved system (NSS) cannot be defined or saved, print out an\nerror message with the return code of the underlying z/VM CP command.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2395ecd98f028b16a6200eb81108a0f67461d16b",
      "tree": "bcd30764897a84cedf22b57ff7761509f669c32d",
      "parents": [
        "c114728af2acdca0bd8b1d2f5792e393c775f5fc"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Fri Sep 11 10:28:48 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:49 2009 +0200"
      },
      "message": "[S390] hypfs: remove useless variable qname\n\nLocal variable \u0027qname\u0027 in the function hypfs_create_file() really is not\nused for any purpose.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nCc: Michael Holzheu \u003cholzheu@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "275c340941991a925969c03ec6b900fd135d09dd",
      "tree": "b7491a277ef248b31fc5952cf8097a02ed7fa565",
      "parents": [
        "d3135e0c40c9a13ad0c57783f2b9569c4c00bd26"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Sep 11 10:28:46 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:48 2009 +0200"
      },
      "message": "[S390] remove unused irq_cpustat_t defintion\n\nNo need to defined a irq_cpustat_t type if __ARCH_IRQ_STAT is defined.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d3135e0c40c9a13ad0c57783f2b9569c4c00bd26",
      "tree": "93ff9924ef63c4ef36d9c3dcd5499a57217a9bba",
      "parents": [
        "04a95f6df9d7753098729ef1464e38552627af9d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:45 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:48 2009 +0200"
      },
      "message": "[S390] kernel: always keep machine flags in lowcore\n\nEleminate the local variable machine_flags and always change machine\nflags directly in the lowcore.\nThis avoids confusion about when and why the two variables have to be\nsynchronized.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "04a95f6df9d7753098729ef1464e38552627af9d",
      "tree": "d6047ecc706157e71790ec197973177b6029b0d4",
      "parents": [
        "26803144666bd2155a19392fa58a7d512d9c0962"
      ],
      "author": {
        "name": "Nelson Elhage",
        "email": "nelhage@ksplice.com",
        "time": "Fri Sep 11 10:28:44 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:48 2009 +0200"
      },
      "message": "[S390] clean up linker script using new linker script macros.\n\nNote that this patch moves .data.init_task inside _edata.  In\naddition, the alignment of .init.ramfs changes: It is now PAGE_ALIGNED\nand __initramfs_end is arbitrarily aligned; Previously it was\nonly aligned to a 0x100-byte boundary, and always ended on an even\nbyte.\n\nThis change results in fewer output sections and in some data being\nreordered, but should have no functional effect.\n\nSigned-off-by: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nSigned-off-by: Tim Abbott \u003ctabbott@ksplice.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: linux-s390@vger.kernel.org\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "26803144666bd2155a19392fa58a7d512d9c0962",
      "tree": "983681436c30200e0d1cb34d8f4a3a4ee03ae906",
      "parents": [
        "a8c3cb4955d1a051732ead9ecf8bcffc8e7c039d"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@ksplice.com",
        "time": "Fri Sep 11 10:28:43 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:47 2009 +0200"
      },
      "message": "[S390] Use macros for .data.page_aligned.\n\n.data.page_aligned should not need a separate output section, so as\npart of this cleanup I moved into the .data output section in the\nlinker scripts in order to eliminate unnecessary references to the\nsection name.\n\nRemove the reference to .data.idt, since nothing is put into the\n.data.idt section on the s390 architecture.  It looks like Cyrill\nGorcunov posted a patch to remove the .data.idt code on s390\npreviously:\n\n\u003chttp://lkml.indiana.edu/hypermail/linux/kernel/0802.2/2536.html\u003e\n\nCCing him and the people who acked that patch in case there\u0027s a reason\nit wasn\u0027t applied.\n\nSigned-off-by: Tim Abbott \u003ctabbott@ksplice.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "a8c3cb4955d1a051732ead9ecf8bcffc8e7c039d",
      "tree": "434c789a7b4e3484ef077f1185d09924ee93d3c6",
      "parents": [
        "18d00acfe2f3fc5ee62f679eb2e397ae962fe69b"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Fri Sep 11 10:28:42 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:47 2009 +0200"
      },
      "message": "[S390] move (io|sysc)_restore_trace_psw into .data section\n\nThe sysc_restore_trace_psw and io_restore_trace_psw storage locations\nare created in the .text section. When creating and IPLing from a named\nsaved system (NSS), writing to these locations causes a protection exception\n(because the .text section is mapped as shared read-only in the NSS).\n\nTo permit write access, move the storage locations into the .data section.\n\nThe problem occurs only when CONFIG_TRACE_IRQFLAGS is set.\nThe git commmit that has introduced these variables is:\n411788ea7fca01ee803af8225ac35807b4d02050\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "18d00acfe2f3fc5ee62f679eb2e397ae962fe69b",
      "tree": "beb18427dba544c4ace628980bf445564b85e765",
      "parents": [
        "684d2fd48e718e70dad21ef7c528649578147e48"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Fri Sep 11 10:28:41 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:46 2009 +0200"
      },
      "message": "[S390] kernel: Convert upper case scpdata to lower case\n\nIf the CP SET LOADDEV on the 3215 console has been used to specify\nSCPdata, all data is converted to upper case letters.\n\nWhen scpdata contains upper case letters only, convert all letters\nto lower case.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "684d2fd48e718e70dad21ef7c528649578147e48",
      "tree": "d830bd35b8871f29998dbeada751e07e310ddac8",
      "parents": [
        "6292b9ef5a4e85d6b782412a85725dd38df24b85"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Fri Sep 11 10:28:40 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:46 2009 +0200"
      },
      "message": "[S390] kernel: Append scpdata to kernel boot command line\n\nAppend scpdata to the kernel boot command line. If scpdata starts\nwith the equal sign (\u003d), the kernel boot command line is replaced.\n(For consistency with zIPL and IPL PARM parameters.)\n\nTo use scpdata for the kernel boot command line, scpdata must consist\nof ascii characters only. If scpdata contains other characters,\nscpdata is not appended to the kernel boot command line.\nIn addition, re-IPL is extended for setting scpdata for the next\nLinux reboot.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "c48ff644f2c86f34f69f382b68b16c6d30854783",
      "tree": "606db1e957310db21f293f621f1bae08714ec285",
      "parents": [
        "f3d1263e81daf2be1353baf1ad3f6e25d135f2c5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:37 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:45 2009 +0200"
      },
      "message": "[S390] hibernation: merge files and move to kernel/\n\nMerge the nearly empty C files and move everything from power/ to\nkernel/. That way the files are easier to handle.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f3d1263e81daf2be1353baf1ad3f6e25d135f2c5",
      "tree": "ae307a675ee4e367496169cebea91d4635f6ca1f",
      "parents": [
        "bfe3349b516df011dcf6462b0fd748a6f5c2e8af"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:36 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:44 2009 +0200"
      },
      "message": "[S390] hibernation: remove dead file\n\nThere is no caller of do_after_copyback() anywhere. Remove it.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "bfe3349b516df011dcf6462b0fd748a6f5c2e8af",
      "tree": "145d25ab22cf3974c0f5b8d6be711900fe730989",
      "parents": [
        "12751058515860ed43c8f874ebcb2097b323736a"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:35 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:44 2009 +0200"
      },
      "message": "[S390] atomic ops: small cleanups\n\nCouple of coding style fixes, replace __inline__ with inline and\nremove #ifdef __KERNEL_- since the header file isn\u0027t exported.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "12751058515860ed43c8f874ebcb2097b323736a",
      "tree": "491ec6fe0b0f16da7f05f4edc924ba9a60986588",
      "parents": [
        "6ac2a4ddd10d6916785b4c566d521025c855f823"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:34 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:43 2009 +0200"
      },
      "message": "[S390] atomic ops: add effecient atomic64 support for 31 bit\n\nUse compare double and swap to implement efficient atomic64 ops for 31 bit.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6ac2a4ddd10d6916785b4c566d521025c855f823",
      "tree": "cc86ab5c9fcb076e2b825b405081a679b3a52a9f",
      "parents": [
        "04efc3be767cfed0d348fd598eba8fe5f5bf5fe6"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:28:33 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:43 2009 +0200"
      },
      "message": "[S390] improve mcount code\n\nMove the 64 bit mount code from mcount.S into mcount64.S and avoid\ncode duplication.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "04efc3be767cfed0d348fd598eba8fe5f5bf5fe6",
      "tree": "53a6509f836e2f85c34e5a3af66fa9fbff910f77",
      "parents": [
        "05e7ff7da78bad3edc1290ed86b4a37da72ced62"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:32 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:43 2009 +0200"
      },
      "message": "[S390] convert/optimize csum_fold() to C\n\nIn the meantime gcc generates better code than the old inline\nassemblies do. Original inline assembly results in:\n\nlr\t%r1,%r2\nsr\t%r3,%r3\nlr\t%r2,%r1\nsrdl\t%r2,16\nalr\t%r2,%r3\nalr\t%r1,%r2\nsrl\t%r1,16\nxilf\t%r1,65535\nllghr\t%r2,%r1\nbr\t%r14\n\nOut of the C code gcc generates this:\n\nrll\t%r1,%r2,16\nar\t%r1,%r2\nsrl\t%r1,16\nxilf\t%r1,65535\nllghr\t%r2,%r1\nbr\t%r14\n\nIn addition we don\u0027t have any static register allocations anymore and\ngcc is free to shuffle instructions around for better pipeline usage.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "05e7ff7da78bad3edc1290ed86b4a37da72ced62",
      "tree": "f7348a9f4f561a53465abea731c2ef59900fd62f",
      "parents": [
        "ca99dab01dd63dcc413395bd3e75b0be152dfefc"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:31 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:42 2009 +0200"
      },
      "message": "[S390] introduce get_clock_monotonic\n\nIntroduce get_clock_monotonic() function which can be used to get a\n(fast) timestamp. Resolution is the same as for get_clock(). The\nonly difference is that the timestamps are monotonic and don\u0027t jump\nbackward or forward.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "62733e5a5a480a893e56fa6133ae90904d857bc4",
      "tree": "97717d32064ba4d6a070408b9ab1482b6f9572be",
      "parents": [
        "1f1148c88ad37c87f14d2153416a605bf0aeaf74"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 11 10:28:15 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 10:29:36 2009 +0200"
      },
      "message": "[S390] cio: move scsw helper functions to header file\n\nAll scsw helper functions are very short and usage of them shouldn\u0027t\nresult in function calls. Therefore we move them to a separate header\nfile.\nAlso saves a lot of EXPORT_SYMBOLs.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "a3c8b97396ef42edfb845788ba6f53b2a93ce980",
      "tree": "530c5bdbc534618311dab3e0af245835af56db0f",
      "parents": [
        "74fca6a42863ffacaf7ba6f1936a9f228950f657",
        "9f0ab4a3f0fdb1ff404d150618ace2fa069bb2e1"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Sep 11 08:04:49 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Sep 11 08:04:49 2009 +1000"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "e0b3032bcdf1419d97de636d5fb1c9469da75776",
      "tree": "30252bef7afdad1f789b215c99909104a1d5cfa1",
      "parents": [
        "45fae5c78d873b10c66dfc04db6701e05c493791",
        "cdc65fbe18aef15e92d2ebb410a189fbf956fb06"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Sep 10 15:32:40 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Sep 10 15:32:40 2009 +0200"
      },
      "message": "Merge branch \u0027topic/asoc\u0027 into for-linus\n\n* topic/asoc: (226 commits)\n  ASoC: au1x: PSC-AC97 bugfixes\n  ASoC: Fix WM835x Out4 capture enumeration\n  ASoC: Remove unuused hw_read_t\n  ASoC: fix pxa2xx-ac97.c breakage\n  ASoC: Fully specify DC servo bits to update in wm_hubs\n  ASoC: Debugged improper setting of PLL fields in WM8580 driver\n  ASoC: new board driver to connect bfin-5xx with ad1836 codec\n  ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI\n  ASoC: davinci: i2c device creation moved into board files\n  ASoC: Don\u0027t reconfigure WM8350 FLL if not needed\n  ASoC: Fix s3c-i2s-v2 build\n  ASoC: Make platform data optional for TLV320AIC3x\n  ASoC: Add S3C24xx dependencies for Simtec machines\n  ASoC: SDP3430: Fix TWL GPIO6 pin mux request\n  ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time\n  ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop\n  ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI\n  OMAP: McBSP: Use textual values in DMA operating mode sysfs files\n  ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510\n  ASoC: Select core DMA when building for S3C64xx\n  ...\n"
    },
    {
      "commit": "733e5e4b4eb1bc1e27acbe092200154051171426",
      "tree": "d87f968c3611fca17357640f77af0e5140a64e0d",
      "parents": [
        "be1d6a5f55b30042c57bdfbe7cb4761ed081def0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 09 08:30:21 2009 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Sep 09 18:30:02 2009 +1000"
      },
      "message": "KEYS: Add missing linux/tracehook.h #inclusions\n\nAdd #inclusions of linux/tracehook.h to those arch files that had the tracehook\ncall for TIF_NOTIFY_RESUME added when support for that flag was added to that\narch.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "3e5cd1f2576c720f1d0705fdd7ba64f27e8836b7",
      "tree": "631d41c950d2dc93c110ca86e779cb749c9a8987",
      "parents": [
        "02c24fa87724bb3af969463cd74dc3b3feb24740"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Aug 16 21:02:36 2009 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Sep 08 21:17:48 2009 -0400"
      },
      "message": "dmi: extend dmi_get_year() to dmi_get_date()\n\nThere are cases where full date information is required instead of\njust the year.  Add month and day parsing to dmi_get_year() and rename\nit to dmi_get_date().\n\nAs the original function only required \u0027/\u0027 followed by any number of\nparseable characters at the end of the string, keep that behavior to\navoid upsetting existing users.\n\nThe new function takes dates of format [mm[/dd]]/yy[yy].  Year, month\nand date are checked to be in the ranges of [1-9999], [1-12] and\n[1-31] respectively and any invalid or out-of-range component is\nreturned as zero.\n\nThe dummy implementation is updated accordingly but the return value\nis updated to indicate field not found which is consistent with how\nother dummy functions behave.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a8fae3ec5f118dc92517dcbed3ecf69ddb641d0f",
      "tree": "e01715204f2a6da7277cb4d397449df9fcf0ea6b",
      "parents": [
        "71a29aa7b600595d0ef373ea605ac656876d1f2f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 07 18:32:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 07 22:00:17 2009 +0200"
      },
      "message": "sched: enable SD_WAKE_IDLE\n\nNow that SD_WAKE_IDLE doesn\u0027t make pipe-test suck anymore,\nenable it by default for MC, CPU and NUMA domains.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed011b22ce567eabefa9ea571d3721c10ecd0553",
      "tree": "c7aee6684613075c772388a99a9137014549434e",
      "parents": [
        "85bac32c4a52c592b857f2c360cc5ec93a097d70",
        "e07cccf4046978df10f2e13fe2b99b2f9b3a65db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:42 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.31-rc9\u0027 into tracing/core\n\nMerge reason: move from -rc5 to -rc9.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74a01180db4bbfd61304ae0ba1f60af55ffc803d",
      "tree": "2f61aac8deb306a164f04a7d2753fbd723c906fc",
      "parents": [
        "5136a6c0fd5b26bbf39ad761cf7a4fc563ad83a3"
      ],
      "author": {
        "name": "Roderick Colenbrander",
        "email": "thunderbird2k@gmail.com",
        "time": "Thu Sep 03 09:57:23 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:58:07 2009 -0700"
      },
      "message": "powerpc: Fix i8259 interrupt driver kernel crash on ML510\n\nThis patch fixes a null pointer exception caused by removal of\n\u0027ack()\u0027 for level interrupts in the Xilinx interrupt driver.  A recent\nchange to the xilinx interrupt controller removed the ack hook for\nlevel irqs.\n\nSigned-off-by: Roderick Colenbrander \u003cthunderbird2k@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "535e0c1726bec699a8f0f5b86fe7d399546b2555",
      "tree": "9aa71d6908e4255b5a864cdae14ef164dea66665",
      "parents": [
        "0edfa2b1b5a5e1475e76dd3c792447687d966de4",
        "5afe18d2f58812f3924edbd215464e5e3e8545e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:50:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:50:53 2009 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] fix csum_ipv6_magic()\n  [IA64] Fix warning in dma-mapping.c\n"
    },
    {
      "commit": "d3acd16cda3a1cbaff7c579c0e054f0ece613d14",
      "tree": "2467a3fcf23e54ca68545427feb4e2d19f083b75",
      "parents": [
        "93697a3cabd3605c434a9b915c0272ad800b3f97",
        "bd4352cadfacb9084c97c853b025fac010266c26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:49:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:49:06 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Fix bootup with mcount in some configs.\n  sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds.\n"
    },
    {
      "commit": "93697a3cabd3605c434a9b915c0272ad800b3f97",
      "tree": "dc26826f10979e02efbd2c6a87b326b770284b18",
      "parents": [
        "63995344721be45b3fb3b76488b1b0a8c95def26",
        "a3df6f7d3090e611bcc774cd2cba45ae016d37e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:48:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:48:37 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter/powerpc: Fix cache event codes for POWER7\n  perf_counter: Fix /0 bug in swcounters\n  perf_counters: Increase paranoia level\n"
    },
    {
      "commit": "81bd5f6c966cf2f137c2759dfc78abdffcff055e",
      "tree": "d3ba38b886697b0690cfd6ec7712fdfbebfe986b",
      "parents": [
        "f1939f7c56456d22a559d2c75156e91912a2e97e"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jang@linux.vnet.ibm.com",
        "time": "Sat Sep 05 16:27:35 2009 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Sep 05 16:27:35 2009 +1000"
      },
      "message": "crypto: sha-s390 - Fix warnings in import function\n\nThat patch should fix the warnings.\n\nSigned-off-by: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "8e019366ba749a536131cde1947af6dcaccf8e8f",
      "tree": "fc44a33fc43265652b93f6f3251d5a73cda2e5ee",
      "parents": [
        "acde31dc467797ccae3a55b791a77af446cce018"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Aug 27 14:50:00 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Sep 04 16:05:55 2009 +0100"
      },
      "message": "kmemleak: Don\u0027t scan uninitialized memory when kmemcheck is enabled\n\nIngo Molnar reported the following kmemcheck warning when running both\nkmemleak and kmemcheck enabled:\n\n  PM: Adding info for No Bus:vcsa7\n  WARNING: kmemcheck: Caught 32-bit read from uninitialized memory\n  (f6f6e1a4)\n  d873f9f600000000c42ae4c1005c87f70000000070665f666978656400000000\n   i i i i u u u u i i i i i i i i i i i i i i i i i i i i i u u u\n           ^\n\n  Pid: 3091, comm: kmemleak Not tainted (2.6.31-rc7-tip #1303) P4DC6\n  EIP: 0060:[\u003cc110301f\u003e] EFLAGS: 00010006 CPU: 0\n  EIP is at scan_block+0x3f/0xe0\n  EAX: f40bd700 EBX: f40bd780 ECX: f16b46c0 EDX: 00000001\n  ESI: f6f6e1a4 EDI: 00000000 EBP: f10f3f4c ESP: c2605fcc\n   DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\n  CR0: 8005003b CR2: e89a4844 CR3: 30ff1000 CR4: 000006f0\n  DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\n  DR6: ffff4ff0 DR7: 00000400\n   [\u003cc110313c\u003e] scan_object+0x7c/0xf0\n   [\u003cc1103389\u003e] kmemleak_scan+0x1d9/0x400\n   [\u003cc1103a3c\u003e] kmemleak_scan_thread+0x4c/0xb0\n   [\u003cc10819d4\u003e] kthread+0x74/0x80\n   [\u003cc10257db\u003e] kernel_thread_helper+0x7/0x3c\n   [\u003cffffffff\u003e] 0xffffffff\n  kmemleak: 515 new suspected memory leaks (see\n  /sys/kernel/debug/kmemleak)\n  kmemleak: 42 new suspected memory leaks (see /sys/kernel/debug/kmemleak)\n\nThe problem here is that kmemleak will scan partially initialized\nobjects that makes kmemcheck complain. Fix that up by skipping\nuninitialized memory regions when kmemcheck is enabled.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "695a461296e5df148c99ac087b9e1cb380f4db15",
      "tree": "951893036fdc0b7bae0e17bc739ac8ffe909781d",
      "parents": [
        "c7084b35eb1a4d3353a501508baf9d3d82822c93",
        "2b681fafcc50fea6304ed418667c9d04282acb73"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 14:44:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 14:44:16 2009 +0200"
      },
      "message": "Merge branch \u0027amd-iommu/2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu\n"
    },
    {
      "commit": "bd4352cadfacb9084c97c853b025fac010266c26",
      "tree": "ef54f0801dce4822df71cca587421446ad259ebd",
      "parents": [
        "e6617c6ec28a17cf2f90262b835ec05b9b861400"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 03:38:54 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 03:39:45 2009 -0700"
      },
      "message": "sparc64: Fix bootup with mcount in some configs.\n\nFunctions invoked early when booting up a cpu can\u0027t use\ntracing because mcount requires a valid \u0027current_thread_info()\u0027\nand TLB mappings to be setup.\n\nThe code path of sun4v_register_mondo_queues --\u003e register_one_mondo\nis one such case.  sun4v_register_mondo_queues already has the\nnecessary \u0027notrace\u0027 annotation, but register_one_mondo does not.\n\nNormally register_one_mondo is inlined so the bug doesn\u0027t trigger,\nbut with some config/compiler combinations, it won\u0027t be so we\nmust properly mark it notrace.\n\nWhile we\u0027re here, add \u0027notrace\u0027 annoations to prom_printf and\nprom_halt so that early error handling won\u0027t have the same problem.\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nReported-by: Leif Sawyer \u003clsawyer@gci.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "840a0653100dbde599ae8ddf83fa214dfa5fd1aa",
      "tree": "273ffb82cb6d6f48c35d94b68e54874451956001",
      "parents": [
        "47734f89be0614b5acbd6a532390f9c72f019648"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 11:32:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 11:52:54 2009 +0200"
      },
      "message": "sched: Turn on SD_BALANCE_NEWIDLE\n\nStart the re-tuning of the balancer by turning on newidle.\n\nIt improves hackbench performance and parallelism on a 4x4 box.\nThe \"perf stat --repeat 10\" measurements give us:\n\n  domain0             domain1\n  .......................................\n -SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE:\n   2041.273208  task-clock-msecs         #      9.354 CPUs    ( +-   0.363% )\n\n +SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE:\n   2086.326925  task-clock-msecs         #     11.934 CPUs    ( +-   0.301% )\n\n +SD_BALANCE_NEWIDLE +SD_BALANCE_NEWIDLE:\n   2115.289791  task-clock-msecs         #     12.158 CPUs    ( +-   0.263% )\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "47734f89be0614b5acbd6a532390f9c72f019648",
      "tree": "48c7a765e90927ffed0158518157650c9b09dda8",
      "parents": [
        "d7ea17a76916e456fcc78e45142c66f7fb875e3d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 11:21:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 11:52:53 2009 +0200"
      },
      "message": "sched: Clean up topology.h\n\nRe-organize the flag settings so that it\u0027s visible at a glance\nwhich sched-domains flags are set and which not.\n\nWith the new balancer code we\u0027ll need to re-tune these details\nanyway, so make it cleaner to make fewer mistakes down the\nroad ;-)\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29e2035bddecce3eb584a8304528b50da8370a24",
      "tree": "13155df7d90a8e287b83a1cd6c0d02c3018212ab",
      "parents": [
        "868489660dabc0c28087cca3dbc1adbbc398c6fe",
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 09:28:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 09:29:05 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/rcu\n\nMerge reason: Avoid fuzz in init/main.c and update from rc6 to rc8.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1653192f510bd8114b7b133d7289e6e5c3e95046",
      "tree": "c117851d55865c0a63d99af074bbdc65d68cc48b",
      "parents": [
        "596da17f94c103348ebe04129c00d536ea0e80e2"
      ],
      "author": {
        "name": "markus.t.metzger@intel.com",
        "email": "markus.t.metzger@intel.com",
        "time": "Wed Sep 02 16:04:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 09:26:40 2009 +0200"
      },
      "message": "x86, perf_counter, bts: Do not allow kernel BTS tracing for now\n\nKernel BTS tracing generates too much data too fast for us to\nhandle, causing the kernel to hang.\n\nFail for BTS requests for kernel code.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zjilstra@chello.nl\u003e\nLKML-Reference: \u003c20090902140616.901253000@intel.com\u003e\n[ This is really a workaround - but we want BTS tracing in .32\n  so make sure we dont regress. The lockup should be fixed\n  ASAP. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "596da17f94c103348ebe04129c00d536ea0e80e2",
      "tree": "ac6366d311f403e400e6933d0ccc2b424f217080",
      "parents": [
        "747b50aaf728987732e6ff3ba10aba4acc4e0277"
      ],
      "author": {
        "name": "markus.t.metzger@intel.com",
        "email": "markus.t.metzger@intel.com",
        "time": "Wed Sep 02 16:04:47 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 09:26:39 2009 +0200"
      },
      "message": "x86, perf_counter, bts: Correct pointer-to-u64 casts\n\nOn 32bit, pointers in the DS AREA configuration are cast to\nu64. The current (long) cast to avoid compiler warnings results\nin a signed 64bit address.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090902140615.305889000@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "747b50aaf728987732e6ff3ba10aba4acc4e0277",
      "tree": "dd1b75f7d14b8bf7dff2519058516be69e70c356",
      "parents": [
        "dc86cabe4b242446ea9aa8492c727e1220817898"
      ],
      "author": {
        "name": "markus.t.metzger@intel.com",
        "email": "markus.t.metzger@intel.com",
        "time": "Wed Sep 02 16:04:46 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 09:26:39 2009 +0200"
      },
      "message": "x86, perf_counter, bts: Fail if BTS is not available\n\nReserve PERF_COUNT_HW_BRANCH_INSTRUCTIONS with sample_period \u003d\u003d\n1 for BTS tracing and fail, if BTS is not available.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090902140612.943801000@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b681fafcc50fea6304ed418667c9d04282acb73",
      "tree": "a950c2b32b7cb2e31bd1eb32a72d4983fd553e1e",
      "parents": [
        "03362a05c55122baff3556109c922285299dfec4",
        "abdc5eb3d69279039ba6cb89719913d08013ab14"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 17:14:57 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 17:14:57 2009 +0200"
      },
      "message": "Merge branch \u0027amd-iommu/pagetable\u0027 into amd-iommu/2.6.32\n\nConflicts:\n\tarch/x86/kernel/amd_iommu.c\n"
    },
    {
      "commit": "03362a05c55122baff3556109c922285299dfec4",
      "tree": "85f83fbf4e1e8027eca05fbd8285041053a713c4",
      "parents": [
        "85da07c409daba3d067824f0051d58f70cb571a0",
        "4751a95134e05f1172131d2001c6991d671fa58c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:34:23 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:34:23 2009 +0200"
      },
      "message": "Merge branch \u0027amd-iommu/passthrough\u0027 into amd-iommu/2.6.32\n\nConflicts:\n\tarch/x86/kernel/amd_iommu.c\n\tarch/x86/kernel/amd_iommu_init.c\n"
    },
    {
      "commit": "85da07c409daba3d067824f0051d58f70cb571a0",
      "tree": "68e16cf191efb3d27181e717e8cf288f911eff04",
      "parents": [
        "6ac162d6c01ac7626f46c68c0770556cf682ce34",
        "e0faf54ee82bf9c07f0307b4391caad4020bd659",
        "6a1eddd2f951656a6abbd42e2cddc2267c4a639d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:32:00 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:32:00 2009 +0200"
      },
      "message": "Merge branches \u0027gart/fixes\u0027, \u0027amd-iommu/fixes+cleanups\u0027 and \u0027amd-iommu/fault-handling\u0027 into amd-iommu/2.6.32\n"
    },
    {
      "commit": "6ac162d6c01ac7626f46c68c0770556cf682ce34",
      "tree": "0fe446984c99f88490c11a759ea75a2d7a9bea45",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Pavel Vasilyev",
        "email": "pavel@pavlinux.ru",
        "time": "Thu Sep 03 16:20:55 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:20:55 2009 +0200"
      },
      "message": "x86/gart: Do not select AGP for GART_IOMMU\n\nThere is no dependency from the gart code to the agp code.\nAnd since a lot of systems today do not have agp anymore\nremove this dependency from the kernel configuration.\n\nSigned-off-by: Pavel Vasilyev \u003cpavel@pavlinux.ru\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "4751a95134e05f1172131d2001c6991d671fa58c",
      "tree": "f5d00703c633c39b60cfc0be568f1fdbbe3b4656",
      "parents": [
        "a1ca331c8aa75cd58fdf685e2e8745e1d3ec5c8f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 01 15:53:54 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:15:46 2009 +0200"
      },
      "message": "x86/amd-iommu: Initialize passthrough mode when requested\n\nThis patch enables the passthrough mode for AMD IOMMU by\nrunning the initialization function when iommu\u003dpt is passed\non the kernel command line.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "a1ca331c8aa75cd58fdf685e2e8745e1d3ec5c8f",
      "tree": "a9945bafe6ea38a537e182670daaf6a44284448e",
      "parents": [
        "21129f786f231f7a9dce5b504617b893f50a435f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 01 12:22:22 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:15:46 2009 +0200"
      },
      "message": "x86/amd-iommu: Don\u0027t detach device from pt domain on driver unbind\n\nThis patch makes sure a device is not detached from the\npassthrough domain when the device driver is unloaded or\ndoes otherwise release the device.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "21129f786f231f7a9dce5b504617b893f50a435f",
      "tree": "d9f507bacc5e657c74257e87a8353cd1e57b3b98",
      "parents": [
        "eba6ac60ba66c6bf6858938442204feaa67dea31"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 01 11:59:42 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:15:45 2009 +0200"
      },
      "message": "x86/amd-iommu: Make sure a device is assigned in passthrough mode\n\nWhen the IOMMU driver runs in passthrough mode it has to\nmake sure that every device not assigned to an IOMMU-API\ndomain must be put into the passthrough domain instead of\nkeeping it unassigned.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "eba6ac60ba66c6bf6858938442204feaa67dea31",
      "tree": "625b39539ebdc6222307b174eae9802bb367f163",
      "parents": [
        "aa879fff5d12318259816aa35023e941a1e4d3d9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 01 12:07:08 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:15:44 2009 +0200"
      },
      "message": "x86/amd-iommu: Align locking between attach_device and detach_device\n\nThis patch makes the locking behavior between the functions\nattach_device and __attach_device consistent with the\nlocking behavior between detach_device and __detach_device.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "aa879fff5d12318259816aa35023e941a1e4d3d9",
      "tree": "150412d34e3aca54d623a63cd0a390d5358f8712",
      "parents": [
        "0feae533ddebe02cda6ccce5cac7349b446776a8"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Aug 31 16:01:48 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:15:43 2009 +0200"
      },
      "message": "x86/amd-iommu: Fix device table write order\n\nThe V bit of the device table entry has to be set after the\nrest of the entry is written to not confuse the hardware.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "0feae533ddebe02cda6ccce5cac7349b446776a8",
      "tree": "d9c82d7ebec45d96194aeaf27acfbbd2015545ac",
      "parents": [
        "2650815fb03fe2bf1e6701584087ba669dcf92cd"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Aug 26 15:26:30 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:15:42 2009 +0200"
      },
      "message": "x86/amd-iommu: Add passthrough mode initialization functions\n\nWhen iommu\u003dpt is passed on kernel command line the devices\nshould run untranslated. This requires the allocation of a\nspecial domain for that purpose. This patch implements the\nallocation and initialization path for iommu\u003dpt.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "2650815fb03fe2bf1e6701584087ba669dcf92cd",
      "tree": "7b54969835f05ed3939fa91185e506842a056333",
      "parents": [
        "ac0101d396fee24994632f71b55b9f7f9ee16eff"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Aug 26 16:52:40 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:15:34 2009 +0200"
      },
      "message": "x86/amd-iommu: Add core functions for pd allocation/freeing\n\nThis patch factors some code of protection domain allocation\ninto seperate functions. This way the logic can be used to\nallocate the passthrough domain later. As a side effect this\npatch fixes an unlikely domain id leakage bug.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "ac0101d396fee24994632f71b55b9f7f9ee16eff",
      "tree": "c38a60f42c52a230d035db00e67b3968332cc520",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 01 16:00:35 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:13:46 2009 +0200"
      },
      "message": "x86/dma: Mark iommu_pass_through as __read_mostly\n\nThis variable is read most of the time. This patch marks it\nas such. It also documents the meaning the this variable\nwhile at it.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "abdc5eb3d69279039ba6cb89719913d08013ab14",
      "tree": "fc77040a85d9601d91c6dee0e297386a3f5f7ccc",
      "parents": [
        "a6b256b41357c33ccb2d105a4457e22bdc83e021"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 11:33:51 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:11:17 2009 +0200"
      },
      "message": "x86/amd-iommu: Change iommu_map_page to support multiple page sizes\n\nThis patch adds a map_size parameter to the iommu_map_page\nfunction which makes it generic enough to handle multiple\npage sizes. This also requires a change to alloc_pte which\nis also done in this patch.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "a6b256b41357c33ccb2d105a4457e22bdc83e021",
      "tree": "c8567952372218e4cc1a864835ceb3162068fb80",
      "parents": [
        "674d798a80cb6ea1defa01899099f40d9124423c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 12:21:31 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:11:08 2009 +0200"
      },
      "message": "x86/amd-iommu: Support higher level PTEs in iommu_page_unmap\n\nThis patch changes fetch_pte and iommu_page_unmap to support\ndifferent page sizes too.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "674d798a80cb6ea1defa01899099f40d9124423c",
      "tree": "dbdf659ebe91c17228385cb1e65c62f6f914f4f2",
      "parents": [
        "8f7a017ce05ed4522809448e169daa44fe6edeb1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 17:26:09 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:49 2009 +0200"
      },
      "message": "x86/amd-iommu: Remove old page table handling macros\n\nThese macros are not longer required. So remove them.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "8f7a017ce05ed4522809448e169daa44fe6edeb1",
      "tree": "a1c59481bfa6bd9a0eea9783bff84af65b5fb02e",
      "parents": [
        "bad1cac28a707c69301a4d0612da9ccbecd51953"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 16:55:24 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:49 2009 +0200"
      },
      "message": "x86/amd-iommu: Use 2-level page tables for dma_ops domains\n\nThe driver now supports a dynamic number of levels for IO\npage tables. This allows to reduce the number of levels for\ndma_ops domains by one because a dma_ops domain has usually\nan address space size between 128MB and 4G.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "bad1cac28a707c69301a4d0612da9ccbecd51953",
      "tree": "6cf2dc2e805c2d0bf7998da5b1711c83e157e238",
      "parents": [
        "8c8c143cdc95ebe50fd962917556e25e8912997b"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 16:52:23 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:48 2009 +0200"
      },
      "message": "x86/amd-iommu: Remove bus_addr check in iommu_map_page\n\nThe driver now supports full 64 bit device address spaces.\nSo this check is not longer required.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "8c8c143cdc95ebe50fd962917556e25e8912997b",
      "tree": "3e9fbb06001296f4a101a94ac5a7bb7bc9458a74",
      "parents": [
        "8bc3e127421bf3b735edbde05135892c12c5f615"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 17:30:00 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:47 2009 +0200"
      },
      "message": "x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX\n\nThis change allows to remove these old macros later.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "8bc3e127421bf3b735edbde05135892c12c5f615",
      "tree": "27acafae8951633fd75ddc6713e77633662b90f5",
      "parents": [
        "50020fb6324465e478d6c8cdbf3c695f0a60358d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 16:48:40 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:46 2009 +0200"
      },
      "message": "x86/amd-iommu: Change alloc_pte to support 64 bit address space\n\nThis patch changes the alloc_pte function to be able to map\npages into the whole 64 bit address space supported by AMD\nIOMMU hardware from the old limit of 2**39 bytes.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "50020fb6324465e478d6c8cdbf3c695f0a60358d",
      "tree": "42f46535b247d54bb2282fa1a61b1cba4d8a6ac0",
      "parents": [
        "04bfdd8406099fca2e6b8844748c4d6c5eba8c8d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 15:38:40 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:46 2009 +0200"
      },
      "message": "x86/amd-iommu: Introduce increase_address_space function\n\nThis function will be used to increase the address space\nsize of a protection domain.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "04bfdd8406099fca2e6b8844748c4d6c5eba8c8d",
      "tree": "bab300413ef4c176ddc4050a50365d2e95160845",
      "parents": [
        "407d733e30a97daf5ea6f9eb5f9ebbd42a0a9ef2"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 16:00:23 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:45 2009 +0200"
      },
      "message": "x86/amd-iommu: Flush domains if address space size was increased\n\nThist patch introduces the update_domain function which\npropagates the larger address space of a protection domain\nto the device table and flushes all relevant DTEs and the\ndomain TLB.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "407d733e30a97daf5ea6f9eb5f9ebbd42a0a9ef2",
      "tree": "5b99eb040f2a260feaf047d380d92dd214957d06",
      "parents": [
        "6a0dbcbe4e612fbc9d73cd4dde8ebef19295058a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 16:07:00 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:44 2009 +0200"
      },
      "message": "x86/amd-iommu: Introduce set_dte_entry function\n\nThis function factors out some logic of attach_device to a\nseperate function. This new function will be used to update\ndevice table entries when necessary.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "6a0dbcbe4e612fbc9d73cd4dde8ebef19295058a",
      "tree": "12211af09fb4ef74fb5a58f078cf0b60693dc352",
      "parents": [
        "a6d41a4027b758a9473197a78fab45afb31003aa"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 15:41:59 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:43 2009 +0200"
      },
      "message": "x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices\n\nThis patch adds a generic variant of\namd_iommu_flush_all_devices function which flushes only the\nDTEs for a given protection domain.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "a6d41a4027b758a9473197a78fab45afb31003aa",
      "tree": "4b80b62f33819494b4c0fe9a446a0ee8c78cfcc2",
      "parents": [
        "38a76eeeafb251bf67d143a34b37a8105cff302e"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 17:08:55 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:42 2009 +0200"
      },
      "message": "x86/amd-iommu: Use fetch_pte in amd_iommu_iova_to_phys\n\nDon\u0027t reimplement the page table walker in this function.\nUse the generic one.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "38a76eeeafb251bf67d143a34b37a8105cff302e",
      "tree": "f5fbe58002425e7424937678fd87b35f9e3c9280",
      "parents": [
        "9355a08186e52b7c120adea91c984923b54efa10"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 17:02:47 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:41 2009 +0200"
      },
      "message": "x86/amd-iommu: Use fetch_pte in iommu_unmap_page\n\nInstead of reimplementing existing logic use fetch_pte to\nwalk the page table in iommu_unmap_page.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "9355a08186e52b7c120adea91c984923b54efa10",
      "tree": "563c92011f7733fc20dfced74a058c809813ed0c",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Sep 02 14:24:08 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 16:03:34 2009 +0200"
      },
      "message": "x86/amd-iommu: Make fetch_pte aware of dynamic mapping levels\n\nThis patch changes the fetch_pte function in the AMD IOMMU\ndriver to support dynamic mapping levels.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "6a1eddd2f951656a6abbd42e2cddc2267c4a639d",
      "tree": "d9290794ae58aef32738b332e8613b5f2b761ffb",
      "parents": [
        "b26e81b871bd18184968f0bb3f12945906eadfce"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:15:10 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:56:19 2009 +0200"
      },
      "message": "x86/amd-iommu: Reset command buffer if wait loop fails\n\nInstead of a panic on an comletion wait loop failure, try to\nrecover from that event from resetting the command buffer.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "b26e81b871bd18184968f0bb3f12945906eadfce",
      "tree": "ee8b734952e0bfb6386d7edbff797f4192cdb062",
      "parents": [
        "a345b23b79f1900e7d87c3165182504419180de4"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:08:09 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:55:35 2009 +0200"
      },
      "message": "x86/amd-iommu: Panic if IOMMU command buffer reset fails\n\nTo prevent the driver from doing recursive command buffer\nresets, just panic when that recursion happens.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "a345b23b79f1900e7d87c3165182504419180de4",
      "tree": "4dc0b858369520bc2125ba9bde9f388edc0777dd",
      "parents": [
        "93f1cc67cf3196174412adca87321b25c1c986b0"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:01:43 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:55:34 2009 +0200"
      },
      "message": "x86/amd-iommu: Reset command buffer on ILLEGAL_COMMAND_ERROR\n\nOn an ILLEGAL_COMMAND_ERROR the IOMMU stops executing\nfurther commands. This patch changes the code to handle this\ncase better by resetting the command buffer in the IOMMU.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "93f1cc67cf3196174412adca87321b25c1c986b0",
      "tree": "205d6e92ca752ea9ddae0ce636c826ec93df8358",
      "parents": [
        "d586d7852ccd0cecb502bf4809f827e60c486af0"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 14:50:20 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:55:34 2009 +0200"
      },
      "message": "x86/amd-iommu: Add reset function for command buffers\n\nThis patch factors parts of the command buffer\ninitialization code into a seperate function which can be\nused to reset the command buffer later.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "d586d7852ccd0cecb502bf4809f827e60c486af0",
      "tree": "42d01aaa0acfa6a9e73ba99db5c032653aed7a8b",
      "parents": [
        "e394d72aa8b319211b8f947d151d9d50b0fde842"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:39:23 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:55:23 2009 +0200"
      },
      "message": "x86/amd-iommu: Add function to flush all DTEs on one IOMMU\n\nThis function flushes all DTE entries on one IOMMU for all\ndevices behind this IOMMU. This is required for command\nbuffer resetting later.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e0faf54ee82bf9c07f0307b4391caad4020bd659",
      "tree": "e3091b489ad6ea4cba855f975cb4d46526e69cdf",
      "parents": [
        "ae908c22aa2b9f7d4b41bd02d14e473f79c22dd3"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:45:51 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:49:56 2009 +0200"
      },
      "message": "x86/amd-iommu: fix broken check in amd_iommu_flush_all_devices\n\nThe amd_iommu_pd_table is indexed by protection domain\nnumber and not by device id. So this check is broken and\nmust be removed.\n\nCc: stable@kernel.org\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "ae908c22aa2b9f7d4b41bd02d14e473f79c22dd3",
      "tree": "e0a91d361c00b5ba40f3b8f5421ef0a307090615",
      "parents": [
        "4c6f40d4e0f0bba77a5f27eec4e1c6d1c457d324"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 01 16:52:16 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:49:56 2009 +0200"
      },
      "message": "x86/amd-iommu: Remove redundant \u0027IOMMU\u0027 string\n\nThe \u0027IOMMU: \u0027 prefix is not necessary because the\nDUMP_printk macro already prints its own prefix.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "4c6f40d4e0f0bba77a5f27eec4e1c6d1c457d324",
      "tree": "f70ee59a48c3ace23c4bfebe8f6c975f1b4578b4",
      "parents": [
        "f2430bd104bec2706315e9e983a9d9f828ff9565"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 01 16:43:58 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:49:56 2009 +0200"
      },
      "message": "x86/amd-iommu: replace \"AMD IOMMU\" by \"AMD-Vi\"\n\nThis patch replaces the \"AMD IOMMU\" printk strings with the\nofficial name for the hardware: \"AMD-Vi\".\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "f2430bd104bec2706315e9e983a9d9f828ff9565",
      "tree": "1edd5111f0418505a030cfe699cded518c2ea220",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Aug 26 12:10:19 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:49:55 2009 +0200"
      },
      "message": "x86/amd-iommu: Remove some merge helper code\n\nThis patch removes some left-overs which where put into the code to\nsimplify merging code which also depends on changes in other trees.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e394d72aa8b319211b8f947d151d9d50b0fde842",
      "tree": "84cea0138c4b0ec1886d4171521007f8ef6543eb",
      "parents": [
        "945b4ac44e5700acd3d974c176c8ace34b4d2e8e"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:28:33 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 15:41:34 2009 +0200"
      },
      "message": "x86/amd-iommu: Introduce function for iommu-local domain flush\n\nThis patch introduces a function to flush all domain tlbs\nfor on one given IOMMU. This is required later to reset the\ncommand buffer on one IOMMU.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "945b4ac44e5700acd3d974c176c8ace34b4d2e8e",
      "tree": "328159670312d8e78e4ac7c980c2a9d9e274211d",
      "parents": [
        "e3e59876e82a5e1a07f365d5474e7b6943524725"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 14:25:02 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 14:28:04 2009 +0200"
      },
      "message": "x86/amd-iommu: Dump illegal command on ILLEGAL_COMMAND_ERROR\n\nThis patch adds code to dump the command which caused an\nILLEGAL_COMMAND_ERROR raised by the IOMMU hardware.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e3e59876e82a5e1a07f365d5474e7b6943524725",
      "tree": "b085528765b73c3699d28652c86821fd231b0ece",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 14:02:10 2009 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Sep 03 14:17:08 2009 +0200"
      },
      "message": "x86/amd-iommu: Dump fault entry on DTE error\n\nThis patch adds code to dump the content of the device table\nentry which caused an ILLEGAL_DEV_TABLE_ENTRY error from the\nIOMMU hardware.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e6617c6ec28a17cf2f90262b835ec05b9b861400",
      "tree": "550d509cca4413f472a6997751357f26aa2e680a",
      "parents": [
        "d8ed1d43e17898761c7221014a15a4c7501d2ff3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 02:35:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 02:35:20 2009 -0700"
      },
      "message": "sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds.\n\nThis is a compromise and a temporary workaround for bootup NMI\nwatchdog triggers some people see with qla2xxx devices present.\n\nThis happens when, for example:\n\nCPU 0 is in the driver init and looping submitting mailbox commands to\nload the firmware, then waiting for completion.\n\nCPU 1 is receiving the device interrupts.  CPU 1 is where the NMI\nwatchdog triggers.\n\nCPU 0 is submitting mailbox commands fast enough that by the time CPU\n1 returns from the device interrupt handler, a new one is pending.\nThis sequence runs for more than 5 seconds.\n\nThe problematic case is CPU 1\u0027s timer interrupt running when the\nbarrage of device interrupts begin.  Then we have:\n\n\ttimer interrupt\n\treturn for softirq checking\n\tpending, thus enable interrupts\n\n\t\t qla2xxx interrupt\n\t\t return\n\t\t qla2xxx interrupt\n\t\t return\n\t\t ... 5+ seconds pass\n\t\t final qla2xxx interrupt for fw load\n\t\t return\n\n\trun timer softirq\n\treturn\n\nAt some point in the multi-second qla2xxx interrupt storm we trigger\nthe NMI watchdog on CPU 1 from the NMI interrupt handler.\n\nThe timer softirq, once we get back to running it, is smart enough to\nrun the timer work enough times to make up for the missed timer\ninterrupts.\n\nHowever, the NMI watchdogs (both x86 and sparc) use the timer\ninterrupt count to notice the cpu is wedged.  But in the above\nscenerio we\u0027ll receive only one such timer interrupt even if we last\nall the way back to running the timer softirq.\n\nThe default watchdog trigger point is only 5 seconds, which is pretty\nlow (the softwatchdog triggers at 60 seconds).  So increase it to 30\nseconds for now.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "a3df6f7d3090e611bcc774cd2cba45ae016d37e1"
}
