)]}'
{
  "log": [
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "ca4dbc668412d5fe039be3e26e8e717a616d1ca5",
      "tree": "9e1934ce31435dee3316a202dbe3df88ca5b76e5",
      "parents": [
        "2b633e3fac5efada088b57d31e65401f22bcc18f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 17 18:49:54 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Feb 18 17:17:58 2010 -0800"
      },
      "message": "xen: Remove unnecessary arch specific xen irq functions.\n\nRight now xen\u0027s use of the x86 and ia64 handle_irq is just bizarre and very\nfragile as it is very non-obvious the function exists and is is used by\ncode out in drivers/....  Luckily using handle_irq is completely unnecessary,\nand we can just use the generic irq apis instead.\n\nThis still leaves drivers/xen/events.c as a problematic user of the generic\nirq apis it has \"static struct irq_info irq_info[NR_IRQS]\" but that can be\nfixed some other time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nLKML-Reference: \u003c4B7CAAD2.10803@kernel.org\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Ian Campbell \u003cIan.Campbell@citrix.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "fed5ea87e02aaf902ff38c65b4514233db03dc09",
      "tree": "0cd603bec4179e9bbe3e020f3b7ef447d3de6ee2",
      "parents": [
        "f6eafe3665bcc374c66775d58312d1c06c55303f"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 01 16:15:30 2009 +0000"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Dec 03 11:14:55 2009 -0800"
      },
      "message": "xen: don\u0027t leak IRQs over suspend/resume.\n\nOn resume irq_info[*].evtchn is reset to 0 since event channel mappings\nare not preserved over suspend/resume. The other contents of irq_info\nis preserved to allow rebind_evtchn_irq() to function.\n\nHowever when a device resumes it will try to unbind from the\nprevious IRQ (e.g.  blkfront goes blkfront_resume() -\u003e blkif_free() -\u003e\nunbind_from_irqhandler() -\u003e unbind_from_irq()). This will fail due to the\ncheck for VALID_EVTCHN in unbind_from_irq() and the IRQ is leaked. The\ndevice will then continue to resume and allocate a new IRQ, eventually\nleading to find_unbound_irq() panic()ing.\n\nFix this by changing unbind_from_irq() to handle teardown of interrupts\nwhich have type!\u003dIRQT_UNBOUND but are not currently bound to a specific\nevent channel.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c",
      "tree": "04c93f391a1b65c8bf8d7ba8643c07d26c26590a",
      "parents": [
        "a76761b621bcd8336065c4fe3a74f046858bc34c",
        "142d44b0dd6741a64a7bdbe029110e7c1dcf1d23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:41:02 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:45:31 2009 +0900"
      },
      "message": "Merge branch \u0027percpu-for-linus\u0027 into percpu-for-next\n\nConflicts:\n\tarch/sparc/kernel/smp_64.c\n\tarch/x86/kernel/cpu/perf_counter.c\n\tarch/x86/kernel/setup_percpu.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tmm/percpu.c\n\nConflicts in core and arch percpu codes are mostly from commit\ned78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many\nnum_possible_cpus() with nr_cpu_ids.  As for-next branch has moved all\nthe first chunk allocators into mm/percpu.c, the changes are moved\nfrom arch code to mm/percpu.c.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a70c352a37671fe1ebcbd317b439aa4760f4ccb7",
      "tree": "9a66d403f6e4302f8105ecccbb0f42ed072cdb25",
      "parents": [
        "789d03f584484af85dbdc64935270c8e45f36ef7"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jul 01 11:51:18 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 11:19:47 2009 +0200"
      },
      "message": "xen: Use kcalloc() in xen_init_IRQ()\n\nThe init_IRQ() function is now called with slab allocator initialized.\nTherefore, we must not use the bootmem allocator in xen_init_IRQ().\n\nFixes the following boot-time warning:\n\n  ------------[ cut here ]------------\n  WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x27/0x45()\n  Modules linked in:\n  Pid: 0, comm: swapper Not tainted 2.6.30 #1\n  Call Trace:\n   [\u003cffffffff8102d6e3\u003e] ? warn_slowpath_common+0x73/0xb0\n   [\u003cffffffff810210d9\u003e] ? pvclock_clocksource_read+0x49/0x90\n   [\u003cffffffff812e522f\u003e] ? alloc_arch_preferred_bootmem+0x27/0x45\n   [\u003cffffffff812e5761\u003e] ? ___alloc_bootmem_nopanic+0x39/0xc9\n   [\u003cffffffff812e57fa\u003e] ? ___alloc_bootmem+0x9/0x2f\n   [\u003cffffffff812e9e21\u003e] ? xen_init_IRQ+0x25/0x61\n   [\u003cffffffff812d69ee\u003e] ? start_kernel+0x1b5/0x29e\n  ---[ end trace 4eaa2a86a8e2da22 ]---\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nReported-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: lists@nerdbynature.de\nCc: jeremy.fitzhardinge@citrix.com\nLKML-Reference: \u003c1246438278.22417.28.camel@penberg-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "245b2e70eabd797932adb263a65da0bab3711753",
      "tree": "30f0b790dadd2b70bf06e534abcf66a76e97b05a",
      "parents": [
        "b9bf3121af348d9255f1c917830fe8c2df52efcb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:48 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:48 2009 +0900"
      },
      "message": "percpu: clean up percpu variable definitions\n\nPercpu variable definition is about to be updated such that all percpu\nsymbols including the static ones must be unique.  Update percpu\nvariable definitions accordingly.\n\n* as,cfq: rename ioc_count uniquely\n\n* cpufreq: rename cpu_dbs_info uniquely\n\n* xen: move nesting_count out of xen_evtchn_do_upcall() and rename it\n\n* mm: move ratelimits out of balance_dirty_pages_ratelimited_nr() and\n  rename it\n\n* ipv4,6: rename cookie_scratch uniquely\n\n* x86 perf_counter: rename prev_left to pmc_prev_left, irq_entry to\n  pmc_irq_entry and nmi_entry to pmc_nmi_entry\n\n* perf_counter: rename disable_count to perf_disable_count\n\n* ftrace: rename test_event_disable to ftrace_test_event_disable\n\n* kmemleak: rename test_pointer to kmemleak_test_pointer\n\n* mce: rename next_interval to mce_next_interval\n\n[ Impact: percpu usage cleanups, no duplicate static percpu var names ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: linux-mm \u003clinux-mm@kvack.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\n"
    },
    {
      "commit": "204fba4aa303ea4a7bb726a539bf4a5b9e3203d0",
      "tree": "899707e00035f1ec83077c16a7f559ecbcc36986",
      "parents": [
        "fe87f94f341a4b4097285b46f003059b26eb59bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:45 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:45 2009 +0900"
      },
      "message": "percpu: cleanup percpu array definitions\n\nCurrently, the following three different ways to define percpu arrays\nare in use.\n\n1. DEFINE_PER_CPU(elem_type[array_len], array_name);\n2. DEFINE_PER_CPU(elem_type, array_name[array_len]);\n3. DEFINE_PER_CPU(elem_type, array_name)[array_len];\n\nUnify to #1 which correctly separates the roles of the two parameters\nand thus allows more flexibility in the way percpu variables are\ndefined.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: linux-mm@kvack.org\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be15f9d63b97da0065187696962331de6cd9de9e",
      "tree": "cc85c72e92afccfdcdfa851c4694a93f4ea22b84",
      "parents": [
        "595dc54a1da91408a52c4b962f3deeb1109aaca0",
        "a789ed5fb6d0256c4177c2cc27e06520ddbe4d4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:27 2009 -0700"
      },
      "message": "Merge branch \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (42 commits)\n  xen: cache cr0 value to avoid trap\u0027n\u0027emulate for read_cr0\n  xen/x86-64: clean up warnings about IST-using traps\n  xen/x86-64: fix breakpoints and hardware watchpoints\n  xen: reserve Xen start_info rather than e820 reserving\n  xen: add FIX_TEXT_POKE to fixmap\n  lguest: update lazy mmu changes to match lguest\u0027s use of kvm hypercalls\n  xen: honour VCPU availability on boot\n  xen: add \"capabilities\" file\n  xen: drop kexec bits from /sys/hypervisor since kexec isn\u0027t implemented yet\n  xen/sys/hypervisor: change writable_pt to features\n  xen: add /sys/hypervisor support\n  xen/xenbus: export xenbus_dev_changed\n  xen: use device model for suspending xenbus devices\n  xen: remove suspend_cancel hook\n  xen/dev-evtchn: clean up locking in evtchn\n  xen: export ioctl headers to userspace\n  xen: add /dev/xen/evtchn driver\n  xen: add irq_from_evtchn\n  xen: clean up gate trap/interrupt constants\n  xen: set _PAGE_NX in __supported_pte_mask before pagetable construction\n  ...\n"
    },
    {
      "commit": "85ac16d033370caf6f48d743c8dc8103700f5cc5",
      "tree": "04a73af31c07a8ad29780b777b3f9d041fa236fa",
      "parents": [
        "57b150cce8e004ddd36330490a68bfb59b7271e9"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Apr 27 18:00:38 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 28 12:21:17 2009 +0200"
      },
      "message": "x86/irq: change irq_desc_alloc() to take node instead of cpu\n\nThis simplifies the node awareness of the code. All our allocators\nonly deal with a NUMA node ID locality not with CPU ids anyway - so\nthere\u0027s no need to maintain (and transform) a CPU id all across the\nIRq layer.\n\nv2: keep move_irq_desc related\n\n[ Impact: cleanup, prepare IRQ code to be NUMA-aware ]\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nLKML-Reference: \u003c49F65536.2020300@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5dedd4507d307eb3f35f21b6e16f336fdc0d82a",
      "tree": "2c31b00395bde49ec4c5a415b081daaec44d3dab",
      "parents": [
        "fcef5911c7ea89b80d5bfc727f402f37c9eefd57"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Apr 27 17:59:21 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 28 12:21:16 2009 +0200"
      },
      "message": "irq: change -\u003eset_affinity() to return status\n\naccording to Ingo, change set_affinity() in irq_chip should return int,\nbecause that way we can handle failure cases in a much cleaner way, in\nthe genirq layer.\n\nv2: fix two typos\n\n[ Impact: extend API ]\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: linux-arch@vger.kernel.org\nLKML-Reference: \u003c49F654E9.4070809@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4c045364d3107603187f21a56ec231e74d26441",
      "tree": "b182dcd46168c14f4a97f5c891b8ea1fe51008d1",
      "parents": [
        "6d02c42698f99eccb290ac53d4f10ca883b9f90c"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 06 19:20:31 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:26:49 2009 -0700"
      },
      "message": "xen: add irq_from_evtchn\n\nGiven an evtchn, return the corresponding irq.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "90af9514ac99f51e81682c7bec8f9fb88a17a95c",
      "tree": "479e22492c5821e4386f1a258fa6ea92cde05ad4",
      "parents": [
        "3445a8fd7c6868bd9db0d1bea7d6e89004552122"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@eu.citrix.com",
        "time": "Fri Feb 06 16:55:58 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:18:22 2009 +0100"
      },
      "message": "xen: explicitly initialise the cpu field of irq_info\n\nI was seeing a very odd crash on 64 bit in bind_evtchn_to_cpu because\ncpu_from_irq(irq) was coming out as -1. I found this was coming direct\nfrom the mk_ipi_info call.\n\nIt\u0027s not clear to me that this isn\u0027t a compiler bug (implicit\ninitialisation to zero of unsigned shorts in a struct not handled\ncorrectly?).\n\nOn the other hand is it true that all event channels start of bound to\nCPU 0? If not then -1 might be correct and the various other functions\nshould cope with this.\n\nSigned-off-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3445a8fd7c6868bd9db0d1bea7d6e89004552122",
      "tree": "e702ab02c72392cda5ee80e8cc12db60e2b0f271",
      "parents": [
        "d77bbd4db475e2edc78edb7f94a258159c140b54"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Feb 06 14:09:46 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:18:09 2009 +0100"
      },
      "message": "xen: make sure that softirqs get handled at the end of event processing\n\nMake sure that irq_enter()/irq_exit() wrap the entire event processing\nloop, rather than each individual event invokation.  This makes sure\nthat softirq processing is deferred until the end of event processing,\nrather than in the middle with interrupts disabled.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d77bbd4db475e2edc78edb7f94a258159c140b54",
      "tree": "8dfa75977211479a73faac5371a548a3e521bd1e",
      "parents": [
        "ced40d0f3e8833bb8d7d8e2cbfac7da0bf7008c4"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Feb 06 14:09:45 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:18:00 2009 +0100"
      },
      "message": "xen: remove irq bindcount\n\nThere should be no need for us to maintain our own bind count for\nirqs, since the surrounding irq system should keep track of shared\nirqs for us.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ced40d0f3e8833bb8d7d8e2cbfac7da0bf7008c4",
      "tree": "980247c2e6e3a48f7b1f1447af172da0f7de9800",
      "parents": [
        "792dc4f6cdacf50d3f2b93756d282fc04ee34bd5"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Feb 06 14:09:44 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:17:45 2009 +0100"
      },
      "message": "xen: pack all irq-related info together\n\nPut all irq info into one struct.  Also, use a union to keep\nevent channel type-specific information, rather than overloading the\nindex field.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "792dc4f6cdacf50d3f2b93756d282fc04ee34bd5",
      "tree": "c65e8bc1324e5ba62b268bcd1fbe1b4b90342ecd",
      "parents": [
        "eca217b36e5d7d4377493d5cedd89105e66a5a72"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Feb 06 14:09:43 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:17:30 2009 +0100"
      },
      "message": "xen: use our own eventchannel-\u003eirq path\n\nRather than overloading vectors for event channels, take full\nresponsibility for mapping an event channel to irq directly.  With\nthis patch Xen has its own irq allocator.\n\nWhen the kernel gets an event channel upcall, it maps the event\nchannel number to an irq and injects it into the normal interrupt\npath.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54a353a0f845c1dad5fc8183872e750d667838ac",
      "tree": "27f33a6ca7fd1eb21f43716141406bdfa3f648cc",
      "parents": [
        "7c1d7cdcef1b54f4a78892b6b99d19f12c4f398e"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri Feb 06 14:09:42 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 12:16:15 2009 +0100"
      },
      "message": "xen: set irq_chip disable\n\nBy default, the irq_chip.disable operation is a no-op.  Explicitly set\nit to disable the Xen event channel.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28e08861b9afab4168b758fb7b95aa7a4da0f668",
      "tree": "63e7ecdc2f47dab32ff5c4caabbf2bbbe0e24087",
      "parents": [
        "92296c6d6e908c35fca287a21af27be814af9c75"
      ],
      "author": {
        "name": "Christophe Saout",
        "email": "christophe@saout.de",
        "time": "Sun Jan 11 11:46:23 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 12 09:50:34 2009 +0100"
      },
      "message": "xen: fix too early kmalloc call\n\nImpact: fix bootup crash on xen guests\n\nSLAB is not yet up, with earlyprintk it is giving me an Oops in __kmalloc.\n\nReplace call to kmalloc() with alloc_bootmem().\n\nReported-by: Christophe Saout \u003cchristophe@saout.de\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7a3589e7a1f8fdbd2536fe1bfa60b37f5121c69",
      "tree": "facf804f00b7de20fd5d79dde7e46c78e3b1ed5c",
      "parents": [
        "d38b223c86db3162dc85b5a1997ac8a210e1660b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 21:58:11 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:25 2009 +0100"
      },
      "message": "Xen: reduce memory required for cpu_evtchn_mask\n\nImpact: reduce memory usage.\n\nReduce this significant gain in the amount of memory used\nwhen NR_CPUS bumped from 128 to 4096 by allocating the\narray based on nr_cpu_ids:\n\n    65536  +2031616   2097152 +3100%  cpu_evtchn_mask(.bss)\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: virtualization@lists.osdl.org\nCc: xen-devel@lists.xensource.com\n"
    },
    {
      "commit": "7f7ace0cda64c99599c23785f8979a072e118058",
      "tree": "13f2826e64e09ebaef94a3e7fd9c21cfbd31ec3f",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 21:58:08 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:12:46 2009 +0100"
      },
      "message": "cpumask: update irq_desc to use cpumask_var_t\n\nImpact: reduce memory usage, use new cpumask API.\n\nReplace the affinity and pending_masks with cpumask_var_t\u0027s.  This adds\nto the significant size reduction done with the SPARSE_IRQS changes.\n\nThe added functions (init_alloc_desc_masks \u0026 init_copy_desc_masks) are\nin the include file so they can be inlined (and optimized out for the\n!CONFIG_CPUMASKS_OFFSTACK case.)  [Naming chosen to be consistent with\nthe other init*irq functions, as well as the backwards arg declaration\nof \"from, to\" instead of the more common \"to, from\" standard.]\n\nIncludes a slight change to the declaration of struct irq_desc to embed\nthe pending_mask within ifdef(CONFIG_SMP) to be consistent with other\nreferences, and some small changes to Xen.\n\nTested: sparse/non-sparse/cpumask_offstack/non-cpumask_offstack/nonuma/nosmp on x86_64\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: virtualization@lists.osdl.org\nCc: xen-devel@lists.xensource.com\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\n"
    },
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "18eefedfe8ad33e8fc7614c13359e29a9fab4644",
      "tree": "e0b7c801c27a3933137e7e4056a3bca3c3244744",
      "parents": [
        "26ddd8d5cac8a563953d5febe8c6e40909f7bce1"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Dec 26 12:29:48 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 09:48:18 2008 +0100"
      },
      "message": "irq: simplify for_each_irq_desc() usage\n\nImpact: cleanup\n\nall for_each_irq_desc() usage point have !desc check.\nthen its check can move into for_each_irq_desc() macro.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f8a0ed4e5d86c01db5e7e3f95d9003b7cf9cb87",
      "tree": "298852a7032f6c99773690a2e6e3f6f0f090ed6c",
      "parents": [
        "17483a1f34c970e6c2cb8c082d4441bfabbe88a9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Dec 17 13:42:29 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 12:48:29 2008 +0100"
      },
      "message": "sparseirq, xen: make sure irq_desc is allocated for interrupts\n\nImpact: fix crash\n\nMake sure all Xen irqs have an irq_desc.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "968ea6d80e395cf11a51143cfa1b9a14ada676df",
      "tree": "dc2acec8c9bdced33afe1e273ee5e0b0b93d2703",
      "parents": [
        "7be7585393d311866653564fbcd10a3232773c0b",
        "8299608f140ae321e4eb5d1306184265d2b9511e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "message": "Merge ../linux-2.6-x86\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n\tkernel/sched.c\n\tkernel/sched_stats.h\n"
    },
    {
      "commit": "0de26520c7cabf36e1de090ea8092f011a6106ce",
      "tree": "3d02e509b6315fdfd9cdb8c9e0b9ed0a30cf9384",
      "parents": [
        "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: make irq_set_affinity() take a const struct cpumask\n\nImpact: change existing irq_chip API\n\nNot much point with gentle transition here: the struct irq_chip\u0027s\nsetaffinity method signature needs to change.\n\nFortunately, not widely used code, but hits a few architectures.\n\nNote: In irq_select_affinity() I save a temporary in by mangling\nirq_desc[irq].affinity directly.  Ingo, does this break anything?\n\n(Folded in fix from KOSAKI Motohiro)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: ralf@linux-mips.org\nCc: grundler@parisc-linux.org\nCc: jeremy@xensource.com\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n"
    },
    {
      "commit": "0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac",
      "tree": "239251bad791fd60af8c0f2ba365b7188395c83f",
      "parents": [
        "218d11a8b071b23b76c484fd5f72a4fe3306801e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 05 18:58:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 14:31:51 2008 +0100"
      },
      "message": "sparse irq_desc[] array: core kernel and x86 changes\n\nImpact: new feature\n\nProblem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with\nNR_CPUS set to large values. The goal is to be able to scale up to much\nlarger NR_IRQS value without impacting the (important) common case.\n\nTo solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of\nirq_desc pointers.\n\nWhen CONFIG_SPARSE_IRQ\u003dy is used, we use kzalloc_node to get irq_desc,\nthis also makes the IRQ descriptors NUMA-local (to the site that calls\nrequest_irq()).\n\nThis gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now\nuses desc-\u003echip_data for x86 to store irq_cfg.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff3c536291ce96ef6f45704cd37eaed71127dd42",
      "tree": "632739e0f77e8fd88cabc23e0fcb0d2cc923aed1",
      "parents": [
        "75909fd619d15400e7c6d0fc3af09838ee8b166e"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Tue Oct 14 17:50:44 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 21:54:37 2008 +0200"
      },
      "message": "xen: compilation fix of drivers/xen/events.c on IA64\n\nuse set_xen_guest_handle() instead of direct assigning.\n\n\u003e linux-2.6/drivers/xen/events.c: In function \u0027xen_poll_irq\u0027:\n\u003e linux-2.6/drivers/xen/events.c:757: error: incompatible types in assignment\n\u003e make[4]: *** [drivers/xen/events.o] Error 1\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10e580842ec8e53dddf62e1ab1871f4906477376",
      "tree": "5793b45755f21f578ff4b06a3a3546b3de5eb8f4",
      "parents": [
        "2be3b52a5785a6a5c5349fbd315f57595f7074be"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 16 14:19:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:30 2008 +0200"
      },
      "message": "genirq: use iterators for irq_desc loops\n\nUse for_each_irq_desc[_reverse] for all the iteration loops.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2b46b37de73296018da02c2a421ac2a9cbccfa9f",
      "tree": "58751acf11501ba9a755bae9ed689898e1f75291",
      "parents": [
        "9d6a4d0823b3b8e29156f5e698b5a68687afad32"
      ],
      "author": {
        "name": "Alex Nixon",
        "email": "alex.nixon@citrix.com",
        "time": "Tue Aug 19 20:50:53 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:58 2008 +0200"
      },
      "message": "xen: fix memory access violation bug when CONFIG_HAVE_SPARSE_IRQ is enabled\n\nWhen sparse IRQs are enabled, it is not safe to assume an IRQ descriptor\nexists for every possible IRQ.  This patch causes init_evtchn_cpu_bindings\nto skip initialisation of IRQ descriptors which don\u0027t exist.\n\nSigned-off-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08678b0841267c1d00d771fe01548d86043d065e",
      "tree": "7debb21f9e9a768ced43077f7376797a0c46f8c0",
      "parents": [
        "bfea1238beac9d306eeac081c67de5ca6aec4c7a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:29 2008 +0200"
      },
      "message": "generic: sparse irqs: use irq_desc() together with dyn_array, instead of irq_desc[]\n\nadd CONFIG_HAVE_SPARSE_IRQ to for use condensed array.\nGet rid of irq_desc[] array assumptions.\n\nPreallocate 32 irq_desc, and irq_desc() will try to get more.\n\n( No change in functionality is expected anywhere, except the odd build\n  failure where we missed a code site or where a crossing commit itroduces\n  new irq_desc[] usage. )\n\nv2: according to Eric, change get_irq_desc() to irq_desc()\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a15d7e85582fa84cbd01c6dcc5d927b43fddff4",
      "tree": "bf06f61efe01f476f513865e65c5d1383fa73d6d",
      "parents": [
        "da27c118eb4f87f27ae8da2635b916daedf7264f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:57 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:07 2008 +0200"
      },
      "message": "drivers/xen: use nr_irqs\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d68d82afd4c88e25763b23cd9cd4974573a3706f",
      "tree": "42a3fb93a5cef70db7ad01fda1ed0dc68dbe6110",
      "parents": [
        "8227dce7dc2cfdcc28ee0eadfb482a7ee77fba03"
      ],
      "author": {
        "name": "Alex Nixon",
        "email": "alex.nixon@citrix.com",
        "time": "Fri Aug 22 11:52:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 25 11:25:14 2008 +0200"
      },
      "message": "xen: implement CPU hotplugging\n\nNote the changes from 2.6.18-xen CPU hotplugging:\n\nA vcpu_down request from the remote admin via Xenbus both hotunplugs the\nCPU, and disables it by removing it from the cpu_present map, and removing\nits entry in /sys.\n\nA vcpu_up request from the remote admin only re-enables the CPU, and does\nnot immediately bring the CPU up. A udev event is emitted, which can be\ncaught by the user if he wishes to automatically re-up CPUs when available,\nor implement a more complex policy.\n\nSigned-off-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "168d2f464ab9860f0d1e66cf1f9684973222f1c6",
      "tree": "c3a4199cf2aa4c6322b7860c431fd5bfdc4220ef",
      "parents": [
        "7708ad64a24a674f7905aa7a5099a50f055debec"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Aug 20 17:02:18 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 13:52:57 2008 +0200"
      },
      "message": "xen: save previous spinlock when blocking\n\nA spinlock can be interrupted while spinning, so make sure we preserve\nthe previous lock of interest if we\u0027re taking a lock from within an\ninterrupt handler.\n\nWe also need to deal with the case where the blocking path gets\ninterrupted between testing to see if the lock is free and actually\nblocking.  If we get interrupted there and end up in the state where\nthe lock is free but the irq isn\u0027t pending, then we\u0027ll block\nindefinitely in the hypervisor.  This fix is to make sure that any\nnested lock-takers will always leave the irq pending if there\u0027s any\nchance the outer lock became free.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d1edf46ba229b46efacf75c0544b88c05a7b266",
      "tree": "a26262e9f4e85ba7150dfa4e06998a37daa6a984",
      "parents": [
        "eac4345be6d17541039791f15f173d0426423df1"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 28 11:53:57 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 12:39:39 2008 +0200"
      },
      "message": "xen: compile irq functions without -pg for ftrace\n\nFor some reason I managed to miss a bunch of irq-related functions\nwhich also need to be compiled without -pg when using ftrace.  This\npatch moves them into their own file, and starts a cleanup process\nI\u0027ve been meaning to do anyway.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: \"Alex Nixon (Intern)\" \u003cAlex.Nixon@eu.citrix.com\u003e\nCc: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d9e1e2f58b5612aa4eab0ab54c84308a29dbd79",
      "tree": "08e91f7f485a8fa8ec2515f8c706870c0d44044b",
      "parents": [
        "56397f8dadb40055479a8ffff23f21a890098a31"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 07 12:07:53 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 11:15:53 2008 +0200"
      },
      "message": "xen: implement Xen-specific spinlocks\n\nThe standard ticket spinlocks are very expensive in a virtual\nenvironment, because their performance depends on Xen\u0027s scheduler\ngiving vcpus time in the order that they\u0027re supposed to take the\nspinlock.\n\nThis implements a Xen-specific spinlock, which should be much more\nefficient.\n\nThe fast-path is essentially the old Linux-x86 locks, using a single\nlock byte.  The locker decrements the byte; if the result is 0, then\nthey have the lock.  If the lock is negative, then locker must spin\nuntil the lock is positive again.\n\nWhen there\u0027s contention, the locker spin for 2^16[*] iterations waiting\nto get the lock.  If it fails to get the lock in that time, it adds\nitself to the contention count in the lock and blocks on a per-cpu\nevent channel.\n\nWhen unlocking the spinlock, the locker looks to see if there\u0027s anyone\nblocked waiting for the lock by checking for a non-zero waiter count.\nIf there\u0027s a waiter, it traverses the per-cpu \"lock_spinners\"\nvariable, which contains which lock each CPU is waiting on.  It picks\none CPU waiting on the lock and sends it an event to wake it up.\n\nThis allows efficient fast-path spinlock operation, while allowing\nspinning vcpus to give up their processor time while waiting for a\ncontended lock.\n\n[*] 2^16 iterations is threshold at which 98% locks have been taken\naccording to Thomas Friebel\u0027s Xen Summit talk \"Preventing Guests from\nSpinning Around\".  Therefore, we\u0027d expect the lock and unlock slow\npaths will only be entered 2% of the time.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003cclameter@linux-foundation.org\u003e\nCc: Petr Tesarik \u003cptesarik@suse.cz\u003e\nCc: Virtualization \u003cvirtualization@lists.linux-foundation.org\u003e\nCc: Xen devel \u003cxen-devel@lists.xensource.com\u003e\nCc: Thomas Friebel \u003cthomas.friebel@amd.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6673cf63e5d973db5145d1f48b354efcb9fe2a13",
      "tree": "aaaf1b61ff1313d141415127b8d28b873b50a80e",
      "parents": [
        "688d22e23ab1caacb2c36c615854294b58f2ea47"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Mon Jun 16 14:58:13 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 14:55:10 2008 +0200"
      },
      "message": "xen: Use wmb instead of rmb in xen_evtchn_do_upcall().\n\nThis patch is ported one from 534:77db69c38249 of linux-2.6.18-xen.hg.\nUse wmb instead of rmb to enforce ordering between\nevtchn_upcall_pending and evtchn_pending_sel stores\nin xen_evtchn_do_upcall().\n\nCc: Samuel Thibault \u003csamuel.thibault@eu.citrix.com\u003e\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: the arch/x86 maintainers \u003cx86@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58",
      "tree": "c6a3b31b7bcbbfb55bb2304d8651abdd28cdad54",
      "parents": [
        "7d88d32a4670af583c896e5ecd3929b78538ca62"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:27 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:38 2008 +0200"
      },
      "message": "xen: implement save/restore\n\nThis patch implements Xen save/restore and migration.\n\nSaving is triggered via xenbus, which is polled in\ndrivers/xen/manage.c.  When a suspend request comes in, the kernel\nprepares itself for saving by:\n\n1 - Freeze all processes.  This is primarily to prevent any\n    partially-completed pagetable updates from confusing the suspend\n    process.  If CONFIG_PREEMPT isn\u0027t defined, then this isn\u0027t necessary.\n\n2 - Suspend xenbus and other devices\n\n3 - Stop_machine, to make sure all the other vcpus are quiescent.  The\n    Xen tools require the domain to run its save off vcpu0.\n\n4 - Within the stop_machine state, it pins any unpinned pgds (under\n    construction or destruction), performs canonicalizes various other\n    pieces of state (mostly converting mfns to pfns), and finally\n\n5 - Suspend the domain\n\nRestore reverses the steps used to save the domain, ending when all\nthe frozen processes are thawed.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0f2287ad7c61f10b2a22a06e2a66cdbbbfc44ad0",
      "tree": "c3844837fdcdb1ab2c3dbea3b9cc9695b5aa7143",
      "parents": [
        "eb1e305f4ef201e549ffd475b7dcbcd4ec36d7dc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:24 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:37 2008 +0200"
      },
      "message": "xen: fix unbind_from_irq()\n\nRearrange the tests in unbind_from_irq() so that we can still unbind\nan irq even if the underlying event channel is bad.  This allows a\ndevice driver to shuffle its irqs on save/restore before the\nunderlying event channels have been fixed up.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eb1e305f4ef201e549ffd475b7dcbcd4ec36d7dc",
      "tree": "078c5acb7d6ca6e3f24b45c5d4a660abcdc75202",
      "parents": [
        "d5edbc1f75420935b1ec7e65df10c8f81cea82de"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:23 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:37 2008 +0200"
      },
      "message": "xen: add rebind_evtchn_irq\n\nAdd rebind_evtchn_irq(), which will rebind an device driver\u0027s existing\nirq to a new event channel on restore.  Since the new event channel\nwill be masked and bound to vcpu0, we update the state accordingly and\nunmask the irq once everything is set up.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "642e0c882cd5369429c833d97e4804c8be473e8a",
      "tree": "c9032832801bd68379b30983ce61fd80f823adb0",
      "parents": [
        "e849c3e9e0b786619c451d89ef0c47ac9a28fbc1"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:57 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: add resend_irq_on_evtchn() definition into events.c\n\nDefine resend_irq_on_evtchn() which ia64/xen uses.\nAlthough it isn\u0027t used by current x86/xen code, it\u0027s arch generic\nso that put it into common code.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e849c3e9e0b786619c451d89ef0c47ac9a28fbc1",
      "tree": "bc3500d40095c2f868e2efca4918b73a6b0a1090",
      "parents": [
        "e04d0d0767a9c272d3c7300fb7a5221c5e3a71eb"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "Xen: make events.c portable for ia64/xen support\n\nRemove x86 dependency in drivers/xen/events.c for ia64/xen support\nintroducing include/asm/xen/events.h.\nIntroduce xen_irqs_disabled() to hide regs-\u003eflags\nIntroduce xen_do_IRQ() to hide regs-\u003eorig_ax.\nmake enum ipi_vector definition arch specific. ia64/xen needs four vectors.\nAdd one rmb() because on ia64 xchg() isn\u0027t barrier.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e04d0d0767a9c272d3c7300fb7a5221c5e3a71eb",
      "tree": "41316aa05a218fcce5d619c11a57242c4f488d55",
      "parents": [
        "af711cda4f94b5fddcdc5eb4134387ae026e3171"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: move events.c to drivers/xen for IA64/Xen support\n\nmove arch/x86/xen/events.c undedr drivers/xen to share codes\nwith x86 and ia64. And minor adjustment to compile.\nia64/xen also uses events.c\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "229664bee6126e01f8662976a5fe2e79813b77c8",
      "tree": "1e7d2fc69bae4a941952c00fa20f5746d07c0256",
      "parents": [
        "ee8fa1c67f0b873a324960f0ca9fa1d7e49aa86b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Mar 17 16:37:20 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: short-cut for recursive event handling\n\nIf an event comes in while events are currently being processed, then\njust increment the counter and have the outer event loop reprocess the\npending events.  This prevents unbounded recursion on heavy event\nloads (of course massive event storms will cause infinite loops).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee8fa1c67f0b873a324960f0ca9fa1d7e49aa86b",
      "tree": "82b011027eea390ed345cb73a95dcf8962f030d0",
      "parents": [
        "ee523ca1e456d754d66be6deab910131e4e1dbf8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Mar 17 16:37:19 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: make sure retriggered events are set pending\n\nretrigger_dynirq() was incomplete, and didn\u0027t properly set the event\nto be pending again.  It doesn\u0027t seem to actually get used.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee523ca1e456d754d66be6deab910131e4e1dbf8",
      "tree": "346c3bf4f701a07b124af72a3da4577b2e5dcb3b",
      "parents": [
        "e2a81baf6604a2e08e10c7405b0349106f77c8af"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Mar 17 16:37:18 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: implement a debug-interrupt handler\n\nXen supports the notion of a debug interrupt which can be triggered\nfrom the console.  For now this is implemented to show pending events,\nmasks and each CPU\u0027s pending event set.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "75604d7f7f1ee93e4d19d9e19f4497b7ed842f2a",
      "tree": "ca8f9af34d70e237b78ca47c225fbbbbe1a64fac",
      "parents": [
        "56c4da454de1264e381256f658f61b9ef690dd21"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jan 30 13:31:17 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:17 2008 +0100"
      },
      "message": "x86: remove all definitions with fastcall\n\nfastcall is always defined to be empty, remove it from arch/x86\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "65ea5b0349903585bfed9720fa06f5edb4f1cd25",
      "tree": "6c252228c34416b7e2077f23475de34500c2ab8a",
      "parents": [
        "53756d3722172815f52272b28c6d5d5e9639adde"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 30 13:30:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:56 2008 +0100"
      },
      "message": "x86: rename the struct pt_regs members for 32/64-bit consistency\n\nWe have a lot of code which differs only by the naming of specific\nmembers of structures that contain registers.  In order to enable\nadditional unifications, this patch drops the e- or r- size prefix\nfrom the register names in struct pt_regs, and drops the x- prefixes\nfor segment registers on the 32-bit side.\n\nThis patch also performs the equivalent renames in some additional\nplaces that might be candidates for unification in the future.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7c2399756ab8ccb2c57da4630b4aa4a1d61b3846",
      "tree": "d201140b6c42c92a1f283707861e824935ea0e39",
      "parents": [
        "f07ef395ad4cd050e695edfec217ceb2158220a3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 19 03:12:20 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 23 19:53:17 2007 -0400"
      },
      "message": "[SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate\n\nRather than hand-rolling our own prototype, make the code more\nfuture-proof by using the standard irq_handler_t typedef.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "9702785a747aa27baf46ff504beab6528f21f2dd",
      "tree": "ab69d6f802f5b680c33999dc089e44982c74595d",
      "parents": [
        "334e621a01f86d5bc25e4f742e1eaae6e2d2a97a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:16:51 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:16:51 2007 +0200"
      },
      "message": "i386: move xen\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d1b87530e7df5c9541a69910ef7f786f034eca0",
      "tree": "9c8b4516187d3d4d55bf4946b07390bc8a0e9415",
      "parents": [
        "d2eea68e7db759ce67807b42b7407236cccfde71"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jul 20 00:31:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 08:44:19 2007 -0700"
      },
      "message": "arch/i386/xen/events.c should #include \u003casm/xen/hypervisor.h\u003e\n\nEvery file should include the headers containing the prototypes for\nits global functions.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b536b4b9623084d86f2b1f19cb44a2d6d74f00bf",
      "tree": "86c1981309dbd8b9bf120d4ddba50abd105af89a",
      "parents": [
        "8b84ad942b534f8faeb34b68f0f7277ea375fed0"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: use the hvc console infrastructure for Xen console\n\nImplement a Xen back-end for hvc console.\n\n* * *\nAdd early printk support via hvc console, enable using\n\"earlyprintk\u003dxen\" on the kernel command line.\n\nFrom: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "f87e4cac4f4e940b328d3deb5b53e642e3881f43",
      "tree": "7409f86561e5f97459378abd2ae21e9a5c82bfea",
      "parents": [
        "ab55028886dd1dd54585f22bf19a00eb23869340"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: SMP guest support\n\nThis is a fairly straightforward Xen implementation of smp_ops.\n\nXen has its own IPI mechanisms, and has no dependency on any\nAPIC-based IPI.  The smp_ops hooks and the flush_tlb_others pv_op\nallow a Xen guest to avoid all APIC code in arch/i386 (the only apic\noperation is a single apic_read for the apic version number).\n\nOne subtle point which needs to be addressed is unpinning pagetables\nwhen another cpu may have a lazy tlb reference to the pagetable. Xen\nwill not allow an in-use pagetable to be unpinned, so we must find any\nother cpus with a reference to the pagetable and get them to shoot\ndown their references.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "e46cdb66c8fc1c8d61cfae0f219ff47ac4b9d531",
      "tree": "7d9cdfef91e69fcfcba762a5a70cd58900308a5b",
      "parents": [
        "3b827c1b3aadf3adb4c602d19863f2d24e7cbc18"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:05 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "xen: event channels\n\nXen implements interrupts in terms of event channels.  Each guest\ndomain gets 1024 event channels which can be used for a variety of\npurposes, such as Xen timer events, inter-domain events,\ninter-processor events (IPI) or for real hardware IRQs.\n\nWithin the kernel, we map the event channels to IRQs, and implement\nthe whole interrupt handling using a Xen irq_chip.\n\nRather than setting NR_IRQ to 1024 under PARAVIRT in order to\naccomodate Xen, we create a dynamic mapping between event channels and\nIRQs.  Ideally, Linux will eventually move towards dynamically\nallocating per-irq structures, and we can use a 1:1 mapping between\nevent channels and irqs.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    }
  ]
}
