)]}'
{
  "log": [
    {
      "commit": "b565201cf75210614903ef2ae5917b4379681647",
      "tree": "6d28d33cf25a4fa47700b12d8e291886e1af195f",
      "parents": [
        "1ea7c6737c8f68453f55c894b3d07d7f48fcbef8"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Tue Nov 15 15:33:56 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 17:12:43 2011 +0100"
      },
      "message": "x86: Reduce clock calibration time during slave cpu startup\n\nReduce the startup time for slave cpus.\n\nAdds hooks for an arch-specific function for clock calibration.\nThese hooks are used on x86.  If a newly started cpu has the\nsame phys_proc_id as a core already active, uses the TSC for the\ndelay loop and has a CONSTANT_TSC, use the already-calculated\nvalue of loops_per_jiffy.\n\nThis patch reduces the time required to start slave cpus on a\n4096 cpu system from: 465 sec OLD 62 sec NEW\n\nThis reduces boot time on a 4096p system by almost 7 minutes.\nNice...\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\n[fix CONFIG_SMP\u003dn build]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7afe1845dd1e7c90828c942daed7e57ffa7c38d6",
      "tree": "dabdded21b9d03cf04719b684e393929378f6c8d",
      "parents": [
        "469dded1839105cfbfc265376e23e24dbc48d2a7"
      ],
      "author": {
        "name": "Sameer Nanda",
        "email": "snanda@chromium.org",
        "time": "Mon Jul 25 17:13:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:17 2011 -0700"
      },
      "message": "init: skip calibration delay if previously done\n\nFor each CPU, do the calibration delay only once.  For subsequent calls,\nuse the cached per-CPU value of loops_per_jiffy.\n\nThis saves about 200ms of resume time on dual core Intel Atom N5xx based\nsystems.  This helps bring down the kernel resume time on such systems\nfrom about 500ms to about 300ms.\n\n[akpm@linux-foundation.org: make cpu_loops_per_jiffy static]\n[akpm@linux-foundation.org: clean up message text]\n[akpm@linux-foundation.org: fix things up after upstream rmk changes]\nSigned-off-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Andrew Worsley \u003camworsley@gmail.com\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b19ca9f0bdab7d5035821e1ec8f39df9a6e3ee0",
      "tree": "3c2d550bba679b7c88c01c066cac696f2d19ffbb",
      "parents": [
        "33b1e6939f5c37ab8e64280fd3d54046607b5c80"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jun 22 11:55:50 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 23 08:59:38 2011 -0700"
      },
      "message": "Fix CPU spinlock lockups on secondary CPU bringup\n\nSecondary CPU bringup typically calls calibrate_delay() during its\ninitialization.  However, calibrate_delay() modifies a global variable\n(loops_per_jiffy) used for udelay() and __delay().\n\nA side effect of 71c696b1 (\"calibrate: extract fall-back calculation\ninto own helper\") introduced in the 2.6.39 merge window means that we\nend up with a substantial period where loops_per_jiffy is zero.  This\ncauses the spinlock debugging code to malfunction:\n\n\tu64 loops \u003d loops_per_jiffy * HZ;\n\tfor (;;) {\n\t\tfor (i \u003d 0; i \u003c loops; i++) {\n\t\t\tif (arch_spin_trylock(\u0026lock-\u003eraw_lock))\n\t\t\t\treturn;\n\t\t\t__delay(1);\n\t\t}\n\t\t...\n\t}\n\nby never calling arch_spin_trylock() - resulting in the CPU locking\nup in an infinite loop inside __spin_lock_debug().\n\nWork around this by only writing to loops_per_jiffy only once we have\ncompleted all the calibration decisions.\n\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e (2.6.39-stable)\n--\nBetter solutions (such as omitting the calibration for secondary CPUs,\nor arranging for calibrate_delay() to return the LPJ value and leave\nit to the caller to decide where to store it) are a possibility, but\nwould be much more invasive into each architecture.\n\nI think this is the best solution for -rc and stable, but it should be\nrevisited for the next merge window.\n\n init/calibrate.c |   14 ++++++++------\n 1 files changed, 8 insertions(+), 6 deletions(-)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de695e159e3fd679594eb45449d2638d54434c32",
      "tree": "19b5e359bcfd74e3e966954361ab3b515000fe4e",
      "parents": [
        "26575f9544530127757297d4de8fb2f2c75f1f69"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Jun 15 15:08:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:04:01 2011 -0700"
      },
      "message": "init/calibrate.c: remove annoying printk\n\nRemove calibrate_delay_direct()\u0027s KERN_DEBUG printk related to bogomips\ncalculation as it appears when booting every core on setups with\n\u0027ignore_loglevel\u0027 which dmesg people scan for possible issues.  As the\nmessage doesn\u0027t show very useful information to the widest audience of\nkernel boot message gazers, it should be removed.\n\nIntroduced by commit d2b463135f84 (\"init/calibrate.c: fix for critical\nbogoMIPS intermittent calculation failure\").\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nCc: Andrew Worsley \u003camworsley@gmail.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2b463135f84d15808163cd15638b108e323d3e7",
      "tree": "35d8af01b9403635235220891beba5c835a91086",
      "parents": [
        "1dbe39424a43e56a6c9aed12661192af51dcdb9f"
      ],
      "author": {
        "name": "Andrew Worsley",
        "email": "amworsley@gmail.com",
        "time": "Tue May 24 17:13:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:46 2011 -0700"
      },
      "message": "init/calibrate.c: fix for critical bogoMIPS intermittent calculation failure\n\nA fix to the TSC (Time Stamp Counter) based bogoMIPS calculation used on\nsecondary CPUs which has two faults:\n\n1: Not handling wrapping of the lower 32 bits of the TSC counter on\n   32bit kernel - perhaps TSC is not reset by a warm reset?\n\n2: TSC and Jiffies are no incrementing together properly.  Either\n   jiffies increment too quickly or Time Stamp Counter isn\u0027t incremented\n   in during an SMI but the real time clock is and jiffies are\n   incremented.\n\nCase 1 can result in a factor of 16 too large a value which makes udelay()\nvalues too small and can cause mysterious driver errors.  Case 2 appears\nto give smaller 10-15% errors after averaging but enough to cause\noccasional failures on my own board\n\nI have tested this code on my own branch and attach patch suitable for\ncurrent kernel code.  See below for examples of the failures and how the\nfix handles these situations now.\n\nI reported this issue earlier here:\n     Intermittent problem with BogoMIPs calculation on Intel AP CPUs -\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d129947246316875\u0026w\u003d4\n\nI suspect this issue has been seen by others but as it is intermittent and\nbogoMIPS for secondary CPUs are no longer printed out it might have been\ndifficult to identify this as the cause.  Perhaps these unresolved issues,\nalthough quite old, might be relevant as possibly this fault has been\naround for a while.  In particular Case 1 may only be relevant to 32bit\nkernels on newer HW (most people run 64bit kernels?).  Case 2 is less\ndramatic since the earlier fix in this area and also intermittent.\n\n   Re: bogomips discrepancy on Intel Core2 Quad CPU -\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d118929277524298\u0026w\u003d4\n   slow system and bogus bogomips  -\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d116791286716107\u0026w\u003d4\n   Re: Re: [RFC-PATCH] clocksource: update lpj if clocksource has -\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d128952775819467\u0026w\u003d4\n\nThis issue is masked a little by commit feae3203d711db0a (\"timers, init:\nLimit the number of per cpu calibration bootup messages\") which only\nprints out the first bogoMIPS value making it much harder to notice other\nvalues differing.  Perhaps it should be changed to only suppress them when\nthey are similar values?\n\nHere are some outputs showing faults occurring and the new code handling\nthem properly.  See my earlier message for examples of the original\nfailure.\n\n    Case 1:   A Time Stamp Counter wrap:\n...\nCalibrating delay loop (skipped), value calculated using timer\nfrequency.. 6332.70 BogoMIPS (lpj\u003d31663540)\n....\ncalibrate_delay_direct() timer_rate_max\u003d31666493\ntimer_rate_min\u003d31666151 pre_start\u003d4170369255 pre_end\u003d4202035539\ncalibrate_delay_direct() timer_rate_max\u003d2425955274\ntimer_rate_min\u003d2425954941 pre_start\u003d4265368533 pre_end\u003d2396356387\ncalibrate_delay_direct() ignoring timer_rate as we had a TSC wrap\naround start\u003d4265368581 \u003e\u003dpost_end\u003d2396356511\ncalibrate_delay_direct() timer_rate_max\u003d31666274\ntimer_rate_min\u003d31665942 pre_start\u003d2440373374 pre_end\u003d2472039515\ncalibrate_delay_direct() timer_rate_max\u003d31666492\ntimer_rate_min\u003d31666160 pre_start\u003d2535372139 pre_end\u003d2567038422\ncalibrate_delay_direct() timer_rate_max\u003d31666455\ntimer_rate_min\u003d31666207 pre_start\u003d2630371084 pre_end\u003d2662037415\nCalibrating delay using timer specific routine.. 6333.28 BogoMIPS (lpj\u003d31666428)\nTotal of 2 processors activated (12665.99 BogoMIPS).\n....\n\n    Case 2:  Some thing (presumably the SMM interrupt?) causing the\nvery low increase in TSC counter for the DELAY_CALIBRATION_TICKS\nincrease in jiffies\n...\nCalibrating delay loop (skipped), value calculated using timer\nfrequency.. 6333.25 BogoMIPS (lpj\u003d31666270)\n...\ncalibrate_delay_direct() timer_rate_max\u003d31666483\ntimer_rate_min\u003d31666074 pre_start\u003d4199536526 pre_end\u003d4231202809\ncalibrate_delay_direct() timer_rate_max\u003d864348 timer_rate_min\u003d864016\npre_start\u003d2405343672 pre_end\u003d2406207897\ncalibrate_delay_direct() timer_rate_max\u003d31666483\ntimer_rate_min\u003d31666179 pre_start\u003d2469540464 pre_end\u003d2501206823\ncalibrate_delay_direct() timer_rate_max\u003d31666511\ntimer_rate_min\u003d31666122 pre_start\u003d2564539400 pre_end\u003d2596205712\ncalibrate_delay_direct() timer_rate_max\u003d31666084\ntimer_rate_min\u003d31665685 pre_start\u003d2659538782 pre_end\u003d2691204657\ncalibrate_delay_direct() dropping min bogoMips estimate 1 \u003d 864348\nCalibrating delay using timer specific routine.. 6333.27 BogoMIPS (lpj\u003d31666390)\nTotal of 2 processors activated (12666.53 BogoMIPS).\n...\n\nAfter 70 boots I saw 2 variations \u003c1% slip through\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix straggly printk mess]\nSigned-off-by: Andrew Worsley \u003camworsley@gmail.com\u003e\nReviewed-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1b5f65e53af770ede22c113e249de2f6fa53706",
      "tree": "2aaf103408e285c5413c973649c7dd3a111da800",
      "parents": [
        "191e56880a6a638ce931859317f37deb084b6433"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Tue Mar 22 16:34:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "calibrate: retry with wider bounds when converge seems to fail\n\nSystems with unmaskable interrupts such as SMIs may massively\nunderestimate loops_per_jiffy, and fail to converge anywhere near the real\nvalue.  A case seen on x86_64 was an initial estimate of 256\u003c\u003c12, which\nconverged to 511\u003c\u003c12 where the real value should have been over 630\u003c\u003c12.\nThis admitedly requires bypassing the TSC calibration (lpj_fine), and a\nfailure to settle in the direct calibration too, but is physically\npossible.  This failure does not depend on my previous calibration\noptimisation, but by luck is easy to fix with the optimisation in place\nwith a trivial retry loop.\n\nIn the context of the optimised converging method, as we can no longer\ntrust the starting estimate, enlarge the search bounds exponentially so\nthat the number of retries is logarithmically bounded.\n\n[akpm@linux-foundation.org: mention x86_64 SMIs in comment]\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nTested-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "191e56880a6a638ce931859317f37deb084b6433",
      "tree": "26853fa62983f12b85badda6b9ee2197c2f10697",
      "parents": [
        "71c696b1d0310da3ab8033d743282959bd49d28b"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Tue Mar 22 16:34:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:11 2011 -0700"
      },
      "message": "calibrate: home in on correct lpj value more quickly\n\nBinary chop with a jiffy-resync on each step to find an upper bound is\nslow, so just race in a tight-ish loop to find an underestimate.\n\nIf done with lots of individual steps, sometimes several hundreds of\niterations would be required, which would impose a significant overhead,\nand make the initial estimate very low.  By taking slowly increasing steps\nthere will be less overhead.\n\nE.g.  an x86_64 2.67GHz could have fitted in 613 individual small delays,\nbut in reality should have been able to fit in a single delay 644 times\nlonger, so underestimated by 31 steps.  To reach the equivalent of 644\nsmall delays with the accelerating scheme now requires about 130\niterations, so has \u003c1/4th of the overhead, and can therefore be expected\nto underestimate by only 7 steps.\n\nAs now we have a better initial estimate we can binary chop over a smaller\nrange.  With the loop overhead in the initial estimate kept low, and the\nstep sizes moderate, we won\u0027t have under-estimated by much, so chose as\ntight a range as we can.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nTested-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71c696b1d0310da3ab8033d743282959bd49d28b",
      "tree": "cf501760d1bb1e045c23bf5155742fa8aa221776",
      "parents": [
        "9bfb23fc4a481650e60d22dbe84c0fd5a9d49bba"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Tue Mar 22 16:34:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:11 2011 -0700"
      },
      "message": "calibrate: extract fall-back calculation into own helper\n\nThe motivation for this patch series is that currently our OMAP calibrates\nitself using the trial-and-error binary chop fallback that some other\narchitectures no longer need to perform.  This is a lengthy process,\ntaking 0.2s in an environment where boot time is of great interest.\n\nPatch 2/4 has two optimisations.  Firstly, it replaces the initial\nrepeated- doubling to find the relevant power of 2 with a tight loop that\njust does as much as it can in a jiffy.  Secondly, it doesn\u0027t binary chop\nover an entire power of 2 range, it choses a much smaller range based on\nhow much it squeezed in, and failed to squeeze in, during the first stage.\n Both are significant optimisations, and bring our calibration down from\n23 jiffies to 5, and, in the process, often arrive at a more accurate lpj\nvalue.\n\nThe \u0027bands\u0027 and \u0027sub-logarithmic\u0027 growth may look over-engineered, but\nthey only cost a small level of inaccuracy in the initial guess (for all\narchitectures) in order to avoid the very large inaccuracies that appeared\nduring testing (on x86_64 architectures, and presumably others with less\nmetronomic operation).  Note that due to the existence of the TSC and\nother timers, the x86_64 will not typically use this fallback routine, but\nI wanted to code defensively, able to cope with all kinds of processor\nbehaviours and kernel command line options.\n\nPatch 3/4 is an additional trap for the nightmare scenario where the\ninitial estimate is very inaccurate, possibly due to things like SMIs.\nIt simply retries with a larger bound.\n\nStephen said:\n\nI tried this patch set out on an MSM7630.\n:\n: Before:\n:\n: Calibrating delay loop... 681.57 BogoMIPS (lpj\u003d3407872)\n:\n: After:\n:\n: Calibrating delay loop... 680.75 BogoMIPS (lpj\u003d3403776)\n:\n: But the really good news is calibration time dropped from ~247ms to ~56ms.\n:  Sadly we won\u0027t be able to benefit from this should my udelay patches make\n: it into ARM because we would be using calibrate_delay_direct() instead (at\n: least on machines who choose to).  Can we somehow reapply the logic behind\n: this to calibrate_delay_direct()?  That would be even better, but this is\n: definitely a boot time improvement.\n:\n: Or maybe we could just replace calibrate_delay_direct() with this fallback\n: calculation?  If __delay() is a thin wrapper around read_current_timer()\n: it should work just as well (plus patch 3 makes it handle SMIs).  I\u0027ll try\n: that out.\n\nThis patch:\n\n... so that it can be modified more clinically.\n\nThis is almost entirely cosmetic. The only change to the operation\nis that the global variable is only set once after the estimation is\ncompleted, rather than taking on all the intermediate values. However,\nthere are no readers of that variable, so this change is unimportant.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nTested-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70a062286b9dfcbd24d2e11601aecfead5cf709a",
      "tree": "126a1e3f9561a3cb4159714c96db1ddd4171756d",
      "parents": [
        "6148a47ac3872092d4bc4888838bec6dff16654d"
      ],
      "author": {
        "name": "Tim Deegan",
        "email": "Tim.Deegan@citrix.com",
        "time": "Thu Feb 10 08:50:41 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 11:00:09 2011 -0800"
      },
      "message": "fix jiffy calculations in calibrate_delay_direct to handle overflow\n\nFixes a hang when booting as dom0 under Xen, when jiffies can be\nquite large by the time the kernel init gets this far.\n\nSigned-off-by: Tim Deegan \u003cTim.Deegan@citrix.com\u003e\n[jbeulich@novell.com: !time_after() -\u003e time_before_eq() as suggested by Jiri Slaby]\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "feae3203d711db0a9965300ee6d592257fdaae4f",
      "tree": "747f1223ed4afb9dbb4c79ceff1d06cb4da61984",
      "parents": [
        "ba5ea951d0b5e5896180e21fe07f228d2b3b0e63"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Nov 17 18:22:13 2009 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:18:42 2009 +0100"
      },
      "message": "timers, init: Limit the number of per cpu calibration bootup messages\n\nLimit the number of per cpu calibration messages by only\nprinting out results for the first cpu to boot.\n\nAlso, don\u0027t print \"CPUx is down\" as this is expected, and we\ndon\u0027t need 4096 reminders... ;-)\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091118002219.889552000@alcatraz.americas.sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7ba11d01cfedf63b50391fbe4a05274b6992b43",
      "tree": "5e7c429d99bbf985051032ec14536b46c7786cac",
      "parents": [
        "583323b9d2f624884a8c9563fb5a4d795f39ab07"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Jul 27 12:02:04 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 14:22:26 2008 +0200"
      },
      "message": "x86: remove stray \u003c6\u003e in BogoMIPS printk\n\nRabin Vincent noticed that there\u0027s a stray \u003c6\u003e in BogoMIPS printk:\n\n\u003e Remove the extra KERN_INFO which causes this:\n\u003e Calibrating delay loop... \u003c6\u003e179.40 BogoMIPS (lpj\u003d897024)\n\u003e -\tprintk(KERN_INFO \"%lu.%02lu BogoMIPS (lpj\u003d%lu)\\n\",\n\u003e -\t\t\tloops_per_jiffy/(500000/HZ),\n\u003e -\t\t\t(loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy);\n\u003e +\tprintk(\"%lu.%02lu BogoMIPS (lpj\u003d%lu)\\n\",\n\u003e +\t\tloops_per_jiffy/(500000/HZ),\n\u003e +\t\t(loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy);\n\u003e  }\n\nHow about just using KERN_CONT and leaving the whitespace\nfor a patch that does the entire file?\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\n"
    },
    {
      "commit": "f3f3149f35b9195ef4b761b1353fc0766b5f53be",
      "tree": "96e67c82e8ea6ce57ce5f83a8036f87a8d534867",
      "parents": [
        "6ff10de374cc68ff2024247793176dc8a1b317ea"
      ],
      "author": {
        "name": "Alok Kataria",
        "email": "akataria@vmware.com",
        "time": "Mon Jun 23 18:21:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 24 13:53:46 2008 +0200"
      },
      "message": "x86: use cpu_khz for loops_per_jiffy calculation, cleanup\n\nAs suggested by Ingo, remove all references to tsc from init/calibrate.c\n\nTSC is x86 specific, and using tsc in variable names in a generic file should\nbe avoided. lpj_tsc is now called lpj_fine, since it is related to fine tuning\nof lpj value. Also tsc_rate_*  is called timer_rate_*\n\nSigned-off-by: Alok N Kataria \u003cakataria@vmware.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Daniel Hecht \u003cdhecht@vmware.com\u003e\nCc: Tim Mann \u003cmann@vmware.com\u003e\nCc: Zach Amsden \u003czach@vmware.com\u003e\nCc: Sahil Rihan \u003csrihan@vmware.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3da757daf86e498872855f0b5e101f763ba79499",
      "tree": "bffffafed7322c66a1b886b661cfd8a8a7f5a924",
      "parents": [
        "e01b70ef3eb3080fecc35e15f68cd274c0a48163"
      ],
      "author": {
        "name": "Alok Kataria",
        "email": "akataria@vmware.com",
        "time": "Fri Jun 20 15:06:33 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 22:51:33 2008 +0200"
      },
      "message": "x86: use cpu_khz for loops_per_jiffy calculation\n\nOn the x86 platform we can use the value of tsc_khz computed during tsc\ncalibration to calculate the loops_per_jiffy value. Its very important\nto keep the error in lpj values to minimum as any error in that may\nresult in kernel panic in check_timer. In virtualization environment, On\na highly overloaded host the guest delay calibration may sometimes\nresult in errors beyond the ~50% that timer_irq_works can handle,\nresulting in the guest panicking.\n\nDoes some formating changes to lpj_setup code to now have a single\nprintk to print the bogomips value.\n\nWe do this only for the boot processor because the AP\u0027s can have\ndifferent base frequencies or the BIOS might boot a AP at a different\nfrequency.\n\nSigned-off-by: Alok N Kataria \u003cakataria@vmware.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Daniel Hecht \u003cdhecht@vmware.com\u003e\nCc: Tim Mann \u003cmann@vmware.com\u003e\nCc: Zach Amsden \u003czach@vmware.com\u003e\nCc: Sahil Rihan \u003csrihan@vmware.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c81c32f9616fd6f2795dceae2f70943cb4d8609",
      "tree": "fcafa4b8b071fc9d3a8ea87fd7a1fefca965a5a4",
      "parents": [
        "eb38a996ebacefe4ce2274de901138505d9cc96b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:37:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:08 2008 -0800"
      },
      "message": "calibrate_delay() must be __cpuinit\n\ncalibrate_delay() must be __cpuinit, not __{dev,}init.\n\nI\u0027ve verified that this is correct for all users.\n\nWhile doing the latter, I also did the following cleanups:\n- remove pointless additional prototypes in C files\n- ensure all users #include \u003clinux/delay.h\u003e\n\nThis fixes the following section mismatches with CONFIG_HOTPLUG\u003dn,\nCONFIG_HOTPLUG_CPU\u003dy:\n\nWARNING: vmlinux.o(.text+0x1128d): Section mismatch: reference to .init.text.1:calibrate_delay (between \u0027check_cx686_slop\u0027 and \u0027set_cx86_reorder\u0027)\nWARNING: vmlinux.o(.text+0x25102): Section mismatch: reference to .init.text.1:calibrate_delay (between \u0027smp_callin\u0027 and \u0027cpu_coregroup_map\u0027)\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christian Zankel \u003cchris@zankel.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "bfe8df3d314bddf30758bd738e0087e80964760c",
      "tree": "d04db4fb2592e2d416073681903f05f5b30f204b",
      "parents": [
        "1bcf548293aef19b0797348332cf1dfbf2116cef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 16 01:23:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:49 2007 -0700"
      },
      "message": "slow down printk during boot\n\nOptionally add a boot delay after each kernel printk() call, crudely\nmeasured in milliseconds, with a maximum delay of 10 seconds per printk.\n\nEnable CONFIG_BOOT_PRINTK_DELAY\u003dy and then add (e.g.):\n\"lpj\u003dloops_per_jiffy boot_delay\u003d100\"\nto the kernel command line.\n\nIt has been useful in cases like \"during boot, my machine just reboots or the\nscreen goes black\" by slowing down printk, (and adding initcall_debug), we can\nusually see the last thing that happened before the lights went out which is\nusually a valuable clue.\n\n[akpm@linux-foundation.org: not all architectures implement CONFIG_HZ]\n[akpm@linux-foundation.org: fix lots of stuff]\n[bunk@stusta.de: kernel/printk.c: make 2 variables static]\n[heiko.carstens@de.ibm.com: fix slow down printk on boot compile error]\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a9e1b0f564615bd92ba50162623e25c2904e564",
      "tree": "ff8fe9b280cc539e4a57826e2dee072d247d284a",
      "parents": [
        "0f8e2d62fa04441cd12c08ce521e84e5bd3f8a46"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Jun 23 00:08:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:08 2005 -0700"
      },
      "message": "[PATCH] Platform SMIs and their interferance with tsc based delay calibration\n\nIssue:\nCurrent tsc based delay_calibration can result in significant errors in\nloops_per_jiffy count when the platform events like SMIs\n(System Management Interrupts that are non-maskable) are present. This could\nlead to potential kernel panic(). This issue is becoming more visible with 2.6\nkernel (as default HZ is 1000) and on platforms with higher SMI handling\nlatencies. During the boot time, SMIs are mostly used by BIOS (for things\nlike legacy keyboard emulation).\n\nDescription:\nThe psuedocode for current delay calibration with tsc based delay looks like\n(0) Estimate a value for loops_per_jiffy\n(1) While (loops_per_jiffy estimate is accurate enough)\n(2)   wait for jiffy transition (jiffy1)\n(3)   Note down current tsc (tsc1)\n(4)   loop until tsc becomes tsc1 + loops_per_jiffy\n(5)   check whether jiffy changed since jiffy1 or not and refine\nloops_per_jiffy estimate\n\nConsider the following cases\nCase 1:\nIf SMIs happen between (2) and (3) above, we can end up with a\nloops_per_jiffy value that is too low. This results in shorted delays and\nkernel can panic () during boot (Mostly at IOAPIC timer initialization\ntimer_irq_works() as we don\u0027t have enough timer interrupts in a specified\ninterval).\n\nCase 2:\nIf SMIs happen between (3) and (4) above, then we can end up with a\nloops_per_jiffy value that is too high. And with current i386 code, too\nhigh lpj value (greater than 17M) can result in a overflow in\ndelay.c:__const_udelay() again resulting in shorter delay and panic().\n\nSolution:\nThe patch below makes the calibration routine aware of asynchronous events\nlike SMIs. We increase the delay calibration time and also identify any\nsignificant errors (greater than 12.5%) in the calibration and notify it to\nuser.\n\nPatch below changes both i386 and x86-64 architectures to use this\nnew and improved calibrate_delay_direct() routine.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
