)]}'
{
  "log": [
    {
      "commit": "66f50ee3cee4c9d98eea0add6f439e6e5e0ca4a5",
      "tree": "63da8fe45ffdb90d57e013f863795413eb8fd90e",
      "parents": [
        "4c8210427bd1b7efa1dabf93f4d2312f29908d8f"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Oct 22 14:14:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 08:55:01 2008 -0700"
      },
      "message": "profiling: fix up CONFIG_PROC_FS\u003dn build\n\nIn the case where procfs is disabled, create_proc_profile() does not\nexist. Stub it in with the others.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22b8ce94708f7cdf0b04965c6f7443dfd374c35c",
      "tree": "e2d5b60e9b881cf251185b23c3853c8b3e52d42a",
      "parents": [
        "0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Wed Oct 15 22:01:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:31 2008 -0700"
      },
      "message": "profiling: dynamically enable readprofile at runtime\n\nWay too often, I have a machine that exhibits some kind of crappy\nbehavior.  The CPU looks wedged in the kernel or it is spending way too\nmuch system time and I wonder what is responsible.\n\nI try to run readprofile.  But, of course, Ubuntu doesn\u0027t enable it by\ndefault.  Dang!\n\nThe reason we boot-time enable it is that it takes a big bufffer that we\ngenerally can only bootmem alloc.  But, does it hurt to at least try and\nruntime-alloc it?\n\nTo use:\necho 2 \u003e /sys/kernel/profile\n\nThen run readprofile like normal.\n\nThis should fix the compile issue with allmodconfig.  I\u0027ve compile-tested\non a bunch more configs now including a few more architectures.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cebbd3fb803603b12408458ba17c29ce1e15a5f2",
      "tree": "9933d90901fbb9be6dca07816cbe4f8ecd580933",
      "parents": [
        "b03f6489f9f27dc519a4c60ebf39cc7b8a58eae7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jul 25 01:45:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "build-kernel-profileo-only-when-requested-cleanups\n\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b03f6489f9f27dc519a4c60ebf39cc7b8a58eae7",
      "tree": "6329fc91e860f2949d737c611aa846eb2d653103",
      "parents": [
        "696adfe84c11c571a1e0863460ff0ec142b4e5a9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:45:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "build kernel/profile.o only when requested\n\nBuild kernel/profile.o only if CONFIG_PROFILING is enabled.\n\nThis makes CONFIG_PROFILING\u003dn kernels smaller.\n\nAs a bonus, some profile_tick() calls and one branch from schedule() are\nnow eliminated with CONFIG_PROFILING\u003dn (but I doubt these are\nmeasurable effects).\n\nThis patch changes the effects of CONFIG_PROFILING\u003dn, but I don\u0027t think\nhaving more than two choices would be the better choice.\n\nThis patch also adds the name of the first parameter to the prototypes\nof profile_{hits,tick}() since I anyway had to add them for the dummy\nfunctions.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735643ee6cc5249bfac07fcad0946a5e7aff4423",
      "tree": "e725df246f4a3cf88b6b42a28d859ab969acf81c",
      "parents": [
        "71cc2c2152170b8166f59abb0604dc62073aeb92"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "Remove \"#ifdef __KERNEL__\" checks from unexported headers\n\nRemove the \"#ifdef __KERNEL__\" tests from unexported header files in\nlinux/include whose entire contents are wrapped in that preprocessor\ntest.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b012d346c0e914f505d92f730ad1758f73e2953b",
      "tree": "439afd808718bf36f8a4d2b86339731ef98eb2a6",
      "parents": [
        "0732a552cb31a40db47f7d48e54847190e452da9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 16 23:29:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:55 2007 -0700"
      },
      "message": "make kernel/profile.c:time_hook static\n\n{,un}register_timer_hook() is the API that should be used.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07031e14c1127fc7e1a5b98dfcc59f434e025104",
      "tree": "be4f545e674c529abb0f51c8b87e1f7137c9acb6",
      "parents": [
        "e3881a6816b45668df60a426e5c3431ece1539a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 10 23:15:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Jan 11 18:18:21 2007 -0800"
      },
      "message": "[PATCH] KVM: add VM-exit profiling\n\nThis adds the profile\u003dkvm boot option, which enables KVM to profile VM\nexits.\n\nUse: \"readprofile -m ./System.map | sort -n\" to see the resulting\noutput:\n\n   [...]\n   18246 serial_out                               148.3415\n   18945 native_flush_tlb                         378.9000\n   23618 serial_in                                212.7748\n   29279 __spin_unlock_irq                        622.9574\n   43447 native_apic_write                        2068.9048\n   52702 enable_8259A_irq                         742.2817\n   54250 vgacon_scroll                             89.3740\n   67394 ide_inb                                  6126.7273\n   79514 copy_page_range                           98.1654\n   84868 do_wp_page                                86.6000\n  140266 pit_read                                 783.6089\n  151436 ide_outb                                 25239.3333\n  152668 native_io_delay                          21809.7143\n  174783 mask_and_ack_8259A                       783.7803\n  362404 native_set_pte_at                        36240.4000\n 1688747 total                                      0.5009\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ece8a684c75df215320b4155944979e3f78c5c93",
      "tree": "2a65e786dd70ab368c12836a39c36070c0e4974f",
      "parents": [
        "70888bd5b70579e278d5ef1b7e1ec6a420d38b9e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 06 20:37:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:36 2006 -0800"
      },
      "message": "[PATCH] sleep profiling\n\nImplement prof\u003dsleep profiling.  TASK_UNINTERRUPTIBLE sleeps will be taken\nas a profile hit, and every millisecond spent sleeping causes a profile-hit\nfor the call site that initiated the sleep.\n\nSample readprofile output on i386:\n\n   306 ps2_sendbyte                               1.3973\n   432 call_usermodehelper_keys                   1.9548\n   484 ps2_command                                0.6453\n   790 __driver_attach                            4.7879\n  1593 msleep                                    44.2500\n  3976 sync_buffer                               64.1290\n  4076 do_lookup                                 12.4648\n  8587 sync_page                                122.6714\n 20820 total                                      0.0067\n\n(NOTE: architectures need to check whether get_wchan() can be called from\ndeep within the wakeup path.)\n\nakpm: we need to mark more functions __sched.  lock_sock(), msleep(), others..\n\nakpm: the contention in do_lookup() is a surprise.  Presumably doing disk\nreads for directory contents while holding i_mutex.\n\n[akpm@osdl.org: various fixes]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "772a0dc5d2103baff2f15c2668930bcd37add777",
      "tree": "d1f9a8e1b676e7e018edc926895b677a65a89d6a",
      "parents": [
        "91368d73e4b60d577ad171e5bd315b564265fcdb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:00:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:16 2006 -0800"
      },
      "message": "[PATCH] notifier: profile.h forward decl fix\n\nDeclarations use struct notifier_block on both legs of the ifdef, so move the\nnotifier_block forward declaration outside the ifdef.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
