)]}'
{
  "commit": "6cd8a4bb2f97527a9ceb30bc77ea4e959c6a95e3",
  "tree": "845af8f3c7f8956b4f3591759a0d67248af243a2",
  "parents": [
    "81d68a96a39844853b37f20cc8282d9b65b78ef3"
  ],
  "author": {
    "name": "Steven Rostedt",
    "email": "srostedt@redhat.com",
    "time": "Mon May 12 21:20:42 2008 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Fri May 23 20:32:54 2008 +0200"
  },
  "message": "ftrace: trace preempt off critical timings\n\nAdd preempt off timings. A lot of kernel core code is taken from the RT patch\nlatency trace that was written by Ingo Molnar.\n\nThis adds \"preemptoff\" and \"preemptirqsoff\" to /debugfs/tracing/available_tracers\n\nNow instead of just tracing irqs off, preemption off can be selected\nto be recorded.\n\nWhen this is selected, it shares the same files as irqs off timings.\nOne can either trace preemption off, irqs off, or one or the other off.\n\nBy echoing \"preemptoff\" into /debugfs/tracing/current_tracer, recording\nof preempt off only is performed. \"irqsoff\" will only record the time\nirqs are disabled, but \"preemptirqsoff\" will take the total time irqs\nor preemption are disabled. Runtime switching of these options is now\nsupported by simpling echoing in the appropriate trace name into\n/debugfs/tracing/current_tracer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8476dfbb60d9818f5da08d3a5b95a223930964f",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/process_32.c",
      "new_id": "a30aa1f2607a7d330c0a8b93d06940222aac8902",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/process_32.c"
    },
    {
      "type": "modify",
      "old_id": "0a20445dcbcc35bfa3ccdb54641be938a1a1d185",
      "old_mode": 33188,
      "old_path": "include/linux/ftrace.h",
      "new_id": "740c97dcf9cb831fc2092458b913c3a1de571a72",
      "new_mode": 33188,
      "new_path": "include/linux/ftrace.h"
    },
    {
      "type": "modify",
      "old_id": "5b711d4e9fd9ee2300ae600984736547c4ad2303",
      "old_mode": 33188,
      "old_path": "include/linux/irqflags.h",
      "new_id": "2b1c2e58566ea04460370fef4a4b686794ab512d",
      "new_mode": 33188,
      "new_path": "include/linux/irqflags.h"
    },
    {
      "type": "modify",
      "old_id": "36b03d50bf4097cb5b46c592933ce5aa19f7a55a",
      "old_mode": 33188,
      "old_path": "include/linux/preempt.h",
      "new_id": "72b1a10a59b6c178bf192f9d06c3c6c38a33e0c4",
      "new_mode": 33188,
      "new_path": "include/linux/preempt.h"
    },
    {
      "type": "modify",
      "old_id": "73e60085236503703717ceb99bb8eb7c9ba63ab7",
      "old_mode": 33188,
      "old_path": "kernel/sched.c",
      "new_id": "328494e28df25cf5a633eba587b59f17e2daf2e3",
      "new_mode": 33188,
      "new_path": "kernel/sched.c"
    },
    {
      "type": "modify",
      "old_id": "896df1cf6adc36457390f7bb16ad7c703659a293",
      "old_mode": 33188,
      "old_path": "kernel/trace/Kconfig",
      "new_id": "6430016b98e8fcb16dea44d53c77c53ef4753e88",
      "new_mode": 33188,
      "new_path": "kernel/trace/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "46be8647fb6523edb67b5fe9b255cddf0dcd1be0",
      "old_mode": 33188,
      "old_path": "kernel/trace/Makefile",
      "new_id": "3fec653d65334e9551c3e6c6e1f3437dc875cb51",
      "new_mode": 33188,
      "new_path": "kernel/trace/Makefile"
    },
    {
      "type": "modify",
      "old_id": "a9131b0cf1a57d133acb1d7ee3c677823f4366c5",
      "old_mode": 33188,
      "old_path": "kernel/trace/trace_irqsoff.c",
      "new_id": "8b1231633dc5562b2a11c984db41ef84fcfaef78",
      "new_mode": 33188,
      "new_path": "kernel/trace/trace_irqsoff.c"
    }
  ]
}
