)]}'
{
  "log": [
    {
      "commit": "4308ad801193f14ff42cb746da37cf07e35f0d08",
      "tree": "d25466295270408c11a234658b70c43095aed4d3",
      "parents": [
        "e7a297b0d7d6049bd4e423ac1e17da31e4c401b8"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Wed May 05 13:56:42 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 12 11:23:34 2010 +0200"
      },
      "message": "genirq: Clear CPU mask in affinity_hint when none is provided\n\nWhen an interrupt is disabled and torn down, the CPU mask returned\nthrough affinity_hint right now is all CPUs. Also, for drivers that\ndon\u0027t provide an affinity_hint mask, this can be misleading. There\nshould be no hint at all, meaning an empty CPU mask.\n\n[ tglx: use zalloc_cpumask_var instead of clearing it under the lock ]\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nCc: davem@davemloft.net\nCc: arjan@linux.jf.intel.com\nCc: bhutchings@solarflare.com\nLKML-Reference: \u003c20100505205638.5426.87189.stgit@ppwaskie-hc2.jf.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e7a297b0d7d6049bd4e423ac1e17da31e4c401b8",
      "tree": "f10f12806a637b09bec89ef5428d981c4c1a4bc9",
      "parents": [
        "6932bf37bed45ce8ed531928b1b0f98162fe6df6"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Fri Apr 30 14:44:50 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 03 11:50:57 2010 +0200"
      },
      "message": "genirq: Add CPU mask affinity hint\n\nThis patch adds a cpumask affinity hint to the irq_desc structure,\nalong with a registration function and a read-only proc entry for each\ninterrupt.\n\nThis affinity_hint handle for each interrupt can be used by underlying\ndrivers that need a better mechanism to control interrupt affinity.\nThe underlying driver can register a cpumask for the interrupt, which\nwill allow the driver to provide the CPU mask for the interrupt to\nanything that requests it.  The intent is to extend the userspace\ndaemon, irqbalance, to help hint to it a preferred CPU mask to balance\nthe interrupt into.\n\n[ tglx: Fixed compile warnings, added WARN_ON, made SMP only ]\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nCc: davem@davemloft.net\nCc: arjan@linux.jf.intel.com\nCc: bhutchings@solarflare.com\nLKML-Reference: \u003c20100430214445.3992.41647.stgit@ppwaskie-hc2.jf.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7c7145f6acc68100dbdc5d3c5c64fe3af1c99c89",
      "tree": "5e93e3eb4787229032f1df222fa490112f4b0c32",
      "parents": [
        "92d6b71ab906be706f3679353b30a8d2c3831144",
        "0d0fb0f9c5fddef4a10242fe3337f00f528a3099"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 14:12:17 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 14:12:17 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into irq/core\n\nReason: Get the upstream IRQF_DISABLED related changes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "92d6b71ab906be706f3679353b30a8d2c3831144",
      "tree": "2b82cc7f065f947f4a6430e0de3bc63a4870907d",
      "parents": [
        "220bf991b0366cc50a94feede3d7341fa5710ee4"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Thu Mar 11 14:08:56 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 24 14:10:03 2010 +0100"
      },
      "message": "genirq: Expose irq_desc-\u003enode in proc/irq\n\nExpose irq_desc-\u003enode as /proc/irq/*/node.\n\nThis file provides device hardware locality information for apps\ndesiring to include hardware locality in irq mapping decisions.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "239007b8440abff689632f50cdf0f2b9e895b534",
      "tree": "569cab843af4a999d6d868ec9a824530d2bfa733",
      "parents": [
        "9f5a5621e78cf48d86682a71ceb3fcdbde38b222"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 16:46:45 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "genirq: Convert irq_desc.lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34769945f7cd9ab470413ffe64426e3ad069f49e",
      "tree": "f937799941e6fde05166add1fe4f1712f05aa3a1",
      "parents": [
        "a1afb6371bb5341057056194d1168753f6d77242"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 20 11:46:21 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 20 11:55:26 2009 +0100"
      },
      "message": "genirq: Fix spurious irq seqfile conversion\n\nsingle_open data argument must be PDE(inode)-\u003edata instead of NULL\notherwise seq_file-\u003eprivate is always NULL and we always read the\nspurious data of irq 0.\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a1afb6371bb5341057056194d1168753f6d77242",
      "tree": "dd120dd5fa3c58319d87ba1e8d28ec37986dfce2",
      "parents": [
        "c82a43d40b93200a10a9fec0a489791e65e135ca"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Aug 28 22:19:33 2009 +0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 18 12:50:51 2009 +0100"
      },
      "message": "genirq: switch /proc/irq/*/spurious to seq_file\n\n[ tglx: compacted it a bit ]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nLKML-Reference: \u003c20090828181743.GA14050@x200.localdomain\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c82a43d40b93200a10a9fec0a489791e65e135ca",
      "tree": "5986787e2382d88e3191cffafcdf35aa2ad8353f",
      "parents": [
        "663e69592856df53ef52969482ef413a96bc4e06"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Mon Oct 26 23:28:11 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 08 13:14:22 2009 +0100"
      },
      "message": "irq: Do not attempt to create subdirectories if /proc/irq/\u003cirq\u003e failed\n\nIf a parent directory (ie /proc/irq/\u003cirq\u003e) could not be created\nwe should not attempt to create subdirectories. Otherwise it\nwould lead that \"smp_affinity\" and \"spurious\" entries are may be\nregistered under /proc root instead of a proper place.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c20091026202811.GD5321@lenovo\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f7ace0cda64c99599c23785f8979a072e118058",
      "tree": "13f2826e64e09ebaef94a3e7fd9c21cfbd31ec3f",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 21:58:08 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:12:46 2009 +0100"
      },
      "message": "cpumask: update irq_desc to use cpumask_var_t\n\nImpact: reduce memory usage, use new cpumask API.\n\nReplace the affinity and pending_masks with cpumask_var_t\u0027s.  This adds\nto the significant size reduction done with the SPARSE_IRQS changes.\n\nThe added functions (init_alloc_desc_masks \u0026 init_copy_desc_masks) are\nin the include file so they can be inlined (and optimized out for the\n!CONFIG_CPUMASKS_OFFSTACK case.)  [Naming chosen to be consistent with\nthe other init*irq functions, as well as the backwards arg declaration\nof \"from, to\" instead of the more common \"to, from\" standard.]\n\nIncludes a slight change to the declaration of struct irq_desc to embed\nthe pending_mask within ifdef(CONFIG_SMP) to be consistent with other\nreferences, and some small changes to Xen.\n\nTested: sparse/non-sparse/cpumask_offstack/non-cpumask_offstack/nonuma/nosmp on x86_64\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: virtualization@lists.osdl.org\nCc: xen-devel@lists.xensource.com\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\n"
    },
    {
      "commit": "6bdf197b04b3ae7c85785bc5a9576f1bcb0ac7c0",
      "tree": "4bd5fbe09be2a9197ff7ab88d86b21ef895d964d",
      "parents": [
        "263ec6457bb23d57b575ede18ff6c3d11e0b4e96"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 12:50:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:59:33 2009 +0100"
      },
      "message": "ia64: cpumask fix for is_affinity_mask_valid()\n\nImpact: build fix on ia64\n\nia64\u0027s default_affinity_write() still had old cpumask_t usage:\n\n /home/mingo/tip/kernel/irq/proc.c: In function `default_affinity_write\u0027:\n /home/mingo/tip/kernel/irq/proc.c:114: error: incompatible type for argument 1 of `is_affinity_mask_valid\u0027\n make[3]: *** [kernel/irq/proc.o] Error 1\n make[3]: *** Waiting for unfinished jobs....\n\nupdate it to cpumask_var_t.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d036e67b40f52bdd95392390108defbac7e53837",
      "tree": "4a00537671036c955c98891af9f4729332b35c50",
      "parents": [
        "6b954823c24f04ed026a8517f6bab5abda279db8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:26 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:26 2009 +1030"
      },
      "message": "cpumask: convert kernel/irq\n\nImpact: Reduce stack usage, use new cpumask API.  ALPHA mod!\n\nMain change is that irq_default_affinity becomes a cpumask_var_t, so\ntreat it as a pointer (this effects alpha).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "0de26520c7cabf36e1de090ea8092f011a6106ce",
      "tree": "3d02e509b6315fdfd9cdb8c9e0b9ed0a30cf9384",
      "parents": [
        "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: make irq_set_affinity() take a const struct cpumask\n\nImpact: change existing irq_chip API\n\nNot much point with gentle transition here: the struct irq_chip\u0027s\nsetaffinity method signature needs to change.\n\nFortunately, not widely used code, but hits a few architectures.\n\nNote: In irq_select_affinity() I save a temporary in by mangling\nirq_desc[irq].affinity directly.  Ingo, does this break anything?\n\n(Folded in fix from KOSAKI Motohiro)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: ralf@linux-mips.org\nCc: grundler@parisc-linux.org\nCc: jeremy@xensource.com\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n"
    },
    {
      "commit": "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef",
      "tree": "d8ee57c5b40baa3f53d607b719344dd20f8c85a0",
      "parents": [
        "98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "message": "cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers.\n\nImpact: change calling convention of existing cpumask APIs\n\nMost cpumask functions started with cpus_: these have been replaced by\ncpumask_ ones which take struct cpumask pointers as expected.\n\nThese four functions don\u0027t have good replacement names; fortunately\nthey\u0027re rarely used, so we just change them over.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: paulus@samba.org\nCc: mingo@redhat.com\nCc: tony.luck@intel.com\nCc: ralf@linux-mips.org\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: cl@linux-foundation.org\nCc: srostedt@redhat.com\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": "f6d87f4bd259cf33e092cd1a8fde05f291c47af1",
      "tree": "abaa66af3c80fb18a20004b8d97261c680551792",
      "parents": [
        "8b805ef617cf0e02f6d18b891f8deb6246421b01"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 07 13:18:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 09 22:23:49 2008 +0100"
      },
      "message": "genirq: keep affinities set from userspace across free/request_irq()\n\nImpact: preserve user-modified affinities on interrupts\n\nKumar Galak noticed that commit\n18404756765c713a0be4eb1082920c04822ce588 (genirq: Expose default irq\naffinity mask (take 3))\n\noverrides an already set affinity setting across a free /\nrequest_irq(). Happens e.g. with ifdown/ifup of a network device.\n\nChange the logic to mark the affinities as set and keep them\nintact. This also fixes the unlocked access to irq_desc in\nirq_select_affinity() when called from irq_affinity_proc_write()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3786fc710c32b61464c322e5cd0c3d1d34ae72d0",
      "tree": "1525973d100e88edab390634508b4c0d9715d5b8",
      "parents": [
        "b6f3b7803a9231eddc36d0a2a6d2d8105ef89344"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Oct 21 19:49:09 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 22 07:37:17 2008 +0200"
      },
      "message": "irq: make variable static\n\nThis variable is only used in the source file, so make it static.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3c60047bdb03199b93497ac40bd531315d43a86",
      "tree": "858b74f422b1c79be54d2050d23c51999d312566",
      "parents": [
        "a1aca5de08a0cb840a90fb3f729a5940f8d21185"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 16 09:55:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:29 2008 +0200"
      },
      "message": "genirq: cleanup the sparseirq modifications\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2c6927a38f65b53b62f86158fba29a068c4e8b6a",
      "tree": "4f23cf5689c8fbaed771219b4afd3f785d8048bc",
      "parents": [
        "9059d8fa4a3a9153da53da890039f7f956cc9d19"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:33 2008 +0200"
      },
      "message": "irq: replace loop with nr_irqs with for_each_irq_desc\n\nThere are a handful of loops that go from 0 to nr_irqs and use\nget_irq_desc() on them. These would allocate all the irq_desc\nentries, regardless of the need for them.\n\nUse the smarter for_each_irq_desc() iterator that will only iterate\nover the present ones.\n\nv2: make sure arch without GENERIC_HARDIRQS work too\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08678b0841267c1d00d771fe01548d86043d065e",
      "tree": "7debb21f9e9a768ced43077f7376797a0c46f8c0",
      "parents": [
        "bfea1238beac9d306eeac081c67de5ca6aec4c7a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:29 2008 +0200"
      },
      "message": "generic: sparse irqs: use irq_desc() together with dyn_array, instead of irq_desc[]\n\nadd CONFIG_HAVE_SPARSE_IRQ to for use condensed array.\nGet rid of irq_desc[] array assumptions.\n\nPreallocate 32 irq_desc, and irq_desc() will try to get more.\n\n( No change in functionality is expected anywhere, except the odd build\n  failure where we missed a code site or where a crossing commit itroduces\n  new irq_desc[] usage. )\n\nv2: according to Eric, change get_irq_desc() to irq_desc()\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85c0f90978bf50596dbd23854648020f1f9b5bfd",
      "tree": "f66c598bb37b925dd6c74e4ce1fb06345c742c01",
      "parents": [
        "6da55c3e8da88e8a7cb6452160776ad6706798ad"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:47 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:05 2008 +0200"
      },
      "message": "irq: introduce nr_irqs\n\nat this point nr_irqs is equal NR_IRQS\n\nconvert a few easy users from NR_IRQS to dynamic nr_irqs.\n\nv2: according to Eric, we need to take care of arch without generic_hardirqs\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f18e439d1035d059534d261c414af33f89aee89a",
      "tree": "3acd22b961fdcf2340eb0e9527fd9f6b810ee3b3",
      "parents": [
        "50ac2d694f2dd1658341cf97bcf2ffb836d772cb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Aug 12 15:09:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:30 2008 -0700"
      },
      "message": "genirq: switch /proc/irq/*/smp_affinity et al to seqfiles\n\nSwitch /proc/irq/*/smp_affinity , /proc/irq/default_smp_affinity to\nseq_files.\n\ncat(1) reads with 1024 chunks by default, with high enough NR_CPUS, there\nwill be -EINVAL.\n\nAs side effect, there are now two less users of the -\u003eread_proc interface.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18404756765c713a0be4eb1082920c04822ce588",
      "tree": "ed426f8fe90bff1ffd854074a2e4b370dd6821f8",
      "parents": [
        "c3b25b32e8bef526cca748e1ba023c6bdd705a99"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Thu May 29 11:02:52 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 05 15:18:30 2008 +0200"
      },
      "message": "genirq: Expose default irq affinity mask (take 3)\n\nCurrent IRQ affinity interface does not provide a way to set affinity\nfor the IRQs that will be allocated/activated in the future.\nThis patch creates /proc/irq/default_smp_affinity that lets users set\ndefault affinity mask for the newly allocated IRQs. Changing the default\ndoes not affect affinity masks for the currently active IRQs, they\nhave to be changed explicitly.\n\nUpdated based on Paul J\u0027s comments and added some more documentation.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: pj@sgi.com\nCc: a.p.zijlstra@chello.nl\nCc: tglx@linutronix.de\nCc: rdunlap@xenotime.net\nCc: mingo@elte.hu\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "96d97cf03b3d68e6c857623da93acd522b2b7e1a",
      "tree": "f31885e66849ca2e20d9dffd72ecd556204dbb45",
      "parents": [
        "9e094c17ee2b85130ab7b2ea37456f6867eb687a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "message": "x86: add /proc/irq/*/spurious to dump the spurious irq debugging state\n\nThis is useful to debug problems with interrupt handlers that return\nsometimes IRQ_NONE.\n\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": "42ee2b74140b69fa24da1c671b03c9f8019e6f62",
      "tree": "1a5fdf2743d90185fd9716bbaa9bdcd6140f8ae8",
      "parents": [
        "78b599aed61a1098444558e74c93745f22eda6cb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Jul 21 17:09:54 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 18:37:07 2007 -0700"
      },
      "message": "x86_64: Report the pending irq if available in smp_affinity\n\nOtherwise smp_affinity would only update after the next interrupt\non x86 systems.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25d61578daae697c4a0eb817f42a868af9824f82",
      "tree": "ec4ac10132f0b12a822dba6a53d05bab78ec3760",
      "parents": [
        "3e3d32770204ea24cf71919a90d9ccfc2bd407dd"
      ],
      "author": {
        "name": "John Keller",
        "email": "jpk@sgi.com",
        "time": "Thu May 10 22:42:44 2007 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri May 11 09:35:38 2007 -0700"
      },
      "message": "[IA64] SN: validate smp_affinity mask on intr redirect\n\nOn SN, only allow one bit to be set in the smp_affinty mask when\nredirecting an interrupt.  Currently setting multiple bits is allowed, but\nonly the first bit is used in determining the CPU to redirect to.  This has\ncaused confusion among some customers.\n\n[akpm@linux-foundation.org: fixes]\nSigned-off-by: John Keller \u003cjpk@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "d2d9433a4c84c9e7ed78d633fdbffb35d5afda17",
      "tree": "5a9fb2c9531bec148f21fc499d49493b5576e79c",
      "parents": [
        "c467a388ae9f236c039d4d0f4c4be07c7deebe97"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Tue May 08 00:27:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "kernel/irq/proc.c: unprotected iteration over the IRQ action list in name_unique()\n\nsetup_irq() releases a desc-\u003elock before calling register_handler_proc(), so\nthe iteration over the IRQ action list is not protected.\n\n(akpm: the check itself is still racy, but at least it probably won\u0027t oops\nnow).\n\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": "771ee3b04eaac6184312825eb600b4c598f027a5",
      "tree": "f0db1cca6b9849855c1d2fd6a16828084311e03c",
      "parents": [
        "950f4427c2ddc921164088a20f01304cf231437c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] Add a function to handle interrupt affinity setting\n\nProvide funtions to:\n - check, whether an interrupt can set the affinity\n - pin the interrupt to a given cpu\n\nNecessary for the ability to setup clocksources more flexible (e.g.  use the\ndifferent HPET channels per CPU)\n\n[akpm@osdl.org: alpha build fix]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "950f4427c2ddc921164088a20f01304cf231437c",
      "tree": "8fd3fb1ad045a47dbd2c6ac238c6ff1c1c5aa6c6",
      "parents": [
        "b463fc60730bea6cdd73fec6edc6ec4658d47d37"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] Add irq flag to disable balancing for an interrupt\n\nAdd a flag so we can prevent the irq balancing of an interrupt.  Move the\nbits, so we have room for more :)\n\nNecessary for the ability to setup clocksources more flexible (e.g.  use the\ndifferent HPET channels per CPU)\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b653d081c17e26101980c858a9808740533b78b4",
      "tree": "907b6e6d97f30b61840cf4b1654f88a1df56945c",
      "parents": [
        "891dcd2f7ab15e2aaad07f6925b3a53fd8d5c02f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Feb 10 01:45:54 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] proc: remove useless (and buggy) -\u003enlink settings\n\nBug: pnx8550 code creates directory but resets -\u003enlink to 1.\n\ncreate_proc_entry() et al will correctly set -\u003enlink for you.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "6e2ac66470976ad7f57e0948572669b2bdfea2d0",
      "tree": "aa1e9c2888bae27d96363c5458a871a4c39cbfd2",
      "parents": [
        "aad094701c6355cb2b3d74a07ec0496f4a48c787"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Fri Dec 08 02:35:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:37 2006 -0800"
      },
      "message": "[PATCH] CPEI gets warning at kernel/irq/migration.c:27/move_masked_irq()\n\nWhile running my MCA test (hardware error injection) on 2.6.19,\nI got some warning like following:\n\n\u003e BUG: warning at kernel/irq/migration.c:27/move_masked_irq()\n\u003e\n\u003e Call Trace:\n\u003e  [\u003ca000000100013d20\u003e] show_stack+0x40/0xa0\n\u003e                                 sp\u003de00000006b2578d0 bsp\u003de00000006b2510b0\n\u003e  [\u003ca000000100013db0\u003e] dump_stack+0x30/0x60\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251098\n\u003e  [\u003ca0000001000de430\u003e] move_masked_irq+0xb0/0x240\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251070\n\u003e  [\u003ca0000001000de6a0\u003e] move_native_irq+0xe0/0x180\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251040\n\u003e  [\u003ca00000010004ff50\u003e] iosapic_end_level_irq+0x30/0xe0\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b251020\n\u003e  [\u003ca0000001000d94d0\u003e] __do_IRQ+0x170/0x400\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b250fd8\n\u003e  [\u003ca0000001000116f0\u003e] ia64_handle_irq+0x1b0/0x260\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b250fa8\n\u003e  [\u003ca00000010000c3a0\u003e] ia64_leave_kernel+0x0/0x280\n\u003e                                 sp\u003de00000006b257aa0 bsp\u003de00000006b250fa8\n\u003e  [\u003ca000000100690cf0\u003e] _spin_unlock_irqrestore+0x30/0x60\n\u003e                                 sp\u003de00000006b257c70 bsp\u003de00000006b250f90\n\nIt comes from:\n\n[kernel/irq/migration.c]\n  26         if (CHECK_IRQ_PER_CPU(desc-\u003estatus)) {\n  27                 WARN_ON(1);\n  28                 return;\n  29         }\n\nBy putting some printk in kernel, I found that irqbalance is trying to\nmove CPEI which is handled as PER_CPU irq. That\u0027s why.\n\nCPEI(Corrected Platform Error Interrupt) is ia64 specific irq, is\nallowed to pin to particular processor which selected by the platform, and\neven it is PER_CPU but it has set_affinity handler (\u003diosapic_set_affinity)\nas same as other IO-SAPIC-level interrupts. (I don\u0027t know why, but\nI guess that there would be typical situation where the handler for\nmigration is needed, such as hotplug - the processor going to be\noffline/hot-removed.)\n\nTo shut up this warning, there are 2 way at least:\n a) fix CPEI stuff\n b) prohibit setting affinity to PER_CPU irq\n\nI\u0027m not sure what stuff of CPEI need to be fixed, but I think that\nreturning error to attempting move PER_CPU irq is useful for all\napplications since it will never work.\n\nFollowing small patch takes b) style.\nIt works, the warning disappeared and irqbalance still runs well.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01a3ee2b203e511e20f98b85a9172fd32c53e87c",
      "tree": "0dd90d81dc86f231828af23bdb97522405b06cab",
      "parents": [
        "39484e53bb00f55b6303a908070db133608ef2a5"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@linux.intel.com",
        "time": "Wed Oct 11 01:21:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:22 2006 -0700"
      },
      "message": "[PATCH] bitmap: parse input from kernel and user buffers\n\nlib/bitmap.c:bitmap_parse() is a library function that received as input a\nuser buffer.  This seemed to have originated from the way the write_proc\nfunction of the /proc filesystem operates.\n\nThis has been reworked to not use kmalloc and eliminates a lot of\nget_user() overhead by performing one access_ok before using __get_user().\n\nWe need to test if we are in kernel or user space (is_user) and access the\nbuffer differently.  We cannot use __get_user() to access kernel addresses\nin all cases, for example in architectures with separate address space for\nkernel and user.\n\nThis function will be useful for other uses as well; for example, taking\ninput for /sysfs instead of /proc, so it was changed to accept kernel\nbuffers.  We have this use for the Linux UWB project, as part as the\nupcoming bandwidth allocator code.\n\nOnly a few routines used this function and they were changed too.\n\nSigned-off-by: Reinette Chatre \u003creinette.chatre@linux.intel.com\u003e\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1c2662cbc6a0a9772655649bdf579803d33470b",
      "tree": "ab6d0cc97527941e038edf0532f3917fca0953f8",
      "parents": [
        "e76de9f8eb67b7acc1cc6f28c4be8583adf0a90c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: no_irq_type -\u003e no_irq_chip rename\n\nRename no_irq_type to no_irq_chip.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4a733ee12618cf3ec25cbc337a5e0ba3ad5d7fb6",
      "tree": "efee6dfbfcfd08fbe1f2462afb299aeb5624354b",
      "parents": [
        "71d218b75fa91219c6bd310fbdd257dfbcac6c88"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: merge irq_dir[], smp_affinity_entry[] into irq_desc[]\n\nConsolidation: remove the irq_dir[NR_IRQS] and the smp_affinity_entry[NR_IRQS]\narrays and move them into the irq_desc[] array.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a53da52fd743fd637637572838c0a7af23a2d038",
      "tree": "b62c205b609356db5bca378c6d04d6d899bfd499",
      "parents": [
        "74ffd553a3a7fbae34be70b751852d5b6fe5acac"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: merge irq_affinity[] into irq_desc[]\n\nConsolidation: remove the irq_affinity[NR_IRQS] array and move it into the\nirq_desc[NR_IRQS].affinity field.\n\n[akpm@osdl.org: sparc64 build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d1bef4ed5faf7d9872337b33c4269e45ae1bf960",
      "tree": "a88c58e3102396382e9137a25a884af14421f6a6",
      "parents": [
        "cfb9e32f2ff32ef5265c1c80fe68dd1a7f03a604"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:21 2006 -0700"
      },
      "message": "[PATCH] genirq: rename desc-\u003ehandler to desc-\u003echip\n\nThis patch-queue improves the generic IRQ layer to be truly generic, by adding\nvarious abstractions and features to it, without impacting existing\nfunctionality.\n\nWhile the queue can be best described as \"fix and improve everything in the\ngeneric IRQ layer that we could think of\", and thus it consists of many\nsmaller features and lots of cleanups, the one feature that stands out most is\nthe new \u0027irq chip\u0027 abstraction.\n\nThe irq-chip abstraction is about describing and coding and IRQ controller\ndriver by mapping its raw hardware capabilities [and quirks, if needed] in a\nstraightforward way, without having to think about \"IRQ flow\"\n(level/edge/etc.) type of details.\n\nThis stands in contrast with the current \u0027irq-type\u0027 model of genirq\narchitectures, which \u0027mixes\u0027 raw hardware capabilities with \u0027flow\u0027 details.\nThe patchset supports both types of irq controller designs at once, and\nconverts i386 and x86_64 to the new irq-chip design.\n\nAs a bonus side-effect of the irq-chip approach, chained interrupt controllers\n(master/slave PIC constructs, etc.) are now supported by design as well.\n\nThe end result of this patchset intends to be simpler architecture-level code\nand more consolidation between architectures.\n\nWe reused many bits of code and many concepts from Russell King\u0027s ARM IRQ\nlayer, the merging of which was one of the motivations for this patchset.\n\nThis patch:\n\nrename desc-\u003ehandler to desc-\u003echip.\n\nOriginally i did not want to do this, because it\u0027s a big patch.  But having\nboth \"desc-\u003ehandler\", \"desc-\u003ehandle_irq\" and \"action-\u003ehandler\" caused a\nlarge degree of confusion and made the code appear alot less clean than it\ntruly is.\n\nI have also attempted a dual approach as well by introducing a\ndesc-\u003echip alias - but that just wasnt robust enough and broke\nfrequently.\n\nSo lets get over with this quickly.  The conversion was done automatically\nvia scripts and converts all the code in the kernel.\n\nThis renaming patch is the first one amongst the patches, so that the\nremaining patches can stay flexible and can be merged and split up\nwithout having some big monolithic patch act as a merge barrier.\n\n[akpm@osdl.org: build fix]\n[akpm@osdl.org: another build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b61b910e99059abdd54c93aa70e84e076e33d16",
      "tree": "fe2cd431dc39521a0f2d30e22c9bd3eb3e1bc317",
      "parents": [
        "afa024c3dbccf026e45121f4b9de54cda48edbea"
      ],
      "author": {
        "name": "Zhang Yanmin",
        "email": "yanmin.zhang@intel.com",
        "time": "Fri Jun 23 02:04:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:57 2006 -0700"
      },
      "message": "[PATCH] x86: kernel irq balance doesn\u0027t work\n\nOn i386, kernel irq balance doesn\u0027t work.\n\n1) In function do_irq_balance, after kernel finds the min_loaded cpu but\n   before calling set_pending_irq to really pin the selected_irq to the\n   target cpu, kernel does a cpus_and with irq_affinity[selected_irq].\n   Later on, when the irq is acked, kernel would calls\n   move_native_irq\u003d\u003edesc-\u003ehandler-\u003eset_affinity to change the irq affinity.\n    However, every function pointed by\n   hw_interrupt_type-\u003eset_affinity(unsigned int irq, cpumask_t cpumask)\n   always changes irq_affinity[irq] to cpumask.  Next time when recalling\n   do_irq_balance, it has to do cpu_ands again with\n   irq_affinity[selected_irq], but irq_affinity[selected_irq] already\n   becomes one cpu selected by the first irq balance.\n\n2) Function balance_irq in file arch/i386/kernel/io_apic.c has the same\n   issue.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97a41e26124330e41aa10ef88cd1711bc3d17460",
      "tree": "1546db361efaf926c7a970e3ec6044ea8d4b6f4c",
      "parents": [
        "b7b4d7a4666454b40b45a853bd1d296af37a85f0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jan 08 01:02:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:48 2006 -0800"
      },
      "message": "[PATCH] kernel/: small cleanups\n\nThis patch contains the following cleanups:\n- make needlessly global functions static\n- every file should include the headers containing the prototypes for\n  it\u0027s global functions\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eee45269b0f5979c70bc151c6c2f4e5f4f5ababe",
      "tree": "a8ed14ee532ea8dabc1010d540542eea1d620540",
      "parents": [
        "1fa744e6e91a895750b9980d13fcfc5791a0cd91"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Fri Jan 06 00:12:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:40 2006 -0800"
      },
      "message": "[PATCH] Alpha: convert to generic irq framework (generic part)\n\nThanks to Christoph for doing most of the work.\n\nThis allows automatic SMP IRQ affinity assignment other than default \"all\ninterrupts on all CPUs\" which is rather expensive.  This might be useful if\nthe hardware can be programmed to distribute interrupts among different\nCPUs, like Alpha does.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54d5d42404e7705cf3804593189e963350d470e5",
      "tree": "7cf8a7fce163b19672193d8cf4ef6a7f6c131d9e",
      "parents": [
        "f63ed39c578a2a2d067356a85ce7c28a7c795d8a"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Tue Sep 06 15:16:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:15 2005 -0700"
      },
      "message": "[PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity\n\nWhen handling writes to /proc/irq, current code is re-programming rte\nentries directly. This is not recommended and could potentially cause\nchipset\u0027s to lockup, or cause missing interrupts.\n\nCONFIG_IRQ_BALANCE does this correctly, where it re-programs only when the\ninterrupt is pending. The same needs to be done for /proc/irq handling as well.\nOtherwise user space irq balancers are really not doing the right thing.\n\n- Changed pending_irq_balance_cpumask to pending_irq_migrate_cpumask for\n  lack of a generic name.\n- added move_irq out of IRQ_BALANCE, and added this same to X86_64\n- Added new proc handler for write, so we can do deferred write at irq\n  handling time.\n- Display of /proc/irq/XX/smp_affinity used to display CPU_MASKALL, instead\n  it now shows only active cpu masks, or exactly what was set.\n- Provided a common move_irq implementation, instead of duplicating\n  when using generic irq framework.\n\nTested on i386/x86_64 and ia64 with CONFIG_PCI_MSI turned on and off.\nTested UP builds as well.\n\nMSI testing: tbd: I have cards, need to look for a x-over cable, although I\ndid test an earlier version of this patch.  Will test in a couple days.\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nAcked-by: Zwane Mwaikambo \u003czwane@holomorphy.com\u003e\nGrudgingly-acked-by: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Coywolf Qi Hunt \u003ccoywolf@lovecn.org\u003e\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\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"
    }
  ]
}
