)]}'
{
  "log": [
    {
      "commit": "e70049b9e74267dd47e1ffa62302073487afcb48",
      "tree": "2cd000c0751ef31c9044b020d63f278cdf4f332d",
      "parents": [
        "d18921a0e319ab512f8186b1b1142c7b8634c779",
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 03:50:29 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 03:50:29 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "152de30bced150617e5731a9fe2364c9d04fe26c",
      "tree": "db5df9e20b291edc17960614f19249b8f0d0a4d0",
      "parents": [
        "b28fe28f2a07ee325834179174a95495d2786561"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Feb 20 15:38:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 20 17:57:49 2009 -0800"
      },
      "message": "docsrc: use config instead of menuconfig\n\nBUILD_DOCSRC should be controlled by \"config\" instead of \"menuconfig\".\nI have no idea how I managed to use \"menuconfig\" here.\n\nSigned-off-by: 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": "ff491a7334acfd74e515c896632e37e401f52676",
      "tree": "0e3663706a706029d6fc749ef7f66cdd03925231",
      "parents": [
        "612e244c12215f6f74973ea3b89bff96450dc530"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Feb 05 23:56:36 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 23:56:36 2009 -0800"
      },
      "message": "netlink: change return-value logic of netlink_broadcast()\n\nCurrently, netlink_broadcast() reports errors to the caller if no\nmessages at all were delivered:\n\n1) If, at least, one message has been delivered correctly, returns 0.\n2) Otherwise, if no messages at all were delivered due to skb_clone()\n   failure, return -ENOBUFS.\n3) Otherwise, if there are no listeners, return -ESRCH.\n\nWith this patch, the caller knows if the delivery of any of the\nmessages to the listeners have failed:\n\n1) If it fails to deliver any message (for whatever reason), return\n   -ENOBUFS.\n2) Otherwise, if all messages were delivered OK, returns 0.\n3) Otherwise, if no listeners, return -ESRCH.\n\nIn the current ctnetlink code and in Netfilter in general, we can add\nreliable logging and connection tracking event delivery by dropping the\npackets whose events were not successfully delivered over Netlink. Of\ncourse, this option would be settable via /proc as this approach reduces\nperformance (in terms of filtered connections per seconds by a stateful\nfirewall) but providing reliable logging and event delivery (for\nconntrackd) in return.\n\nThis patch also changes some clients of netlink_broadcast() that\nmay report ENOBUFS errors via printk. This error handling is not\nof any help. Instead, the userspace daemons that are listening to\nthose netlink messages should resync themselves with the kernel-side\nif they hit ENOBUFS.\n\nBTW, netlink_broadcast() clients include those that call\ncn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they\ninternally call netlink_broadcast() and return its error value.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9",
      "tree": "d6c5bba1ffb35c5655a736d6d736d086ed3316eb",
      "parents": [
        "3a9f84d354ce1e19956083c8e691727dea33bd5a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 10 21:58:09 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 15:47:34 2009 +0100"
      },
      "message": "cpumask: convert lib/smp_processor_id to new cpumask ops\n\nImpact: fix debug_smp_processor_id() for CONFIG_CPUMASK_OFFSTACK\u003dy\n\nThe scheduler now uses the new cpumask API, which deals up to\nnr_cpumask_bits, whereas the API used NR_CPUS bits.\n\nIf CONFIG_CPUMASK_OFFSTACK\u003dy these two are not equal, so the top bits\nare undefined.  Leading to bug 12518 \"BUG: using smp_processor_id() in\npreemptible [00000000] code: dellWirelessCtl/...\"\n\nThe fix is simple: use the modern API in the check.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3386c05bdbd3e60ca7158253442f0a00133db28e",
      "tree": "19e48f0352e65eb83a0e922fb75528ed39f44ebd",
      "parents": [
        "1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899",
        "6552ebae25ffd57574c6e72d17fce67fea08b918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: add and use INIT_WORK_ON_STACK\n  rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR\n  relay: fix lock imbalance in relay_late_setup_files\n  oprofile: fix uninitialized use of struct op_entry\n  rcu: move Kconfig menu\n  softlock: fix false panic which can occur if softlockup_thresh is reduced\n  rcu: add __cpuinit to rcu_init_percpu_data()\n"
    },
    {
      "commit": "810ee58de26c9c1255d716b1db7344c4a1093fec",
      "tree": "176531e4e4989ec7a8996a356b1a79ae7b647568",
      "parents": [
        "2927fceafc91afe744e0d1d33f8bbf98c42668fc",
        "e88a0faae5baaaa3bdc6f23a55ad6bc7a7b4aa77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits)\n  xen: unitialised return value in xenbus_write_transaction\n  x86: fix section mismatch warning\n  x86: unmask CPUID levels on Intel CPUs, fix\n  x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.\n  x86: use standard PIT frequency\n  xen: handle highmem pages correctly when shrinking a domain\n  x86, mm: fix pte_free()\n  xen: actually release memory when shrinking domain\n  x86: unmask CPUID levels on Intel CPUs\n  x86: add MSR_IA32_MISC_ENABLE bits to \u003casm/msr-index.h\u003e\n  x86: fix PTE corruption issue while mapping RAM using /dev/mem\n  x86: mtrr fix debug boot parameter\n  x86: fix page attribute corruption with cpa()\n  Revert \"x86: signal: change type of paramter for sys_rt_sigreturn()\"\n  x86: use early clobbers in usercopy*.c\n  x86: remove kernel_physical_mapping_init() from init section\n  fix: crash: IP: __bitmap_intersects+0x48/0x73\n  cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write\n  work_on_cpu: Use our own workqueue.\n  work_on_cpu: don\u0027t try to get_online_cpus() in work_on_cpu.\n  ...\n"
    },
    {
      "commit": "6552ebae25ffd57574c6e72d17fce67fea08b918",
      "tree": "cde6cc932c7e47d818154b011dfd8a6997d5c18e",
      "parents": [
        "749a440b2218e9937dca8c68e23e51ca4d8d37fe",
        "336f6c322d87806ef93afad6308ac65083a865e5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "message": "Merge branch \u0027core/debugobjects\u0027 into core/urgent\n"
    },
    {
      "commit": "749a440b2218e9937dca8c68e23e51ca4d8d37fe",
      "tree": "c9590e3c071e74d127757e8d2739f5e608cdd136",
      "parents": [
        "b786c6a98ef6fa81114ba7b9fbfc0d67060775e3"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Jan 22 09:46:38 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 09:29:36 2009 +0100"
      },
      "message": "rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR\n\nImpact: remove the old CONFIG_RCU_CPU_STALL_DETECTOR\n\ntree_rcu introduce CONFIG_RCU_CPU_STALL_DETECTOR again.\n\nThese two are the same exactly except:\n\n the old one \"depends on CLASSIC_RCU\"\n the new one \"depends on CLASSIC_RCU || TREE_RCU\"\n\nThis patch remove the old one.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64dec40ddee9d36d7b83f8a0513fdeaffe260a0e",
      "tree": "3f4e6d689c2b8d49fee7d06bcfbcdd55f9f829bd",
      "parents": [
        "a3c6018e565dc07cf3738ace6bbe412f97b1bba8"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Jan 16 13:23:35 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 21:15:10 2009 +0100"
      },
      "message": "x86: define ARCH_WANT_FRAME_POINTERS\n\nCommit da4276b8299a6544dc41ac2485d3ffca5811b3fb changed a dependency\nfor FRAME_POINTER from X86 to ARCH_WANT_FRAME_POINTERS, but didn\u0027t\nactually define it.\n\nThis patch adds the definition for ARCH_WANT_FRAME_POINTERS. Without it,\nFRAME_POINTER can\u0027t be enabled on x86.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5b019e99016f3a692ba45bf68fba73a402d7c01a",
      "tree": "a419c318c550dd2edaa03185477e162e0c7d8e77",
      "parents": [
        "5da7f3d71e243ef5c464967581414d29c72bab75"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Jan 15 13:51:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:40 2009 -0800"
      },
      "message": "lib/idr.c: use kmem_cache_zalloc() for the idr_layer cache\n\nDavid points out that the idr_remove_all() function returns unused slabs\nto the kmem cache, but needs to zero them first or else they will be\nuninitialized upon next use.  This causes crashes which have been observed\nin the firewire subsystem.\n\nHe fixed this by zeroing the object before freeing it in idr_remove_all().\n\nBut we agree that simply removing the constructor and zeroing the object\nat allocation time is simpler than relying upon slab constructor machinery\nand might even be faster.\n\nThis problem was introduced by \"idr: make idr_remove rcu-safe\" (commit\ncf481c20c476ad2c0febdace9ce23f5a4db19582), which was first released in\n2.6.27.\n\nThere are no known codesites which trigger this bug in 2.6.27 or 2.6.28.\nThe post-2.6.28 firewire changes are the only known triggerer.\n\nThere might of course be not-yet-discovered triggerers in 2.6.27 and\n2.6.28, and there might be out-of-tree triggerers which are added to those\nkernel versions.  I\u0027ll let the -stable guys decide whether they want to\nbackport this fix.\n\nReported-by: David Moore \u003cdcm@acm.org\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Kristian Hgsberg \u003ckrh@redhat.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b098161b4d0231f7dc5306111d576c0bfe0c8eba",
      "tree": "4b95f05b5f50bd219943f4bd6b200ccde806a38b",
      "parents": [
        "45ce80fb6b6f9594d1396d44dd7e7c02d596fef8"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 15 13:51:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:37 2009 -0800"
      },
      "message": "idr: fix wrong kernel-doc\n\nidr_get_new_above() and ida_get_new_above() return an id in the range of\n@staring_id ... 0x7fffffff, not 0 ... 0x7fffffff.\n\nSigned-off-by: Li Zefan \u003clizf@cn.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": "3d14bdad40315b54470cb7812293d14c8af2bf7d",
      "tree": "270503b36cb671cea2f9b283168a3f932f9677d2",
      "parents": [
        "4e9b1c184cadbece3694603de5f880b6e35bd7a7",
        "51d7a1398d1851e892504e97ca20521610dfcece"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 10 06:13:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 10 06:13:09 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits)\n  x86: fix section mismatch warnings in mcheck/mce_amd_64.c\n  x86: offer frame pointers in all build modes\n  x86: remove duplicated #include\u0027s\n  x86: k8 numa register active regions later\n  x86: update Alan Cox\u0027s email addresses\n  x86: rename all fields of mpc_table mpc_X to X\n  x86: rename all fields of mpc_oemtable oem_X to X\n  x86: rename all fields of mpc_bus mpc_X to X\n  x86: rename all fields of mpc_cpu mpc_X to X\n  x86: rename all fields of mpc_intsrc mpc_X to X\n  x86: rename all fields of mpc_lintsrc mpc_X to X\n  x86: rename all fields of mpc_iopic mpc_X to X\n  x86: irqinit_64.c init_ISA_irqs should be static\n  Documentation/x86/boot.txt: payload length was changed to payload_length\n  x86: setup_percpu.c fix style problems\n  x86: irqinit_64.c fix style problems\n  x86: irqinit_32.c fix style problems\n  x86: i8259.c fix style problems\n  x86: irq_32.c fix style problems\n  x86: ioport.c fix style problems\n  ...\n"
    },
    {
      "commit": "f4b477c47332367d35686bd2b808c2156b96d7c7",
      "tree": "ab8a2cf098b69be9ed7a44426106a7af596241d9",
      "parents": [
        "cfce41a6d643c001d416ead960caf04fae2d609a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sat Jan 10 11:12:09 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 10 06:04:33 2009 -0800"
      },
      "message": "rbtree: add const qualifier to some functions\n\nThe \u0027rb_first()\u0027, \u0027rb_last()\u0027, \u0027rb_next()\u0027 and \u0027rb_prev()\u0027 calls\ntake a pointer to an RB node or RB root. They do not change the\npointed objects, so add a \u0027const\u0027 qualifier in order to make life\nof the users of these functions easier.\n\nIndeed, if I have my own constant pointer \u0026const struct my_type *p,\nand I call \u0027rb_next(\u0026p-\u003erb)\u0027, I get a GCC warning:\n\nwarning: passing argument 1 of ‘rb_next’ discards qualifiers from pointer target type\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c40f6f8bbc4cbd2902671aacd587400ddca62627",
      "tree": "a991e5521e10943f4457fb7f494e00aec75cc7df",
      "parents": [
        "1a7d0f0bec4be078ce2cfb11538c0f4ffbbed8e5",
        "cb6ff208076b5f434db1b8c983429269d719cef5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 14:00:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 14:00:58 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu:\n  NOMMU: Support XIP on initramfs\n  NOMMU: Teach kobjsize() about VMA regions.\n  FLAT: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n  FDPIC: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n  NOMMU: Improve procfs output using per-MM VMAs\n  NOMMU: Make mmap allocation page trimming behaviour configurable.\n  NOMMU: Make VMAs per MM as for MMU-mode linux\n  NOMMU: Delete askedalloc and realalloc variables\n  NOMMU: Rename ARM\u0027s struct vm_region\n  NOMMU: Fix cleanup handling in ramfs_nommu_get_umapped_area()\n"
    },
    {
      "commit": "b53907c0100a353a7ac53bed260e735e5ccbbbcc",
      "tree": "36314c4fdd0f149e563987aa5ee48f3e8205f962",
      "parents": [
        "b67445fc17489fff5c8052147184e366abdb3d80"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:14 2009 -0800"
      },
      "message": "generic swap(): lib/sort.c: rename swap to swap_func\n\nThis is to avoid name clashes for the introduction of a global swap()\nmacro.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8feae13110d60cc6287afabc2887366b0eb226c2",
      "tree": "b3188986faab70e753e00ea8670a11ba8ec844c0",
      "parents": [
        "41836382ebb415d68d3ebc4525e78e871fe58baf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "NOMMU: Make VMAs per MM as for MMU-mode linux\n\nMake VMAs per mm_struct as for MMU-mode linux.  This solves two problems:\n\n (1) In SYSV SHM where nattch for a segment does not reflect the number of\n     shmat\u0027s (and forks) done.\n\n (2) In mmap() where the VMA\u0027s vm_mm is set to point to the parent mm by an\n     exec\u0027ing process when VM_EXECUTABLE is specified, regardless of the fact\n     that a VMA might be shared and already have its vm_mm assigned to another\n     process or a dead process.\n\nA new struct (vm_region) is introduced to track a mapped region and to remember\nthe circumstances under which it may be shared and the vm_list_struct structure\nis discarded as it\u0027s no longer required.\n\nThis patch makes the following additional changes:\n\n (1) Regions are now allocated with alloc_pages() rather than kmalloc() and\n     with no recourse to __GFP_COMP, so the pages are not composite.  Instead,\n     each page has a reference on it held by the region.  Anything else that is\n     interested in such a page will have to get a reference on it to retain it.\n     When the pages are released due to unmapping, each page is passed to\n     put_page() and will be freed when the page usage count reaches zero.\n\n (2) Excess pages are trimmed after an allocation as the allocation must be\n     made as a power-of-2 quantity of pages.\n\n (3) VMAs are added to the parent MM\u0027s R/B tree and mmap lists.  As an MM may\n     end up with overlapping VMAs within the tree, the VMA struct address is\n     appended to the sort key.\n\n (4) Non-anonymous VMAs are now added to the backing inode\u0027s prio list.\n\n (5) Holes may be punched in anonymous VMAs with munmap(), releasing parts of\n     the backing region.  The VMA and region structs will be split if\n     necessary.\n\n (6) sys_shmdt() only releases one attachment to a SYSV IPC shared memory\n     segment instead of all the attachments at that addresss.  Multiple\n     shmat()\u0027s return the same address under NOMMU-mode instead of different\n     virtual addresses as under MMU-mode.\n\n (7) Core dumping for ELF-FDPIC requires fewer exceptions for NOMMU-mode.\n\n (8) /proc/maps is now the global list of mapped regions, and may list bits\n     that aren\u0027t actually mapped anywhere.\n\n (9) /proc/meminfo gains a line (tagged \"MmapCopy\") that indicates the amount\n     of RAM currently allocated by mmap to hold mappable regions that can\u0027t be\n     mapped directly.  These are copies of the backing device or file if not\n     anonymous.\n\nThese changes make NOMMU mode more similar to MMU mode.  The downside is that\nNOMMU mode requires some extra memory to track things over NOMMU without this\npatch (VMAs are no longer shared, and there are now region structs).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "57c44c5f6fb0a8002feb258c1af58e1a744b1fcb",
      "tree": "978bd46ca765a88e9c101cb705bbb0bf46015643",
      "parents": [
        "76052749143d03006271cc0ce8205ad756917062",
        "5a9e67b1a19e08a82387709f325d26e07b891d27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)\n  trivial: chack -\u003e check typo fix in main Makefile\n  trivial: Add a space (and a comma) to a printk in 8250 driver\n  trivial: Fix misspelling of \"firmware\" in docs for ncr53c8xx/sym53c8xx\n  trivial: Fix misspelling of \"firmware\" in powerpc Makefile\n  trivial: Fix misspelling of \"firmware\" in usb.c\n  trivial: Fix misspelling of \"firmware\" in qla1280.c\n  trivial: Fix misspelling of \"firmware\" in a100u2w.c\n  trivial: Fix misspelling of \"firmware\" in megaraid.c\n  trivial: Fix misspelling of \"firmware\" in ql4_mbx.c\n  trivial: Fix misspelling of \"firmware\" in acpi_memhotplug.c\n  trivial: Fix misspelling of \"firmware\" in ipw2100.c\n  trivial: Fix misspelling of \"firmware\" in atmel.c\n  trivial: Fix misspelled firmware in Kconfig\n  trivial: fix an -\u003e a typos in documentation and comments\n  trivial: fix then -\u003e than typos in comments and documentation\n  trivial: update Jesper Juhl CREDITS entry with new email\n  trivial: fix singal -\u003e signal typo\n  trivial: Fix incorrect use of \"loose\" in event.c\n  trivial: printk: fix indentation of new_text_line declaration\n  trivial: rtc-stk17ta8: fix sparse warning\n  ...\n"
    },
    {
      "commit": "da4276b8299a6544dc41ac2485d3ffca5811b3fb",
      "tree": "8225c30e900cadb4b5dee86a4f70b189cceb3c12",
      "parents": [
        "0936912274af78a21fd8d54c3f94a50a285cf7f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 07 11:05:10 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 07 11:18:59 2009 +0100"
      },
      "message": "x86: offer frame pointers in all build modes\n\nCONFIG_FRAME_POINTERS\u003dy results in much better debug info for the\nkernel (clear and precise backtraces), with the only drawback being\na ~1% increase in kernel size.\n\nSo offer it unconditionally and enable it by default.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f94181da7192f4ed8ccb1b633ea4ce56954df130",
      "tree": "2e28785f2df447573a11fbdd611dc19eb3fcb794",
      "parents": [
        "932adbed6d99cc373fc3433d701b3a594fea872c",
        "fdbc0450df12cc9cb397f3497db4b0cad7c1a8ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:04 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: fix rcutorture bug\n  rcu: eliminate synchronize_rcu_xxx macro\n  rcu: make treercu safe for suspend and resume\n  rcu: fix rcutree grace-period-latency bug on small systems\n  futex: catch certain assymetric (get|put)_futex_key calls\n  futex: make futex_(get|put)_key() calls symmetric\n  locking, percpu counters: introduce separate lock classes\n  swiotlb: clean up EXPORT_SYMBOL usage\n  swiotlb: remove unnecessary declaration\n  swiotlb: replace architecture-specific swiotlb.h with linux/swiotlb.h\n  swiotlb: add support for systems with highmem\n  swiotlb: store phys address in io_tlb_orig_addr array\n  swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus()\n"
    },
    {
      "commit": "40d7ee5d162203b40b5f4fbb312ab016edddb97f",
      "tree": "432db33df85f7f244676127a189a828dfbf2877b",
      "parents": [
        "5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8",
        "b8ac9fc0e8cda9f9776019c5b0464b0c6d2d4c90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "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: (60 commits)\n  uio: make uio_info\u0027s name and version const\n  UIO: Documentation for UIO ioport info handling\n  UIO: Pass information about ioports to userspace (V2)\n  UIO: uio_pdrv_genirq: allow custom irq_flags\n  UIO: use pci_ioremap_bar() in drivers/uio\n  arm: struct device - replace bus_id with dev_name(), dev_set_name()\n  libata: struct device - replace bus_id with dev_name(), dev_set_name()\n  avr: struct device - replace bus_id with dev_name(), dev_set_name()\n  block: struct device - replace bus_id with dev_name(), dev_set_name()\n  chris: struct device - replace bus_id with dev_name(), dev_set_name()\n  dmi: struct device - replace bus_id with dev_name(), dev_set_name()\n  gadget: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpio: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpu: struct device - replace bus_id with dev_name(), dev_set_name()\n  hwmon: struct device - replace bus_id with dev_name(), dev_set_name()\n  i2o: struct device - replace bus_id with dev_name(), dev_set_name()\n  IA64: struct device - replace bus_id with dev_name(), dev_set_name()\n  i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()\n  infiniband: struct device - replace bus_id with dev_name(), dev_set_name()\n  ISDN: struct device - replace bus_id with dev_name(), dev_set_name()\n  ...\n"
    },
    {
      "commit": "179f7ebff6be45738c6e2fa68c8d2cc5c2c6308e",
      "tree": "3d48b5f825cfa29f5b39656503c5157872454e9f",
      "parents": [
        "e3d5a27d5862b6425d0879272e24abecf7245105"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 06 14:41:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "percpu_counter: FBC_BATCH should be a variable\n\nFor NR_CPUS \u003e\u003d 16 values, FBC_BATCH is 2*NR_CPUS\n\nConsidering more and more distros are using high NR_CPUS values, it makes\nsense to use a more sensible value for FBC_BATCH, and get rid of NR_CPUS.\n\nA sensible value is 2*num_online_cpus(), with a minimum value of 32 (This\nminimum value helps branch prediction in __percpu_counter_add())\n\nWe already have a hotcpu notifier, so we can adjust FBC_BATCH dynamically.\n\nWe rename FBC_BATCH to percpu_counter_batch since its not a constant\nanymore.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e899aa823ad74860a17b541b0ad38f513728923d",
      "tree": "019c4a1b7baafe9967aa50cc49e809c11d39f944",
      "parents": [
        "ff083c8372f6312bb3a8c7f7b748920aeeb210c9"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Tue Jan 06 14:40:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:12 2009 -0800"
      },
      "message": "strict_strto* is not strict enough\n\nIt decodes \"\\n\" as 0, which is bad, because stray echo into backlight\nwill turn your backlight off, etc...\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Yi Yang \u003cyi.y.yang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30079677428ae1349d5063b96f677270dfd54309",
      "tree": "f6a49c279b19fe2de541a4d9732c46fd26783e27",
      "parents": [
        "8cef7d57a4a47ef7166acde05eea0bc4f723691c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 06 14:40:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "lib: proportions.c trivial sparse lock annotation\n\nSuppresses sparse warning:\nlib/proportions.c:159:16: warning: context imbalance in \u0027prop_get_global\u0027: wrong count at exit\nlib/proportions.c:159:16:    context \u0027RCU\u0027: wanted 0, got 1\nlib/proportions.c:164:2: warning: context imbalance in \u0027prop_put_global\u0027: unexpected unlock\nlib/proportions.c:164:2:    context \u0027RCU\u0027: wanted 0, got -1\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": "8cef7d57a4a47ef7166acde05eea0bc4f723691c",
      "tree": "1ec446c6734e2fcd5cf0c98274a0183cc6290f9d",
      "parents": [
        "40bc1f2dbc29ab88176a650e51f2246526105093"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 06 14:40:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "lib: radix_tree.c make percpu variable static\n\nradix_tree_preloads is unused outside of this file, make it static.\n\nNoticed by sparse:\nlib/radix-tree.c:84:1: warning: symbol \u0027per_cpu__radix_tree_preloads\u0027 was not declared. Should it be static?\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": "40bc1f2dbc29ab88176a650e51f2246526105093",
      "tree": "0c9fd0f1a3430118214b06acfdb61bb80bb4fa7d",
      "parents": [
        "60348802e9cb137ee86590c3e4c57c1ec2e8fc69"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 06 14:40:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "lib: fix sparse shadowed variable warning\n\npos is always set before being used, no need to declare a\nsecond one inside the if() block.\n\nlib/prio_heap.c:34:7: warning: symbol \u0027pos\u0027 shadows an earlier one\nlib/prio_heap.c:30:6: originally declared here\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": "f1883f86dea84fe47a71a39fc1afccc005915ed8",
      "tree": "357c50d2eb44e9e62c39c0c1025bae7b2b6eba67",
      "parents": [
        "eaccbfa564e48c87626594511f42dc8c0ad2daae"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Jan 06 14:40:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "Remove remaining unwinder code\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Gabor Gombas \u003cgombasg@sztaki.hu\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e,\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b61312d353da1871778711040464b10f5cd904df",
      "tree": "affc5f594a89a654a13dd2fe0f196c4f96764b86",
      "parents": [
        "f41ced8f108cc80f16509b907cd7ac93944459bc"
      ],
      "author": {
        "name": "Viktor Rosendahl",
        "email": "viktor.rosendahl@nokia.com",
        "time": "Tue Jan 06 14:40:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "oops handling: ensure that any oops is flushed to the mtdoops console\n\nThis used to work unpatched with older kernels, during the development\nphase of mtdoops.  Before commit e3e8a75d2acfc61ebf25524666a0a2c6abb0620c\na space was printed with console_loglevel set to 15, which probably\nflushed the oops message as a side effect.\n\nThis is another patch from the Nokia N810 kernel.\n\nSigned-off-by: Viktor Rosendahl \u003cviktor.rosendahl@nokia.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94b324864ef2a8e461f3933ab99638255299e9f0",
      "tree": "ec1283aa0ff00d774284137525cfdd8a458c71d4",
      "parents": [
        "354655ea9714e5b0e8d23c90a5382986815687e0"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:37 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:37 2009 -0800"
      },
      "message": "swiotlb: struct device - replace bus_id with dev_name(), dev_set_name()\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2e5ba26a483218b51b7b327fb235b348890aea15",
      "tree": "6d90e2cc07fe59b1ead5d5ce3ee24b9d47dc11c1",
      "parents": [
        "0732b49c8c40c56033cff8986dbad55aa54a5d40"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Dec 11 07:43:17 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "dynamic_printk: reduce one level of indentation\n\nCleanup pr_debug_write() to reduce one level of indentation.\n\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e0d7bf5d580c20ff14d0200b6ab47bc77f99b152",
      "tree": "f022e775879b32b9e49bfe76977e91b704580a57",
      "parents": [
        "c65b9145f40da99cad000f81823265dc70e5fcf9"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun Nov 16 18:23:27 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:31 2009 -0800"
      },
      "message": "kobject: return the result of uevent sending by netlink\n\nWe need to return the result of uevent sending by netlink\nto caller, when uevent_helper is disabled and CONFIG_NET\nis defined.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c65b9145f40da99cad000f81823265dc70e5fcf9",
      "tree": "f26091022846aea449821b6c1acdbc46d75da6b1",
      "parents": [
        "fce3e804cfad49208fd2ff9db4bcb57481409e1d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Nov 13 13:20:00 2008 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:31 2009 -0800"
      },
      "message": "uevent: don\u0027t pass envp_ext[] as format string in kobject_uevent_env()\n\nkobject_uevent_env() uses envp_ext[] as verbatim format string which\ncan cause problems ranging from unexpectedly mangled string to oops if\na string in envp_ext[] contains substring which can be interpreted as\nformat.  Fix it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "210272a28465a7a31bcd580d2f9529f924965aa5",
      "tree": "bd368e8f27c7691b12deaafc1a52c79db1fa1cc9",
      "parents": [
        "929d2fa5955ab27aa21fac615b23e0e92e8dc3a0"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Oct 16 14:57:54 2008 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:30 2009 -0800"
      },
      "message": "driver core: Remove completion from struct klist_node\n\nRemoving the completion from klist_node reduces its size from 64 bytes\nto 28 on x86-64.  To maintain the semantics of klist_remove(), we add\na single list of klist nodes which are pending deletion and scan them.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8e6bdb7f8b478323525444ecee7a1477ff5b6639",
      "tree": "02ff4e100e37a3fb8cf12b9cb321abe4ded58f36",
      "parents": [
        "2b6a2f535dda8c60721b78699618d13d6799a29e"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Nov 27 11:42:22 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:05 2009 +0100"
      },
      "message": "trivial: radix-tree: document wrap-around issue of radix_tree_next_hole()\n\nAnd some 80-line cleanups.\n\nSigned-off-by: Wu Fengguang \u003cwfg@linux.intel.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "fdbc0450df12cc9cb397f3497db4b0cad7c1a8ff",
      "tree": "3d266bd156f140f06b22f27784a7487bba6d6da5",
      "parents": [
        "46483d10e5123d78cf9abf37577aa8e75f18b8a4",
        "90621c40cc4ab7b0a414311ce37e7cc7173403b6",
        "ea319518ba3de282c13ae1cf4bf2215c5e03e67e",
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:32:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:32:11 2009 +0100"
      },
      "message": "Merge branches \u0027core/futexes\u0027, \u0027core/locking\u0027, \u0027core/rcu\u0027 and \u0027linus\u0027 into core/urgent\n"
    },
    {
      "commit": "46483d10e5123d78cf9abf37577aa8e75f18b8a4",
      "tree": "ffb646db8023433588ce87797a9428c90ec118bc",
      "parents": [
        "c59ab97e9ecdee9084d2da09e5a8ceea9a396508",
        "874d6a9555516cbac828131d573ce3d16ce47164"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 05 14:17:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 05 14:17:24 2009 +0100"
      },
      "message": "Merge branch \u0027core/iommu\u0027 into core/urgent\n\nConflicts:\n\tlib/swiotlb.c\n"
    },
    {
      "commit": "52942b6b16c6ebb25f4dd4df0208d840ba0cbc5c",
      "tree": "36a2b80f6ab77e53b49c9b454296e39abbbcfedf",
      "parents": [
        "c66b9906f863696159e05890bb7123269bb9a9de"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Jan 03 00:16:03 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 04 12:25:16 2009 +0100"
      },
      "message": "swiotlb: Don\u0027t include linux/swiotlb.h twice in lib/swiotlb.c\n\nThere\u0027s no point in including the linux/swiotlb.h header twice in\nlib/swiotlb.c - this patch gets rid of the unneeded include.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4010b0192ddf6ec7ec1b9feb9b0953692aeb7329",
      "tree": "188a36186f6ce580b479a9f90404fa7bfd8b22d7",
      "parents": [
        "79ff56ebd3edfb16f8badc558cb439b203a3298f",
        "7d3b56ba37a95f1f370f50258ed3954c304c524b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 04 10:59:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 04 10:59:36 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/urgent\n"
    },
    {
      "commit": "7d3b56ba37a95f1f370f50258ed3954c304c524b",
      "tree": "86102527b92f02450aa245f084ffb491c18d2e0a",
      "parents": [
        "269b012321f2f1f8e4648c43a93bf432b42c6668",
        "ab14398abd195af91a744c320a52a1bce814dd1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)\n  x86: setup_per_cpu_areas() cleanup\n  cpumask: fix compile error when CONFIG_NR_CPUS is not defined\n  cpumask: use alloc_cpumask_var_node where appropriate\n  cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t\n  x86: use cpumask_var_t in acpi/boot.c\n  x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids\n  sched: put back some stack hog changes that were undone in kernel/sched.c\n  x86: enable cpus display of kernel_max and offlined cpus\n  ia64: cpumask fix for is_affinity_mask_valid()\n  cpumask: convert RCU implementations, fix\n  xtensa: define __fls\n  mn10300: define __fls\n  m32r: define __fls\n  h8300: define __fls\n  frv: define __fls\n  cris: define __fls\n  cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS\n  cpumask: zero extra bits in alloc_cpumask_var_node\n  cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/\n  cpumask: convert mm/\n  ...\n"
    },
    {
      "commit": "d97106ab53f812910a62d18afb9dbe882819c1ba",
      "tree": "edd1a2c287b7d98ee7b62e7ea6457c8a10abe016",
      "parents": [
        "3bfacef412b4bc993a8992217e50f1245f2fd3a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:46:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:46:17 2009 -0800"
      },
      "message": "Make %p print \u0027(null)\u0027 for NULL pointers\n\nBefore, when we only ever printed out the pointer value itself, a NULL\npointer would never cause issues and might as well be printed out as\njust its numeric value.\n\nHowever, with the extended %p formats, especially %pR, we might validly\nwant to print out resources for debugging.  And sometimes they don\u0027t\neven exist, and the resource pointer is just NULL.  Print it out as\nsuch, rather than oopsing.\n\nThis is a more generic version of a patch done by Trent Piepho (catching\nall %p cases rather than just %pR, and using \"(null)\" instead of\n\"[NULL]\" to match glibc).\n\nRequested-by: Trent Piepho \u003cxyzzy@speakeasy.org\u003e\nAcked-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79ff56ebd3edfb16f8badc558cb439b203a3298f",
      "tree": "4d235b9c173f7593ff240930478c987ec3c90bef",
      "parents": [
        "b840d79631c882786925303c2b0f4fefc31845ed"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Tue Dec 30 20:18:00 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 02 21:52:39 2009 +0100"
      },
      "message": "swiotlb: add missing __init annotations\n\nImpact: cleanup, reduce kernel size a bit\n\nThe current kernel build warns:\n\n    WARNING: vmlinux.o(.text+0x11458): Section mismatch in reference from the function swiotlb_alloc_boot() to the function .init.text:__alloc_bootmem_low()\n    The function swiotlb_alloc_boot() references\n    the function __init __alloc_bootmem_low().\n    This is often because swiotlb_alloc_boot lacks a __init\n    annotation or the annotation of __alloc_bootmem_low is wrong.\n\n    WARNING: vmlinux.o(.text+0x1011f2): Section mismatch in reference from the function swiotlb_late_init_with_default_size() to the function .init.text:__alloc_bootmem_low()\n    The function swiotlb_late_init_with_default_size() references\n    the function __init __alloc_bootmem_low().\n    This is often because swiotlb_late_init_with_default_size lacks a __init\n    annotation or the annotation of __alloc_bootmem_low is wrong.\n\nand indeed the functions calling __alloc_bootmem_low() can be marked\n__init as well.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "8c384cdee3e04d6194a2c2b192b624754f990835",
      "tree": "3a9bd2e7ce02cd5e739c521e073467a3b201198d",
      "parents": [
        "2a53008033189ed09bfe241c6b33811ba4ce980d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:30 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:30 2009 +1030"
      },
      "message": "cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS\n\nImpact: new debug CONFIG options\n\nThis helps find unconverted code.  It currently breaks compile horribly,\nbut we never wanted a flag day so that\u0027s expected.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "2a53008033189ed09bfe241c6b33811ba4ce980d",
      "tree": "86dcdacdd7fbaf671f2487b7a05352aa672fecc1",
      "parents": [
        "5db0e1e9e0f30f160b832a0b5cd1131954bf4f6e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:30 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:30 2009 +1030"
      },
      "message": "cpumask: zero extra bits in alloc_cpumask_var_node\n\nImpact: extra safety checks during transition\n\nWhen CONFIG_CPUMASKS_OFFSTACK is set, the new cpumask_ operators only\nuse bits up to nr_cpu_ids, not NR_CPUS.  Using the old cpus_ operators\non these masks can mean accessing undefined bits.\n\nAfter some discussion, Mike and I decided to err on the side of caution;\nwe zero the \"undefined\" bits in alloc_cpumask_var_node() until all the\nold cpumask functions are removed.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ab53d472e785e51fdfc08fc1d66252c1153e6c0f",
      "tree": "19abab13d2e4e8fe00f960c0ac475e14bfb1a44e",
      "parents": [
        "0db5d3d2f58804edb394e8008c7d9744110338a2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:19 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:19 2009 +1030"
      },
      "message": "bitmap: find_last_bit()\n\nImpact: New API\n\nAs the name suggests.  For the moment everyone uses the generic one.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e9690a6e4b1615cb0102e425e04b7ce29e7858e2",
      "tree": "5f852c75ffd22de0d0ee4ee710568e67053465b8",
      "parents": [
        "f320786063a9d1f885d2cf34ab44aa69c1d88f43"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Dec 31 16:45:50 2008 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:13 2009 +1030"
      },
      "message": "cpumask: fix bogus kernel-doc\n\nImpact: fix kernel-doc\n\nalloc_bootmem_cpumask_var() returns avoid.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "db5e53fbf0abf5cadc83be57032242e5e7c6c394",
      "tree": "e391aebab8b81a68fe36e5fef8a729062f643259",
      "parents": [
        "3f4b5c5d275608d42ff54c4981307f9a5c75ea4a",
        "3c506efd7e0f615bd9603ce8c06bc4a896952599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:28:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:28:09 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: avoid leaking caches or refcounts on sysfs error\n  slab: Fix comment on #endif\n  slab: remove GFP_THISNODE clearing from alloc_slabmgmt()\n  slub: Add might_sleep_if() to slab_alloc()\n  SLUB: failslab support\n  slub: Fix incorrect use of loose\n  slab: Update the kmem_cache_create documentation regarding the name parameter\n  slub: make early_kmem_cache_node_alloc void\n  slab: unsigned slabp-\u003einuse cannot be less than 0\n  slub - fix get_object_page comment\n  SLUB: Replace __builtin_return_address(0) with _RET_IP_.\n  SLUB: cleanup - define macros instead of hardcoded numbers\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": "33edcf133ba93ecba2e4b6472e97b689895d805c",
      "tree": "327d7a20acef64005e7c5ccbfa1265be28aeb6ac",
      "parents": [
        "be4d638c1597580ed2294d899d9f1a2cd10e462c",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "ea319518ba3de282c13ae1cf4bf2215c5e03e67e",
      "tree": "72eea2b8e5d8926e95ade18d610d59b13df5dae5",
      "parents": [
        "00ef9f7348dfd2fc223ec42aceb30836e86b367f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Dec 26 15:08:55 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 13:43:00 2008 +0100"
      },
      "message": "locking, percpu counters: introduce separate lock classes\n\nImpact: fix lockdep false positives\n\nClassify percpu_counter instances similar to regular lock objects --\nthat is, per instantiation site.\n\nThe networking code has increased its use of percpu_counters, which\nleads to false positives if they are treated as a single class.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "773ff60e841461cb1f9374a713ffcda029b8c317",
      "tree": "c3691b5a82261a3d2c1861f2913774faac63fa96",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Dec 23 19:37:01 2008 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:27:46 2008 +0200"
      },
      "message": "SLUB: failslab support\n\nCurrently fault-injection capability for SLAB allocator is only\navailable to SLAB. This patch makes it available to SLUB, too.\n\n[penberg@cs.helsinki.fi: unify slab and slub implementations]\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
      "tree": "59383b15bc0891b8a44500a0ac172a8850f1068d",
      "parents": [
        "bb26c6c29b7cc9f39e491b074b09f3c284738d36",
        "79a66b96c339626a3e4b226fefc0e45244cfe6ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:07:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:07:57 2008 -0800"
      },
      "message": "Merge branch \u0027x86-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (246 commits)\n  x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32\n  x86: PAT: fix address types in track_pfn_vma_new()\n  x86: prioritize the FPU traps for the error code\n  x86: PAT: pfnmap documentation update changes\n  x86: PAT: move track untrack pfnmap stubs to asm-generic\n  x86: PAT: remove follow_pfnmap_pte in favor of follow_phys\n  x86: PAT: modify follow_phys to return phys_addr prot and return value\n  x86: PAT: clarify is_linear_pfn_mapping() interface\n  x86: ia32_signal: remove unnecessary declaration\n  x86: common.c boot_cpu_stack and boot_exception_stacks should be static\n  x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies\n  x86: fix warning in arch/x86/kernel/microcode_amd.c\n  x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32\n  x86: asm-offset_64: use rt_sigframe_ia32\n  x86: sigframe.h: include headers for dependency\n  x86: traps.c declare functions before they get used\n  x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3\n  x86: PAT: add pgprot_writecombine() interface for drivers - v3\n  x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3\n  x86: PAT: implement track/untrack of pfnmap regions for x86 - v3\n  ...\n"
    },
    {
      "commit": "bb26c6c29b7cc9f39e491b074b09f3c284738d36",
      "tree": "c7867af2bb4ff0feae889183efcd4d79b0f9a325",
      "parents": [
        "e14e61e967f2b3bdf23f05e4ae5b9aa830151a44",
        "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:54 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (105 commits)\n  SELinux: don\u0027t check permissions for kernel mounts\n  security: pass mount flags to security_sb_kern_mount()\n  SELinux: correctly detect proc filesystems of the form \"proc/foo\"\n  Audit: Log TIOCSTI\n  user namespaces: document CFS behavior\n  user namespaces: require cap_set{ug}id for CLONE_NEWUSER\n  user namespaces: let user_ns be cloned with fairsched\n  CRED: fix sparse warnings\n  User namespaces: use the current_user_ns() macro\n  User namespaces: set of cleanups (v2)\n  nfsctl: add headers for credentials\n  coda: fix creds reference\n  capabilities: define get_vfs_caps_from_disk when file caps are not enabled\n  CRED: Allow kernel services to override LSM settings for task actions\n  CRED: Add a kernel_service object class to SELinux\n  CRED: Differentiate objective and effective subjective credentials on a task\n  CRED: Documentation\n  CRED: Use creds in file structs\n  CRED: Prettify commoncap.c\n  CRED: Make execve() take advantage of copy-on-write credentials\n  ...\n"
    },
    {
      "commit": "874d6a9555516cbac828131d573ce3d16ce47164",
      "tree": "c902d40ef400cb84dcc246b5c82ebec7d2a4c6dc",
      "parents": [
        "ac86ccc637458dea53077823f98bc3e1b874d478"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sun Dec 28 15:02:07 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 28 10:04:01 2008 +0100"
      },
      "message": "swiotlb: clean up EXPORT_SYMBOL usage\n\nImpact: cleanup\n\nswiotlb uses EXPORT_SYMBOL in an inconsistent way. Some functions use\nEXPORT_SYMBOL at the end of functions. Some use it at the end of\nswiotlb.c.\n\nThis cleans up swiotlb to use EXPORT_SYMBOL in a consistent way (at\nthe end of functions).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac86ccc637458dea53077823f98bc3e1b874d478",
      "tree": "5634291a08e8b673c197b160bcf950ea8a7a3b4f",
      "parents": [
        "1da4f9894c243a9c58c505fd8f3e6cc0709a8825"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sun Dec 28 15:02:06 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 28 10:04:00 2008 +0100"
      },
      "message": "swiotlb: remove unnecessary declaration\n\nImpact: cleanup\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb05a37929e0cd99016b4f5e5a5ef077fb10a947",
      "tree": "154b9d0d3b984a03480f54d00f82f56fb3407d2f",
      "parents": [
        "bc40ac66988a7721f2a244b6df65f8c13d16479c"
      ],
      "author": {
        "name": "Becky Bruce",
        "email": "beckyb@kernel.crashing.org",
        "time": "Mon Dec 22 10:26:09 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 28 10:06:47 2008 +0100"
      },
      "message": "swiotlb: add support for systems with highmem\n\nImpact: extend code for highmem - existing users unaffected\n\nOn highmem systems, the original dma buffer might not\nhave a virtual mapping - we need to kmap it in to perform\nthe bounce.  Extract the code that does the actual\ncopy into a function that does the kmap if highmem\nis enabled, and default to the normal swiotlb memcpy\nif not.\n\n[ ported by Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e ]\n\nSigned-off-by: Becky Bruce \u003cbeckyb@kernel.crashing.org\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc40ac66988a7721f2a244b6df65f8c13d16479c",
      "tree": "581396233451acf0b372df0ba75b3d9014e991e9",
      "parents": [
        "70a7d3cc1308a55104fbe505d76f2aca8a4cf53e"
      ],
      "author": {
        "name": "Becky Bruce",
        "email": "beckyb@kernel.crashing.org",
        "time": "Mon Dec 22 10:26:08 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 28 10:03:12 2008 +0100"
      },
      "message": "swiotlb: store phys address in io_tlb_orig_addr array\n\nImpact: refactor code, cleanup\n\nWhen we enable swiotlb for platforms that support HIGHMEM, we\ncan no longer store the virtual address of the original dma\nbuffer, because that buffer might not have a permament mapping.\n\nChange the swiotlb code to instead store the physical address of\nthe original buffer.\n\nSigned-off-by: Becky Bruce \u003cbeckyb@kernel.crashing.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70a7d3cc1308a55104fbe505d76f2aca8a4cf53e",
      "tree": "2e4542f668d8b431140f0682c9d1aebbe7bf30eb",
      "parents": [
        "a08636690d06b2e36cfb4c2b3ee133a81c47e1e0"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Dec 22 10:26:05 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 28 09:54:52 2008 +0100"
      },
      "message": "swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus()\n\nImpact: extend functions with a (yet unused) parameter, update callsites\n\nSome architectures need it - in preparation for highmem swiotlb.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6638101c1124c19c8a65b1645e4ecd09e0572f3e",
      "tree": "a1e47e8da2e5478846afdd91e8ebcf0914ed7373",
      "parents": [
        "cc37d3d20604f3759d269247b022616f710aa52d",
        "3ae7020543db0b769538e64d1ce8d51fceff60ca",
        "a08636690d06b2e36cfb4c2b3ee133a81c47e1e0",
        "00ef9f7348dfd2fc223ec42aceb30836e86b367f",
        "26cc271db798cf211d35967cbfbb53e997126b84",
        "12d79bafb75639f406a9f71aab94808c414c836e",
        "3ac52669c7a24b93663acfcab606d1065ed1accd",
        "8b752e3ef6e3f5cde87afc649dd51d92b1e549c1",
        "9212ddb5eada64fec5a08b28207401f3cc3d0876"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "message": "Merge branches \u0027core/debugobjects\u0027, \u0027core/iommu\u0027, \u0027core/locking\u0027, \u0027core/printk\u0027, \u0027core/rcu\u0027, \u0027core/resources\u0027, \u0027core/softirq\u0027 and \u0027core/stacktrace\u0027 into core/core\n"
    },
    {
      "commit": "0b271ef4521756010675b1611bef20fd3096790d",
      "tree": "2c9d22a2c74122a9904e533df27f41d63ffef394",
      "parents": [
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28\u0027 into core/core\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "93027354d6e8a66a12dedb89d59b21cf7c2d35ed",
      "tree": "68a4e3309ab35dcae4b07ca60b3cfc656dac539c",
      "parents": [
        "aa1a85dbd1d3265ca36f684026fe7689b7836bed"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 13 22:05:13 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:48 2008 +1100"
      },
      "message": "libcrc32c: Select CRYPTO in Kconfig\n\nSelecting CRYPTO_CRC32C is not enough as CRYPTO which CRYPTO_CRC32C\ndepends on may be disabled.  This patch adds the select on CRYPTO.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "53b146ae598268edbe2bf7ea7dfec721d51adddd",
      "tree": "c605309ecee7320e3419e426c8b54638441cef35",
      "parents": [
        "69c35efcf1576ab5f00cba83e8ca740923afb6c9"
      ],
      "author": {
        "name": "Adrian-Ken Rueegsegger",
        "email": "rueegsegger@swiss-it.ch",
        "time": "Tue Nov 11 12:14:00 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:42 2008 +1100"
      },
      "message": "libcrc32c: Fix \"crc32c undefined\" compilation error\n\nThe latest shash changes leave crc32c undefined:\n\n[...]\nBuilding modules, stage 2.\n  MODPOST 1381 modules\n  ERROR: \"crc32c\" [net/sctp/sctp.ko] undefined!\n  ERROR: \"crc32c\" [net/ipv4/netfilter/nf_nat_proto_sctp.ko] undefined!\n\nAdding EXPORT_SYMBOL(crc32c) to lib/libcrc32c.c fixes the compile error.\nThis patch has been compile-tested only.\n\nSigned-off-by: Adrian-Ken Rueegsegger \u003crueegsegger@swiss-it.ch\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "69c35efcf1576ab5f00cba83e8ca740923afb6c9",
      "tree": "faf3bba45be45d530e3355c46d6bf2cd99d0e83c",
      "parents": [
        "8e3ee85e68c5d5c95451afd3e8f0997eec6f99e5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 07 15:11:47 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:40 2008 +1100"
      },
      "message": "libcrc32c: Move implementation to crypto crc32c\n\nThis patch swaps the role of libcrc32c and crc32c.  Previously\nthe implementation was in libcrc32c and crc32c was a wrapper.\nNow the code is in crc32c and libcrc32c just calls the crypto\nlayer.\n\nThe reason for the change is to tap into the algorithm selection\ncapability of the crypto API so that optimised implementations\nsuch as the one utilising Intel\u0027s CRC32C instruction can be\nused where available.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\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": "ec26b805879c7e77865b39ee91b737985e80006d",
      "tree": "d5d5c06c81ff7ed21b061b7d42cfe77d4de8a90b",
      "parents": [
        "7b4967c532045a1983d6d4af5c69cc7c5109f62b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Dec 19 16:56:52 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 19 16:56:52 2008 +1030"
      },
      "message": "cpumask: documentation for cpumask_var_t\n\nImpact: New kerneldoc comments\n\nAdditional documentation added to all the alloc_cpumask and free_cpumask\nfunctions.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (minor additions)\n"
    },
    {
      "commit": "7b4967c532045a1983d6d4af5c69cc7c5109f62b",
      "tree": "50f385985ed028b5316c1aad4b70ad08bd932e81",
      "parents": [
        "7be7585393d311866653564fbcd10a3232773c0b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Dec 19 16:56:37 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 19 16:56:37 2008 +1030"
      },
      "message": "cpumask: Add alloc_cpumask_var_node()\n\nImpact: New API\n\nThis will be needed in x86 code to allocate the domain and old_domain\ncpumasks on the same node as where the containing irq_cfg struct is\nallocated.\n\n(Also fixes double-dump_stack on rare CONFIG_DEBUG_PER_CPU_MAPS case)\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (re-impl alloc_cpumask_var)\n"
    },
    {
      "commit": "64db4cfff99c04cd5f550357edcc8780f96b54a2",
      "tree": "4856e788d21f0e31ed78a22b70b4521f7237705e",
      "parents": [
        "d110ec3a1e1f522e2e9dfceb9c36d6590c26d2d4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Dec 18 21:55:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 21:56:04 2008 +0100"
      },
      "message": "\"Tree RCU\": scalable classic RCU implementation\n\nThis patch fixes a long-standing performance bug in classic RCU that\nresults in massive internal-to-RCU lock contention on systems with\nmore than a few hundred CPUs.  Although this patch creates a separate\nflavor of RCU for ease of review and patch maintenance, it is intended\nto replace classic RCU.\n\nThis patch still handles stress better than does mainline, so I am still\ncalling it ready for inclusion.  This patch is against the -tip tree.\nNevertheless, experience on an actual 1000+ CPU machine would still be\nmost welcome.\n\nMost of the changes noted below were found while creating an rcutiny\n(which should permit ejecting the current rcuclassic) and while doing\ndetailed line-by-line documentation.\n\nUpdates from v9 (http://lkml.org/lkml/2008/12/2/334):\n\no\tFixes from remainder of line-by-line code walkthrough,\n\tincluding comment spelling, initialization, undesirable\n\tnarrowing due to type conversion, removing redundant memory\n\tbarriers, removing redundant local-variable initialization,\n\tand removing redundant local variables.\n\n\tI do not believe that any of these fixes address the CPU-hotplug\n\tissues that Andi Kleen was seeing, but please do give it a whirl\n\tin case the machine is smarter than I am.\n\n\tA writeup from the walkthrough may be found at the following\n\tURL, in case you are suffering from terminal insomnia or\n\tmasochism:\n\n\thttp://www.kernel.org/pub/linux/kernel/people/paulmck/tmp/rcutree-walkthrough.2008.12.16a.pdf\n\no\tMade rcutree tracing use seq_file, as suggested some time\n\tago by Lai Jiangshan.\n\no\tAdded a .csv variant of the rcudata debugfs trace file, to allow\n\tpeople having thousands of CPUs to drop the data into\n\ta spreadsheet.\tTested with oocalc and gnumeric.  Updated\n\tdocumentation to suit.\n\nUpdates from v8 (http://lkml.org/lkml/2008/11/15/139):\n\no\tFix a theoretical race between grace-period initialization and\n\tforce_quiescent_state() that could occur if more than three\n\tjiffies were required to carry out the grace-period\n\tinitialization.  Which it might, if you had enough CPUs.\n\no\tApply Ingo\u0027s printk-standardization patch.\n\no\tSubstitute local variables for repeated accesses to global\n\tvariables.\n\no\tFix comment misspellings and redundant (but harmless) increments\n\tof -\u003en_rcu_pending (this latter after having explicitly added it).\n\no\tApply checkpatch fixes.\n\nUpdates from v7 (http://lkml.org/lkml/2008/10/10/291):\n\no\tFixed a number of problems noted by Gautham Shenoy, including\n\tthe cpu-stall-detection bug that he was having difficulty\n\tconvincing me was real.  ;-)\n\no\tChanged cpu-stall detection to wait for ten seconds rather than\n\tthree in order to reduce false positive, as suggested by Ingo\n\tMolnar.\n\no\tProduced a design document (http://lwn.net/Articles/305782/).\n\tThe act of writing this document uncovered a number of both\n\ttheoretical and \"here and now\" bugs as noted below.\n\no\tFix dynticks_nesting accounting confusion, simplify WARN_ON()\n\tcondition, fix kerneldoc comments, and add memory barriers\n\tin dynticks interface functions.\n\no\tAdd more data to tracing.\n\no\tRemove unused \"rcu_barrier\" field from rcu_data structure.\n\no\tCount calls to rcu_pending() from scheduling-clock interrupt\n\tto use as a surrogate timebase should jiffies stop counting.\n\no\tFix a theoretical race between force_quiescent_state() and\n\tgrace-period initialization.  Yes, initialization does have to\n\tgo on for some jiffies for this race to occur, but given enough\n\tCPUs...\n\nUpdates from v6 (http://lkml.org/lkml/2008/9/23/448):\n\no\tFix a number of checkpatch.pl complaints.\n\no\tApply review comments from Ingo Molnar and Lai Jiangshan\n\ton the stall-detection code.\n\no\tFix several bugs in !CONFIG_SMP builds.\n\no\tFix a misspelled config-parameter name so that RCU now announces\n\tat boot time if stall detection is configured.\n\no\tRun tests on numerous combinations of configurations parameters,\n\twhich after the fixes above, now build and run correctly.\n\nUpdates from v5 (http://lkml.org/lkml/2008/9/15/92, bad subject line):\n\no\tFix a compiler error in the !CONFIG_FANOUT_EXACT case (blew a\n\tchangeset some time ago, and finally got around to retesting\n\tthis option).\n\no\tFix some tracing bugs in rcupreempt that caused incorrect\n\ttotals to be printed.\n\no\tI now test with a more brutal random-selection online/offline\n\tscript (attached).  Probably more brutal than it needs to be\n\ton the people reading it as well, but so it goes.\n\no\tA number of optimizations and usability improvements:\n\n\to\tMake rcu_pending() ignore the grace-period timeout when\n\t\tthere is no grace period in progress.\n\n\to\tMake force_quiescent_state() avoid going for a global\n\t\tlock in the case where there is no grace period in\n\t\tprogress.\n\n\to\tRearrange struct fields to improve struct layout.\n\n\to\tMake call_rcu() initiate a grace period if RCU was\n\t\tidle, rather than waiting for the next scheduling\n\t\tclock interrupt.\n\n\to\tInvoke rcu_irq_enter() and rcu_irq_exit() only when\n\t\tidle, as suggested by Andi Kleen.  I still don\u0027t\n\t\tcompletely trust this change, and might back it out.\n\n\to\tMake CONFIG_RCU_TRACE be the single config variable\n\t\tmanipulated for all forms of RCU, instead of the prior\n\t\tconfusion.\n\n\to\tDocument tracing files and formats for both rcupreempt\n\t\tand rcutree.\n\nUpdates from v4 for those missing v5 given its bad subject line:\n\no\tSeparated dynticks interface so that NMIs and irqs call separate\n\tfunctions, greatly simplifying it.  In particular, this code\n\tno longer requires a proof of correctness.  ;-)\n\no\tSeparated dynticks state out into its own per-CPU structure,\n\tavoiding the duplicated accounting.\n\no\tThe case where a dynticks-idle CPU runs an irq handler that\n\tinvokes call_rcu() is now correctly handled, forcing that CPU\n\tout of dynticks-idle mode.\n\no\tReview comments have been applied (thank you all!!!).\n\tFor but one example, fixed the dynticks-ordering issue that\n\tManfred pointed out, saving me much debugging.  ;-)\n\no\tAdjusted rcuclassic and rcupreempt to handle dynticks changes.\n\nAttached is an updated patch to Classic RCU that applies a hierarchy,\ngreatly reducing the contention on the top-level lock for large machines.\nThis passes 10-hour concurrent rcutorture and online-offline testing on\n128-CPU ppc64 without dynticks enabled, and exposes some timekeeping\nbugs in presence of dynticks (exciting working on a system where\n\"sleep 1\" hangs until interrupted...), which were fixed in the\n2.6.27 kernel.  It is getting more reliable than mainline by some\nmeasures, so the next version will be against -tip for inclusion.\nSee also Manfred Spraul\u0027s recent patches (or his earlier work from\n2004 at http://marc.info/?l\u003dlinux-kernel\u0026m\u003d108546384711797\u0026w\u003d2).\nWe will converge onto a common patch in the fullness of time, but are\ncurrently exploring different regions of the design space.  That said,\nI have already gratefully stolen quite a few of Manfred\u0027s ideas.\n\nThis patch provides CONFIG_RCU_FANOUT, which controls the bushiness\nof the RCU hierarchy.  Defaults to 32 on 32-bit machines and 64 on\n64-bit machines.  If CONFIG_NR_CPUS is less than CONFIG_RCU_FANOUT,\nthere is no hierarchy.  By default, the RCU initialization code will\nadjust CONFIG_RCU_FANOUT to balance the hierarchy, so strongly NUMA\narchitectures may choose to set CONFIG_RCU_FANOUT_EXACT to disable\nthis balancing, allowing the hierarchy to be exactly aligned to the\nunderlying hardware.  Up to two levels of hierarchy are permitted\n(in addition to the root node), allowing up to 16,384 CPUs on 32-bit\nsystems and up to 262,144 CPUs on 64-bit systems.  I just know that I\nam going to regret saying this, but this seems more than sufficient\nfor the foreseeable future.  (Some architectures might wish to set\nCONFIG_RCU_FANOUT\u003d4, which would limit such architectures to 64 CPUs.\nIf this becomes a real problem, additional levels can be added, but I\ndoubt that it will make a significant difference on real hardware.)\n\nIn the common case, a given CPU will manipulate its private rcu_data\nstructure and the rcu_node structure that it shares with its immediate\nneighbors.  This can reduce both lock and memory contention by multiple\norders of magnitude, which should eliminate the need for the strange\nmanipulations that are reported to be required when running Linux on\nvery large systems.\n\nSome shortcomings:\n\no\tMore bugs will probably surface as a result of an ongoing\n\tline-by-line code inspection.\n\n\tPatches will be provided as required.\n\no\tThere are probably hangs, rcutorture failures, \u0026c.  Seems\n\tquite stable on a 128-CPU machine, but that is kind of small\n\tcompared to 4096 CPUs.  However, seems to do better than\n\tmainline.\n\n\tPatches will be provided as required.\n\no\tThe memory footprint of this version is several KB larger\n\tthan rcuclassic.\n\n\tA separate UP-only rcutiny patch will be provided, which will\n\treduce the memory footprint significantly, even compared\n\tto the old rcuclassic.  One such patch passes light testing,\n\tand has a memory footprint smaller even than rcuclassic.\n\tInitial reaction from various embedded guys was \"it is not\n\tworth it\", so am putting it aside.\n\nCredits:\n\no\tManfred Spraul for ideas, review comments, and bugs spotted,\n\tas well as some good friendly competition.  ;-)\n\no\tJosh Triplett, Ingo Molnar, Peter Zijlstra, Mathieu Desnoyers,\n\tLai Jiangshan, Andi Kleen, Andy Whitcroft, and Andrew Morton\n\tfor reviews and comments.\n\no\tThomas Gleixner for much-needed help with some timer issues\n\t(see patches below).\n\no\tJon M. Tollefson, Tim Pepper, Andrew Theurer, Jose R. Santos,\n\tAndy Whitcroft, Darrick Wong, Nishanth Aravamudan, Anton\n\tBlanchard, Dave Kleikamp, and Nathan Lynch for keeping machines\n\talive despite my heavy abuse^Wtesting.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b9974dc6bddd41fbdc2583f196a34fbcebd8b089",
      "tree": "1a53efb9732453020b9157d17b2850df436235d9",
      "parents": [
        "d733e00d7c10cc68333fbb88108bb15bb044f61b",
        "55dac3a5553b13891f0ae4bbd11920619b5436d4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 11:48:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 11:48:30 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "aa6f3c640781c8ac213a4ed3011dcced36f899e3",
      "tree": "aebfec91ee7dca336bcd8ca4e4f1a48ec0578f88",
      "parents": [
        "09a35ce00fa6bbb8bd130a828807e237488aa7ea"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 14:01:26 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 17 11:23:07 2008 -0800"
      },
      "message": "driver core: add newlines to debugging enabled/disabled messages\n\nBoth messages are missing the newline and thus dmesg output gets\nscrambled.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1c93ca09863a544cec24fc8e33491f645df80e59",
      "tree": "f023bbb17ebbf2dd9d0e352d621a282b79b06298",
      "parents": [
        "1bda71282ded6a2e09a2db7c8884542fb46bfd4f"
      ],
      "author": {
        "name": "Johann Felix Soden",
        "email": "johfel@users.sourceforge.net",
        "time": "Thu Oct 30 22:44:39 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 17 11:23:06 2008 -0800"
      },
      "message": "driver core: fix using \u0027ret\u0027 variable in unregister_dynamic_debug_module\n\nThe \u0027ret\u0027 variable is assigned, but not used in the return statement. Fix this.\n\nSigned-off-by: Johann Felix Soden \u003cjohfel@users.sourceforge.net\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2e5b2b86b65fe36bb8401e5608eb0b7603aa1cab",
      "tree": "a407d13491a0758607347bd7fa6dd5a31d64ad41",
      "parents": [
        "ef9b189352f2eb78f14e52996f4780a523b04a49"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:34 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:17 2008 +0100"
      },
      "message": "swiotlb: consolidate swiotlb info message printing\n\nImpact: clean up swiotlb printks\n\nRemove duplicated swiotlb info printing, and make it more detailed.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef9b189352f2eb78f14e52996f4780a523b04a49",
      "tree": "801c230f291d36db2f86404a91c1443bf6636f56",
      "parents": [
        "1b548f667c1487d92e794a9f7a67788f49b952d8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Dec 16 12:17:33 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:15 2008 +0100"
      },
      "message": "swiotlb: support bouncing of HighMem pages\n\nImpact: prepare the swiotlb code for HighMem struct pages\n\nThis requires us to treat DMA regions in terms of page+offset rather\nthan virtual addressing since a HighMem page may not have a mapping.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1b548f667c1487d92e794a9f7a67788f49b952d8",
      "tree": "5d3dc337430be7a13ab0235e44e8ee3697608113",
      "parents": [
        "b81ea27b2329bf44b30c427800954f845896d476"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Dec 16 12:17:32 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:14 2008 +0100"
      },
      "message": "swiotlb: factor out copy to/from device\n\nImpact: generalize IO bounce memcpys\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b81ea27b2329bf44b30c427800954f845896d476",
      "tree": "84bbfc80477c3561ee601c1c05dcc0917ced196b",
      "parents": [
        "e08e1f7adba522378e8d2ae941bf25443866136d"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:13 2008 +0100"
      },
      "message": "swiotlb: add arch hook to force mapping\n\nImpact: generalize the sw-IOTLB range checks\n\nSome architectures require special rules to determine whether a range\nneeds mapping or not.  This adds a weak function for architectures to\noverride.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e08e1f7adba522378e8d2ae941bf25443866136d",
      "tree": "4410e414d856dc03d77a0c654d6b9672f6e69f36",
      "parents": [
        "a5ddde4a558b3bd1e3dc50e274a0db2ea7a8fd06"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:30 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:09 2008 +0100"
      },
      "message": "swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n\nImpact: generalize phys\u003c-\u003ebus\u003c-\u003ephys conversions in the swiotlb code\n\nArchitectures may need to override these conversions. Implement a\n__weak hook point containing the default implementation.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a5ddde4a558b3bd1e3dc50e274a0db2ea7a8fd06",
      "tree": "e304335e81bc43942c00bb0d1c9f51f9286ebab6",
      "parents": [
        "0016fdee927f7aa0f428494bcf11ae60c7470a02"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:29 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:57:02 2008 +0100"
      },
      "message": "swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n\nImpact: cleanup\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0016fdee927f7aa0f428494bcf11ae60c7470a02",
      "tree": "ca1080f691efe9c6f76965d38fface872fb856ac",
      "parents": [
        "8c5df16bec8a60bb8589fc232b9e26cac0ed4b2c"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:27 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 21:31:40 2008 +0100"
      },
      "message": "swiotlb: move some definitions to header\n\nImpact: cleanup\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c5df16bec8a60bb8589fc232b9e26cac0ed4b2c",
      "tree": "b85d46d552ba86da332ebad328761998171332c5",
      "parents": [
        "a79b7a2a758c39315344f0d86b5adb21d90d786e"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Dec 16 12:17:26 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 21:31:38 2008 +0100"
      },
      "message": "swiotlb: allow architectures to override swiotlb pool allocation\n\nImpact: generalize swiotlb allocation code\n\nArchitectures may need to allocate memory specially for use with\nthe swiotlb.  Create the weak function swiotlb_alloc_boot() and\nswiotlb_alloc() defaulting to the current behaviour.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "eb14f019597cd86c21a6c601d7e900f40030c2e7",
      "tree": "36fb2f36a1747f98988f87215db1eef3a71d45eb",
      "parents": [
        "9a4a84294b0d60b8c287131478f743ba2bc68949",
        "a3dd15444baa9c7522c8457ab564c41219dfb44c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/e1000e/ich8lan.c\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": "aab46da0520af9c99b7802cebe4f14a81ff39415",
      "tree": "f48ba155e9accb165f03c31b7ed9eed9b057b59e",
      "parents": [
        "320ab2b0b1e08e3805a3e1084a2f0eb1938d5d67"
      ],
      "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: Add CONFIG_CPUMASK_OFFSTACK\n\nImpact: Add config option to enable code in cpumask.h\n\nCurrently it can be set if DEBUG_PER_CPU_MAPS, or set specifically by\nan arch.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\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": "711a49a07f84f914aac26a52143f6e7526571143",
      "tree": "3ca4f774f868c1884bc6dc416ea68aa7b8666ef7",
      "parents": [
        "c7f8d6f6b5d121e5f7408119661ca29fc4661c10"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Wed Dec 10 18:17:06 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 13:34:33 2008 -0800"
      },
      "message": "lib/idr.c: Fix bug introduced by RCU fix\n\nThe last patch to lib/idr.c caused a bug if idr_get_new_above() was\ncalled on an empty idr.\n\nUsually, nodes stay on the same layer.  New layers are added to the top\nof the tree.\n\nThe exception is idr_get_new_above() on an empty tree: In this case, the\nnew root node is first added on layer 0, then moved upwards.  p-\u003elayer\nwas not updated.\n\nAs usual: You shall never rely on the source code comments, they will\nonly mislead you.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02d211688727ad02bb4555b1aa8ae2de16b21b39",
      "tree": "2ee10b2f0cbfb615c40a2df98627426b8543d6cd",
      "parents": [
        "71c5576fbd809f2015f4eddf72e501e298720cf3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Dec 09 13:14:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "revert \"percpu_counter: new function percpu_counter_sum_and_set\"\n\nRevert\n\n    commit e8ced39d5e8911c662d4d69a342b9d053eaaac4e\n    Author: Mingming Cao \u003ccmm@us.ibm.com\u003e\n    Date:   Fri Jul 11 19:27:31 2008 -0400\n\n        percpu_counter: new function percpu_counter_sum_and_set\n\nAs described in\n\n\trevert \"percpu counter: clean up percpu_counter_sum_and_set()\"\n\nthe new percpu_counter_sum_and_set() is racy against updates to the\ncpu-local accumulators on other CPUs.  Revert that change.\n\nThis means that ext4 will be slow again.  But correct.\n\nReported-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71c5576fbd809f2015f4eddf72e501e298720cf3",
      "tree": "b2d1ac56e6c3c9a60946a180cd45d493fc60738a",
      "parents": [
        "fd3d664fef97cf01f8e28fe0b024ad52f3bbc1bc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Dec 09 13:14:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "revert \"percpu counter: clean up percpu_counter_sum_and_set()\"\n\nRevert\n\n    commit 1f7c14c62ce63805f9574664a6c6de3633d4a354\n    Author: Mingming Cao \u003ccmm@us.ibm.com\u003e\n    Date:   Thu Oct 9 12:50:59 2008 -0400\n\n        percpu counter: clean up percpu_counter_sum_and_set()\n\nBefore this patch we had the following:\n\npercpu_counter_sum(): return the percpu_counter\u0027s value\n\npercpu_counter_sum_and_set(): return the percpu_counter\u0027s value, copying\nthat value into the central value and zeroing the per-cpu counters before\nreturning.\n\nAfter this patch, percpu_counter_sum_and_set() has gone, and\npercpu_counter_sum() gets the old percpu_counter_sum_and_set()\nfunctionality.\n\nProblem is, as Eric points out, the old percpu_counter_sum_and_set()\nfunctionality was racy and wrong.  It zeroes out counters on \"other\" cpus,\nwithout holding any locks which will prevent races agaist updates from\nthose other CPUS.\n\nThis patch reverts 1f7c14c62ce63805f9574664a6c6de3633d4a354.  This means\nthat percpu_counter_sum_and_set() still has the race, but\npercpu_counter_sum() does not.\n\nNote that this is not a simple revert - ext4 has since started using\npercpu_counter_sum() for its dirty_blocks counter as well.\n\nNote that this revert patch changes percpu_counter_sum() semantics.\n\nBefore the patch, a call to percpu_counter_sum() will bring the counter\u0027s\ncentral counter mostly up-to-date, so a following percpu_counter_read()\nwill return a close value.\n\nAfter this patch, a call to percpu_counter_sum() will leave the counter\u0027s\ncentral accumulator unaltered, so a subsequent call to\npercpu_counter_read() can now return a significantly inaccurate result.\n\nIf there is any code in the tree which was introduced after\ne8ced39d5e8911c662d4d69a342b9d053eaaac4e was merged, and which depends\nupon the new percpu_counter_sum() semantics, that code will break.\n\nReported-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \u003clinux-ext4@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": "fd3d664fef97cf01f8e28fe0b024ad52f3bbc1bc",
      "tree": "cc1b4d38e5ebd88c25b2bcee684c9e882be9a2ac",
      "parents": [
        "fe102c71a65a503646bcc94ccb6859da613c2f4f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Dec 09 13:14:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "percpu_counter: fix CPU unplug race in percpu_counter_destroy()\n\nWe should first delete the counter from percpu_counters list\nbefore freeing memory, or a percpu_counter_hotcpu_callback()\ncould dereference a NULL pointer.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "aa2ba5f1082dc705745899584aac8416d710c056",
      "tree": "bde0bf4aff036c6bac19a0212194ae1092afb3c9",
      "parents": [
        "68024541e2e5a8f35e281daaa5068a29e2a538a5",
        "f6f7b52e2f6149d2ee365717afff315b05720162"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tdrivers/net/smc91x.c\n"
    },
    {
      "commit": "a64d31baed104be25305e9c71585d3ea4ee9a418",
      "tree": "470e3c59ef39f38bcd69f8fef7dba8f76afbec53",
      "parents": [
        "1c39194878c09bd88ffc9c9d4c2f01c3397c7aed",
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 02 20:09:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 02 20:09:50 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\tkernel/trace/ring_buffer.c\n"
    },
    {
      "commit": "6ff2d39b91aec3dcae951afa982059e3dd9b49dc",
      "tree": "8d480975d95adf85f3a87dd478e36e4ac0b0edd0",
      "parents": [
        "1d678f365dae28420fa7329a2a35390b3582678d"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Mon Dec 01 13:14:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 19:55:25 2008 -0800"
      },
      "message": "lib/idr.c: fix rcu related race with idr_find\n\n2nd part of the fixes needed for\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11796.\n\nWhen the idr tree is either grown or shrunk, then the update to the number\nof layers and the top pointer were not atomic.  This race caused crashes.\n\nThe attached patch fixes that by replicating the layers counter in each\nlayer, thus idr_find doesn\u0027t need idp-\u003elayers anymore.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Clement Calmels \u003ccboulte@gmail.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae7020543db0b769538e64d1ce8d51fceff60ca",
      "tree": "ceb0b336afd954bbaff7c58002501b1486b74e03",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 10:02:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 10:07:06 2008 +0100"
      },
      "message": "debugobjects: add boot parameter default value\n\nImpact: add .config driven boot parameter default value\n\nRight now debugobjects can only be activated if the debug_objects\nboot parameter is passed in via the boot command line.\n\nMake this more convenient (and randomizable) by also providing\na .config method. Enable it by default. (DEBUG_OBJECTS itself\nis default-off)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "411c41eea58bd3500cf897e2c27dd5330935a3a8",
      "tree": "c6987d1351581def73321b7c8d518ac75db876a2",
      "parents": [
        "9c8f92aed16dbd1924910f3305f5992a4f29fe2a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "message": "aoe: remove private mac address format function\n\nAdd %pm to omit the colons when printing a mac address.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b19b3c74c7bbec45a848631b8f970ac110665a01",
      "tree": "2966e612c7b902964cf82bedc5d9e523505228b5",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8",
        "6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b",
        "42569c39917a08e8de1e8b5685463be7b74baebd",
        "7918baa555140989eeee1270f48533987d48fdba",
        "29cbda77a67cf263d636feea65d3bbc9c7de2e24",
        "2b5fe6de58276d0b5a7c884d5dbfc300ca47db78",
        "b0788caf7af773b6c2374590dabd3a205f0918a8",
        "8dd2337470d2ead6835982ed856d988f9e062140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "message": "Merge branches \u0027core/debug\u0027, \u0027core/futexes\u0027, \u0027core/locking\u0027, \u0027core/rcu\u0027, \u0027core/signal\u0027, \u0027core/urgent\u0027 and \u0027core/xen\u0027 into core/core\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "f652c521e0bec2e70cf123f47e80117a7e6ed139",
      "tree": "8c82d64a8b9221460f9fb14bd7d3c2c863dd264a",
      "parents": [
        "a495a6d35a026826d54a69d01f373681e14f59ac"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Nov 19 15:36:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:58 2008 -0800"
      },
      "message": "lib/scatterlist.c: fix kunmap() argument in sg_miter_stop()\n\nkunmap() takes as argument the struct page that orginally got kmap()\u0027d,\nhowever the sg_miter_stop() function passed it the kernel virtual address\ninstead, resulting in weird stuff.\n\nSomehow I ended up fixing this bug by accident while looking for a bug in\nthe same area.\n\nReported-by: kerneloops.org\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "198d6ba4d7f48c94f990f4604f0b3d73925e0ded",
      "tree": "56bbdf8ba2553c23c8099da9344a8f1d1aba97ab",
      "parents": [
        "9a57f7fabd383920585ed8b74eacd117c6551f2d",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/isdn/i4l/isdn_net.c\n\tfs/cifs/connect.c\n"
    },
    {
      "commit": "1e74f3000b86969de421ca0da08f42e7d21cbd99",
      "tree": "45dd090997526dbe31f0a2ac781195580772067a",
      "parents": [
        "e47411b1f4456480d6c60ebdc7a733e81ccd5d66"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Nov 17 16:24:34 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 17 09:12:02 2008 +0100"
      },
      "message": "swiotlb: use coherent_dma_mask in alloc_coherent\n\nImpact: fix DMA buffer allocation coherency bug in certain configs\n\nThis patch fixes swiotlb to use dev-\u003ecoherent_dma_mask in\nswiotlb_alloc_coherent().\n\ncoherent_dma_mask is a subset of dma_mask (equal to it most of\nthe time), enumerating the address range that a given device\nis able to DMA to/from in a cache-coherent way.\n\nBut currently, swiotlb uses dev-\u003edma_mask in alloc_coherent()\nimplicitly via address_needs_mapping(), but alloc_coherent is really\nsupposed to use coherent_dma_mask.\n\nThis bug could break drivers that uses smaller coherent_dma_mask than\ndma_mask (though the current code works for the majority that use the\nsame mask for coherent_dma_mask and dma_mask).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: tony.luck@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "2b828925652340277a889cbc11b2d0637f7cdaf7"
}
