)]}'
{
  "log": [
    {
      "commit": "0afe2db21394820d32646a695eccf3fbfe6ab5c7",
      "tree": "6d925383f444a242ebc77d167420efb7e6ad8d99",
      "parents": [
        "d84705969f898f294bc3fc32eca33580f14105bd",
        "43603c8df97f246e8be7b9cc92a8f968a85108bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "message": "Merge branch \u0027x86/unify-cpu-detect\u0027 into x86-v28-for-linus-phase4-D\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/signal_64.c\n\tinclude/asm-x86/cpufeature.h\n"
    },
    {
      "commit": "fb481dd56adf3c5b0993b8f052cc9ba966e3959d",
      "tree": "22312cb77dbc8bf71bc54dff40efad7cf8e2d822",
      "parents": [
        "a5444d15b611cf2ffe2bc52aaf11f2ac51882f89"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Thu Sep 04 13:46:11 2008 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Sep 04 08:42:06 2008 -0700"
      },
      "message": "x86: drop -funroll-loops for csum_partial_64.c\n\nImpact: performance optimization\n\nI did some rebenchmarking with modern compilers and dropping\n-funroll-loops makes the function consistently go faster by a few\npercent.  So drop that flag.\n\nThanks to Richard Guenther for a hint.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "b30a72a7edfc64c8929104d5c2178aca489aa559",
      "tree": "2b26c155c318d08d946bd2d70cf815dcdb29a243",
      "parents": [
        "f1c5d30e1d79bbfb60eaf189db862d3cb2bcac92",
        "c1b362e3b4d331a63915b268a33207311a439d60"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 27 19:17:07 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 27 19:17:07 2008 -0700"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into x86/cpu\n\nConflicts:\n\n\tarch/x86/kernel/cpu/cyrix.c\n"
    },
    {
      "commit": "bdd314616f7218e325aa9637a46159ecba44cfeb",
      "tree": "de3cbbb4aab3bd8344d33c6c5cc262b8d59adfa0",
      "parents": [
        "94d4ac2f4a58c6e37876827c6688c61cef21290c"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:44:03 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 22:45:50 2008 -0700"
      },
      "message": "x86: msr-on-cpu: remove unnecessary level of abstraction\n\nRemove an unnecessary level of abstraction in the msr-on-cpu library.\nAlthough this duplicates some code, the duplicated code is less than\nthe additional code, and this way should be faster.\n\nAdditionally, change the order of the functions to make the regular\nstructure of this file more obvious.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "94d4ac2f4a58c6e37876827c6688c61cef21290c",
      "tree": "732f4e4794f3c116041242f69754637f75c0dd57",
      "parents": [
        "ed21763e7b0b3fb50e4efd9d4bc17ef5b035d304",
        "08970fc4e0385790a7b093adfaa4165a189f9eb0"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 22:45:37 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 22:45:37 2008 -0700"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into x86/cleanups\n"
    },
    {
      "commit": "c6f31932d0a1d2b13952f506ebc92675e2d8df80",
      "tree": "f08e31afb69ca52e8ba8a1cca316b12bd7bec365",
      "parents": [
        "f73be6dedf4fa058ce80846dae604b08fa805ca1"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:27:21 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:45:48 2008 -0700"
      },
      "message": "x86: msr: propagate errors from smp_call_function_single()\n\nPropagate error (-ENXIO) from smp_call_function_single().  These\nerrors can happen when a CPU is unplugged while the MSR driver is\nopen.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "8bfcb3960fde049b863266dab8c3617bb5a541aa",
      "tree": "b658f2337d46d7f818eecc1be1e2ce76f57a32d0",
      "parents": [
        "1a10390708d675ebf1a2f5e169a5165626afbd88"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Mon Aug 18 12:33:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 18 16:05:45 2008 +0200"
      },
      "message": "x86: make movsl_mask definition non-CPU specific\n\nmovsl_mask is currently defined in arch/x86/kernel/cpu/intel.c, which\ncontains code specific to Intel CPUs. However, movsl_mask is used in\nthe non-CPU specific code in arch/x86/lib/usercopy_32.c, which breaks\nthe compilation when support for Intel CPUs is compiled out.\n\nThis patch solves this problem by moving movsl_mask\u0027s definition close\nto its users in arch/x86/lib/usercopy_32.c.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nCc: michael@free-electrons.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3492cdf0176bde5e35223a1388d59676bc67c145",
      "tree": "74447d522913b8fccb62483639d9205fa47d5dcc",
      "parents": [
        "209b580fd8c3a42b69550c98de434671d41a4ebb"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Sat Aug 02 21:25:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 16:53:25 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/string_32.c\n\nBefore:\ntotal: 21 errors, 0 warnings, 237 lines checked\n\nAfter:\ntotal: 0 errors, 0 warnings, 237 lines checked\n\npaolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/string_32.o.*\nc55d059ef1612b32a8bb2771a72ae0d5  /tmp/string_32.o.after\nc55d059ef1612b32a8bb2771a72ae0d5  /tmp/string_32.o.before\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "209b580fd8c3a42b69550c98de434671d41a4ebb",
      "tree": "62a92f811ca89fdc65f7b41cc9dc5c894ad02c5c",
      "parents": [
        "2070dae10f50ec244f58292436ace9a3f9dc1d71"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Sat Aug 02 21:24:45 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 16:53:24 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/strstr_32.c\n\nBefore:\ntotal: 3 errors, 0 warnings, 31 lines checked\n\nAfter:\ntotal: 0 errors, 0 warnings, 31 lines checked\n\npaolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/strstr_32.o.*\nc96006ec3387862e5bacb139207a3098  /tmp/strstr_32.o.after\nc96006ec3387862e5bacb139207a3098  /tmp/strstr_32.o.before\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afd962a9e8708c571c5c0c4a6d098f931742c229",
      "tree": "7aacbe3bb5e34e2515ad55a73bb87766e604761b",
      "parents": [
        "bd3e64c1759e4930315ebf022611468ee9621486"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Wed Jul 30 13:30:14 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 10:10:39 2008 -0700"
      },
      "message": "x86: wrong register was used in align macro\n\nNew ALIGN_DESTINATION macro has sad typo: r8d register was used instead\nof ecx in fixup section. This can be considered as a regression.\n\nRegister ecx was also wrongly loaded with value in r8d in\ncopy_user_nocache routine.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a781a777b2f6ac46523fe92396215762ced624d",
      "tree": "4f34bb4aade85c0eb364b53d664ec7f6ab959006",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "message": "Merge branch \u0027generic-ipi\u0027 into generic-ipi-for-linus\n\nConflicts:\n\n\tarch/powerpc/Kconfig\n\tarch/s390/kernel/time.c\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/cpu/perfctr-watchdog.c\n\tarch/x86/kernel/i8259_64.c\n\tarch/x86/kernel/ldt.c\n\tarch/x86/kernel/nmi_64.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/xen/smp.c\n\tinclude/asm-x86/hw_irq_32.h\n\tinclude/asm-x86/hw_irq_64.h\n\tinclude/asm-x86/mach-default/irq_vectors.h\n\tinclude/asm-x86/mach-voyager/irq_vectors.h\n\tinclude/asm-x86/smp.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5806b81ac1c0c52665b91723fd4146a4f86e386b",
      "tree": "24ea8763bf308ce1407c1de91dc8de4d2655e1c1",
      "parents": [
        "d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8",
        "6712e299b7dc78aa4971b85e803435ee6d49a9dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "message": "Merge branch \u0027auto-ftrace-next\u0027 into tracing/for-linus\n\nConflicts:\n\n\tarch/x86/kernel/entry_32.S\n\tarch/x86/kernel/process_32.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/lib/Makefile\n\tinclude/asm-x86/irqflags.h\n\tkernel/Makefile\n\tkernel/sched.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27cb0a75ba252ea7294d67232c4bbbac3f2b2656",
      "tree": "3a72fbafa37e6222f3bdade4ca7bfdaaab300c35",
      "parents": [
        "e54afe38630e3b577968428f48ed8ef1e13a2a15"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Thu Jul 10 12:52:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 21:55:59 2008 +0200"
      },
      "message": "x86: fix compile error in current tip.git\n\nGas 2.15 complains about 32-bit registers being used in lea.\n\n  AS      arch/x86/lib/copy_user_64.o\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S: Assembler messages:\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:188: Error: `(%edx,%ecx,8)\u0027 is not a valid 64 bit base/index expression\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:257: Error: `(%edx,%ecx,8)\u0027 is not a valid 64 bit base/index expression\n  AS      arch/x86/lib/copy_user_nocache_64.o\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S: Assembler messages:\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S:107: Error: `(%edx,%ecx,8)\u0027 is not a valid 64 bit base/index expression\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad2fc2cd925300b8127cf682f5a1c7511ae9dd27",
      "tree": "0f5acf66a1bbe931739d35583f1a80872bf37155",
      "parents": [
        "1129585a08baf58582c0da91e572cb29e3179acf"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Wed Jul 02 15:53:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 15:51:16 2008 +0200"
      },
      "message": "x86: fix copy_user on x86\n\nSwitch copy_user_generic_string(), copy_user_generic_unrolled() and\n__copy_user_nocache() from custom tail handlers to generic\ncopy_user_tail_handle().\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1129585a08baf58582c0da91e572cb29e3179acf",
      "tree": "8ea03668221455bdeff91f885e4458676a89633b",
      "parents": [
        "de989ef093623ab5259f885f30be699c431d4006"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Wed Jul 02 15:48:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 15:51:03 2008 +0200"
      },
      "message": "x86: introduce copy_user_handle_tail() routine\n\nIntroduce generic C routine for handling necessary tail operations after\nprotection fault in copy_*_user on x86.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cbbc3b1eb37bdc72eefd2de03b39f5e784400c2",
      "tree": "b4e340963f7a4e2d55ff00a14b3d4bca912c85ab",
      "parents": [
        "2528de431ddb200653d1dc6ca90074bad9520f09"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 17:40:14 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:13 2008 +0200"
      },
      "message": "x86: merge putuser asm functions.\n\nputuser_32.S and putuser_64.S are merged into putuser.S.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2528de431ddb200653d1dc6ca90074bad9520f09",
      "tree": "2cce31204c0e6f810bdf8d1d013ea08e931575f7",
      "parents": [
        "efea505d83873cfc8a7cdbb8a2a11d2c67467843"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 17:36:31 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:12 2008 +0200"
      },
      "message": "x86: use macros from asm.h.\n\nIn putuser_32.S and putuser_64.S, replace things like .quad, .long,\nand explicit references to [r|e]ax for the apropriate macros\nin asm/asm.h.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efea505d83873cfc8a7cdbb8a2a11d2c67467843",
      "tree": "51a88066d621bb5750834f92e36a1d572ffb7963",
      "parents": [
        "766ed4282114eab616741107745b0dd11075e496"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:59:05 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:11 2008 +0200"
      },
      "message": "x86: don\u0027t use word-size specifiers in putuser files.\n\nRemove them where unambiguous.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "766ed4282114eab616741107745b0dd11075e496",
      "tree": "70327f17da3cf94adfd9a99230b4e1110f1464ca",
      "parents": [
        "663aa96df32af9c4141ef3179282f95c7537643a"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:56:30 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:10 2008 +0200"
      },
      "message": "x86: replace function headers by macros.\n\nIn putuser_64.S, do it the i386 way, and replace the code\nin beginning and end of functions with macros, since it\u0027s\nalways the same thing. Save lines.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "663aa96df32af9c4141ef3179282f95c7537643a",
      "tree": "fd8856815bea7ef8b6525f498cbc6f7dc2ded28e",
      "parents": [
        "0ada3164031162b4e1b7ff6b36ba8cc80ff7fe96"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:51:59 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:09 2008 +0200"
      },
      "message": "x86: change testing logic in putuser_64.S.\n\nInstead of operating over a register we need to put back\ninto normal state afterwards (the memory position), just\nsub from rbx, which is trashed anyway. We can save a few instructions.\n\nAlso, this is the i386 way.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ada3164031162b4e1b7ff6b36ba8cc80ff7fe96",
      "tree": "630d8811b1291a37dd1c55786a05997f24c05430",
      "parents": [
        "770546b99fb99e71a3aa4181980d42664f9c18bd"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:44:39 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:08 2008 +0200"
      },
      "message": "x86: pass argument to putuser_64 functions in ax register.\n\nThis is consistent with i386 usage.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "770546b99fb99e71a3aa4181980d42664f9c18bd",
      "tree": "46339e76339c08a4ab0513840af18ef42f5b178a",
      "parents": [
        "70706e432ee5618abf59381101d8dea7b8d97a7d"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 15:03:40 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:08 2008 +0200"
      },
      "message": "x86: clobber rbx in putuser_64.S.\n\nInstead of clobbering r8, clobber rbx, which is the i386 way.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "268cf048c890d10bd3a86bd87922ed8a722d502f",
      "tree": "f5ea14b5f422686a537561a37569c40722327d8a",
      "parents": [
        "6c2d458680d49d939ffd4b4cdc84d9e004d65910"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 12:40:55 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:06 2008 +0200"
      },
      "message": "x86: don\u0027t save ebx in putuser_32.S.\n\nClobber it in the inline asm macros, and let the compiler do this for us.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c2d458680d49d939ffd4b4cdc84d9e004d65910",
      "tree": "074be66f819fdf326e8480139a01e489f5a41929",
      "parents": [
        "87e2f1e7f6ab66306320403d4502d7938d3c703e"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 12:05:11 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:05 2008 +0200"
      },
      "message": "x86: merge getuser asm functions.\n\ngetuser_32.S and getuser_64.S are merged into getuser.S.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "87e2f1e7f6ab66306320403d4502d7938d3c703e",
      "tree": "3ab2fb88581cac8568c250093c8f03aebe8bdb1d",
      "parents": [
        "40faf463e62de0b29722910eded7dd26cd8b684b"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 12:02:44 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:04 2008 +0200"
      },
      "message": "x86: use _ASM_PTR instead of explicit word-size pointers.\n\nSwitch .long and .quad with _ASM_PTR in getuser*.S.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "40faf463e62de0b29722910eded7dd26cd8b684b",
      "tree": "ab7a576aec523d750944c53f6c7f340b4a1a3a3a",
      "parents": [
        "ef8c1a2d0e990d0f4f15e1d45eeb262755e3d4c3"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:37:57 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:04 2008 +0200"
      },
      "message": "x86: introduce __ASM_REG macro.\n\nThere are situations in which the architecture wants to use the\nregister that represents its word-size, whatever it is. For those,\nintroduce __ASM_REG in asm.h, along with the first users _ASM_AX\nand _ASM_DX. They have users waiting for it, namely the getuser\nfunctions.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef8c1a2d0e990d0f4f15e1d45eeb262755e3d4c3",
      "tree": "a0d395b587d7093c731373bc6fab42d121b00a1d",
      "parents": [
        "26ccb8a7183eed424ff9c874c83af20dafe7cdef"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:21:53 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:03 2008 +0200"
      },
      "message": "x86: don\u0027t use word-size specifiers on getuser_64.\n\nThe instructions access registers, so the size is unambiguous.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26ccb8a7183eed424ff9c874c83af20dafe7cdef",
      "tree": "b93a78c574e69dfe89fa094e95c43229352a81ab",
      "parents": [
        "9262875395cf22b5a90dd8a640e1070cedf55d0e"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:19:35 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:02 2008 +0200"
      },
      "message": "x86: rename threadinfo to TI.\n\nThis is for consistency with i386.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9262875395cf22b5a90dd8a640e1070cedf55d0e",
      "tree": "81b17b8f280817da70b4225409c65aaf1c824db9",
      "parents": [
        "9aa038815b5756e20a00b8e1efd5740434b37aea"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:13:16 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:01 2008 +0200"
      },
      "message": "x86: adapt x86_64 getuser functions.\n\nInstead of doing a sub after the addition, use the\noffset directly at the memory operand of the mov instructions.\nThis is the way i386 do.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9aa038815b5756e20a00b8e1efd5740434b37aea",
      "tree": "c85b3f1bb351718702b400597f20683eec7ebf21",
      "parents": [
        "edf10162b2c5ad78ada8e63e960f9d0949c6c219"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Jun 13 22:41:51 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:00 2008 +0200"
      },
      "message": "x86: don\u0027t use word-size specifiers.\n\nSince the instructions refer to registers, they\u0027ll be able\nto figure it out.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edf10162b2c5ad78ada8e63e960f9d0949c6c219",
      "tree": "c860cce966d760d230fe56de713093b7eec25df4",
      "parents": [
        "f8dd0d3c62164160c59034a96eb17d69ac8a0328"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Jun 13 16:35:52 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:13:59 2008 +0200"
      },
      "message": "x86: don\u0027t clobber r8 nor use rcx.\n\nThere\u0027s really no reason to clobber r8 or pass the address in rcx.\nWe can safely use only two registers (which we already have to touch anyway)\nto do the job.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f0fbf0abc093ec8bf64506eee4ede9e5daf40ffd",
      "tree": "ca56be34bf193e386591fe5c4bdb3032a28dcad1",
      "parents": [
        "7e58818d32c18197602d1869b22cfda99efd05fe"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jul 03 12:35:41 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:52:05 2008 +0200"
      },
      "message": "x86: integrate delay functions.\n\ndelay_32.c, delay_64.c are now equal, and are integrated into delay.c.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e58818d32c18197602d1869b22cfda99efd05fe",
      "tree": "2ecdee4abda69dad3aefb25c04a81d43081ba01b",
      "parents": [
        "a76febe975997b933b7285b6e20bb0a21c09d453"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 10:21:25 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:52:04 2008 +0200"
      },
      "message": "x86: explicitly use edx in const delay function.\n\nFor x86_64, we can\u0027t just use %0, as it would\ngenerate a mul against rdx, which is not really what we\nwant (note the \"\u003e\u003e 32\" in x86_64 version).\n\nUsing a u64 variable with a shift in i386 generates bad code,\nso the solution is to explicitly use %%edx in inline assembly\nfor both.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a76febe975997b933b7285b6e20bb0a21c09d453",
      "tree": "bc84d0a5b13390f88446bb4d4dca4d61af275b17",
      "parents": [
        "0a4d8a472f645d99f86303db1462b64e371b090d"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 09:52:36 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:52:02 2008 +0200"
      },
      "message": "x86: use rdtscll in read_current_timer for i386.\n\nThis way we achieve the same code for both arches.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a4d8a472f645d99f86303db1462b64e371b090d",
      "tree": "dd6b4b3d4a5cb415b06e8e1625ea811a9012119d",
      "parents": [
        "ff1b15b646177c6cc465ac2dd0be6ae16e965654"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 09:34:08 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:51:41 2008 +0200"
      },
      "message": "x86: provide delay loop for x86_64.\n\nThis is for consistency with i386. We call use_tsc_delay()\nat tsc initialization for x86_64, so we\u0027ll be always using it.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff1b15b646177c6cc465ac2dd0be6ae16e965654",
      "tree": "a075dc50ba34dc1d4bb23d624babd2daf73487c4",
      "parents": [
        "26e9e57b106445bbd8c965985e4e8af5293ae005"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 09:27:19 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:49:27 2008 +0200"
      },
      "message": "x86: don\u0027t use size specifiers.\n\nRemove the \"l\" from inline asm at arch/x86/lib/delay_32.c.\nIt is not needed.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68",
      "tree": "6cb6767064d2d43441212566da2d83dcc9a0cd8e",
      "parents": [
        "490f5de52a87063fcb40e3b22f61b0779603ff6d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 06 11:18:06 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:35 2008 +0200"
      },
      "message": "smp_call_function: get rid of the unused nonatomic/retry argument\n\nIt\u0027s never used and the comments refer to nonatomic and retry\ninterchangably. So get rid of it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "28f73e51d0f64a5b896ad816ab8df6f3bcec5810",
      "tree": "8c51ad5ff74d6ef5d1d68121c9f9aadce836736e",
      "parents": [
        "f3f3149f35b9195ef4b761b1353fc0766b5f53be",
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:30:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:30:10 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/delay\n\nConflicts:\n\n\tarch/x86/kernel/tsc_32.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f34bfb1beef8a17ba3d46b60f8fa19ffedc1ed8d",
      "tree": "0816c565d26ae24854616faa0d497be365c2fe8b",
      "parents": [
        "ee4311adf105f4d740f52e3948acc1d81598afcc",
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:11:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:11:42 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "42a886af728c089df8da1b0017b0e7e6c81b5335",
      "tree": "3c896bd6f64b0107e4085073c30862b215fbc957",
      "parents": [
        "27eaf66b05687a27aaca0c0b9014c2f5c23bd18c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 17 17:47:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 17 17:47:50 2008 -0700"
      },
      "message": "x86-64: Fix \"bytes left to copy\" return value for copy_from_user()\n\nMost users by far do not care about the exact return value (they only\nreally care about whether the copy succeeded in its entirety or not),\nbut a few special core routines actually care deeply about exactly how\nmany bytes were copied from user space.\n\nAnd the unrolled versions of the x86-64 user copy routines would\nsometimes report that it had copied more bytes than it actually had.\n\nVery few uses actually have partial copies to begin with, but to make\nthis bug even harder to trigger, most x86 CPU\u0027s use the \"rep string\"\ninstructions for normal user copies, and that version didn\u0027t have this\nissue.\n\nTo make it even harder to hit, the one user of this that really cared\nabout the return value (and used the uncached version of the copy that\ndoesn\u0027t use the \"rep string\" instructions) was the generic write\nroutine, which pre-populated its source, once more hiding the problem by\navoiding the exception case that triggers the bug.\n\nIn other words, very special thanks to Bron Gondwana who not only\ntriggered this, but created a test-program to show it, and bisected the\nbehavior down to commit 08291429cfa6258c4cd95d8833beb40f828b194e (\"mm:\nfix pagecache write deadlocks\") which changed the access pattern just\nenough that you can now trigger it with \u0027writev()\u0027 with multiple\niovec\u0027s.\n\nThat commit itself was not the cause of the bug, it just allowed all the\nstars to align just right that you could trigger the problem.\n\n[ Side note: this is just the minimal fix to make the copy routines\n  (with __copy_from_user_inatomic_nocache as the particular version that\n  was involved in showing this) have the right return values.\n\n  We really should improve on the exceptional case further - to make the\n  copy do a byte-accurate copy up to the exact page limit that causes it\n  to fail.  As it is, the callers have to do extra work to handle the\n  limit case gracefully. ]\n\nReported-by: Bron Gondwana \u003cbrong@fastmail.fm\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\n (which didn\u0027t have this problem), and since\nmost users that do the carethis was very hard to trigger, but\n"
    },
    {
      "commit": "e01b70ef3eb3080fecc35e15f68cd274c0a48163",
      "tree": "968f1da3d1f60236df49c24943e99bbf84ce81ca",
      "parents": [
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Jiri Hladky",
        "email": "hladky.jiri@googlemail.com",
        "time": "Mon Jun 02 12:00:19 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 17 10:55:47 2008 +0200"
      },
      "message": "x86: fix bug in arch/i386/lib/delay.c file, delay_loop function\n\nwhen trying to understand how Bogomips are implemented I have found a\nbug in arch/i386/lib/delay.c file, delay_loop function.\n\nThe function fails for loops \u003e 2^31+1. It because SF is set when dec\nreturns numbers \u003e 2^31.\n\nThe fix is to use jnz instruction instead of jns (and add one decl\ninstruction to the end to have exactly the same number of loops as in\noriginal version).\n\nMartin Mares observed:\n\n\u003e It is a long time since I have hacked that file, but you should definitely\n\u003e make sure that the function is never called with a zero argument. In such\n\u003e case, the original version made just a single pass, but your version\n\u003e makes 2^32 of them.\n\nfixed that.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e765ee90da62535ac7d7a97f2464f9646539d683",
      "tree": "7a9cecce5aab958938e9a3bf46c2302d6af1958c",
      "parents": [
        "a4500b84c51645bbc86be3ca84f2252b7ada060f",
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "5c1ea08215f1f830dfaf4819a5f22efca41c3832",
      "tree": "1d52d7972969090cf6702f69b2e5c97a5bdc2613",
      "parents": [
        "deef325086c3897393b8f7d6bccd03405244fe18"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sun May 25 11:13:32 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 04 13:11:46 2008 +0200"
      },
      "message": "x86: enable preemption in delay\n\nThe RT team has been searching for a nasty latency. This latency shows\nup out of the blue and has been seen to be as big as 5ms!\n\nUsing ftrace I found the cause of the latency.\n\n   pcscd-2995  3dNh1 52360300us : irq_exit (smp_apic_timer_interrupt)\n   pcscd-2995  3dN.2 52360301us : idle_cpu (irq_exit)\n   pcscd-2995  3dN.2 52360301us : rcu_irq_exit (irq_exit)\n   pcscd-2995  3dN.1 52360771us : smp_apic_timer_interrupt (apic_timer_interrupt\n)\n   pcscd-2995  3dN.1 52360771us : exit_idle (smp_apic_timer_interrupt)\n\nHere\u0027s an example of a 400 us latency. pcscd took a timer interrupt and\nreturned with \"need resched\" enabled, but did not reschedule until after\nthe next interrupt came in at 52360771us 400us later!\n\nAt first I thought we somehow missed a preemption check in entry.S. But\nI also noticed that this always seemed to happen during a __delay call.\n\n   pcscd-2995  3dN.2 52360836us : rcu_irq_exit (irq_exit)\n   pcscd-2995  3.N.. 52361265us : preempt_schedule (__delay)\n\nLooking at the x86 delay, I found my problem.\n\nIn git commit 35d5d08a085c56f153458c3f5d8ce24123617faf, Andrew Morton\nplaced preempt_disable around the entire delay due to TSC\u0027s not working\nnicely on SMP.  Unfortunately for those that care about latencies this\nis devastating! Especially when we have callers to mdelay(8).\n\nHere I enable preemption during the loop and account for anytime the task\nmigrates to a new CPU. The delay asked for may be extended a bit by\nthe migration, but delay only guarantees that it will delay for that minimum\ntime. Delaying longer should not be an issue.\n\n[\n  Thanks to Thomas Gleixner for spotting that cpu wasn\u0027t updated,\n    and to place the rep_nop between preempt_enabled/disable.\n]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: akpm@osdl.org\nCc: Clark Williams \u003cclark.williams@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \"Luis Claudio R. Goncalves\" \u003clclaudio@uudg.org\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi-suse@firstfloor.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "81d68a96a39844853b37f20cc8282d9b65b78ef3",
      "tree": "bbc05f415930c15fb5a1004620bd77585fcec43a",
      "parents": [
        "352ad25aa4a189c667cb2af333948d34692a2d27"
      ],
      "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:46 2008 +0200"
      },
      "message": "ftrace: trace irq disabled critical timings\n\nThis patch adds latency tracing for critical timings\n(how long interrupts are disabled for).\n\n \"irqsoff\" is added to /debugfs/tracing/available_tracers\n\nNote:\n  tracing_max_latency\n    also holds the max latency for irqsoff (in usecs).\n   (default to large number so one must start latency tracing)\n\n  tracing_thresh\n    threshold (in usecs) to always print out if irqs off\n    is detected to be longer than stated here.\n    If irq_thresh is non-zero, then max_irq_latency\n    is ignored.\n\nHere\u0027s an example of a trace with ftrace_enabled \u003d 0\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------\n latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1d.s3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1d.s3  100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1d.s3  100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAnd this is a trace with ftrace_enabled \u003d\u003d 1\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\n--------------------------------------------------------------------\n latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1dNs3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000])\n swapper-0     1dNs3   46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000])\n swapper-0     1dNs3   47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000])\n swapper-0     1dNs3   47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47)\n swapper-0     1dNs3   97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50)\n swapper-0     1dNs3   98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000])\n swapper-0     1dNs3   99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000])\n swapper-0     1dNs3  101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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"
    },
    {
      "commit": "89804c022fe32541f5dd40a69e48ff4678d9ad24",
      "tree": "3a58251be5d4537c3ed8323602abf3ff3ddd3878",
      "parents": [
        "8c45a4e4f2b9bed6b6c54aaafc89e906284ccdf2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 13 10:36:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 13 19:38:47 2008 +0200"
      },
      "message": "x86: fix csum_partial() export\n\nFix this symbol export problem:\n\n    Building modules, stage 2.\n    MODPOST 193 modules\n    ERROR: \"csum_partial\" [fs/reiserfs/reiserfs.ko] undefined!\n    make[1]: *** [__modpost] Error 1\n    make: *** [modules] Error 2\n\nThis is due to a known weakness of symbol exports: if a symbol\u0027s\nonly in-core user is an EXPORT_SYMBOL from a lib-y section, the\nsymbol is not linked in.\n\nThe solution is to move the export to x8664_ksyms_64.c - but the real\nsolution would be to fix kbuild.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5245698f665c4b7a533dcc47a5afdf33095d436a",
      "tree": "5e417154f181e523c8491ec263eb71fbaf8ec0da",
      "parents": [
        "3a48305028aa38afba93fc05066c71a6ee668ad8"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 17:47:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:17 2008 +0200"
      },
      "message": "x86, UML: remove x86-specific implementations of find_first_bit\n\nx86 has been switched to the generic versions of find_first_bit\nand find_first_zero_bit, but the original versions were retained.\nThis patch just removes the now unused x86-specific versions.\n\nalso update UML.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aba6925fdb96428d1129a61b1233597a03a387b",
      "tree": "9ab7d292e681012c43671dd207b20e2c6a10ebcb",
      "parents": [
        "77b9bd9c49442407804c37bcc82021a35277f83c"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 17:41:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: switch 64-bit to generic find_first_bit\n\nSwitch x86_64 to generic find_first_bit. The x86_64-specific\nimplementation is not removed.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fd92b63d0626a8fe7eb8e2e50d19ecaa18cb412",
      "tree": "840f6cf998c251cdfcae37a03f34b34ac5bea3a5",
      "parents": [
        "18e413f7193ed2f6991d959863f46330813aa242"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sun Mar 09 21:01:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: change x86 to use generic find_next_bit\n\nThe versions with inline assembly are in fact slower on the machines I\ntested them on (in userspace) (Athlon XP 2800+, p4-like Xeon 2.8GHz, AMD\nOpteron 270). The i386-version needed a fix similar to 06024f21 to avoid\ncrashing the benchmark.\n\nBenchmark using: gcc -fomit-frame-pointer -Os. For each bitmap size\n1...512, for each possible bitmap with one bit set, for each possible\noffset: find the position of the first bit starting at offset. If you\nfollow ;). Times include setup of the bitmap and checking of the\nresults.\n\n\t\tAthlon\t\tXeon\t\tOpteron 32/64bit\nx86-specific:\t0m3.692s\t0m2.820s\t0m3.196s / 0m2.480s\ngeneric:\t0m2.622s\t0m1.662s\t0m2.100s / 0m1.572s\n\nIf the bitmap size is not a multiple of BITS_PER_LONG, and no set\n(cleared) bit is found, find_next_bit (find_next_zero_bit) returns a\nvalue outside of the range [0, size]. The generic version always returns\nexactly size. The generic version also uses unsigned long everywhere,\nwhile the x86 versions use a mishmash of int, unsigned (int), long and\nunsigned long.\n\nUsing the generic version does give a slightly bigger kernel, though.\n\ndefconfig:\t   text    data     bss     dec     hex filename\nx86-specific:\t4738555  481232  626688 5846475  5935cb vmlinux (32 bit)\ngeneric:\t4738621  481232  626688 5846541  59360d vmlinux (32 bit)\nx86-specific:\t5392395  846568  724424 6963387  6a40bb vmlinux (64 bit)\ngeneric:\t5392458  846568  724424 6963450  6a40fa vmlinux (64 bit)\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
      "tree": "0c3ffda953b82750638a06507591ad587b565ff2",
      "parents": [
        "d7bb545d86825e635cab33a1dd81ca0ad7b92887",
        "77ad386e596c6b0930cc2e09e3cce485e3ee7f72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:51 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (613 commits)\n  x86: standalone trampoline code\n  x86: move suspend wakeup code to C\n  x86: coding style fixes to arch/x86/kernel/acpi/sleep.c\n  x86: setup_trampoline() - fix section mismatch warning\n  x86: section mismatch fixes, #1\n  x86: fix paranoia about using BIOS quickboot mechanism.\n  x86: print out buggy mptable\n  x86: use cpu_online()\n  x86: use cpumask_of_cpu()\n  x86: remove unnecessary tmp local variable\n  x86: remove unnecessary memset()\n  x86: use ioapic_read_entry() and ioapic_write_entry()\n  x86: avoid redundant loop in io_apic_level_ack_pending()\n  x86: remove superfluous initialisation in boot code.\n  x86: merge mpparse_{32,64}.c\n  x86: unify mp_register_gsi\n  x86: unify mp_config_acpi_legacy_irqs\n  x86: unify mp_register_ioapic\n  x86: unify uniq_io_apic_id\n  x86: unify smp_scan_config\n  ...\n"
    },
    {
      "commit": "3f50dbc1aec96c4d66ffa1c564014f9f43fb9e11",
      "tree": "07b5bfa4d9a6a0b5f6b3220a9f6eaf3914005199",
      "parents": [
        "bdd3cee2e4b7279457139058615ced6c2b41e7de"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Fri Feb 29 12:50:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:40:51 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/usercopy_32.c\n\nBefore:\n total: 63 errors, 2 warnings, 878 lines checked\nAfter:\n total: 0 errors, 2 warnings, 878 lines checked\n\nCompile tested, no change in the binary output:\n\ntext    data     bss     dec     hex filename\n3231       0       0    3231     c9f usercopy_32.o.after\n3231       0       0    3231     c9f usercopy_32.o.before\n\nmd5sum:\n9f9a3eb43970359ae7cecfd1c9e7cf42  usercopy_32.o.after\n9f9a3eb43970359ae7cecfd1c9e7cf42  usercopy_32.o.before\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93d8bd3d4f070014e1e73c0ac618ac33924a7b96",
      "tree": "df63cc6dd70f0abec39a821f816f1fcb26ada998",
      "parents": [
        "e0f025704437dfd6cb5adc077f05709c31189edc"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Fri Feb 22 23:10:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:40:49 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/memcpy_32.c\n\nBefore:\n   total: 2 errors, 0 warnings, 43 lines checked\nAfter:\n   total: 0 errors, 0 warnings, 43 lines checked\n\nNo code changed:\n\narch/x86/lib/memcpy_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    164\t      0\t      0\t    164\t     a4\tmemcpy_32.o.before\n    164\t      0\t      0\t    164\t     a4\tmemcpy_32.o.after\n\nmd5:\n   d759f55621af27f51720b59c8ca96a4d  memcpy_32.o.before.asm\n   d759f55621af27f51720b59c8ca96a4d  memcpy_32.o.after.asm\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f73920cd63d316008738427a0df2caab6cc88ad7",
      "tree": "862c29d92beaf490b257e28e253018457ca42e5e",
      "parents": [
        "d717ca84c02f4b60a85502c23bca5698801dfaae"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Fri Feb 22 23:09:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:40:49 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/strstr_3\n\nBefore:\n   total: 3 errors, 0 warnings, 31 lines checked\nAfter:\n   total: 0 errors, 0 warnings, 31 lines checked\n\nNo code changed:\n\narch/x86/lib/strstr_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n     49\t      0\t      0\t     49\t     31\tstrstr_32.o.before\n     49\t      0\t      0\t     49\t     31\tstrstr_32.o.after\n\nmd5:\n   a224a7c4082e75a4f31f9d91dd34fe8e  strstr_32.o.before.asm\n   a224a7c4082e75a4f31f9d91dd34fe8e  strstr_32.o.after.asm\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8cf36d2bc5832da17a58c5f10adf2d92d138c992",
      "tree": "3b9f590fec3d328a93e519ffc8131fc737e2edc1",
      "parents": [
        "325f86ec6d2ae4ab9879e745a92444f8bac20233"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Tue Feb 19 23:09:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:40:48 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/string_32.c\n\nThe patch kills 45 errors and a few warnings.\n\nThe file is now error/warning free:\ntotal: 0 errors, 0 warnings, 237 lines checked\narch/x86/lib/string_32.c has no obvious style problems and is ready for submission.\n\nno code changed:\n\narch/x86/lib/string_32.o:\n   text    data     bss     dec     hex filename\n    639       0       0     639     27f string_32.o.before\n    639       0       0     639     27f string_32.o.after\nmd5:\n2db1c48187cf5113bb595153ee1fc73d  string_32.o.before.asm\n2db1c48187cf5113bb595153ee1fc73d  string_32.o.after.asm\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9406597884b5c2f196b124bdd6af47351562a9d",
      "tree": "022ace4827c6dac3456583f98e65eb43a35c937c",
      "parents": [
        "87253d1b4f2b5a29bdfc6275b9fb52a47d72df64"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Tue Feb 19 20:53:38 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:40:48 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/memmove_64.c\n\nAfter the patch:\n\n  total: 0 errors, 0 warnings, 21 lines checked\n\nno code changed:\n\narch/x86/lib/memmove_64.o:\n   text    data     bss     dec     hex filename\n    116       0       0     116      74 memmove_64.o.before\n    116       0       0     116      74 memmove_64.o.after\nmd5:\n2d6b0951cafb86a11a222cdd70f6104f  memmove_64.o.before.asm\n2d6b0951cafb86a11a222cdd70f6104f  memmove_64.o.after.asm\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca5d3f14915f5f8db75f7b0c198c0c154947fc5e",
      "tree": "d5cef00bdd5b56adebcecfecf55636908358fbaf",
      "parents": [
        "04aaa7ba096c707a8df337b29303f1a5a65f0462"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 18 08:53:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:40:47 2008 +0200"
      },
      "message": "x86: clean up mmx_32.c\n\ncheckpatch.pl --file cleanups:\n\n  before:\n    total: 74 errors, 3 warnings, 386 lines checked\n\n  after:\n    total: 0 errors, 0 warnings, 377 lines checked\n\nno code changed:\n\narch/x86/lib/mmx_32.o:\n   text    data     bss     dec     hex filename\n   1323       0       8    1331     533 mmx_32.o.before\n   1323       0       8    1331     533 mmx_32.o.after\n\nmd5:\n   4cc39f1017dc40a5ebf02ce0ff7312bc  mmx_32.o.before.asm\n   4cc39f1017dc40a5ebf02ce0ff7312bc  mmx_32.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "64ac24e738823161693bf791f87adc802cf529ff",
      "tree": "19c0b0cf314d4394ca580c05b86cdf874ce0a167",
      "parents": [
        "e48b3deee475134585eed03e7afebe4bf9e0dba9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 07 21:55:58 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:34 2008 -0400"
      },
      "message": "Generic semaphore implementation\n\nSemaphores are no longer performance-critical, so a generic C\nimplementation is better for maintainability, debuggability and\nextensibility.  Thanks to Peter Zijlstra for fixing the lockdep\nwarning.  Thanks to Harvey Harrison for pointing out that the\nunlikely() was unnecessary.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d76c1ae4d1f4f322d47e7c6e47a277384ba9d9cb",
      "tree": "d9f10bf4d290375b2db8e7c93c55b42176e53b3d",
      "parents": [
        "0df025b709ae09081e21545761a249ec2d969689"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 17 16:48:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 19 16:18:32 2008 +0100"
      },
      "message": "x86: clean up csum-wrappers_64.c some more\n\nno code changed:\n\narch/x86/lib/csum-wrappers_64.o:\n   text    data     bss     dec     hex filename\n    839       0       0     839     347 csum-wrappers_64.o.before\n    839       0       0     839     347 csum-wrappers_64.o.after\nmd5:\nb31994226c33e0b52bef5a0e110b84b0  csum-wrappers_64.o.before.asm\nb31994226c33e0b52bef5a0e110b84b0  csum-wrappers_64.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0df025b709ae09081e21545761a249ec2d969689",
      "tree": "c8be44ee7518981fd9a9f2327d0ec25f205a182b",
      "parents": [
        "4b44f810166fb83ad1a817ee599006a7157ee54c"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Sun Feb 17 14:56:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 19 16:18:32 2008 +0100"
      },
      "message": "x86: coding style fixes in arch/x86/lib/csum-wrappers_64.c\n\nno code changed:\n\narch/x86/lib/csum-wrappers_64.o:\n   text    data     bss     dec     hex filename\n    839       0       0     839     347 csum-wrappers_64.o.before\n    839       0       0     839     347 csum-wrappers_64.o.after\nmd5:\nb31994226c33e0b52bef5a0e110b84b0  csum-wrappers_64.o.before.asm\nb31994226c33e0b52bef5a0e110b84b0  csum-wrappers_64.o.after.asm\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4b44f810166fb83ad1a817ee599006a7157ee54c",
      "tree": "7d9ea0563081b2100e1a65b4da58dce098d39ee8",
      "parents": [
        "e43eb7bab6e82e1aa93ce4d39546c54347a68077"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Sun Feb 17 14:41:16 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 19 16:18:32 2008 +0100"
      },
      "message": "x86: coding style fixes in arch/x86/lib/io_64.c\n\nThis simple patch makes the file error free (according to\ncheckpatch.pl)\n\nno code changed:\n\narch/x86/lib/io_64.o:\n   text    data     bss     dec     hex filename\n    308       0       0     308     134 io_64.o.before\n    308       0       0     308     134 io_64.o.after\nmd5:\n3c64f9ed83d091678e849b36ca27bee3  io_64.o.before.asm\n3c64f9ed83d091678e849b36ca27bee3  io_64.o.after.asm\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "941e492bdb1239d2ca8f5736cdfd3ff83d00cb90",
      "tree": "6c048ee92ec94cbced1881308e14c2541321f077",
      "parents": [
        "83bad1d764b836a482b88e0a1f44d7a5c3e1fee0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Feb 06 01:36:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "read_current_timer() cleanups\n\n- All implementations can be __devinit\n\n- The function prototypes were in asm/timex.h but they all must be the same,\n  so create a single declaration in linux/timex.h.\n\n- uninline the sparc64 version to match the other architectures\n\n- Don\u0027t bother #defining ARCH_HAS_READ_CURRENT_TIMER to a particular value.\n\n[ezk@cs.sunysb.edu: fix build]\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67ec11cf968241c9ae907f8817b6ac74d4dd71d7",
      "tree": "4410c7211788ae79c1efb6c5368142578695ec80",
      "parents": [
        "fde9a1094ddf2892188a8a0eccda527de47cba8e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Mon Feb 04 22:28:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:11 2008 -0800"
      },
      "message": "iommu sg: kill __clear_bit_string and find_next_zero_string\n\nThis kills unused __clear_bit_string and find_next_zero_string (they\nwere used by only gart and calgary IOMMUs).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Muli Ben-Yehuda \u003cmulix@mulix.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2fc0bacd5c438cb459fdf531eff00ab18422a00",
      "tree": "d0ea52e4d2ad2fac12e19eaf6891c6af98353cfc",
      "parents": [
        "93890b71a34f9490673a6edd56b61c2124215e46",
        "795d45b22c079946332bf3825afefe5a981a97b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 09:16:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 09:16:03 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (78 commits)\n  x86: fix RTC lockdep warning: potential hardirq recursion\n  x86: cpa, micro-optimization\n  x86: cpa, clean up code flow\n  x86: cpa, eliminate CPA_ enum\n  x86: cpa, cleanups\n  x86: implement gbpages support in change_page_attr()\n  x86: support gbpages in pagetable dump\n  x86: add gbpages support to lookup_address\n  x86: add pgtable accessor functions for gbpages\n  x86: add PUD_PAGE_SIZE\n  x86: add feature macros for the gbpages cpuid bit\n  x86: switch direct mapping setup over to set_pte\n  x86: fix page-present check in cpa_flush_range\n  x86: remove cpa warning\n  x86: remove now unused clear_kernel_mapping\n  x86: switch pci-gart over to using set_memory_np() instead of clear_kernel_mapping()\n  x86: cpa selftest, skip non present entries\n  x86: CPA fix pagetable split\n  x86: rename LARGE_PAGE_SIZE to PMD_PAGE_SIZE\n  x86: cpa, fix lookup_address\n  ...\n"
    },
    {
      "commit": "8da804f2b23913ef362c6a578bf482e5ccc93d1a",
      "tree": "e293a3bea59a33f5b2022389de9b22154d9ff0b6",
      "parents": [
        "287774414568010855642518513f085491644061"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Feb 04 16:47:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 04 16:47:57 2008 +0100"
      },
      "message": "x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_64.c\n\nUse the _ASM_EXTABLE macro from \u003casm/asm.h\u003e, instead of open-coding\n__ex_table entires in arch/x86/lib/usercopy_64.c.\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": "287774414568010855642518513f085491644061",
      "tree": "c00ef68f10e578702a5b713d9ea77044ea1c5ede",
      "parents": [
        "e7a40d268ec2afab7e0596667cabd2ae53fec8d8"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Feb 04 16:47:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 04 16:47:57 2008 +0100"
      },
      "message": "x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_32.c\n\nUse the _ASM_EXTABLE macro from \u003casm/asm.h\u003e, instead of open-coding\n__ex_table entires in arch/x86/lib/usercopy_32.c.\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": "e7a40d268ec2afab7e0596667cabd2ae53fec8d8",
      "tree": "0c543b843c3f7cf13ee4a0abc5495d6e6b042e29",
      "parents": [
        "92909098a3b27147c4b80f9c387ccd63676aa807"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Feb 04 16:47:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 04 16:47:57 2008 +0100"
      },
      "message": "x86: use _ASM_EXTABLE macro in arch/x86/lib/mmx_32.c\n\nUse the _ASM_EXTABLE macro from \u003casm/asm.h\u003e, instead of open-coding\n__ex_table entires in arch/x86/lib/mmx_32.c.\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": "4fe3fcaca008ec24bb4b9cb4a9e4d17bee06c755",
      "tree": "3cb08a54c371fab9a5607a6ce8ae956b66645132",
      "parents": [
        "a247b5d594aafe3a0121ae658a974cbea32e18d6"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sun Feb 03 15:02:21 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:02:21 2008 +0200"
      },
      "message": "Correct explanations of \"find_next\" bit routines.\n\nCorrect the obvious \"copy and paste\" errors explaining some of the\n\"find_next\" routines.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "914c82694cadbab511f2aee8a59c89be2938bace",
      "tree": "4988897436a3df632b4597506967cf1ffb0d17f0",
      "parents": [
        "4bc408a5b9fed59f8b23ae81bab4e964726bd8b8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jan 30 23:27:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 23:27:57 2008 +0100"
      },
      "message": "x86: export copy_from_user_ll_nocache[_nozero]\n\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6c2d7a084d14a8a701be84872aa1b77d2945f46",
      "tree": "e721a8d750103b9738d50665b38ef87e5fbf4cf2",
      "parents": [
        "adb8daed46356d1772e8bd8def1b70c8cb58ce12"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 30 13:33:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:37 2008 +0100"
      },
      "message": "x86: fix usage of .section .sched.text in assembler code\n\nWithout this patch the linker will generate a section\nnamed .sched.text.1 which is unexpected.\nThis is because the gcc generated section has \"ax\" but the\nassembler usage of .sched.text lacks the \"ax\" specifier.\n\nIt would be better to have a definition we could use from\nassembler code but I did not find a suitable header\nfile for it.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ade1af77129dea6e335b525ed3be3b846bc1ec13",
      "tree": "0fee8803a8145ef9935212c31df59bb339a78811",
      "parents": [
        "d729ab35ee1367b7690458ae9e050571cb055bd3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Wed Jan 30 13:33:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:23 2008 +0100"
      },
      "message": "x86: remove unneded casts\n\nx86: remove unneeded casts\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6b8be6df7f971919622d152d144c8798ad7fd160",
      "tree": "8c7eabffa6402ab6e5c9306a8dac6a81d9347fae",
      "parents": [
        "fdfe8aa84dd78cfdff427d0520f5974fb5e9c220"
      ],
      "author": {
        "name": "John Reiser",
        "email": "jreiser@BitWagon.com",
        "time": "Wed Jan 30 13:33:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:13 2008 +0100"
      },
      "message": "x86: add ENDPROC() markers\n\nThe ENDPROCs() were not used everywhere.  Some code used just END() instead,\nwhile other code used nothing.  um/sys-i386/checksum.S didn\u0027t #include\n\u003clinux/linkage.h\u003e .  I also got confused because gcc puts the\n.type near the ENTRY, while ENDPROC puts it on the opposite end.\n\nSigned off by: John Reiser \u003cjreiser@BitWagon.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "583d0e90ea52f02ae4d103359ee59e8218799e27",
      "tree": "c91a0a57cab8af7532690b9965c1b6c69d223513",
      "parents": [
        "db569afa4e69ceaf89b3723a8f9cd2846ed09c76"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 30 13:32:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:31 2008 +0100"
      },
      "message": "x86: unify arch/x86/lib/Makefile(s)\n\nTrivial unification of Makefiles for the\nx86 specific library part.\nLinking order is slightly modified but should be harmless.\n\nTested doing a defconfig build before and after and saw\nno build changes.\n\nIt adds almost as many lines as it deletes - bacause\nI broke a few lines up fo readability in the Makefile.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: \"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": "35d5d08a085c56f153458c3f5d8ce24123617faf",
      "tree": "2db6e598e87809bc1ce7838861b2cff18e5fe60d",
      "parents": [
        "7eea436433b7b18045f272562e256976f593f7c0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Nov 14 17:00:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:44 2007 -0800"
      },
      "message": "x86: disable preemption in delay_tsc()\n\nMarin Mitov points out that delay_tsc() can misbehave if it is preempted and\nrescheduled on a different CPU which has a skewed TSC.  Fix it by disabling\npreemption.\n\n(I assume that the worst-case behaviour here is a stall of 2^32 cycles)\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Marin Mitov \u003cmitov@issp.bas.bg\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60812a4a99b796d894d2522dc63cb0fafc3be25e",
      "tree": "bbf3a441b71e3b9b670d91652094114852272db8",
      "parents": [
        "b04cde34cf1d006dfaf8523640f3a18bbb15ebaa",
        "92cb7612aee39642d109b8d935ad265e602c0563"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 15:06:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 15:06:00 2007 -0700"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86\n\n* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (33 commits)\n  x86: convert cpuinfo_x86 array to a per_cpu array\n  x86: introduce frame_pointer() and stack_pointer()\n  x86 \u0026 generic: change to __builtin_prefetch()\n  i386: do not BUG_ON() when MSR is unknown\n  x86: acpi use cpu_physical_id\n  x86: convert cpu_llc_id to be a per cpu variable\n  x86: convert cpu_to_apicid to be a per cpu variable\n  i386: introduce \"used_vectors\" bitmap which can be used to reserve vectors.\n  x86: use raw locks during oopses\n  x86: honor _PAGE_PSE bit on page walks\n  i386: do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE.\n  x86: implement missing x86_64 function smp_call_function_mask()\n  x86: use descriptor\u0027s functions instead of inline assembly\n  i386: consolidate show_regs and show_registers for i386\n  i386: make callgraph use dump_trace() on i386/x86_64\n  x86: enable iommu_merge by default\n  i386: i386 add AMD64 Barcelona PMU MSR definitions to msr.h\n  x86: Unify i386 and x86-64 early quirks\n  x86: enable HPET on ICH3 and ICH4\n  x86: force enable HPET on VT8235/8237 chipsets\n  ...\n\nManually fix trivial conflict with task pid container helper changes in\narch/x86/kernel/process_32.c\n"
    },
    {
      "commit": "b460cbc581a53cc088ceba80608021dd49c63c43",
      "tree": "83c28d0adbc15f4157c77b40fa60c40a71cb8673",
      "parents": [
        "3743ca05ff464b8a9e345c08a6c9ce30485f9805"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 18 23:39:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define is_global_init() and is_container_init()\n\nis_init() is an ambiguous name for the pid\u003d\u003d1 check.  Split it into\nis_global_init() and is_container_init().\n\nA cgroup init has it\u0027s tsk-\u003epid \u003d\u003d 1.\n\nA global init also has it\u0027s tsk-\u003epid \u003d\u003d 1 and it\u0027s active pid namespace\nis the init_pid_ns.  But rather than check the active pid namespace,\ncompare the task structure with \u0027init_pid_ns.child_reaper\u0027, which is\ninitialized during boot to the /sbin/init process and never changes.\n\nChangelog:\n\n\t2.6.22-rc4-mm2-pidns1:\n\t- Use \u0027init_pid_ns.child_reaper\u0027 to determine if a given task is the\n\t  global init (/sbin/init) process. This would improve performance\n\t  and remove dependence on the task_pid().\n\n\t2.6.21-mm2-pidns2:\n\n\t- [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc,\n\t  ppc,avr32}/traps.c for the _exception() call to is_global_init().\n\t  This way, we kill only the cgroup if the cgroup\u0027s init has a\n\t  bug rather than force a kernel panic.\n\n[akpm@linux-foundation.org: fix comment]\n[sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c]\n[bunk@stusta.de: kernel/pid.c: remove unused exports]\n[sukadev@us.ibm.com: Fix capability.c to work with threaded init]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92cb7612aee39642d109b8d935ad265e602c0563",
      "tree": "307f4183226f52418bd6842b5d970f03524ad1c1",
      "parents": [
        "f1df280f53d7c3ce8613a3b25d1efe009b9860dd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Oct 19 20:35:04 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 19 20:35:04 2007 +0200"
      },
      "message": "x86: convert cpuinfo_x86 array to a per_cpu array\n\ncpu_data is currently an array defined using NR_CPUS.  This means that\nwe overallocate since we will rarely really use maximum configured cpus.\nWhen NR_CPU count is raised to 4096 the size of cpu_data becomes\n3,145,728 bytes.\n\nThese changes were adopted from the sparc64 (and ia64) code.  An\nadditional field was added to cpuinfo_x86 to be a non-ambiguous cpu\nindex.  This corresponds to the index into a cpumask_t as well as the\nper_cpu index.  It\u0027s used in various places like show_cpuinfo().\n\ncpu_data is defined to be the boot_cpu_data structure for the NON-SMP\ncase.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7e02cb941ddc129158c276648c10a69dca7d36d3",
      "tree": "79db7b7d1c607c15f67ae53248ccdf762a0aaa8e",
      "parents": [
        "3f4ed1511dc8c71073bb7d220ee62eedd8e8aeec"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 17 18:04:38 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Wed Oct 17 20:16:29 2007 +0200"
      },
      "message": "x86: rename .i assembler includes to .h\n\n.i is an ending used for preprocessed stuff.\n\nThis patch therefore renames assembler include files to .h and guards\nthe contents with an #ifdef __ASSEMBLY__.\n\n[ tglx: arch/x86 adaptation ]\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "61d08a9ea3d5fd680213aa7a15fcda69ce11987d",
      "tree": "0ea4baa5fb8dca8f9ad2b9e8421b7e102620c25a",
      "parents": [
        "883001f98290ca40b32e2c1872f22600f8dfc968"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Oct 17 18:04:38 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Wed Oct 17 20:16:23 2007 +0200"
      },
      "message": "i386: Remove strrchr assembler implementation\n\nThe constraints in the inline assembler implementation of i386\nstrrchr() were incorrect and break the build with recent gcc 4.3.\nSince there are only very few callers of strrchr() and none of them\nare performance relevant just remove the assembler implementation\nand use the C fallback instead.\n\n[ tglx: arch/x86 adaptation ]\n\nCc: rguenther@suse.de\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5f1f935ca4e385444c07164cf43dfdfe5eeee006",
      "tree": "3693d9e1cee6b917a507bd96332c1464b96cdab1",
      "parents": [
        "4a40cb1ec68d021125e37a69a0be79dc16dd41b1"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Oct 17 18:04:38 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Wed Oct 17 20:16:20 2007 +0200"
      },
      "message": "i386: simplify smp_call_function_single() call sequence in msr-on-cpu\n\nsmp_call_function_single() now knows how to call the function on the\ncurrent cpu.\n\n[ tglx: arch/x86 adaptation ]\n\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "801916c1b369b637ce799e6c71a94963ff63df79",
      "tree": "dad0d1c3a6a3c19040441423007528dc56f1e016",
      "parents": [
        "6442eea937ef797d4b66733f49c82e2fdc2aca6f"
      ],
      "author": {
        "name": "Andrew Hastings",
        "email": "abh@cray.com",
        "time": "Wed Oct 17 18:04:33 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Wed Oct 17 20:15:22 2007 +0200"
      },
      "message": "x86: fix off-by-one in find_next_zero_string\n\nFix an off-by-one error in find_next_zero_string which prevents\nallocating the last bit.\n\n[ tglx: arch/x86 adaptation ]\n\nSigned-off-by: Andrew Hastings \u003cabh@cray.com\u003e on behalf of Cray Inc.\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "10cd706d180b62a61aace5b440247c8785026ac1",
      "tree": "4bc544761719fd10ecfa977e6f4bfd8f1249d8b9",
      "parents": [
        "c7e872e7da5514d014707a407ea562d197cc0136"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:12 2007 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:12 2007 +0200"
      },
      "message": "lockdep: x86_64: connect the sysexit hook\n\nRun the lockdep_sys_exit hook after all other C code on the syscall\nreturn path.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df1bdc0667eb3132fe60b3562347ca9133694ee0",
      "tree": "5d044be900ccc9f13662e1aeae7df6ed108ee43a",
      "parents": [
        "2b9e0aae1d50e880c58d46788e5e3ebd89d75d62"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 13 03:06:00 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 18:41:21 2007 -0700"
      },
      "message": "x86: fence oostores on 64-bit\n\nmovnt* instructions are not strongly ordered with respect to other stores,\nso if we are to assume stores are strongly ordered in the rest of the 64\nbit code, we must fence these off (see similar examples in 32 bit code).\n\n[ The AMD memory ordering document seems to say that nontemporal stores can\n  also pass earlier regular stores, so maybe we need sfences _before_\n  movnt* everywhere too? ]\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "185f3d38900f750a4566f87cde6a178f3595a115",
      "tree": "d463f6da1af452b1bbdf476828ea88427087f255",
      "parents": [
        "51b2833060f26258ea2da091c7b9c6a358ac9dd2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:17:08 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:17:08 2007 +0200"
      },
      "message": "x86_64: move lib\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44f0257fc316ff4b33aa3438dd8d891b7d6d72b9",
      "tree": "c1a9a571db37d631489f18e1dfe5554874b19027",
      "parents": [
        "da957e111bb0c189a4a3bf8a00caaecb59ed94ca"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:16:33 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:16:33 2007 +0200"
      },
      "message": "i386: move lib\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
