)]}'
{
  "log": [
    {
      "commit": "ba84be2338d3a2b6020d39279335bb06fcd332e1",
      "tree": "ea41e8d58b208332945808380f9643a8267f7ad5",
      "parents": [
        "08adefd4791772d8b3fe23cc9d2554123e21dfa3"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Jan 06 14:41:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "remove linux/hardirq.h from asm-generic/local.h\n\nWhile looking at reducing the amount of architecture namespace pollution\nin the generic kernel, I found that asm/irq.h is included in the vast\nmajority of compilations on ARM (around 650 files.)\n\nSince asm/irq.h includes a sub-architecture include file on ARM, this\ncauses a negative impact on the ccache\u0027s ability to re-use the build\nresults from other sub-architectures, so we have a desire to reduce the\ndependencies on asm/irq.h.\n\nIt turns out that a major cause of this is the needless include of\nlinux/hardirq.h into asm-generic/local.h.  The patch below removes this\ninclude, resulting in some 250 to 300 files (around half) of the kernel\nthen omitting asm/irq.h.\n\nMy test builds still succeed, provided two ARM files are fixed\n(arch/arm/kernel/traps.c and arch/arm/mm/fault.c) - so there may be\nnegative impacts for this on other architectures.\n\nNote that x86 does not include asm/irq.h nor linux/hardirq.h in its\nasm/local.h, so this patch can be viewed as bringing the generic version\ninto line with the x86 version.\n\n[kosaki.motohiro@jp.fujitsu.com: add #include \u003clinux/irqflags.h\u003e to acpi/processor_idle.c]\n[adobriyan@gmail.com: fix sparc64]\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\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": "af9379c7121d5543722c00bbd1adf7dcaa0b6448",
      "tree": "798ddf46cd7b3edbec70d8b1af5f064d1db83532",
      "parents": [
        "5f820f648c92a5ecc771a96b3c29aa6e90013bba"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Jan 06 14:41:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "documentation: when to BUG(), and when to not BUG()\n\nProvide some basic advice about when to use BUG()/BUG_ON(): never, unless\nthere\u0027s really no better option.\n\nThis matches my understanding of the standard policy ...  which seems not\nto be written down so far, outside of LKML messages that I haven\u0027t\nbookmarked.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f572e3f96b8a2ef70dcb881e64c7b9c10057d98",
      "tree": "26accc06afbe7149d2aed6930cc50c5e865d6d28",
      "parents": [
        "901608d9045146aec6f14a7777ea4b1501c379f0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jan 06 14:40:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:10 2009 -0800"
      },
      "message": "mm: remove CONFIG_OUT_OF_LINE_PFN_TO_PAGE\n\nNo architectures use CONFIG_OUT_OF_LINE_PFN_TO_PAGE - it can be removed.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "1db2a5c11e495366bff35cf7445d494703f7febe",
      "tree": "3347dd1cab0a2a96a4333524298a62132eb22336",
      "parents": [
        "a39b863342b8aba52390092be95db58f6ed56061",
        "cef7125def4dd104769f400c941199614da0aca1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:21 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (85 commits)\n  [S390] provide documentation for hvc_iucv kernel parameter.\n  [S390] convert ctcm printks to dev_xxx and pr_xxx macros.\n  [S390] convert zfcp printks to pr_xxx macros.\n  [S390] convert vmlogrdr printks to pr_xxx macros.\n  [S390] convert zfcp dumper printks to pr_xxx macros.\n  [S390] convert cpu related printks to pr_xxx macros.\n  [S390] convert qeth printks to dev_xxx and pr_xxx macros.\n  [S390] convert sclp printks to pr_xxx macros.\n  [S390] convert iucv printks to dev_xxx and pr_xxx macros.\n  [S390] convert ap_bus printks to pr_xxx macros.\n  [S390] convert dcssblk and extmem printks messages to pr_xxx macros.\n  [S390] convert monwriter printks to pr_xxx macros.\n  [S390] convert s390 debug feature printks to pr_xxx macros.\n  [S390] convert monreader printks to pr_xxx macros.\n  [S390] convert appldata printks to pr_xxx macros.\n  [S390] convert setup printks to pr_xxx macros.\n  [S390] convert hypfs printks to pr_xxx macros.\n  [S390] convert time printks to pr_xxx macros.\n  [S390] convert cpacf printks to pr_xxx macros.\n  [S390] convert cio printks to pr_xxx macros.\n  ...\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "b594deb0cc54d857828d2e33b2e9d5a9f02f0e89",
      "tree": "1ce4e5e96dc2a3970d382ef952bf2683aa8c75a0",
      "parents": [
        "0b271ef4521756010675b1611bef20fd3096790d",
        "ec5679e513305f1411753e5f5489935bd638af23"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:53:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:53:11 2008 +0100"
      },
      "message": "Merge branch \u0027core/debug\u0027 into core/core\n"
    },
    {
      "commit": "32272a26974d2027384fd4010cd1780fca425d94",
      "tree": "6c60bf879b74a76506939705e06a8e8a743df80a",
      "parents": [
        "91d5d45ee0a8978870fd12e5c3fe394a530ec2ed"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 25 13:38:59 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 25 13:39:04 2008 +0100"
      },
      "message": "[S390] __page_to_pfn warnings\n\nFor CONFIG_SPARSEMEM_VMEMMAP\u003dy on s390 I get warnings like\n\ninit/main.c: In function \u0027start_kernel\u0027:\ninit/main.c:641: warning: format \u0027%08lx\u0027 expects type \u0027long unsigned int\u0027, but argument 2 has type \u0027int\u0027\n\nThe warning can be suppressed with a cast to unsigned long in the\nCONFIG_SPARSEMEM_VMEMMAP\u003dy version of __page_to_pfn.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "fa623d1b0222adbe8f822e53c08003b9679a410c",
      "tree": "261a320f3fbf88fab8a3203419ca4d71bdf49152",
      "parents": [
        "3d44cc3e01ee1b40317f79ed54324e25c4f848df",
        "1ccedb7cdba6886939dd8b4c8f965a826f696e56",
        "34945ede31071ac7d72270cc6c1893323f392b3f",
        "d4377974062122d6d9be0bbd8a910a0954714194",
        "c415b3dce30dfb41234e118662e8720f47343a4f",
        "beeb4195cbc80b7489631361b7ed38b7518af433",
        "f269b07e862c395d6981ab2c05d6bc34b0249e90",
        "4e42ebd57b2e727b28bf5f6068e95cd19b0e807b",
        "e1286f2c686f5976e0424bb6195ece25e7a17607",
        "878719e831d9e076961aa15d4049a57a6668c67a",
        "fd28a5b58dddf5cb5df162ae5c8797a63171c31d",
        "adf77bac052bb5bf0722b2ce2af9fefc5b2d2a71",
        "8f2466f45f75e3cbe3aa2b69d33fd9d6e343b9cc",
        "93093d099e5dd0c258fd530c12668e828c20df41",
        "bb5574608a8375026510b4f983ffbb06ece33fe2",
        "f34a10bd9f8cc95ebdc69a079db195636b2e22e0",
        "b6fd6f26733e864fba2ea3eb1d716e23d2e66f3a",
        "30604bb410b53efa9c93ee8f03d7aa7494094faa",
        "5b9a0e14eb4bf40a7cb780af4723560e06753f2d",
        "67bac792cd0c05b4b6e0393c32605b028b8dd533",
        "7a9787e1eba95a166265e6a260cf30af04ef0a99",
        "f4166c54bfe04f64603974058e44fbd7cfef0ccc",
        "69b88afa8d114a43a3c0431722b79e31d9920692",
        "8daa19051e1c7369c89ace7b18e74fe1f55dfa29",
        "3e1e9002aa8b32bd4c95ac6c8fad376b7a8127fb",
        "8403295e0fa460f6240e2d781e25dc29189f33c7",
        "4db646b1af8fdcf01d690d29eeae44cd937edb0d",
        "205516c12dbba003c26b42cfb41e598631300106",
        "c8182f0016fb65a721c4fbe487909a2d56178135",
        "ecbf29cdb3990c83d90d0c4187c89fb2ce423367"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 16:27:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 16:27:23 2008 +0100"
      },
      "message": "Merge branches \u0027x86/apic\u0027, \u0027x86/cleanups\u0027, \u0027x86/cpufeature\u0027, \u0027x86/crashdump\u0027, \u0027x86/debug\u0027, \u0027x86/defconfig\u0027, \u0027x86/detect-hyper\u0027, \u0027x86/doc\u0027, \u0027x86/dumpstack\u0027, \u0027x86/early-printk\u0027, \u0027x86/fpu\u0027, \u0027x86/idle\u0027, \u0027x86/io\u0027, \u0027x86/memory-corruption-check\u0027, \u0027x86/microcode\u0027, \u0027x86/mm\u0027, \u0027x86/mtrr\u0027, \u0027x86/nmi-watchdog\u0027, \u0027x86/pat2\u0027, \u0027x86/pci-ioapic-boot-irq-quirks\u0027, \u0027x86/ptrace\u0027, \u0027x86/quirks\u0027, \u0027x86/reboot\u0027, \u0027x86/setup-memory\u0027, \u0027x86/signal\u0027, \u0027x86/sparse-fixes\u0027, \u0027x86/time\u0027, \u0027x86/uv\u0027 and \u0027x86/xen\u0027 into x86/core\n"
    },
    {
      "commit": "34801ba9bf0381fcf0e2b08179d2c07f2c6ede74",
      "tree": "e14d979cb9abf9220d0c60b04505851805975398",
      "parents": [
        "982d789ab76c8a11426852fec2fdf2f412e21c0c"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Dec 19 13:47:29 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Dec 19 15:40:30 2008 -0800"
      },
      "message": "x86: PAT: move track untrack pfnmap stubs to asm-generic\n\nImpact: Cleanup and branch hints only.\n\nMove the track and untrack pfn stub routines from memory.c to asm-generic.\nAlso add unlikely to pfnmap related calls in fork and exit path.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "30cd324e9787ccc9a5ede59742d5409857550692",
      "tree": "e53027e0283119de0ef4c3a431b1d20cd43003fb",
      "parents": [
        "c71dd42db2c6f1637b92502a214587431c1a6ad2",
        "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
        "3d9101e92529e1ff6014f95a69afc82f37b9b13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/ftrace.h\n"
    },
    {
      "commit": "2520bd3123c00272f818a176c92d03c7d0a113d6",
      "tree": "1c5f3e47243d77573cb4933dadc5224d2fb32686",
      "parents": [
        "8a7b12f70fb135a1b1d865687de3edcdc780f6d1"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Dec 18 11:41:32 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Dec 18 13:30:16 2008 -0800"
      },
      "message": "x86: PAT: add pgprot_writecombine() interface for drivers - v3\n\nImpact: New mm functionality.\n\nAdd pgprot_writecombine. pgprot_writecombine will be aliased to\npgprot_noncached when not supported by the architecture.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "b93a531e315e97ef00367099e6b5f19651936e20",
      "tree": "231e6d626fbf85dd80d7cbac49a9c9a14282f898",
      "parents": [
        "85072bd55219231b8ca5d9d3fa3492eb4fa6635f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Dec 16 11:40:27 2008 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 18:40:32 2008 +0100"
      },
      "message": "allow bug table entries to use relative pointers (and use it on x86-64)\n\nImpact: reduce bug table size\n\nThis allows reducing the bug table size by half. Perhaps there are\nother 64-bit architectures that could also make use of this.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "968ea6d80e395cf11a51143cfa1b9a14ada676df",
      "tree": "dc2acec8c9bdced33afe1e273ee5e0b0b93d2703",
      "parents": [
        "7be7585393d311866653564fbcd10a3232773c0b",
        "8299608f140ae321e4eb5d1306184265d2b9511e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "message": "Merge ../linux-2.6-x86\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n\tkernel/sched.c\n\tkernel/sched_stats.h\n"
    },
    {
      "commit": "f0b848ce6fe9062d504d997e9e97fe0f87d57217",
      "tree": "a65d0d47ba2b13f740ea4477617fdcb710ae5889",
      "parents": [
        "aab46da0520af9c99b7802cebe4f14a81ff39415"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:27 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:27 2008 +1030"
      },
      "message": "cpumask: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask\n\nImpact: New APIs\n\nThe old node_to_cpumask/node_to_pcibus returned a cpumask_t: these\nreturn a pointer to a struct cpumask.  Part of removing cpumasks from\nthe stack.\n\nThis defines them in the generic non-NUMA case.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\n"
    },
    {
      "commit": "45ab6b0c76d0e4cce5bd608ccf97b0f6b20f18df",
      "tree": "4d51c73533c386aee16fde1e74b5e3bc22eedc53",
      "parents": [
        "81444a799550214f549caf579cf65a0ca55e70b7",
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 into cpus4096\n\nConflicts:\n\tinclude/linux/ftrace.h\n\tkernel/sched.c\n"
    },
    {
      "commit": "a0343e823184070f55364d8359f832dcb33c57c7",
      "tree": "9ec950c5881e244a741f21f0c3ab262fbae0f0fb",
      "parents": [
        "f3134de60624829a57741c1f3796847d4de165f6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Dec 09 23:53:16 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 11:14:07 2008 +0100"
      },
      "message": "tracing/function-graph-tracer: add a new .irqentry.text section\n\nImpact: let the function-graph-tracer be aware of the irq entrypoints\n\nAdd a new .irqentry.text section to store the irq entrypoints functions\ninside the same section. This way, the tracer will be able to signal\nan interrupts triggering on output by recognizing these entrypoints.\n\nAlso, make this section recordable for dynamic tracing.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa6f14796630c8b03c11e782484aec2aee05e671",
      "tree": "7354980444c6e3adab9d17f97abed4417bfa8d7e",
      "parents": [
        "80bba1290ab5122c60cdb73332b26d288dc8aedd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Dec 09 13:14:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:53 2008 -0800"
      },
      "message": "atomic: fix a typo in atomic_long_xchg()\n\natomic_long_xchg() is not correctly defined for 32bit arches.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b0c940a91f8e6fd0e1be3e01d5e98997446233b",
      "tree": "1d2244b671b8ec91450af2d6bc97c86c4c7eb1f4",
      "parents": [
        "a64e64944f4b8ce3288519555dbaa0232414b8ac"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier.adi@gmail.com",
        "time": "Tue Nov 18 15:03:49 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 02:27:39 2008 -0500"
      },
      "message": "[PATCH] asm/generic: fix bug - kernel fails to build when enable some common audit code on Blackfin\n\nIf you enable some common audit code, the kernel fails to build.\n\nIn file included from lib/audit.c:17:\ninclude/asm-generic/audit_write.h:3: error: \u0027__NR_swapon\u0027 undeclared here (not in a function)\nmake[1]: *** [lib/audit.o] Error 1\nmake: *** [lib] Error 2\n\nSo do not use __NR_swapon if it isnt defined for a port.\n\nSigned-off-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec5679e513305f1411753e5f5489935bd638af23",
      "tree": "223788b782c6453e64d189b30d5b0335599c0e47",
      "parents": [
        "bd89bb29a01503c5cffa367eccb0b356f910cb8d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 17:56:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 17:56:14 2008 +0100"
      },
      "message": "debug warnings: eliminate warn_on_slowpath()\n\nImpact: cleanup, eliminate code\n\nnow that warn_on_slowpath() uses warn_slowpath(...,NULL), we can\neliminate warn_on_slowpath() altogether and use warn_slowpath().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2bcd521a684cc94befbe2ce7d5b613c841b0d304",
      "tree": "63bc4dbc52defa27c8cac9e46dddadfcb36c1c7a",
      "parents": [
        "bac28bfe42ba98ee67503f78984d1d5e1ebbbb78"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 21 01:30:54 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:41:01 2008 +0100"
      },
      "message": "trace: profile all if conditionals\n\nImpact: feature to profile if statements\n\nThis patch adds a branch profiler for all if () statements.\nThe results will be found in:\n\n  /debugfs/tracing/profile_branch\n\nFor example:\n\n   miss      hit    %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n       0        1 100 x86_64_start_reservations      head64.c             127\n       0        1 100 copy_bootdata                  head64.c             69\n       1        0   0 x86_64_start_kernel            head64.c             111\n      32        0   0 set_intr_gate                  desc.h               319\n       1        0   0 reserve_ebda_region            head.c               51\n       1        0   0 reserve_ebda_region            head.c               47\n       0        1 100 reserve_ebda_region            head.c               42\n       0        0   X maxcpus                        main.c               165\n\nMiss means the branch was not taken. Hit means the branch was taken.\nThe percent is the percentage the branch was taken.\n\nThis adds a significant amount of overhead and should only be used\nby those analyzing their system.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45b797492a0758e64dff74e9db70e1f65e0603a5",
      "tree": "75db13ee888a6c7f90c92c17a743bff8ce42d86a",
      "parents": [
        "42f565e116e0408b5ddc21a33c4a4d41fd572420"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 21 00:40:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:39:56 2008 +0100"
      },
      "message": "trace: consolidate unlikely and likely profiler\n\nImpact: clean up to make one profiler of like and unlikely tracer\n\nThe likely and unlikely profiler prints out the file and line numbers\nof the annotated branches that it is profiling. It shows the number\nof times it was correct or incorrect in its guess. Having two\ndifferent files or sections for that matter to tell us if it was a\nlikely or unlikely is pretty pointless. We really only care if\nit was correct or not.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e066fb870fcd1025ec3ba7bbde5d541094f4ce1",
      "tree": "52acda06de25c029b9834110d7bf6b4abc50353b",
      "parents": [
        "32f85742778dfc2c74975cf0b9f5bdb13470cb32"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Nov 14 17:47:47 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 09:01:36 2008 +0100"
      },
      "message": "tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()\n\nImpact: API *CHANGE*. Must update all tracepoint users.\n\nAdd DEFINE_TRACE() to tracepoints to let them declare the tracepoint\nstructure in a single spot for all the kernel. It helps reducing memory\nconsumption, especially when declaring a lot of tracepoints, e.g. for\nkmalloc tracing.\n\n*API CHANGE WARNING*: now, DECLARE_TRACE() must be used in headers for\ntracepoint declarations rather than DEFINE_TRACE(). This is the sane way\nto do it. The name previously used was misleading.\n\nUpdates scheduler instrumentation to follow this API change.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ed84eeb8808cf3c9f039213ca137ffd7d753f0e",
      "tree": "3aa22269a1fd5ed0b66826120ca9b572400962b5",
      "parents": [
        "68d119f0a66f7e3663304343b072e56a2693446b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 12 15:24:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 22:27:58 2008 +0100"
      },
      "message": "trace: rename unlikely profiler to branch profiler\n\nImpact: name change of unlikely tracer and profiler\n\nIngo Molnar suggested changing the config from UNLIKELY_PROFILE\nto BRANCH_PROFILING. I never did like the \"unlikely\" name so I\nwent one step farther, and renamed all the unlikely configurations\nto a \"BRANCH\" variant.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f0d69a9fc815db82f15722bf05227190b1d714d",
      "tree": "21e0a9664fd47827d9168938a965b39b85b6e287",
      "parents": [
        "cb9382e5a94e54d0356d730954396c746ae66d6e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:14:39 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:52:02 2008 +0100"
      },
      "message": "tracing: profile likely and unlikely annotations\n\nImpact: new unlikely/likely profiler\n\nAndrew Morton recently suggested having an in-kernel way to profile\nlikely and unlikely macros. This patch achieves that goal.\n\nWhen configured, every(*) likely and unlikely macro gets a counter attached\nto it. When the condition is hit, the hit and misses of that condition\nare recorded. These numbers can later be retrieved by:\n\n  /debugfs/tracing/profile_likely    - All likely markers\n  /debugfs/tracing/profile_unlikely  - All unlikely markers.\n\n# cat /debug/tracing/profile_unlikely | head\n correct incorrect  %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n    2167        0   0 do_arch_prctl                  process_64.c         832\n       0        0   0 do_arch_prctl                  process_64.c         804\n    2670        0   0 IS_ERR                         err.h                34\n   71230     5693   7 __switch_to                    process_64.c         673\n   76919        0   0 __switch_to                    process_64.c         639\n   43184    33743  43 __switch_to                    process_64.c         624\n   12740    64181  83 __switch_to                    process_64.c         594\n   12740    64174  83 __switch_to                    process_64.c         590\n\n# cat /debug/tracing/profile_unlikely | \\\n  awk \u0027{ if ($3 \u003e 25) print $0; }\u0027 |head -20\n   44963    35259  43 __switch_to                    process_64.c         624\n   12762    67454  84 __switch_to                    process_64.c         594\n   12762    67447  84 __switch_to                    process_64.c         590\n    1478      595  28 syscall_get_error              syscall.h            51\n       0     2821 100 syscall_trace_leave            ptrace.c             1567\n       0        1 100 native_smp_prepare_cpus        smpboot.c            1237\n   86338   265881  75 calc_delta_fair                sched_fair.c         408\n  210410   108540  34 calc_delta_mine                sched.c              1267\n       0    54550 100 sched_info_queued              sched_stats.h        222\n   51899    66435  56 pick_next_task_fair            sched_fair.c         1422\n       6       10  62 yield_task_fair                sched_fair.c         982\n    7325     2692  26 rt_policy                      sched.c              144\n       0     1270 100 pre_schedule_rt                sched_rt.c           1261\n    1268    48073  97 pick_next_task_rt              sched_rt.c           884\n       0    45181 100 sched_info_dequeued            sched_stats.h        177\n       0       15 100 sched_move_task                sched.c              8700\n       0       15 100 sched_move_task                sched.c              8690\n   53167    33217  38 schedule                       sched.c              4457\n       0    80208 100 sched_info_switch              sched_stats.h        270\n   30585    49631  61 context_switch                 sched.c              2619\n\n# cat /debug/tracing/profile_likely | awk \u0027{ if ($3 \u003e 25) print $0; }\u0027\n   39900    36577  47 pick_next_task                 sched.c              4397\n   20824    15233  42 switch_mm                      mmu_context_64.h     18\n       0        7 100 __cancel_work_timer            workqueue.c          560\n     617    66484  99 clocksource_adjust             timekeeping.c        456\n       0   346340 100 audit_syscall_exit             auditsc.c            1570\n      38   347350  99 audit_get_context              auditsc.c            732\n       0   345244 100 audit_syscall_entry            auditsc.c            1541\n      38     1017  96 audit_free                     auditsc.c            1446\n       0     1090 100 audit_alloc                    auditsc.c            862\n    2618     1090  29 audit_alloc                    auditsc.c            858\n       0        6 100 move_masked_irq                migration.c          9\n       1      198  99 probe_sched_wakeup             trace_sched_switch.c 58\n       2        2  50 probe_wakeup                   trace_sched_wakeup.c 227\n       0        2 100 probe_wakeup_sched_switch      trace_sched_wakeup.c 144\n    4514     2090  31 __grab_cache_page              filemap.c            2149\n   12882   228786  94 mapping_unevictable            pagemap.h            50\n       4       11  73 __flush_cpu_slab               slub.c               1466\n  627757   330451  34 slab_free                      slub.c               1731\n    2959    61245  95 dentry_lru_del_init            dcache.c             153\n     946     1217  56 load_elf_binary                binfmt_elf.c         904\n     102       82  44 disk_put_part                  genhd.h              206\n       1        1  50 dst_gc_task                    dst.c                82\n       0       19 100 tcp_mss_split_point            tcp_output.c         1126\n\nAs you can see by the above, there\u0027s a bit of work to do in rethinking\nthe use of some unlikelys and likelys. Note: the unlikely case had 71 hits\nthat were more than 25%.\n\nNote:  After submitting my first version of this patch, Andrew Morton\n  showed me a version written by Daniel Walker, where I picked up\n  the following ideas from:\n\n  1)  Using __builtin_constant_p to avoid profiling fixed values.\n  2)  Using __FILE__ instead of instruction pointers.\n  3)  Using the preprocessor to stop all profiling of likely\n       annotations from vsyscall_64.c.\n\nThanks to Andrew Morton, Arjan van de Ven, Theodore Tso and Ingo Molnar\nfor their feed back on this patch.\n\n(*) Not ever unlikely is recorded, those that are used by vsyscalls\n (a few of them) had to have profiling disabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5d712433ff57a66d8fb79a57a4fc7a7c3467b97",
      "tree": "35e98dc51e781bb24ef6a9bb7911d0cabef4c177",
      "parents": [
        "fed4d59b6ec5481caceb17863f19a0b0e5eaa939"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Nov 08 13:53:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 08 10:02:48 2008 -0800"
      },
      "message": "Fix __pfn_to_page(pfn) for CONFIG_DISCONTIGMEM\u003dy\n\nFix the __pfn_to_page(pfn) macro so that it doesn\u0027t evaluate its\nargument twice in the CONFIG_DISCONTIGMEM\u003dy case, because \u0027pfn\u0027 may\nbe a result of a funtion call having side effects.\n\nFor example, the hibernation code applies pfn_to_page(pfn) to the\nresult of a function returning the pfn corresponding to the next set\nbit in a bitmap and the current bit position is modified on each\ncall.  This leads to \"interesting\" failures for CONFIG_DISCONTIGMEM\u003dy\ndue to the current behavior of __pfn_to_page(pfn).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5209f08dc8e5f520ca81b87fa9a7142f58a109f4",
      "tree": "744c8a417cfd530c1a1244f3a8f2ab09c018828b",
      "parents": [
        "e2862c9470beb842d3f1c1965b03a2112114c160"
      ],
      "author": {
        "name": "Jonas Bonn",
        "email": "jonas.bonn@gmail.com",
        "time": "Sat Oct 25 11:49:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 27 11:39:03 2008 +0100"
      },
      "message": "asm-generic: define DIE_OOPS in asm-generic\n\nImpact: build fix\n\nDIE_OOPS is now used in the generic trace handling code so it needs to\nbe defined for all architectures.  Define it in asm-generic so that it\u0027s\navailable to all by default and doesn\u0027t cause build errors for\narchitectures that rely on the generic implementation.\n\nSigned-off-by: Jonas Bonn \u003cjonas.bonn@gmail.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8ddac7e53e89cb877965097d05adfeb1c91def3",
      "tree": "db4ee686e50f7fb57b0cef20e0a8e7f06151e317",
      "parents": [
        "5a439c565799cb8d290d71ce375e86be64d43a4b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 21 10:59:15 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 09:18:20 2008 -0700"
      },
      "message": "mutex: speed up generic mutex implementations\n\n- atomic operations which both modify the variable and return something imply\n  full smp memory barriers before and after the memory operations involved\n  (failing atomic_cmpxchg, atomic_add_unless, etc don\u0027t imply a barrier because\n  they don\u0027t modify the target). See Documentation/atomic_ops.txt.\n  So remove extra barriers and branches.\n\n- All architectures support atomic_cmpxchg. This has no relation to\n  __HAVE_ARCH_CMPXCHG. We can just take the atomic_cmpxchg path unconditionally\n\nThis reduces a simple single threaded fastpath lock+unlock test from 590 cycles\nto 203 cycles on a ppc970 system.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6f286f33e843862c559bfea9281318c4cdec6b0",
      "tree": "e03836de9b23d76994365657af06a8465db7acea",
      "parents": [
        "5f41b8cdc6ef33b3432cee36264d628a80398362"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Oct 20 14:41:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 15:29:57 2008 -0700"
      },
      "message": "fix WARN() for PPC\n\npowerpc doesn\u0027t use the generic WARN_ON infrastructure.  The newly\nintroduced WARN() as a result didn\u0027t print the message, this patch adds\nthe printk for this specific case.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92b29b86fe2e183d44eb467e5e74a5f718ef2e43",
      "tree": "1bac8a1aa11d47322b66d10ec3a370016d843d06",
      "parents": [
        "b9d7ccf56be1ac77b71a284a1c0e6337f9a7aff0",
        "98d9c66ab07471006fd7910cb16453581c41a3e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:35:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:35:07 2008 -0700"
      },
      "message": "Merge branch \u0027tracing-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (131 commits)\n  tracing/fastboot: improve help text\n  tracing/stacktrace: improve help text\n  tracing/fastboot: fix initcalls disposition in bootgraph.pl\n  tracing/fastboot: fix bootgraph.pl initcall name regexp\n  tracing/fastboot: fix issues and improve output of bootgraph.pl\n  tracepoints: synchronize unregister static inline\n  tracepoints: tracepoint_synchronize_unregister()\n  ftrace: make ftrace_test_p6nop disassembler-friendly\n  markers: fix synchronize marker unregister static inline\n  tracing/fastboot: add better resolution to initcall debug/tracing\n  trace: add build-time check to avoid overrunning hex buffer\n  ftrace: fix hex output mode of ftrace\n  tracing/fastboot: fix initcalls disposition in bootgraph.pl\n  tracing/fastboot: fix printk format typo in boot tracer\n  ftrace: return an error when setting a nonexistent tracer\n  ftrace: make some tracers reentrant\n  ring-buffer: make reentrant\n  ring-buffer: move page indexes into page headers\n  tracing/fastboot: only trace non-module initcalls\n  ftrace: move pc counter in irqtrace\n  ...\n\nManually fix conflicts:\n - init/main.c: initcall tracing\n - kernel/module.c: verbose level vs tracepoints\n - scripts/bootgraph.pl: fallout from cherry-picking commits.\n"
    },
    {
      "commit": "357c6e63590895dc87cc9300f5a1c27544ea69e8",
      "tree": "707cd1a80287e0f8f6f9d2879c322b2e71b2f995",
      "parents": [
        "fe20ba70abf7d6e5855c3dacc729490b3d0d077f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 18 20:28:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:41 2008 -0700"
      },
      "message": "rtc: use bcd2bin/bin2bcd\n\nChange various rtc related code to use the new bcd2bin/bin2bcd functions\ninstead of the obsolete BCD_TO_BIN/BIN_TO_BCD/BCD2BIN/BIN2BCD macros.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c813b4e16ead3c3df98ac84419d4df2adf33fe01",
      "tree": "2ca4a5b6966d833b6149e3dda7a4e85d1255779c",
      "parents": [
        "c8d8a2321f9c4ee18fbcc399fdc2a77e580a03b9",
        "02683ffdf655b4ae15245376ba6fea6d9e5829a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 12:40:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 12:40:26 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (46 commits)\n  UIO: Fix mapping of logical and virtual memory\n  UIO: add automata sercos3 pci card support\n  UIO: Change driver name of uio_pdrv\n  UIO: Add alignment warnings for uio-mem\n  Driver core: add bus_sort_breadthfirst() function\n  NET: convert the phy_device file to use bus_find_device_by_name\n  kobject: Cleanup kobject_rename and !CONFIG_SYSFS\n  kobject: Fix kobject_rename and !CONFIG_SYSFS\n  sysfs: Make dir and name args to sysfs_notify() const\n  platform: add new device registration helper\n  sysfs: use ilookup5() instead of ilookup5_nowait()\n  PNP: create device attributes via default device attributes\n  Driver core: make bus_find_device_by_name() more robust\n  usb: turn dev_warn+WARN_ON combos into dev_WARN\n  debug: use dev_WARN() rather than WARN_ON() in device_pm_add()\n  debug: Introduce a dev_WARN() function\n  sysfs: fix deadlock\n  device model: Do a quickcheck for driver binding before doing an expensive check\n  Driver core: Fix cleanup in device_create_vargs().\n  Driver core: Clarify device cleanup.\n  ...\n"
    },
    {
      "commit": "35e8bb5175c1a6ff6253f1a2acb30bfe52a2f500",
      "tree": "88a1e9695824f88efef3340fd53f8dbe576f5852",
      "parents": [
        "93a22f8b95756c53e80308820892119c910d2739"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Oct 15 22:03:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:40 2008 -0700"
      },
      "message": "gpiolib: request/free hooks\n\nAdd a new internal mechanism to gpiolib to support low power\noperations by letting gpio_chip instances see when their GPIOs\nare in use.  When no GPIOs are active, chips may be able to\nenter lower powered runtime states by disabling clocks and/or\npower domains.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \"Magnus Damm\" \u003cmagnus.damm@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": "0f6d504e73b49374c6093efe6aa60ab55058248a",
      "tree": "414c9e591ba23b2126bc9cad4e0efb1b60693b2d",
      "parents": [
        "2f8d11971b9f54362437ce70f4d1911f0996d542"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Oct 15 22:03:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:40 2008 -0700"
      },
      "message": "gpiolib: gpio_to_irq() hooks\n\nAdd a new gpiolib mechanism: gpio_chip instances can provide mappings\nbetween their (input) GPIOs and any associated IRQs.  This makes it easier\nfor platforms to support IRQs that are provided by board-specific external\nchips instead of as part of their core (such as SOC-integrated GPIOs).\n\nAlso update the irq_to_gpio() description, saying to avoid it because it\u0027s\nnot always supported.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fd5463c43d75ec919e27abdcfde1b199c19541e",
      "tree": "c9cbc30718184ebc52a912786c4f9856f00bddbb",
      "parents": [
        "1716b0fea36c2be628440c1050182a1a1e9caae7"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Oct 15 22:03:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:40 2008 -0700"
      },
      "message": "gpio: make gpiochip label const\n\nMark gpiochip label as a const char pointer.  Fixes things like\n\narch/arm/common/scoop.c: In function `scoop_probe\u0027:\narch/arm/common/scoop.c:250: warning: assignment discards qualifiers from pointer target type\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5c003b4d1690e666dbab02bc8e705947baa848c",
      "tree": "868edee78b635698429173a95ac4215b932f0155",
      "parents": [
        "8e9c7716c138fa82d919bfe1115ec8c938e90918"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 15 22:01:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:30 2008 -0700"
      },
      "message": "include: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "346e15beb5343c2eb8216d820f2ed8f150822b08",
      "tree": "6433cf2980bbfbed4a9482c5edb156fc8371e071",
      "parents": [
        "33376c1c043c05077b4ac79c33804266f6c45e49"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Aug 12 16:46:19 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:47 2008 -0700"
      },
      "message": "driver core: basic infrastructure for per-module dynamic debug messages\n\nBase infrastructure to enable per-module debug messages.\n\nI\u0027ve introduced CONFIG_DYNAMIC_PRINTK_DEBUG, which when enabled centralizes\ncontrol of debugging statements on a per-module basis in one /proc file,\ncurrently, \u003cdebugfs\u003e/dynamic_printk/modules. When, CONFIG_DYNAMIC_PRINTK_DEBUG,\nis not set, debugging statements can still be enabled as before, often by\ndefining \u0027DEBUG\u0027 for the proper compilation unit. Thus, this patch set has no\naffect when CONFIG_DYNAMIC_PRINTK_DEBUG is not set.\n\nThe infrastructure currently ties into all pr_debug() and dev_dbg() calls. That\nis, if CONFIG_DYNAMIC_PRINTK_DEBUG is set, all pr_debug() and dev_dbg() calls\ncan be dynamically enabled/disabled on a per-module basis.\n\nFuture plans include extending this functionality to subsystems, that define \ntheir own debug levels and flags.\n\nUsage:\n\nDynamic debugging is controlled by the debugfs file, \n\u003cdebugfs\u003e/dynamic_printk/modules. This file contains a list of the modules that\ncan be enabled. The format of the file is as follows:\n\n\t\u003cmodule_name\u003e \u003cenabled\u003d0/1\u003e\n\t\t.\n\t\t.\n\t\t.\n\n\t\u003cmodule_name\u003e : Name of the module in which the debug call resides\n\t\u003cenabled\u003d0/1\u003e : whether the messages are enabled or not\n\nFor example:\n\n\tsnd_hda_intel enabled\u003d0\n\tfixup enabled\u003d1\n\tdriver enabled\u003d0\n\nEnable a module:\n\n\t$echo \"set enabled\u003d1 \u003cmodule_name\u003e\" \u003e dynamic_printk/modules\n\nDisable a module:\n\n\t$echo \"set enabled\u003d0 \u003cmodule_name\u003e\" \u003e dynamic_printk/modules\n\nEnable all modules:\n\n\t$echo \"set enabled\u003d1 all\" \u003e dynamic_printk/modules\n\nDisable all modules:\n\n\t$echo \"set enabled\u003d0 all\" \u003e dynamic_printk/modules\n\nFinally, passing \"dynamic_printk\" at the command line enables\ndebugging for all modules. This mode can be turned off via the above\ndisable command.\n\n[gkh: minor cleanups and tweaks to make the build work quietly]\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "8da3821ba5634497da63d58a69e24a97697c4a2b",
      "tree": "47d4d097b1cd2aafae2e3596a9ae0d1293228782",
      "parents": [
        "8b1fa1d7b22f386747c7b78b918d4c680c16066f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 15:45:07 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:34:40 2008 +0200"
      },
      "message": "ftrace: create __mcount_loc section\n\nThis patch creates a section in the kernel called \"__mcount_loc\".\nThis will hold a list of pointers to the mcount relocation for\neach call site of mcount.\n\nFor example:\n\nobjdump -dr init/main.o\n[...]\nDisassembly of section .text:\n\n0000000000000000 \u003cdo_one_initcall\u003e:\n   0:   55                      push   %rbp\n[...]\n000000000000017b \u003cinit_post\u003e:\n 17b:   55                      push   %rbp\n 17c:   48 89 e5                mov    %rsp,%rbp\n 17f:   53                      push   %rbx\n 180:   48 83 ec 08             sub    $0x8,%rsp\n 184:   e8 00 00 00 00          callq  189 \u003cinit_post+0xe\u003e\n                        185: R_X86_64_PC32      mcount+0xfffffffffffffffc\n[...]\n\nWe will add a section to point to each function call.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad .text + 0x185\n[...]\n\nThe offset to of the mcount call site in init_post is an offset from\nthe start of the section, and not the start of the function init_post.\nThe mcount relocation is at the call site 0x185 from the start of the\n.text section.\n\n  .text + 0x185  \u003d\u003d init_post + 0xa\n\nWe need a way to add this __mcount_loc section in a way that we do not\nlose the relocations after final link.  The .text section here will\nbe attached to all other .text sections after final link and the\noffsets will be meaningless.  We need to keep track of where these\n.text sections are.\n\nTo do this, we use the start of the first function in the section.\ndo_one_initcall.  We can make a tmp.s file with this function as a reference\nto the start of the .text section.\n\n   .section __mcount_loc,\"a\",@progbits\n[...]\n   .quad do_one_initcall + 0x185\n[...]\n\nThen we can compile the tmp.s into a tmp.o\n\n  gcc -c tmp.s -o tmp.o\n\nAnd link it into back into main.o.\n\n  ld -r main.o tmp.o -o tmp_main.o\n  mv tmp_main.o main.o\n\nBut we have a problem.  What happens if the first function in a section\nis not exported, and is a static function. The linker will not let\nthe tmp.o use it.  This case exists in main.o as well.\n\nDisassembly of section .init.text:\n\n0000000000000000 \u003cset_reset_devices\u003e:\n   0:   55                      push   %rbp\n   1:   48 89 e5                mov    %rsp,%rbp\n   4:   e8 00 00 00 00          callq  9 \u003cset_reset_devices+0x9\u003e\n                        5: R_X86_64_PC32        mcount+0xfffffffffffffffc\n\nThe first function in .init.text is a static function.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nThe lowercase \u0027t\u0027 means that set_reset_devices is local and is not exported.\nIf we simply try to link the tmp.o with the set_reset_devices we end\nup with two symbols: one local and one global.\n\n .section __mcount_loc,\"a\",@progbits\n .quad set_reset_devices + 0x10\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n                 U set_reset_devices\n\nWe still have an undefined reference to set_reset_devices, and if we try\nto compile the kernel, we will end up with an undefined reference to\nset_reset_devices, or even worst, it could be exported someplace else,\nand then we will have a reference to the wrong location.\n\nTo handle this case, we make an intermediate step using objcopy.\nWe convert set_reset_devices into a global exported symbol before linking\nit with tmp.o and set it back afterwards.\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 T set_reset_devices\n\n00000000000000a8 t __setup_set_reset_devices\n000000000000105f t __setup_str_set_reset_devices\n0000000000000000 t set_reset_devices\n\nNow we have a section in main.o called __mcount_loc that we can place\nsomewhere in the kernel using vmlinux.ld.S and access it to convert\nall these locations that call mcount into nops before starting SMP\nand thus, eliminating the need to do this with kstop_machine.\n\nNote, A well documented perl script (scripts/recordmcount.pl) is used\nto do all this in one location.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97e1c18e8d17bd87e1e383b2e9d9fc740332c8e2",
      "tree": "5c6bfce8bacf04c2993a0029788a1370a483afa6",
      "parents": [
        "e7f2f9918c0e97aa98ba147ca387e2c7238f0711"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:16 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:28:28 2008 +0200"
      },
      "message": "tracing: Kernel Tracepoints\n\nImplementation of kernel tracepoints. Inspired from the Linux Kernel\nMarkers. Allows complete typing verification by declaring both tracing\nstatement inline functions and probe registration/unregistration static\ninline functions within the same macro \"DEFINE_TRACE\". No format string\nis required. See the tracepoint Documentation and Samples patches for\nusage examples.\n\nTaken from the documentation patch :\n\n\"A tracepoint placed in code provides a hook to call a function (probe)\nthat you can provide at runtime. A tracepoint can be \"on\" (a probe is\nconnected to it) or \"off\" (no probe is attached). When a tracepoint is\n\"off\" it has no effect, except for adding a tiny time penalty (checking\na condition for a branch) and space penalty (adding a few bytes for the\nfunction call at the end of the instrumented function and adds a data\nstructure in a separate section).  When a tracepoint is \"on\", the\nfunction you provide is called each time the tracepoint is executed, in\nthe execution context of the caller. When the function provided ends its\nexecution, it returns to the caller (continuing from the tracepoint\nsite).\n\nYou can put tracepoints at important locations in the code. They are\nlightweight hooks that can pass an arbitrary number of parameters, which\nprototypes are described in a tracepoint declaration placed in a header\nfile.\"\n\nAddition and removal of tracepoints is synchronized by RCU using the\nscheduler (and preempt_disable) as guarantees to find a quiescent state\n(this is really RCU \"classic\"). The update side uses rcu_barrier_sched()\nwith call_rcu_sched() and the read/execute side uses\n\"preempt_disable()/preempt_enable()\".\n\nWe make sure the previous array containing probes, which has been\nscheduled for deletion by the rcu callback, is indeed freed before we\nproceed to the next update. It therefore limits the rate of modification\nof a single tracepoint to one update per RCU period. The objective here\nis to permit fast batch add/removal of probes on _different_\ntracepoints.\n\nChangelog :\n- Use #name \":\" #proto as string to identify the tracepoint in the\n  tracepoint table. This will make sure not type mismatch happens due to\n  connexion of a probe with the wrong type to a tracepoint declared with\n  the same name in a different header.\n- Add tracepoint_entry_free_old.\n- Change __TO_TRACE to get rid of the \u0027i\u0027 iterator.\n\nMasami Hiramatsu \u003cmhiramat@redhat.com\u003e :\nTested on x86-64.\n\nPerformance impact of a tracepoint : same as markers, except that it\nadds about 70 bytes of instructions in an unlikely branch of each\ninstrumented function (the for loop, the stack setup and the function\ncall). It currently adds a memory read, a test and a conditional branch\nat the instrumentation site (in the hot path). Immediate values will\neventually change this into a load immediate, test and branch, which\nremoves the memory read which will make the i-cache impact smaller\n(changing the memory read for a load immediate removes 3-4 bytes per\nsite on x86_32 (depending on mov prefixes), or 7-8 bytes on x86_64, it\nalso saves the d-cache hit).\n\nAbout the performance impact of tracepoints (which is comparable to\nmarkers), even without immediate values optimizations, tests done by\nHideo Aoki on ia64 show no regression. His test case was using hackbench\non a kernel where scheduler instrumentation (about 5 events in code\nscheduler code) was added.\n\nQuoting Hideo Aoki about Markers :\n\nI evaluated overhead of kernel marker using linux-2.6-sched-fixes git\ntree, which includes several markers for LTTng, using an ia64 server.\n\nWhile the immediate trace mark feature isn\u0027t implemented on ia64, there\nis no major performance regression. So, I think that we don\u0027t have any\nissues to propose merging marker point patches into Linus\u0027s tree from\nthe viewpoint of performance impact.\n\nI prepared two kernels to evaluate. The first one was compiled without\nCONFIG_MARKERS. The second one was enabled CONFIG_MARKERS.\n\nI downloaded the original hackbench from the following URL:\nhttp://devresources.linux-foundation.org/craiger/hackbench/src/hackbench.c\n\nI ran hackbench 5 times in each condition and calculated the average and\ndifference between the kernels.\n\n    The parameter of hackbench: every 50 from 50 to 800\n    The number of CPUs of the server: 2, 4, and 8\n\nBelow is the results. As you can see, major performance regression\nwasn\u0027t found in any case. Even if number of processes increases,\ndifferences between marker-enabled kernel and marker- disabled kernel\ndoesn\u0027t increase. Moreover, if number of CPUs increases, the differences\ndoesn\u0027t increase either.\n\nCuriously, marker-enabled kernel is better than marker-disabled kernel\nin more than half cases, although I guess it comes from the difference\nof memory access pattern.\n\n* 2 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      4.811   |       4.872  |  +0.061  |  +1.27  |\n      100 |      9.854   |      10.309  |  +0.454  |  +4.61  |\n      150 |     15.602   |      15.040  |  -0.562  |  -3.6   |\n      200 |     20.489   |      20.380  |  -0.109  |  -0.53  |\n      250 |     25.798   |      25.652  |  -0.146  |  -0.56  |\n      300 |     31.260   |      30.797  |  -0.463  |  -1.48  |\n      350 |     36.121   |      35.770  |  -0.351  |  -0.97  |\n      400 |     42.288   |      42.102  |  -0.186  |  -0.44  |\n      450 |     47.778   |      47.253  |  -0.526  |  -1.1   |\n      500 |     51.953   |      52.278  |  +0.325  |  +0.63  |\n      550 |     58.401   |      57.700  |  -0.701  |  -1.2   |\n      600 |     63.334   |      63.222  |  -0.112  |  -0.18  |\n      650 |     68.816   |      68.511  |  -0.306  |  -0.44  |\n      700 |     74.667   |      74.088  |  -0.579  |  -0.78  |\n      750 |     78.612   |      79.582  |  +0.970  |  +1.23  |\n      800 |     85.431   |      85.263  |  -0.168  |  -0.2   |\n--------------------------------------------------------------\n\n* 4 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      2.586   |       2.584  |  -0.003  |  -0.1   |\n      100 |      5.254   |       5.283  |  +0.030  |  +0.56  |\n      150 |      8.012   |       8.074  |  +0.061  |  +0.76  |\n      200 |     11.172   |      11.000  |  -0.172  |  -1.54  |\n      250 |     13.917   |      14.036  |  +0.119  |  +0.86  |\n      300 |     16.905   |      16.543  |  -0.362  |  -2.14  |\n      350 |     19.901   |      20.036  |  +0.135  |  +0.68  |\n      400 |     22.908   |      23.094  |  +0.186  |  +0.81  |\n      450 |     26.273   |      26.101  |  -0.172  |  -0.66  |\n      500 |     29.554   |      29.092  |  -0.461  |  -1.56  |\n      550 |     32.377   |      32.274  |  -0.103  |  -0.32  |\n      600 |     35.855   |      35.322  |  -0.533  |  -1.49  |\n      650 |     39.192   |      38.388  |  -0.804  |  -2.05  |\n      700 |     41.744   |      41.719  |  -0.025  |  -0.06  |\n      750 |     45.016   |      44.496  |  -0.520  |  -1.16  |\n      800 |     48.212   |      47.603  |  -0.609  |  -1.26  |\n--------------------------------------------------------------\n\n* 8 CPUs\n\nNumber of | without      | with         | diff     | diff    |\nprocesses | Marker [Sec] | Marker [Sec] |   [Sec]  |   [%]   |\n--------------------------------------------------------------\n       50 |      2.094   |       2.072  |  -0.022  |  -1.07  |\n      100 |      4.162   |       4.273  |  +0.111  |  +2.66  |\n      150 |      6.485   |       6.540  |  +0.055  |  +0.84  |\n      200 |      8.556   |       8.478  |  -0.078  |  -0.91  |\n      250 |     10.458   |      10.258  |  -0.200  |  -1.91  |\n      300 |     12.425   |      12.750  |  +0.325  |  +2.62  |\n      350 |     14.807   |      14.839  |  +0.032  |  +0.22  |\n      400 |     16.801   |      16.959  |  +0.158  |  +0.94  |\n      450 |     19.478   |      19.009  |  -0.470  |  -2.41  |\n      500 |     21.296   |      21.504  |  +0.208  |  +0.98  |\n      550 |     23.842   |      23.979  |  +0.137  |  +0.57  |\n      600 |     26.309   |      26.111  |  -0.198  |  -0.75  |\n      650 |     28.705   |      28.446  |  -0.259  |  -0.9   |\n      700 |     31.233   |      31.394  |  +0.161  |  +0.52  |\n      750 |     34.064   |      33.720  |  -0.344  |  -1.01  |\n      800 |     36.320   |      36.114  |  -0.206  |  -0.57  |\n--------------------------------------------------------------\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e758936e02700ff88a0b08b722a3847b95283ef2",
      "tree": "50c919bef1b459a778b85159d5929de95b6c4a01",
      "parents": [
        "239cfbde1f5843c4a24199f117d5f67f637d72d5",
        "4480f15b3306f43bbb0310d461142b4e897ca45b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Oct 13 17:13:56 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Oct 13 17:13:56 2008 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tinclude/asm-x86/statfs.h\n"
    },
    {
      "commit": "206855c321adee56db3946ca09a5887cddb9d598",
      "tree": "13a2729d4d0e37170552bd9ad3c6bba71ba0c55c",
      "parents": [
        "e8d3f455de4f42d4bab2f6f1aeb2cf3bd18eb508",
        "cb58ffc3889f0545628f138f849e759a331b8ddc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 11:32:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 11:32:17 2008 +0200"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into core/signal\n\nConflicts:\n\tarch/x86/kernel/signal_64.c\n"
    },
    {
      "commit": "0afe2db21394820d32646a695eccf3fbfe6ab5c7",
      "tree": "6d925383f444a242ebc77d167420efb7e6ad8d99",
      "parents": [
        "d84705969f898f294bc3fc32eca33580f14105bd",
        "43603c8df97f246e8be7b9cc92a8f968a85108bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "message": "Merge branch \u0027x86/unify-cpu-detect\u0027 into x86-v28-for-linus-phase4-D\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/signal_64.c\n\tinclude/asm-x86/cpufeature.h\n"
    },
    {
      "commit": "da654b74bda14c45a7d98c731bf3c1a43b6b74e2",
      "tree": "e3cc6f1a1f7300c07e59c9091cd2ede0c5da8d4d",
      "parents": [
        "101d5b713700b902b1c200cdd1925c3cb7d34567"
      ],
      "author": {
        "name": "Srinivasa Ds",
        "email": "srinivasa@in.ibm.com",
        "time": "Tue Sep 23 15:23:52 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 13:26:52 2008 +0200"
      },
      "message": "signals: demultiplexing SIGTRAP signal\n\nCurrently a SIGTRAP can denote any one of below reasons.\n\t- Breakpoint hit\n\t- H/W debug register hit\n\t- Single step\n\t- Signal sent through kill() or rasie()\n\nArchitectures like powerpc/parisc provides infrastructure to demultiplex\nSIGTRAP signal by passing down the information for receiving SIGTRAP through\nsi_code of siginfot_t structure. Here is an attempt is generalise this\ninfrastructure by extending it to x86 and x86_64 archs.\n\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: akpm@linux-foundation.org\nCc: paulus@samba.org\nCc: linuxppc-dev@ozlabs.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45e9c0de2e86485f8b6633fd64ab19cfbff167f6",
      "tree": "0d4b478f259ea083e3f94363eebdf518413162ae",
      "parents": [
        "c8b0f4382cd7b5e58b17bd30d16898b7f249813c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 15 16:43:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 16 19:39:33 2008 -0700"
      },
      "message": "warn: Turn the netdev timeout WARN_ON() into a WARN()\n\nthis patch turns the netdev timeout WARN_ON_ONCE() into a WARN_ONCE(),\nso that the device and driver names are inside the warning message.\nThis helps automated tools like kerneloops.org to collect the data\nand do statistics, as well as making it more likely that humans\ncut-n-paste the important message as part of a bugreport.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59c37bf8924c30fbac7ebb66a1d92dcb9f05f6b1",
      "tree": "2ffc3f2ce655806424d022f3a4daec7665ab888f",
      "parents": [
        "ec70cae8698632917f06110fdb70c6364281ecc6",
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 14:00:45 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 14:00:45 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc6\u0027 into x86/unify-cpu-detect\n\nConflicts:\n\tarch/x86/kernel/cpu/amd.c\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/cpu/common_64.c\n\tarch/x86/kernel/cpu/feature_names.c\n\tinclude/asm-x86/cpufeature.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "deac93df26b20cf8438339b5935b5f5643bc30c9",
      "tree": "8e67edd505e4a8bde380c724b67ce9ca98b8ee91",
      "parents": [
        "7ae115b4f50d3c5824f1a15e572b5de9d1b06d35"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Sep 03 20:43:36 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 09 11:51:15 2008 -0700"
      },
      "message": "lib: Correct printk %pF to work on all architectures\n\nIt was introduced by \"vsprintf: add support for \u0027%pS\u0027 and \u0027%pF\u0027 pointer\nformats\" in commit 0fe1ef24f7bd0020f29ffe287dfdb9ead33ca0b2.  However,\nthe current way its coded doesn\u0027t work on parisc64.  For two reasons: 1)\nparisc isn\u0027t in the #ifdef and 2) parisc has a different format for\nfunction descriptors\n\nMake dereference_function_descriptor() more accommodating by allowing\narchitecture overrides.  I put the three overrides (for parisc64, ppc64\nand ia64) in arch/kernel/module.c because that\u0027s where the kernel\ninternal linker which knows how to deal with function descriptors sits.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22f30168d296dbb54a21ebad44c9d735bca6f67b",
      "tree": "6006e18acb6b1157d9b1b0cf9790f4369d84bc4c",
      "parents": [
        "34a35bddb9382fc2663e3137875ee58928f7d704"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Sep 05 14:00:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:39:38 2008 -0700"
      },
      "message": "tracehook: comment pasto fixes\n\nFix some pasto\u0027s in comments in the new linux/tracehook.h and\nasm-generic/syscall.h files.\n\nReported-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afbc8d8e72daa5a5faf6a0242186bdfcc42b2427",
      "tree": "8d3c699c56daffdaa1d18507f23044fb7b9fd36f",
      "parents": [
        "076c7f4c6c55c37975c8e04ae6827267794d5d2e"
      ],
      "author": {
        "name": "Khem Raj",
        "email": "raj.khem@gmail.com",
        "time": "Thu Sep 04 23:11:01 2008 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Sep 05 15:44:31 2008 +0100"
      },
      "message": "Fix conditional export of kvh.h and a.out.h to userspace.\n\nSome architectures have moved the asm/ into arch/ and some have not.\nThis patch checks for a.out.h and kvh.h in both places before exporting\nthe corresponding file from linux/\n\n[dwmw2: simplified a little]\nSigned-off-by: Khem Raj \u003craj.khem@gmail.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d3d0ba7b8fb8f57c33207adcb41f40c176148c03",
      "tree": "39a93460aa2c6eb8286fbba6c551f95443e175dd",
      "parents": [
        "9042763808c5285a1a61b45b0fe98a710a4c903c",
        "63cc8c75156462d4b42cbdd76c293b7eee7ddbfe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 09:24:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 09:24:30 2008 +0200"
      },
      "message": "Merge commit \u002763cc8c75156462d4b42cbdd76c293b7eee7ddbfe\u0027:\n\n  \"percpu: introduce DEFINE_PER_CPU_PAGE_ALIGNED() macro\"\n\ninto x86/core\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92a7507926b0698711ed010288b57582776eec31",
      "tree": "e0ab785a101838be177f8b7f75c1641c2805875f",
      "parents": [
        "aa7a7fb3990ffc74945494cbd2fc6e920825ee2c"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Sep 01 14:07:11 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Sep 04 09:46:08 2008 +0100"
      },
      "message": "Make \u003casm-generic/statfs.h\u003e suitable for 64-bit platforms.\n\nAt the moment, 64-bit platforms (other than Alpha) are all redefining\nthings for themselves instead of using \u003casm-generic/statfs.h\u003e.\n\nAs is ARM, since it has special requirements w.r.t. padding.\n\nMake \u003casm-generic/statfs.h\u003e more generic, and they can use it directly.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "38c052f8cff1bd323ccfa968136a9556652ee420",
      "tree": "6cee3c0384438e13f065d196195a5d46a3941e4b",
      "parents": [
        "3c4fbe5e01d7e5309be5045e7ae0db20a049e6dc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 23 17:59:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 23 18:02:18 2008 +0200"
      },
      "message": "rtc: fix deadlock\n\nif get_rtc_time() is _ever_ called with IRQs off, we deadlock badly\nin it, waiting for jiffies to increment.\n\nSo make the code more robust by doing an explicit mdelay(20).\n\nThis solves a very hard to reproduce/debug hard lockup reported\nby Mikael Pettersson.\n\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f8c3c8edff426fd87098f057688463107fcd9ce",
      "tree": "f0c12022b9513796cc74a389bc47d4b9b013d0e9",
      "parents": [
        "666593137185dc0ad1ee8966c8d7fef8f4bb84b2"
      ],
      "author": {
        "name": "Michael Abbott",
        "email": "michael@araneidae.co.uk",
        "time": "Tue Aug 12 15:09:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:31 2008 -0700"
      },
      "message": "Make ioctl.h compatible with userland\n\nThe attached patch seems to already exist in a number of branches -- it\nkeeps popping up on Google for me, and is certainly already in Debian --\nbut is strangely absent from mainstream.\n\nThe problem appears to be that the patched file ends up as part of the\ntarget toolchain, but unfortunately the gcc constant folding doesn\u0027t\nappear to eliminate the __invalid_size_argument_for_IOC value early\nenough.  Certainly compiling C++ programs which use _IO...  macros as\nconstants fails without this patch.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6de002617c199f80f9a2a713dffc263bdc69b81",
      "tree": "f86f31fcb65c2d0447e11c7f920bbb4ae1f4fbcf",
      "parents": [
        "ea44c1d60df3640bd956a67c392865c44fe9bc45"
      ],
      "author": {
        "name": "Yoshinori Sato",
        "email": "ysato@users.sourceforge.jp",
        "time": "Thu Jul 31 00:07:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 12:46:41 2008 -0700"
      },
      "message": "Missing symbol prefix on vmlinux.lds.h\n\nARCH\u003dh8300:\n\ninit/main.c:781: undefined reference to `___early_initcall_end\u0027\n\nSame problem have\n__start___bug_table\n__stop___bug_table\n__tracedata_start\n__tracedata_end\n__per_cpu_start\n__per_cpu_end\n\nWhen defining a symbol in vmlinux.lds, use the VMLINUX_SYMBOL macro.\nVMLINUX_SYMBOL adds a prefix charactor.\n\nYou can\u0027t just use straight symbol names in common header files as they\ndont take into consideration weird arch-specific ABI conventions.  in the\ncase of Blackfin/h8300, the ABI dictates that any C-visible symbols have\nan underscore prefixed to them.  Thus all symbols in vmlinux.lds.h need to\nbe wrapped in VMLINUX_SYMBOL() so that each arch can put hide this magic\nin their own files.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: \"Mike Frysinger\" \u003cvapier.adi@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": "1d9b9f6a53d77ed801ba875f937d6dabbfc381ce",
      "tree": "36ea93b80a444c3b37111e352790ebc07f29379f",
      "parents": [
        "a3ad7f128c637b7612ebeacb1f85fec933bb1195",
        "12c0b20fa4afb5c8a377d6987fb2dcf353e1dce1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)\n  x86/PCI: use dev_printk when possible\n  PCI: add D3 power state avoidance quirk\n  PCI: fix bogus \"\u0027device\u0027 may be used uninitialized\" warning in pci_slot\n  PCI: add an option to allow ASPM enabled forcibly\n  PCI: disable ASPM on pre-1.1 PCIe devices\n  PCI: disable ASPM per ACPI FADT setting\n  PCI MSI: Don\u0027t disable MSIs if the mask bit isn\u0027t supported\n  PCI: handle 64-bit resources better on 32-bit machines\n  PCI: rewrite PCI BAR reading code\n  PCI: document pci_target_state\n  PCI hotplug: fix typo in pcie hotplug output\n  x86 gart: replace to_pages macro with iommu_num_pages\n  x86, AMD IOMMU: replace to_pages macro with iommu_num_pages\n  iommu: add iommu_num_pages helper function\n  dma-coherent: add documentation to new interfaces\n  Cris: convert to using generic dma-coherent mem allocator\n  Sh: use generic per-device coherent dma allocator\n  ARM: support generic per-device coherent dma mem\n  Generic dma-coherent: fix DMA_MEMORY_EXCLUSIVE\n  x86: use generic per-device dma coherent allocator\n  ...\n"
    },
    {
      "commit": "34ee55014283a60efa3534c06e010579ffdd3756",
      "tree": "b81583dd2fd06368e959efd0c38ab23874b49c6d",
      "parents": [
        "c27ef92d8e0c29a9e8b8ee1b04f3d2cace482d92"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jul 28 15:46:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "include/asm-generic/pgtable-nopmd.h: macros are noxious, reason #435\n\narch/x86/mm/pgtable.c: In function \u0027pgd_mop_up_pmds\u0027:\n  arch/x86/mm/pgtable.c:194: warning: unused variable \u0027pmd\u0027\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": "25947d5ac56004378d8c2d31ebf22600d5bc0c02",
      "tree": "9c31bdb948e5bbb01e481fb1d74b9983aa93c987",
      "parents": [
        "e3b6e806cf7e45ac5e6ac0625cebafa4de3394aa"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Mon Jul 28 15:46:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "gpio: fix build on CONFIG_GPIO_SYSFS\u003dn\n\nIf CONFIG_GENERIC_GPIO\u003dy \u0026\u0026 CONFIG_GPIO_SYSFS\u003dn, gpio_export() in\nasm-generic/gpio.h refers -ENOSYS and causes build error.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb28a1bbdb4790378e7366d6c9ee1d2340b84f92",
      "tree": "316436f77dac75335fd2c3ef5f109e71606c50d3",
      "parents": [
        "b6d4f7e3ef25beb8c658c97867d98883e69dc544",
        "f934fb19ef34730263e6afc01e8ec27a8a71470f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 00:07:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 29 00:07:55 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/generic-dma-coherent\n\nConflicts:\n\n\tarch/x86/Kconfig\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6948385cbd83201fb933125c1a578b29b456605d",
      "tree": "fd08f30c84d02cfb1ad696d04605565974fae7be",
      "parents": [
        "7a76d89232f20411f32e7a79ccc1e2f95e9f826b",
        "56b2f0706d82535fd8d85503f2dcc0be40c8e55d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:59:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:59:59 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)\n  setlocalversion: do not describe if there is nothing to describe\n  kconfig: fix typos: \"Suport\" -\u003e \"Support\"\n  kconfig: make defconfig is no longer chatty\n  kconfig: make oldconfig is now less chatty\n  kconfig: speed up all*config + randconfig\n  kconfig: set all new symbols automatically\n  kconfig: add diffconfig utility\n  kbuild: remove Module.markers during mrproper\n  kbuild: sparse needs CF not CHECKFLAGS\n  kernel-doc: handle/strip __init\n  vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section\n  init: fix URL of \"The GNU Accounting Utilities\"\n  kbuild: add arch/$ARCH/include to search path\n  kbuild: asm symlink support for arch/$ARCH/include\n  kbuild: support arch/$ARCH/include for tags, cscope\n  kbuild: prepare headers_* for arch/$ARCH/include\n  kbuild: install all headers when arch is changed\n  kbuild: make clean removes *.o.* as well\n  kbuild: optimize headers_* targets\n  kbuild: only one call for include/ in make headers_*\n  ...\n"
    },
    {
      "commit": "6a9436d0c3cbe8941b1acd5b0736d355295cad98",
      "tree": "d29f52ca2778aa2aa1ee66158b234e4ac462013b",
      "parents": [
        "a048d3aff8b828b6c0fa7ddd90a531248ab4e0f9"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sat Jul 26 15:22:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:16:47 2008 -0700"
      },
      "message": "gpiolib: fix typo in comment\n\nThis fixes an off-by-one error in a comment.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "828c365cc8b8d38c346fccb19fa80d28f2240831",
      "tree": "cedb0f1ce389f4b12d7b0975ce52c8af7939cfcd",
      "parents": [
        "64b1208d5b0ef8859fd52ea7ae286a3eb994669b"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:45:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:09 2008 -0700"
      },
      "message": "tracehook: asm/syscall.h\n\nThis adds asm-generic/syscall.h, which documents what a real\nasm-ARCH/syscall.h file should define.  This is not used yet, but will\nprovide all the machine-dependent details of examining a user system call\nabout to begin, in progress, or just ended.\n\nEach arch should add an asm-ARCH/syscall.h that defines all the entry\npoints documented in asm-generic/syscall.h, as short inlines if possible.\nThis lets us write new tracing code that understands user system call\nregisters, without any new arch-specific work.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-by: 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": "c2147a5092cfe13dbf3210e54e8a622015edeecc",
      "tree": "e34e0daee3cc0b19914a27d6f7f284b1fc22aa93",
      "parents": [
        "89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Fri Jul 25 19:45:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "Better interface for hooking early initcalls\n\nAdded early initcall (pre-SMP) support, using an identical interface to\nthat of regular initcalls.  Functions called from do_pre_smp_initcalls()\ncould be converted to use this cleaner interface.\n\nThis is required by CPU hotplug, because early users have to register\nnotifiers before going SMP.  One such CPU hotplug user is the relay\ninterface with buffer-only channels, which needs to register such a\nnotifier, to be usable in early code.  This in turn is used by kmemtrace.\n\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Tom Zanussi \u003ctzanussi@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": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb5e2b379732e1a6ea32392980bb42e0212db842",
      "tree": "ce9506474dcd426ea0102836e9b719d7cb73a844",
      "parents": [
        "37a4c940749670671adab211a2d9c9fed9f3f757"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed Jun 18 12:36:01 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Jul 25 22:12:37 2008 +0200"
      },
      "message": "vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section\n\nDue to the addition of __attribute__((__cold__)) to a few symbols\nwithout adjusting the linker scripts, those symbols currently may end\nup outside the [_stext,_etext) range, as they get placed in\n.text.unlikely by (at least) gcc 4.3.0. This may confuse code not only\noutside of the kernel, symbol_put_addr()\u0027s BUG() could also trigger.\nHence we need to add .text.unlikely (and for future uses of\n__attribute__((__hot__)) also .text.hot) to the TEXT_TEXT() macro.\n\nIssue observed by Lukas Lipavsky.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nTested-by: Lukas Lipavsky \u003cllipavsky@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "762b8291be6944bd891fbe2c8976a2b2e5bbc726",
      "tree": "4ce2572c050d473bd8dcde8bfbaad0ab830b1b1c",
      "parents": [
        "c6af5e9f8a57467df2e55e428316a43480174521",
        "7dcf2a9fced59e58e4694cdcf15850c01fdba89b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 12:01:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 12:01:37 2008 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/random-2.6\n\n* git://git.infradead.org/~dwmw2/random-2.6:\n  remove dummy asm/kvm.h files\n  firmware: create firmware binaries during \u0027make modules\u0027.\n"
    },
    {
      "commit": "7dcf2a9fced59e58e4694cdcf15850c01fdba89b",
      "tree": "635476803ae017229f4a3dfaf7288d770b0dc1bf",
      "parents": [
        "44463f7dd6c8039904333e4374e5c6e9ad83006f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 01 19:27:16 2008 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Jul 25 14:35:50 2008 -0400"
      },
      "message": "remove dummy asm/kvm.h files\n\nThis patch removes the dummy asm/kvm.h files on architectures not (yet)\nsupporting KVM and uses the same conditional headers installation as\nalready used for a.out.h .\n\nAlso removed are superfluous install rules in the s390 and x86 Kbuild\nfiles (they are already in Kbuild.asm).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7444a72effa632fcd8edc566f880d96fe213c73b",
      "tree": "89d3e70c22751a6b00091df2b4dce7202eb3b1f5",
      "parents": [
        "ff1d5c2f0268f4e32103536e2e65480b5b7b6530"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Jul 25 01:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpiolib: allow user-selection\n\nThis patch adds functionality to the gpio-lib subsystem to make it\npossible to enable the gpio-lib code even if the architecture code didn\u0027t\nrequest to get it built in.\n\nThe archtitecture code does still need to implement the gpiolib accessor\nfunctions in its asm/gpio.h file.  This patch adds the implementations for\nx86 and PPC.\n\nWith these changes it is possible to run generic GPIO expansion cards on\nevery architecture that implements the trivial wrapper functions.  Support\nfor more architectures can easily be added.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.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: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Samuel Ortiz \u003csameo@openedhand.com\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8f388d8dc8d4f36539dd37c1fff62cc404ea0fc",
      "tree": "df8603775c889f29f8a03c77b9f7913bfd90d296",
      "parents": [
        "8b6dd986823a8d92ed9f54baa5cef8604d9d9d44"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jul 25 01:46:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpio: sysfs interface\n\nThis adds a simple sysfs interface for GPIOs.\n\n    /sys/class/gpio\n    \t/export ... asks the kernel to export a GPIO to userspace\n    \t/unexport ... to return a GPIO to the kernel\n        /gpioN ... for each exported GPIO #N\n\t    /value ... always readable, writes fail for input GPIOs\n\t    /direction ... r/w as: in, out (default low); write high, low\n\t/gpiochipN ... for each gpiochip; #N is its first GPIO\n\t    /base ... (r/o) same as N\n\t    /label ... (r/o) descriptive, not necessarily unique\n\t    /ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)\n\nGPIOs claimed by kernel code may be exported by its owner using a new\ngpio_export() call, which should be most useful for driver debugging.\nSuch exports may optionally be done without a \"direction\" attribute.\n\nUserspace may ask to take over a GPIO by writing to a sysfs control file,\nhelping to cope with incomplete board support or other \"one-off\"\nrequirements that don\u0027t merit full kernel support:\n\n  echo 23 \u003e /sys/class/gpio/export\n\t... will gpio_request(23, \"sysfs\") and gpio_export(23);\n\tuse /sys/class/gpio/gpio-23/direction to (re)configure it,\n\twhen that GPIO can be used as both input and output.\n  echo 23 \u003e /sys/class/gpio/unexport\n\t... will gpio_free(23), when it was exported as above\n\nThe extra D-space footprint is a few hundred bytes, except for the sysfs\nresources associated with each exported GPIO.  The additional I-space\nfootprint is about two thirds of the current size of gpiolib (!).  Since\nno /dev node creation is involved, no \"udev\" support is needed.\n\nRelated changes:\n\n  * This adds a device pointer to \"struct gpio_chip\".  When GPIO\n    providers initialize that, sysfs gpio class devices become children of\n    that device instead of being \"virtual\" devices.\n\n  * The (few) gpio_chip providers which have such a device node have\n    been updated.\n\n  * Some gpio_chip drivers also needed to update their module \"owner\"\n    field ...  for which missing kerneldoc was added.\n\n  * Some gpio_chips don\u0027t support input GPIOs.  Those GPIOs are now\n    flagged appropriately when the chip is registered.\n\nBased on previous patches, and discussion both on and off LKML.\n\nA Documentation/ABI/testing/sysfs-gpio update is ready to submit once this\nmerges to mainline.\n\n[akpm@linux-foundation.org: a few maintenance build fixes]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@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": "a8f18b909c0a3f22630846207035c8b84bb252b8",
      "tree": "72a2dee787b9d077cc24f5cf7392b071401506ec",
      "parents": [
        "b6c63937001889af6fe431aaba97e59d04e028e7"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 25 01:45:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "Add a WARN() macro; this is WARN_ON() + printk arguments\n\nAdd a WARN() macro that acts like WARN_ON(), with the added feature that it\ntakes a printk like argument that is printed as part of the warning message.\n\n[akpm@linux-foundation.org: fix printk arguments]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "f16695f4ac088cf7593e113574046d2d7e5af5eb",
      "tree": "6941bbb7cb6ab0c75a914eb5e30e5e02570540c6",
      "parents": [
        "cebbd3fb803603b12408458ba17c29ce1e15a5f2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:45:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "asm-generic/int-ll64.h: always provide __{s,u}64\n\nSeveral compilers offer \"long long\" without claiming to support C99.\n\nConsidering how frequent __s64/__u64 are used our userspace headers are\nanyway unusable without __s64/__u64 available.\n\nAlways offer __s64/__u64 to non-gcc non-C99 compilers - if they provide\n\"long long\" that makes the headers compiling and if they don\u0027t they are\nanyway screwed.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Harvey Harrison \u003charvey.harrison@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": "f6dc8ccaab6d8f63cbae1e6c73fe972b26f5376c",
      "tree": "c5643fcdc884a8d0bfc3f1bc28039cab7394e5bc",
      "parents": [
        "323ec001c6bb98eeabb5abbdbb8c8055d9496554",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 21:13:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 21:13:20 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/generic-dma-coherent\n\nConflicts:\n\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc7c65db2845a8d17432d89252c4227a9a7cb15f",
      "tree": "79030b0aaaafc04bc4303c21495134e744afc058",
      "parents": [
        "8a0ca91e1db5de5eb5b18cfa919d52ff8be375af",
        "58b6e5538460be358fdf1286d9a2fbcfcc2cfaba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 17:25:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 17:25:46 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)\n  Revert \"x86/PCI: ACPI based PCI gap calculation\"\n  PCI: remove unnecessary volatile in PCIe hotplug struct controller\n  x86/PCI: ACPI based PCI gap calculation\n  PCI: include linux/pm_wakeup.h for device_set_wakeup_capable\n  PCI PM: Fix pci_prepare_to_sleep\n  x86/PCI: Fix PCI config space for domains \u003e 0\n  Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP\u003dn\n  PCI: Simplify PCI device PM code\n  PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep\n  PCI ACPI: Rework PCI handling of wake-up\n  ACPI: Introduce new device wakeup flag \u0027prepared\u0027\n  ACPI: Introduce acpi_device_sleep_wake function\n  PCI: rework pci_set_power_state function to call platform first\n  PCI: Introduce platform_pci_power_manageable function\n  ACPI: Introduce acpi_bus_power_manageable function\n  PCI: make pci_name use dev_name\n  PCI: handle pci_name() being const\n  PCI: add stub for pci_set_consistent_dma_mask()\n  PCI: remove unused arch pcibios_update_resource() functions\n  PCI: fix pci_setup_device()\u0027s sprinting into a const buffer\n  ...\n\nFixed up conflicts in various files (arch/x86/kernel/setup_64.c,\narch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,\ndrivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86\nand ACPI updates manually.\n"
    },
    {
      "commit": "fe1a6875fcaaac2041945008a9875d2c07be1d9b",
      "tree": "5875f52aa0a859a91b96076279f028246475a6cb",
      "parents": [
        "de3b69d7d87e1e86c0307f0f15b377dcebeab906"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Jul 15 22:28:46 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 13:58:40 2008 -0700"
      },
      "message": "mm: fix build on non-mmu machines\n\nCommit 1ea0704e0d aka \"mm: add a ptep_modify_prot transaction abstraction\"\n\ncaused:\n\n|  CC      init/main.o\n|In file included from include2/asm/pgtable.h:68,\n|                 from /home/bigeasy/git/linux-2.6-m68k/include/linux/mm.h:39,\n|                 from include2/asm/uaccess.h:8,\n|                 from /home/bigeasy/git/linux-2.6-m68k/include/linux/poll.h:13,\n|                 from /home/bigeasy/git/linux-2.6-m68k/include/linux/rtc.h:113,\n|                 from /home/bigeasy/git/linux-2.6-m68k/include/linux/efi.h:19,\n|                 from /home/bigeasy/git/linux-2.6-m68k/init/main.c:43:\n|/linux-2.6/include/asm-generic/pgtable.h: In function \u0027__ptep_modify_prot_start\u0027:\n|/linux-2.6/include/asm-generic/pgtable.h:209: error: implicit declaration of function \u0027ptep_get_and_clear\u0027\n|/linux-2.6/include/asm-generic/pgtable.h:209: error: incompatible types in return\n|/linux-2.6/include/asm-generic/pgtable.h: In function \u0027__ptep_modify_prot_commit\u0027:\n|/linux-2.6/include/asm-generic/pgtable.h:220: error: implicit declaration of function \u0027set_pte_at\u0027\n|make[2]: *** [init/main.o] Error 1\n|make[1]: *** [init] Error 2\n|make: *** [sub-make] Error 2\n\non my m68knommu box.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a86102248592e178a9023359ccf7f0e489d8e35",
      "tree": "9e5fdb9aafca687fa412f7c034f2cfbb834b8567",
      "parents": [
        "85082fd7cbe3173198aac0eb5e85ab1edcc6352c",
        "751851af7aae9b8bd5a60b3897209081fbc18b2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 16:54:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 16:54:07 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.27\u0027 of git://git.infradead.org/users/dwmw2/firmware-2.6\n\n* \u0027for-2.6.27\u0027 of git://git.infradead.org/users/dwmw2/firmware-2.6: (64 commits)\n  firmware: convert sb16_csp driver to use firmware loader exclusively\n  dsp56k: use request_firmware\n  edgeport-ti: use request_firmware()\n  edgeport: use request_firmware()\n  vicam: use request_firmware()\n  dabusb: use request_firmware()\n  cpia2: use request_firmware()\n  ip2: use request_firmware()\n  firmware: convert Ambassador ATM driver to request_firmware()\n  whiteheat: use request_firmware()\n  ti_usb_3410_5052: use request_firmware()\n  emi62: use request_firmware()\n  emi26: use request_firmware()\n  keyspan_pda: use request_firmware()\n  keyspan: use request_firmware()\n  ttusb-budget: use request_firmware()\n  kaweth: use request_firmware()\n  smctr: use request_firmware()\n  firmware: convert ymfpci driver to use firmware loader exclusively\n  firmware: convert maestro3 driver to use firmware loader exclusively\n  ...\n\nFix up trivial conflicts with BKL removal in drivers/char/dsp56k.c and\ndrivers/char/ip2/ip2main.c manually.\n"
    },
    {
      "commit": "751851af7aae9b8bd5a60b3897209081fbc18b2b",
      "tree": "5cb8dbb71d691a760da61e319796800ee42cc1c5",
      "parents": [
        "a41eebab7537890409ea9dfe0fcda9b5fbdb090d",
        "d71792ac3d48df6693f7b339e02494efc27036c3"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jul 14 15:49:04 2008 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jul 14 15:51:11 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\nConflicts:\n\n\tsound/pci/Kconfig\n"
    },
    {
      "commit": "d18bb9a548e550f3ced57618e75085fb3f173133",
      "tree": "ea6be1655c55422cb5a1df84ae08f150b60e6808",
      "parents": [
        "4bb0057f996b1491f93a64879f4c53c83bc0f0c7",
        "6d72b7952fa7d7c61d021398970c29afde6a4443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 15:28:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 15:28:10 2008 -0700"
      },
      "message": "Merge branch \u0027core/rodata\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/rodata\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  move BUG_TABLE into RODATA\n"
    },
    {
      "commit": "11369f356b66d363a615fde2c5526962f7683674",
      "tree": "9723013073973c413e7cde295e99221ff40afca3",
      "parents": [
        "ce8b06b985ae48f9425de6e4641e77cb3613ef00"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Jul 08 14:35:21 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 13 19:11:58 2008 +0200"
      },
      "message": "x86: change _node_to_cpumask_ptr to return const ptr\n\n  * Strengthen the return type for the _node_to_cpumask_ptr to be\n    a const pointer.  This adds compiler checking to insure that\n    node_to_cpumask_map[] is not changed inadvertently.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: \"akpm@linux-foundation.org\" \u003cakpm@linux-foundation.org\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nAcked-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5658c769443d543728b6c5c673dffc2df8676317",
      "tree": "539477c713c5d231fd3112e4bd8ae8aff4acefa7",
      "parents": [
        "b7a39bd0afc4021e8ad2b1189e884551e147427f"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri May 23 13:52:42 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Jul 10 14:30:13 2008 +0100"
      },
      "message": "firmware: allow firmware files to be built into kernel image\n\nSome drivers have their own hacks to bypass the kernel\u0027s firmware loader\nand build their firmware into the kernel; this renders those unnecessary.\n\nOther drivers don\u0027t use the firmware loader at all, because they always\nwant the firmware to be available. This allows them to start using the\nfirmware loader.\n\nA third set of drivers already use the firmware loader, but can\u0027t be\nused without help from userspace, which sometimes requires an initrd.\nThis allows them to work in a static kernel.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "6924d1ab8b7bbe5ab416713f5701b3316b2df85b",
      "tree": "affbf0ff13f7522336f25505e8e7b5f12a34e705",
      "parents": [
        "4e78c91abe1a40b905611100a593be62784ba355",
        "25556c1699ad84dd6077adf67c92eba362aa7dc2",
        "b764a15f679942a7bc9d4f9645299e1defcc5b43",
        "437a0a54eea7b101e8a5b70688009956f6522ed0",
        "41b3eae669fb1ef6ae4acaa937b4e4617a1aa078",
        "84e65b0a84a2c856bef36f13d122047678408b0a",
        "684eb0163a98bc329193b4aa4535cdd705a5dd58",
        "93022136fff9e6130aa128a5ed8a599e93ac813c",
        "5cb04df8d3f03e37a19f2502591a84156be71772",
        "44974c8fc1d7047abe414562e0782320f4c1f511",
        "48cf937f48f68bd1e61f37c6357dbff5adb95532",
        "205f93288093df69f9ab5f6981aef27b91088b28",
        "c54f9da1c8ceee19436430afac0798a989eb886d",
        "0ed368c71aa65cba8d349432bd4dab4a9a2eb39c",
        "b478458aeebfc55fe409abec43794ac72a623c79",
        "2d144e63098be47c21ad59d68a4fd17bd73a3aaf",
        "607baf1f4ef94637ab0f7d0e258932851dc5c0a2",
        "33af9039cbf629041da2bfa0cf451208391a1ec3",
        "3557b18fcbe0e29706214f3c7cc680a7823605eb",
        "63687a528c39a67c1a213cdffa09feb0e6af9dbe",
        "009b9fc98ddd83f9139fdabb12c0d7a8535d5421",
        "f6477cc76c73833a56e97f1fafc36a7ca92927e5",
        "e6b0edef3453677b13e175a104a83eb36d062dd3",
        "400d34944c4ad82a817c06e570bc93b1114aa596"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 09:16:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 09:16:56 2008 +0200"
      },
      "message": "Merge branches \u0027x86/numa-fixes\u0027, \u0027x86/apic\u0027, \u0027x86/apm\u0027, \u0027x86/bitops\u0027, \u0027x86/build\u0027, \u0027x86/cleanups\u0027, \u0027x86/cpa\u0027, \u0027x86/cpu\u0027, \u0027x86/defconfig\u0027, \u0027x86/gart\u0027, \u0027x86/i8259\u0027, \u0027x86/intel\u0027, \u0027x86/irqstats\u0027, \u0027x86/kconfig\u0027, \u0027x86/ldt\u0027, \u0027x86/mce\u0027, \u0027x86/memtest\u0027, \u0027x86/pat\u0027, \u0027x86/ptemask\u0027, \u0027x86/resumetrace\u0027, \u0027x86/threadinfo\u0027, \u0027x86/timers\u0027, \u0027x86/vdso\u0027 and \u0027x86/xen\u0027 into x86/devel\n"
    },
    {
      "commit": "cde53535991fbb5c34a1566f25955297c1487b8d",
      "tree": "4f87e67b52c8761cfc421a619379263733b91159",
      "parents": [
        "a926c063738f31c8c8b5c2b883812a40e7868072"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 04 09:59:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "Christoph has moved\n\nRemove all clameter@sgi.com addresses from the kernel tree since they will\nbecome invalid on June 27th.  Change my maintainer email address for the\nslab allocators to cl@linux-foundation.org (which will be the new email\naddress for the future).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee7e5516be4f2107535ad5a3d47d9c79f93661a2",
      "tree": "57bdb330864036d6241deb8e69f351ee5ee01adb",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Sun Jun 29 14:18:46 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 30 12:51:05 2008 +0200"
      },
      "message": "generic: per-device coherent dma allocator\n\nCurrently x86_32, sh and cris-v32 provide per-device coherent dma\nmemory allocator.\n\nHowever their implementation is nearly identical. Refactor out\ncommon code to be reused by them.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b660398101cd0622325480a67ac88bb4d33d553a",
      "tree": "3e527c721c71a948727fcd1ad52ac240ca61f43d",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "david.woodhouse@intel.com",
        "time": "Fri Jun 27 14:39:42 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Jun 27 23:13:54 2008 +0200"
      },
      "message": "kbuild: fix a.out.h export to userspace with O\u003d build.\n\nWe need to check for existence of the a.out.h header in the source tree,\nnot the object tree, if we want it to get the right answer with O\u003d.\n\nSigned-off-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "1ea0704e0da65b2b46f9142ff1391163aac24060",
      "tree": "420215f0876bc9cf3da5a21e5c5904611f821faa",
      "parents": [
        "d02859ecb321c8c0f74cb9bbe3f51a59e58822b0"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jun 16 04:30:00 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 15:15:53 2008 +0200"
      },
      "message": "mm: add a ptep_modify_prot transaction abstraction\n\nThis patch adds an API for doing read-modify-write updates to a pte\u0027s\nprotection bits which may race against hardware updates to the pte.\nAfter reading the pte, the hardware may asynchonously set the accessed\nor dirty bits on a pte, which would be lost when writing back the\nmodified pte value.\n\nThe existing technique to handle this race is to use\nptep_get_and_clear() atomically fetch the old pte value and clear it\nin memory.  This has the effect of marking the pte as non-present,\nwhich will prevent the hardware from updating its state.  When the new\nvalue is written back, the pte will be present again, and the hardware\ncan resume updating the access/dirty flags.\n\nWhen running in a virtualized environment, pagetable updates are\nrelatively expensive, since they generally involve some trap into the\nhypervisor.  To mitigate the cost of these updates, we tend to batch\nthem.\n\nHowever, because of the atomic nature of ptep_get_and_clear(), it is\ninherently non-batchable.  This new interface allows batching by\ngiving the underlying implementation enough information to open a\ntransaction between the read and write phases:\n\nptep_modify_prot_start() returns the current pte value, and puts the\n  pte entry into a state where either the hardware will not update the\n  pte, or if it does, the updates will be preserved on commit.\n\nptep_modify_prot_commit() writes back the updated pte, makes sure that\n  any hardware updates made since ptep_modify_prot_start() are\n  preserved.\n\nptep_modify_prot_start() and _commit() must be exactly paired, and\nused while holding the appropriate pte lock.  They do not protect\nagainst other software updates of the pte in any way.\n\nThe current implementations of ptep_modify_prot_start and _commit are\nfunctionally unchanged from before: _start() uses ptep_get_and_clear()\nfetch the pte and zero the entry, preventing any hardware updates.\n_commit() simply writes the new pte value back knowing that the\nhardware has not updated the pte in the meantime.\n\nThe only current user of this interface is mprotect\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d72b7952fa7d7c61d021398970c29afde6a4443",
      "tree": "31c00be8e2837e2db2e62c694421a93a9f4c79d7",
      "parents": [
        "6360b1fbb4a939efd34fc770c2ebd927c55506e0",
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:24:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:24:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/rodata\n"
    },
    {
      "commit": "e1a2a51e684bfe9d6165992d4a065439617a3107",
      "tree": "4d05a1b9ebadd0ab22e0e42ee3b053dddf11baf1",
      "parents": [
        "273c11270d3715c4c06d4df1607a1a60034d887b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu May 15 21:51:31 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jun 10 10:59:46 2008 -0700"
      },
      "message": "Suspend/Resume bug in PCI layer wrt quirks\n\nSome quirks should be called with interrupt disabled, we can\u0027t directly\ncall them in .resume_early. Also the patch introduces\npci_fixup_resume_early and pci_fixup_suspend, which matches current\ndevice core callbacks (.suspend/.resume_early).\n\nTBD: Somebody knows why we need quirk resume should double check if a\nquirk should be called in resume or resume_early. I changed some per my\nunderstanding, but can\u0027t make sure I fixed all.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "63687a528c39a67c1a213cdffa09feb0e6af9dbe",
      "tree": "0a21067f84d2495d37cc6fe864675db53ca56630",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon May 12 15:44:41 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 07:09:47 2008 +0200"
      },
      "message": "x86: move tracedata to RODATA\n\n.. allowing it to be write-protected just as other read-only data\nunder CONFIG_DEBUG_RODATA.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6360b1fbb4a939efd34fc770c2ebd927c55506e0",
      "tree": "8cf449a7177a6060f825fc03427b4e3baa3b0672",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon May 12 15:44:41 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 07:06:08 2008 +0200"
      },
      "message": "move BUG_TABLE into RODATA\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "63cc8c75156462d4b42cbdd76c293b7eee7ddbfe",
      "tree": "e014b4c61399f8f74347352e6ea76ddf1502dcfa",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon May 12 15:44:40 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 07:03:46 2008 +0200"
      },
      "message": "percpu: introduce DEFINE_PER_CPU_PAGE_ALIGNED() macro\n\nWhile examining holes in percpu section I found this :\n\nc05f5000 D per_cpu__current_task\nc05f5000 D __per_cpu_start\nc05f5004 D per_cpu__cpu_number\nc05f5008 D per_cpu__irq_regs\nc05f500c d per_cpu__cpu_devices\nc05f5040 D per_cpu__cyc2ns\n\n\u003cBig Hole of about 4000 bytes\u003e\n\nc05f6000 d per_cpu__cpuid4_info\nc05f6004 d per_cpu__cache_kobject\nc05f6008 d per_cpu__index_kobject\n\n\u003cBig Hole of about 4000 bytes\u003e\n\nc05f7000 D per_cpu__gdt_page\n\nThis is because gdt_page is a percpu variable, defined with\na page alignement, and linker is doing its job, two times because of .o\nnesting in the build process.\n\nI introduced a new macro DEFINE_PER_CPU_PAGE_ALIGNED() to avoid\nwasting this space. All page aligned variables (only one at this time)\nare put in a separate\nsubsection .data.percpu.page_aligned, at the very begining of percpu zone.\n\nBefore patch , on a x86_32 machine :\n\n.data.percpu                30232   3227471872\n.data.percpu                22168   3227471872\n\nThats 8064 bytes saved for each CPU.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6ea0205b56546cef782b74d9f4664ec00290a6ae",
      "tree": "6d95b52af65d6de540e606d95159e539d5cc2852",
      "parents": [
        "ee29420aca6ca6fbb3e72ee8a980b2600911b864"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri May 23 13:04:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:13 2008 -0700"
      },
      "message": "gpio: build fixes\n\nThis fixes various gpio-related build errors (mostly potential)\nreported in part by Russell King and Uwe Kleine-König.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Arnaud Patard \u003carnaud.patard@rtp-net.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c25bd29805f4d854c3a0b4176813f3c1bff569d3",
      "tree": "8712a2748b842176d177dedb2e6594b71fc2ff10",
      "parents": [
        "4cf63c8ac48c63b4c55669d4648506ed2bb8976f"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 24 13:37:33 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:42 2008 -0700"
      },
      "message": "types: add C99-style constructors to \u003casm-generic/int-*.h\u003e\n\nAdd C99-style constructor macros for fixed types to\n\u003casm-generic/int-*.h\u003e.  Since Linux uses names like \"u64\" instead of\n\"uint64_t\", the constructor macros are called U64_C() instead of\nUINT64_C() and so forth.\n\nThese macros allow specific sizes to be specified as\nU64_C(0x123456789abcdef), without gcc issuing warnings as it will if\none writes (u64)0x123456789abcdef.\n\nWhen used from assembly, these macros pass their argument unchanged.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "d13ff31cfeedbf2fefc7ba13cb753775648eac0c",
      "tree": "94bbe8498b3fc281265367f5dac94374a065255f",
      "parents": [
        "b66e1f11ebc429569a3784aaf64123633d9e3ed1"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 24 12:56:52 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:19 2008 -0700"
      },
      "message": "types: create \u003casm-generic/int-*.h\u003e\n\nThis creates two generic files with common integer definitions; one\nwhere 64 bits is \"long\" (most 64-bit architectures) and one where 64\nbits is \"long long\" (all 32-bit architectures and x86-64.)\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Lennert Buytenhek \u003ckernel@wantstofly.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: William L. Irwin \u003cwli@holomorphy.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\n"
    },
    {
      "commit": "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19",
      "tree": "f32e82fc3a50b6877afa3220bdb6f7ea0582e07f",
      "parents": [
        "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "rename div64_64 to div64_u64\n\nRename div64_64 to div64_u64 to make it consistent with the other divide\nfunctions, so it clearly includes the type of the divide.  Move its definition\nto math64.h as currently no architecture overrides the generic implementation.\n They can still override it of course, but the duplicated declarations are\navoided.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae50884f66fc93aa713feade8f87c03471241275",
      "tree": "ea58f6ad5f8490b745239cf06c002466c96394de",
      "parents": [
        "735643ee6cc5249bfac07fcad0946a5e7aff4423"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "remove __KERNEL__ tests of unexported headers under asm-generic/\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "730f412c08c13858f7681bac0a2770fbc9159fed",
      "tree": "ac37a43aef9dca3a6e63c9bdf97c489af3801357",
      "parents": [
        "07132922aac0caf807c56b9c2a388954b357a8c4"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Apr 30 00:54:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "asm-*/futex.h should include linux/uaccess.h\n\nLots of asm-*/futex.h call pagefault_enable and pagefault_disable, which\nare declared in linux/uaccess.h, without including linux/uaccess.h.\n\nThey all include asm/uaccess.h, so this patch replaces asm/uaccess.h\nwith linux/uaccess.h.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\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": "6510d41954dc6a9c8b1dbca7eaca0f23195ca727",
      "tree": "868b5fac25c7c5b80cc5a88eaaab8bf3d693420d",
      "parents": [
        "064106a91be5e76cb42c1ddf5d3871e3a1bd2a23"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Apr 29 01:03:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:27 2008 -0700"
      },
      "message": "kernel: Move arches to use common unaligned access\n\nUnaligned access is ok for the following arches:\ncris, m68k, mn10300, powerpc, s390, x86\n\nArches that use the memmove implementation for native endian, and\nthe byteshifting for the opposite endianness.\nh8300, m32r, xtensa\n\nPacked struct for native endian, byteshifting for other endian:\nalpha, blackfin, ia64, parisc, sparc, sparc64, mips, sh\n\nm86knommu is generic_be for Coldfire, otherwise unaligned access is ok.\n\nfrv, arm chooses endianness based on compiler settings, uses the byteshifting\nversions.  Remove the unaligned trap handler from frv as it is now unused.\n\nv850 is le, uses the byteshifting versions for both be and le.\n\nRemove the now unused asm-generic implementation.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10521bd9f74be94b83cfcf639601ece1c8e4faad",
      "tree": "5e121dbaae4d5e038c0c1ea638c9635970dd5afa",
      "parents": [
        "098ef1c0ea7b1b3ff9d89364af5ebc5b672cf932"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 01:02:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "generalize asm-generic/ioctl.h to allow overriding values\n\nIn the spirit of a number of other asm-generic header files,\ngeneralize asm-generic/ioctl.h to allow arch-specific ioctl.h headers\nto simply override _IOC_SIZEBITS and/or _IOC_DIRBITS before including\nthis header file, allowing a number of ioctl.h header files to be\nshortened considerably.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "169b6a7a6e91e1ea32136681b475cbaf2074bf35",
      "tree": "bf29842528e61cb07c581e43acbe3619a25746ab",
      "parents": [
        "8d0aab2f16c4fa170f32e7a74a52cd0122bbafef"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Mon Apr 28 02:14:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpiochip_reserve()\n\nAdd a new function gpiochip_reserve() to reserve ranges of gpios that platform\ncode has pre-allocated.  That is, this marks gpio numbers which will be\nclaimed by drivers that haven\u0027t yet been loaded, and thus are not available\nfor dynamic gpio number allocation.\n\n[akpm@linux-foundation.org: remove unneeded __must_check]\n[david-b@pacbell.net: don\u0027t export gpiochip_reserve (section fix)]\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6de1808f8ebfeb7e49f3c5a30cb8f2032beb287",
      "tree": "2230ea8f384449c7785d636ab016af3b2aa20123",
      "parents": [
        "d72cbed0c486e3db8b56380635f8e845073ce63a"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Mon Apr 28 02:14:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpio: define gpio_is_valid()\n\nIntroduce a gpio_is_valid() predicate; use it in gpiolib.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n    [ use inline function; follow the gpio_* naming convention;\n      work without gpiolib; all programming interfaces need docs ]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "438d8908b379b6322fc3b28d45c9ebdddf58bc20",
      "tree": "ce9439dc8c7e5d9e80f514751fb3b4ce4e414233",
      "parents": [
        "73fcdc9e15c27bb92595c611c8938a36645ea20d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Mon Apr 28 02:14:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpiolib: better rmmod infrastructure\n\nAs long as one or more GPIOs on a gpio chip are used its driver should not be\nunloaded.  The existing mechanism (gpiochip_remove failure) doesn\u0027t address\nthat, since rmmod can no longer be made to fail by having the cleanup code\nreport errors.  Module usecounts are the solution.\n\nAssuming standard \"initialize struct to zero\" policies, this change won\u0027t\naffect SOC platform drivers.  However, drivers for external chips (on I2C and\nSPI busses) should be updated if they can be built as modules.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n[ gpio_ensure_requested() needs to update module usecounts too ]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "d57594c203b1e7b54373080a797f0cbfa4aade68"
}
