)]}'
{
  "log": [
    {
      "commit": "2a95ea6c0d129b4568fb64e1deda16ceb20e6636",
      "tree": "0648fbd539e00fcfc4a394acaabd3e54b4bf8658",
      "parents": [
        "1368edf0647ac112d8cfa6ce47257dc950c50f5c"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Thu Dec 08 14:34:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "procfs: do not overflow get_{idle,iowait}_time for nohz\n\nSince commit a25cac5198d4 (\"proc: Consider NO_HZ when printing idle and\niowait times\") we are reporting idle/io_wait time also while a CPU is\ntickless.  We rely on get_{idle,iowait}_time functions to retrieve\nproper data.\n\nThese functions, however, use usecs_to_cputime to translate micro\nseconds time to cputime64_t.  This is just an alias to usecs_to_jiffies\nwhich reduces the data type from u64 to unsigned int and also checks\nwhether the given parameter overflows jiffies_to_usecs(MAX_JIFFY_OFFSET)\nand returns MAX_JIFFY_OFFSET in that case.\n\nWhen we overflow depends on CONFIG_HZ but especially for CONFIG_HZ_300\nit is quite low (1431649781) so we are getting MAX_JIFFY_OFFSET for\n\u003e3000s! until we overflow unsigned int.  Just for reference\nCONFIG_HZ_100 has an overflow window around 20s, CONFIG_HZ_250 ~8s and\nCONFIG_HZ_1000 ~2s.\n\nThis results in a bug when people saw [h]top going mad reporting 100%\nCPU usage even though there was basically no CPU load.  The reason was\nsimply that /proc/stat stopped reporting idle/io_wait changes (and\nreported MAX_JIFFY_OFFSET) and so the only change happening was for user\nsystem time.\n\nLet\u0027s use nsecs_to_jiffies64 instead which doesn\u0027t reduce the precision\nto 32b type and it is much more appropriate for cumulative time values\n(unlike usecs_to_jiffies which intended for timeout calculations).\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nTested-by: Artem S. Tashkinov \u003ct.artem@mailcity.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a25cac5198d4ff2842ccca63b423962848ad24b2",
      "tree": "b1e476f78416e522bf27502349ab6ffebd3b6147",
      "parents": [
        "09a1d34f8535ecf9a347ea76f7597730c2bc0c8d"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Aug 24 09:40:25 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 08 11:10:55 2011 +0200"
      },
      "message": "proc: Consider NO_HZ when printing idle and iowait times\n\nshow_stat handler of the /proc/stat file relies on kstat_cpu(cpu)\nstatistics when priting information about idle and iowait times.\nThis is OK if we are not using tickless kernel (CONFIG_NO_HZ) because\ncounters are updated periodically.\nWith NO_HZ things got more tricky because we are not doing idle/iowait\naccounting while we are tickless so the value might get outdated.\nUsers of /proc/stat will notice that by unchanged idle/iowait values\nwhich is then interpreted as 0% idle/iowait time. From the user space\nPOV this is an unexpected behavior and a change of the interface.\n\nLet\u0027s fix this by using get_cpu_{idle,iowait}_time_us which accounts the\ntotal idle/iowait time since boot and it doesn\u0027t rely on sampling or any\nother periodic activity. Fall back to the previous behavior if NO_HZ is\ndisabled or not configured.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nLink: http://lkml.kernel.org/r/39181366adac1b39cb6aa3cd53ff0f7c78d32676.1314172057.git.mhocko@suse.cz\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a4dbf0ec2aa3e8aca6e63f598095750c232d50f1",
      "tree": "38ceee9851536b3f5969d642afb9614fba826f8e",
      "parents": [
        "e130aa70f438855b4a0e13a5249951da001798d4"
      ],
      "author": {
        "name": "Yuanhan Liu",
        "email": "yuanhan.liu@linux.intel.com",
        "time": "Thu May 26 16:25:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:37 2011 -0700"
      },
      "message": "proc/stat: use defined macro KMALLOC_MAX_SIZE\n\nThere is a macro for the max size kmalloc can allocate, so use it instead\nof a hardcoded number.\n\nSigned-off-by: Yuanhan Liu \u003cyuanhan.liu@linux.intel.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d6de12f70d2fb1487c4f482a21fed25fe74e0fd",
      "tree": "a5bc7cb77c710418c44e2b1c009e80d79e12e3ab",
      "parents": [
        "a2ade7b6ca37c808128810687cd56e8a44443e65"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jan 12 17:00:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:16 2011 -0800"
      },
      "message": "proc: use seq_puts()/seq_putc() where possible\n\nFor string without format specifiers, use seq_puts().\nFor seq_printf(\"\\n\"), use seq_putc(\u0027\\n\u0027).\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  61866\t    488\t    112\t  62466\t   f402\tfs/proc/proc.o\n  61729\t    488\t    112\t  62329\t   f379\tfs/proc/proc.o\n  ----------------------------------------------------\n  \t\t\t   -139\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478735e38887077ac77a9756121b6ce0cb956e2f",
      "tree": "7b42110f71b1711f56cbbc0a01f00894b221337d",
      "parents": [
        "f2c66cd8eeddedb440f33bc0f5cec1ed7ae376cb"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Oct 27 15:34:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:13 2010 -0700"
      },
      "message": "/proc/stat: fix scalability of irq sum of all cpu\n\nIn /proc/stat, the number of per-IRQ event is shown by making a sum each\nirq\u0027s events on all cpus.  But we can make use of kstat_irqs().\n\nkstat_irqs() do the same calculation, If !CONFIG_GENERIC_HARDIRQ,\nit\u0027s not a big cost. (Both of the number of cpus and irqs are small.)\n\nIf a system is very big and CONFIG_GENERIC_HARDIRQ, it does\n\n\tfor_each_irq()\n\t\tfor_each_cpu()\n\t\t\t- look up a radix tree\n\t\t\t- read desc-\u003eirq_stat[cpu]\nThis seems not efficient. This patch adds kstat_irqs() for\nCONFIG_GENRIC_HARDIRQ and change the calculation as\n\n\tfor_each_irq()\n\t\tlook up radix tree\n\t\tfor_each_cpu()\n\t\t\t- read desc-\u003eirq_stat[cpu]\n\nThis reduces cost.\n\nA test on (4096cpusp, 256 nodes, 4592 irqs) host (by Jack Steiner)\n\n%time cat /proc/stat \u003e /dev/null\n\nBefore Patch:\t 2.459 sec\nAfter Patch :\t  .561 sec\n\n[akpm@linux-foundation.org: unexport kstat_irqs, coding-style tweaks]\n[akpm@linux-foundation.org: fix unused variable \u0027per_irq_sum\u0027]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2c66cd8eeddedb440f33bc0f5cec1ed7ae376cb",
      "tree": "4b8cfcd2a76652839121707fc2a49b70489ec055",
      "parents": [
        "19cd56c48da58bebc3a638e036bcab69469acd27"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Oct 27 15:34:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:13 2010 -0700"
      },
      "message": "/proc/stat: scalability of irq num per cpu\n\n/proc/stat shows the total number of all interrupts to each cpu.  But when\nthe number of IRQs are very large, it take very long time and \u0027cat\n/proc/stat\u0027 takes more than 10 secs.  This is because sum of all irq\nevents are counted when /proc/stat is read.  This patch adds \"sum of all\nirq\" counter percpu and reduce read costs.\n\nThe cost of reading /proc/stat is important because it\u0027s used by major\napplications as \u0027top\u0027, \u0027ps\u0027, \u0027w\u0027, etc....\n\nA test on a mechin (4096cpu, 256 nodes, 4592 irqs) shows\n\n %time cat /proc/stat \u003e /dev/null\n Before Patch:  12.627 sec\n After  Patch:  2.459 sec\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "ce0e7b28fb75cb003cfc8d0238613aaf1c55e797",
      "tree": "e70bec2040045b68876d85036756bc046b5d2742",
      "parents": [
        "0b9e31e9264f1bad89856afb96da1688292f13b4"
      ],
      "author": {
        "name": "Ryota Ozaki",
        "email": "ozaki.ryota@gmail.com",
        "time": "Sat Oct 24 01:20:10 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 25 17:31:30 2009 +0100"
      },
      "message": "sched, cpuacct: Fix niced guest time accounting\n\nCPU time of a guest is always accounted in \u0027user\u0027 time\nwithout concern for the nice value of its counterpart\nprocess although the guest is scheduled under the nice\nvalue.\n\nThis patch fixes the defect and accounts cpu time of\na niced guest in \u0027nice\u0027 time as same as a niced process.\n\nAnd also the patch adds \u0027guest_nice\u0027 to cpuacct. The\nvalue provides niced guest cpu time which is like \u0027nice\u0027\nto \u0027user\u0027.\n\nThe original discussions can be found here:\n\n  http://www.mail-archive.com/kvm@vger.kernel.org/msg23982.html\n  http://www.mail-archive.com/kvm@vger.kernel.org/msg23860.html\n\nSigned-off-by: Ryota Ozaki \u003cozaki.ryota@gmail.com\u003e\nAcked-by: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1256314810-7897-1-git-send-email-ozaki.ryota@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3d64df21d3d0de675a0d3ffa7c10514f3644b30",
      "tree": "7ea3c79d8adb2c0282327f9ce63208978857eb07",
      "parents": [
        "9d9b8fb0e5ebf4b0398e579f6061d4451fea3242"
      ],
      "author": {
        "name": "Keika Kobayashi",
        "email": "kobayashi.kk@ncos.nec.co.jp",
        "time": "Wed Jun 17 16:25:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:41 2009 -0700"
      },
      "message": "proc: export statistics for softirq to /proc\n\nExport statistics for softirq in /proc/softirqs and /proc/stat.\n\n1. /proc/softirqs\nImplement /proc/softirqs which shows the number of softirq\nfor each CPU like /proc/interrupts.\n\n2. /proc/stat\nAdd the \"softirq\" line to /proc/stat.\nThis line shows the number of softirq for all cpu.\nThe first column is the total of all softirqs and\neach subsequent column is the total for particular softirq.\n\n[kosaki.motohiro@jp.fujitsu.com: remove redundant for_each_possible_cpu() loop]\nSigned-off-by: Keika Kobayashi \u003ckobayashi.kk@ncos.nec.co.jp\u003e\nReviewed-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1c805309d19c69d4ebeac38724076fa86feacdf",
      "tree": "73886783aac7c489a29f3e5eec56cbc2371a12dd",
      "parents": [
        "b1ad171efa089ae26aba750d747d8149a4f860d5"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Apr 23 13:58:08 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Apr 23 13:58:17 2009 +0200"
      },
      "message": "[S390] /proc/stat idle field for idle cpus\n\nThe cpu idle field in the output of /proc/stat is too small for cpus\nthat have been idle for more than a tick. Add the architecture hook\narch_idle_time that allows to add the not accounted idle time of a\nsleeping cpu without waking the cpu.\n\nThe s390 implementation of arch_idle_time uses the already existing\ns390_idle_data per_cpu variable to find the sleep time of a neighboring\nidle cpu.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "26ddd8d5cac8a563953d5febe8c6e40909f7bce1",
      "tree": "1e13087c68aeb1fc7da6126a4452869c368e2a93",
      "parents": [
        "f9af0e70911e9d6cc9a68f784dca86415486084d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Dec 26 14:24:10 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 09:48:18 2008 +0100"
      },
      "message": "proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c\n\nImpact: cleanup\n\nirq_desc can be NULL when CONFIG_SPARSE_IRQ\u003dy only.\ntherefore, NULL checking can move into kstat_irqs_cpu() of SPARSE_IRQ version.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: \"Yinghai Lu\" \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "13bd41bc227a48d6cf8992a3286bf6eba3c71a0c",
      "tree": "c817813280a7fec083edc0b74989f057f17c28be",
      "parents": [
        "30cb367ea2be76bf71dbd275f38d0fd3b6f4142b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Dec 16 00:23:34 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 11:24:14 2008 +0100"
      },
      "message": "proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ\n\nImpact: restructure code to fix compiler warning\n\ncommit 240d367b4e6c6e3c5075e034db14dba60a6f5fa7 moved desc usage point\ninto #ifdef CONFIG_SPARSE_IRQ.\n\nEliminate the desc variable, otherwise following warning happens:\n\n fs/proc/stat.c: In function \u0027show_stat\u0027:\n fs/proc/stat.c:31: warning: unused variable \u0027desc\u0027\n\n[ akpm: cleaned up the patch to remove #ifdef ]\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "240d367b4e6c6e3c5075e034db14dba60a6f5fa7",
      "tree": "9750876ae9afcfa265fc15185134d5aea13eb530",
      "parents": [
        "50dd94e017ec39f85c26b6c10ed9fb2d7a7d8042"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Dec 08 14:06:17 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 09 04:16:54 2008 +0100"
      },
      "message": "sparseirq: fix Alpha build failure\n\nImpact: build fix on Alpha\n\n-tip testing found this build failure on the Alpha defconfig:\n\n/home/mingo/tip/fs/proc/stat.c: In function \u0027show_stat\u0027:\n/home/mingo/tip/fs/proc/stat.c:48: error: implicit declaration of function \u0027for_each_irq_desc\u0027\n/home/mingo/tip/fs/proc/stat.c:48: error: expected \u0027;\u0027 before \u0027{\u0027 token\n\ncan not use irq_desc() in stat.c on older architectures.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.orgg\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac",
      "tree": "239251bad791fd60af8c0f2ba365b7188395c83f",
      "parents": [
        "218d11a8b071b23b76c484fd5f72a4fe3306801e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 05 18:58:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 14:31:51 2008 +0100"
      },
      "message": "sparse irq_desc[] array: core kernel and x86 changes\n\nImpact: new feature\n\nProblem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with\nNR_CPUS set to large values. The goal is to be able to scale up to much\nlarger NR_IRQS value without impacting the (important) common case.\n\nTo solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of\nirq_desc pointers.\n\nWhen CONFIG_SPARSE_IRQ\u003dy is used, we use kzalloc_node to get irq_desc,\nthis also makes the IRQ descriptors NUMA-local (to the site that calls\nrequest_irq()).\n\nThis gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now\nuses desc-\u003echip_data for x86 to store irq_cfg.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df8106dbb59a8c167ea16631059ecb5f7d77da13",
      "tree": "05b4eab6428a93b66dc48dda4e8124af2f93c1fe",
      "parents": [
        "f500975a3f3ecf3611d79f1d933906753460b9f2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Oct 05 00:01:56 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 15:14:05 2008 +0400"
      },
      "message": "proc: move /proc/stat to fs/proc/stat.c\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    }
  ]
}
