)]}'
{
  "log": [
    {
      "commit": "da9eac8990dc614ab4756f2a3d84870b675f1f1e",
      "tree": "6b2361df995b9e895fec50f9e8f9c00190a53754",
      "parents": [
        "c4a2d7fbec3029c8891a3ad5fceec2992096a3b7"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 04 09:59:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:05 2008 -0700"
      },
      "message": "lib: taint kernel in common report_bug() WARN path.\n\nCommit 95b570c9cef3b12356454c7112571b7e406b4b51 (\"Taint kernel after\nWARN_ON(condition)\") introduced a TAINT_WARN that was implemented for\nall architectures using the generic warn_on_slowpath(), which excluded\nany architecture that set HAVE_ARCH_WARN_ON.\n\nAs all of the architectures that implement their own WARN_ON() all go\nthrough the report_bug() path (specifically handling BUG_TRAP_TYPE_WARN),\ntaint the kernel there as well for consistency.\n\nTested on avr32 and sh. Also relevant for s390, parisc, and powerpc.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cde53535991fbb5c34a1566f25955297c1487b8d",
      "tree": "4f87e67b52c8761cfc421a619379263733b91159",
      "parents": [
        "a926c063738f31c8c8b5c2b883812a40e7868072"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 04 09:59:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "Christoph has moved\n\nRemove all clameter@sgi.com addresses from the kernel tree since they will\nbecome invalid on June 27th.  Change my maintainer email address for the\nslab allocators to cl@linux-foundation.org (which will be the new email\naddress for the future).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "821b03ffac8851d6bc1d5530183d2ed25adae35d",
      "tree": "a447ddd8abf841169e8f2dff1db5a10f774738da",
      "parents": [
        "3d25802e3ba7c82457b5c12bbfeefe391d8a333e",
        "2fe195cfe3e53c144d247b2768e37732e8eae4d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:43:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:43:16 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (55 commits)\n  net: fib_rules: fix error code for unsupported families\n  netdevice: Fix wrong string handle in kernel command line parsing\n  net: Tyop of sk_filter() comment\n  netlink: Unneeded local variable\n  net-sched: fix filter destruction in atm/hfsc qdisc destruction\n  net-sched: change tcf_destroy_chain() to clear start of filter list\n  ipv4: fix sysctl documentation of time related values\n  mac80211: don\u0027t accept WEP keys other than WEP40 and WEP104\n  hostap: fix sparse warnings\n  hostap: don\u0027t report useless WDS frames by default\n  textsearch: fix Boyer-Moore text search bug\n  netfilter: nf_conntrack_tcp: fixing to check the lower bound of valid ACK\n  ipv6 route: Convert rt6_device_match() to use RT6_LOOKUP_F_xxx flags.\n  netlabel: Fix a problem when dumping the default IPv6 static labels\n  net/inet_lro: remove setting skb-\u003eip_summed when not LRO-able\n  inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild\n  CONNECTOR: add a proc entry to list connectors\n  netlink: Fix some doc comments in net/netlink/attr.c\n  tcp: /proc/net/tcp rto,ato values not scaled properly (v2)\n  include/linux/netdevice.h: don\u0027t export MAX_HEADER to userspace\n  ...\n"
    },
    {
      "commit": "aebb6a849cfe7d89bcacaaecc20a480dfc1180e7",
      "tree": "6a7cf5c6bdc80c75ec843d8ee44cd98039ca6fd7",
      "parents": [
        "84ebe1cdae56707b9aa1b40ae5aa7d817ba745f5"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Mon Jun 30 12:42:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 30 12:42:23 2008 -0700"
      },
      "message": "textsearch: fix Boyer-Moore text search bug\n\nThe current logic has a bug which cannot find matching pattern, if the\npattern is matched from the first character of target string.\nfor example:\n\tpattern\u003dabc, string\u003dabcdefg\n\tpattern\u003da,   string\u003dabcdefg\nSearching algorithm should return 0 for those things.\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50db04dd9c74178e68a981a7127c37252ffb3242",
      "tree": "ac961b1ccc6f5073537be2b4b731bc79ec5448c4",
      "parents": [
        "952f4a0a9b27e6dbd5d32e330b3f609ebfa0b061"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sun Jun 15 00:47:36 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 18 11:09:54 2008 +0200"
      },
      "message": "debugobjects: fix lockdep warning\n\nDaniel J Blueman reported:\n| \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n| [ INFO: possible circular locking dependency detected ]\n| 2.6.26-rc5-201c #1\n| -------------------------------------------------------\n| nscd/3669 is trying to acquire lock:\n|  (\u0026n-\u003elist_lock){.+..}, at: [\u003cffffffff802bab03\u003e] deactivate_slab+0x173/0x1e0\n|\n| but task is already holding lock:\n|  (\u0026obj_hash[i].lock){++..}, at: [\u003cffffffff803fa56f\u003e]\n| __debug_object_init+0x2f/0x350\n|\n| which lock already depends on the new lock.\n\nThere are two locks involved here; the first is a SLUB-local lock, and\nthe second is a debugobjects-local lock. They are basically taken in two\ndifferent orders:\n\n1. SLUB { debugobjects { ... } }\n2. debugobjects { SLUB { ... } }\n\nThis patch changes pattern #2 by trying to fill the memory pool (e.g.\nthe call into SLUB/kmalloc()) outside the debugobjects lock, so now the\ntwo patterns look like this:\n\n1. SLUB { debugobjects { ... } }\n2. SLUB { } debugobjects { ... }\n\n[ daniel.blueman@gmail.com: pool_lock needs to be taken irq safe in fill_pool ]\n\nReported-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "643b52b9c0b4e959436b4b551ebf4060d06d5ae8",
      "tree": "5ccce7688ba638e863a391ca84441d081e666f99",
      "parents": [
        "d2187ebd84c7dd13ef269e9600f4daebeb02816e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jun 12 15:21:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:41 2008 -0700"
      },
      "message": "radix-tree: fix small lockless radix-tree bug\n\nWe shrink a radix tree when its root node has only one child, in the left\nmost slot.  The child becomes the new root node.  To perform this\noperation in a manner compatible with concurrent lockless lookups, we\natomically switch the root pointer from the parent to its child.\n\nHowever a concurrent lockless lookup may now have loaded a pointer to the\nparent (and is presently deciding what to do next).  For this reason, we\nalso have to keep the parent node in a valid state after shrinking the\ntree, until the next RCU grace period -- otherwise this lookup with the\nparent pointer may not do the right thing.  Notably, we need to keep the\nchild in the left most slot there in case that is requested by the lookup.\n\nThis is all pretty standard RCU stuff.  It is worth repeating because in\nmy eagerness to obey the radix tree node constructor scheme, I had broken\nit by zeroing the radix tree node before the grace period.\n\nWhat could happen is that a lookup can load the parent pointer, then\ndecide it wants to follow the left most child slot, only to find the slot\ncontained NULL due to the concurrent shrinker having zeroed the parent\nnode before waiting for a grace period.  The lookup would return a false\nnegative as a result.\n\nFix it by doing that clearing in the RCU callback.  I would normally want\nto rip out the constructor entirely, but radix tree nodes are one of those\nplaces where they make sense (only few cachelines will be touched soon\nafter allocation).\n\nThis was never actually found in any lockless pagecache testing or by the\ntest harness, but by seeing the odd problem with my scalable vmap rewrite.\n I have not tickled the test harness into reproducing it yet, but I\u0027ll\nkeep working at it.\n\nFortunately, it is not a problem anywhere lockless pagecache is used in\nmainline kernels (pagecache probe is not a guarantee, and brd does not\nhave concurrent lookups and deletes).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@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": "d5e181f78ac753893eb930868a52a4488cd3de0a",
      "tree": "7d2f71fd3c84196f0d81a9e44861743b74e58ef6",
      "parents": [
        "f595ec964daf7f99668039d7303ddedd09a75142"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jun 12 10:47:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 12 10:47:58 2008 +0200"
      },
      "message": "add an inlined version of iter_div_u64_rem\n\niter_div_u64_rem is used in the x86-64 vdso, which cannot call other\nkernel code.  For this case, provide the always_inlined version,\n__iter_div_u64_rem.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f595ec964daf7f99668039d7303ddedd09a75142",
      "tree": "4ee6679105f0437995ff200f10885598921ae1cd",
      "parents": [
        "5e70b7f3c24468bb1635b295945edb48ecd9656a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jun 12 10:47:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 12 10:47:56 2008 +0200"
      },
      "message": "common implementation of iterative div/mod\n\nWe have a few instances of the open-coded iterative div/mod loop, used\nwhen we don\u0027t expcet the dividend to be much bigger than the divisor.\nUnfortunately modern gcc\u0027s have the tendency to strength \"reduce\" this\ninto a full mod operation, which isn\u0027t necessarily any faster, and\neven if it were, doesn\u0027t exist if gcc implements it in libgcc.\n\nThe workaround is to put a dummy asm statement in the loop to prevent\ngcc from performing the transformation.\n\nThis patch creates a single implementation of this loop, and uses it\nto replace the open-coded versions I know about.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Segher Boessenkool \u003csegher@kernel.crashing.org\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Robert Hancock \u003chancockr@shaw.ca\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3527fb326f07bc8e85cf66d4f987ebeea24e8e4a",
      "tree": "c0f0389b67f15778808a72fe8b197a4d8c250030",
      "parents": [
        "f2eb432715a81a703e626df59347ba3557009557"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Jun 05 22:46:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:10 2008 -0700"
      },
      "message": "lib: export bitrev16\n\nBluetooth will be able to use this.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Akinobu Mita \u003cakinobu.mita@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": "f9ebcd9d410ba7209a8f321c41edf8615fc3ce67",
      "tree": "55441c92f2326c1ca9905a568859b166dd4949c5",
      "parents": [
        "b8291ad07a7f3b5b990900f0001198ac23ba893e"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Sun May 18 13:18:01 2008 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Sun May 18 23:35:43 2008 -0500"
      },
      "message": "lmb: Fix compile warning\n\nlib/lmb.c: In function \u0027lmb_dump_all\u0027:\nlib/lmb.c:51: warning: format \u0027%lx\u0027 expects type \u0027long unsigned int\u0027, but argument 2 has type \u0027u64\u0027\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8f40f672e6bb071812f61bfbd30efc3fc1263ad1",
      "tree": "8dcdbbb7adc68647267794c4e3a4686afd94ad65",
      "parents": [
        "8978a318837d7acefca82645017c0534aeba5a36",
        "887b3ece65be7b643dfdae0d433c91a26a3f437d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:30:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:30:51 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: fix error path during early mount\n  9p: make cryptic unknown error from server less scary\n  9p: fix flags length in net\n  9p: Correct fidpool creation failure in p9_client_create\n  9p: use struct mutex instead of struct semaphore\n  9p: propagate parse_option changes to client and transports\n  fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure.\n  9p: Documentation updates\n  add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust\n"
    },
    {
      "commit": "8978a318837d7acefca82645017c0534aeba5a36",
      "tree": "f69f5bc9a11d1a3a5c6391a9b48c9bcae4615a5a",
      "parents": [
        "f7fd63c0b5e170efc20e7b9a0aad7f69dff62c64",
        "9a28dbf8af11d127bf1c644143e7882cb91515dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:36 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Use a TS_RESTORE_SIGMASK\n  lmb: Make lmb debugging more useful.\n  lmb: Fix inconsistent alignment of size argument.\n  sparc: Fix mremap address range validation.\n"
    },
    {
      "commit": "3fc957721d18c93662f7d4dab455b80f53dd2641",
      "tree": "9bdbabf3cb3678edcd0e0e4beb5deaa5c1b17bcd",
      "parents": [
        "122a881c776b7c155bf3f379928cc27aab435288"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed May 14 16:05:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "lib: create common ascii hex array\n\nAdd a common hex array in hexdump.c so everyone can use it.\n\nAdd a common hi/lo helper to avoid the shifting masking that is\ndone to get the upper and lower nibbles of a byte value.\n\nPull the pack_hex_byte helper from kgdb as it is opencoded many\nplaces in the tree that will be consolidated.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\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": "b32a09db4fb9a87246ba4e7726a979ac4709ad97",
      "tree": "b84cf43745c329ccbcbd2671da91e729db8132ca",
      "parents": [
        "dd286422fefdcff784e8d336deeb88ce817e14db"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Tue Feb 26 09:57:11 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.9grid.us",
        "time": "Wed May 14 19:23:25 2008 -0500"
      },
      "message": "add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust\n\nmatch_strcpy() is a somewhat creepy function: the caller needs to make sure\nthat the destination buffer is big enough, and when he screws up or\nforgets, match_strcpy() happily overruns the buffer.\n\nThere\u0027s exactly one customer: v9fs_parse_options().  I believe it currently\ncan\u0027t overflow its buffer, but that\u0027s not exactly obvious.\n\nThe source string is a substing of the mount options.  The kernel silently\ntruncates those to PAGE_SIZE bytes, including the terminating zero.  See\ncompat_sys_mount() and do_mount().\n\nThe destination buffer is obtained from __getname(), which allocates from\nname_cachep, which is initialized by vfs_caches_init() for size PATH_MAX.\n\nWe\u0027re safe as long as PATH_MAX \u003c\u003d PAGE_SIZE.  PATH_MAX is 4096.  As far as\nI know, the smallest PAGE_SIZE is also 4096.\n\nHere\u0027s a patch that makes the code a bit more obviously correct.  It\ndoesn\u0027t depend on PATH_MAX \u003c\u003d PAGE_SIZE.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Jim Meyering \u003cmeyering@redhat.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "f4ed0deae8983591264d0e194e168ef65f4775f5",
      "tree": "6d25ff09060a69530b1ba0711d20e978edfda92e",
      "parents": [
        "53c78dd1718b99dc365ff8a2244d7d4504b070a5"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Mon May 12 14:02:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:25 2008 -0700"
      },
      "message": "cpumask: remove bitmap_scnprintf_len and cpumask_scnprintf_len\n\nThey aren\u0027t used.  They were briefly used as part of some other patches to\nprovide an alternative format for displaying some /proc and /sys cpumasks.\nThey probably should have been removed when those other patches were dropped,\nin favor of a different solution.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: \"Mike Travis\" \u003ctravis@sgi.com\u003e\nCc: \"Bert Wesarg\" \u003cbert.wesarg@googlemail.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "faa6cfde747ba6d37a0889cbe85881c80806d355",
      "tree": "1236334ba2f343f790d338fc0c19c2b195d08eba",
      "parents": [
        "4978db5bd964d90265f957f980ab2b0771ca2b9f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 17:21:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 17:21:55 2008 -0700"
      },
      "message": "lmb: Make lmb debugging more useful.\n\nHaving to muck with the build and set DEBUG just to\nget lmb_dump_all() to print things isn\u0027t very useful.\n\nSo use pr_info() and use an early boot param\n\"lmb\u003ddebug\" so we can simply ask users to reboot\nwith this option when we need some debugging from\nthem.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4978db5bd964d90265f957f980ab2b0771ca2b9f",
      "tree": "d93e4b3a4c7e7418d8307506d40007e641482a2f",
      "parents": [
        "94d149c34cda933ff5096aca94bb23bf68602f4e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 16:51:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 16:51:15 2008 -0700"
      },
      "message": "lmb: Fix inconsistent alignment of size argument.\n\nWhen allocating, if we will align up the size when making\nthe reservation, we should also align the size for the\ncheck that the space is actually available.\n\nThe simplest thing is to just aling the size up from\nthe beginning, then we can use plain \u0027size\u0027 throughout.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e3e076c5a78519a9f64cd384e8f18bc21882ce0",
      "tree": "f032258fde3aa4771e86bf4552fe4530c221dec3",
      "parents": [
        "00b41ec2611dc98f87f30753ee00a53db648d662"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:58:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:58:02 2008 -0700"
      },
      "message": "BKL: revert back to the old spinlock implementation\n\nThe generic semaphore rewrite had a huge performance regression on AIM7\n(and potentially other BKL-heavy benchmarks) because the generic\nsemaphores had been rewritten to be simple to understand and fair.  The\nlatter, in particular, turns a semaphore-based BKL implementation into a\nmess of scheduling.\n\nThe attempt to fix the performance regression failed miserably (see the\nprevious commit 00b41ec2611dc98f87f30753ee00a53db648d662 \u0027Revert\n\"semaphore: fix\"\u0027), and so for now the simple and sane approach is to\ninstead just go back to the old spinlock-based BKL implementation that\nnever had any issues like this.\n\nThis patch also has the advantage of being reported to fix the\nregression completely according to Yanmin Zhang, unlike the semaphore\nhack which still left a couple percentage point regression.\n\nAs a spinlock, the BKL obviously has the potential to be a latency\nissue, but it\u0027s not really any different from any other spinlock in that\nrespect.  We do want to get rid of the BKL asap, but that has been the\nplan for several years.\n\nThese days, the biggest users are in the tty layer (open/release in\nparticular) and Alan holds out some hope:\n\n  \"tty release is probably a few months away from getting cured - I\u0027m\n   afraid it will almost certainly be the very last user of the BKL in\n   tty to get fixed as it depends on everything else being sanely locked.\"\n\nso while we\u0027re not there yet, we do have a plan of action.\n\nTested-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Alexander Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e83fc4df5f27dfc1b53044c4f142b2f9d1db08c",
      "tree": "6afd0fe3aba28ed7137a9b2916a8a6d517ff9c04",
      "parents": [
        "17aa7e034416e3080bc57a786d09ba0a4a044561",
        "9185ef6787f1c8f1c06aa0cb3c7746fb4f101f50"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 15:48:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 15:48:53 2008 -0700"
      },
      "message": "Merge branch \u0027powerpc-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027powerpc-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  [POWERPC] Assign PDE-\u003edata before gluing PDE into /proc tree\n  [POWERPC] devres: Add devm_ioremap_prot()\n  [POWERPC] macintosh: ADB driver: adb_handler_sem semaphore to mutex\n  [POWERPC] macintosh: windfarm_smu_sat: semaphore to mutex\n  [POWERPC] macintosh: therm_pm72: driver_lock semaphore to mutex\n"
    },
    {
      "commit": "e024cbd257efc2788b7d21b9353e966267485c87",
      "tree": "bc4b1c7450a2ab892924b8f4e733c27a528e9413",
      "parents": [
        "688b744d8bc84dc5cc646e97509113dc5e8818ed"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Fri Apr 25 18:35:29 2008 +0200"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 05 07:13:21 2008 -0500"
      },
      "message": "kgdb: kconfig fix xconfig/menuconfig element\n\nKconfig.kgdb: fix menuconfig element\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "b41e5fffe8b81fc939067d8c1c195cc79115d5a3",
      "tree": "7839043d5c430029efdb023e69d6a717fa8ff86e",
      "parents": [
        "af3ce514ade2fd0e18c5d078d138a6c1137a33df"
      ],
      "author": {
        "name": "Emil Medve",
        "email": "Emilian.Medve@Freescale.com",
        "time": "Sat May 03 06:34:04 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon May 05 16:47:14 2008 +1000"
      },
      "message": "[POWERPC] devres: Add devm_ioremap_prot()\n\nWe provide an ioremap_flags, so this provides a corresponding\ndevm_ioremap_prot.  The slight name difference is at Ben\nHerrenschmidt\u0027s request as he plans on changing ioremap_flags to\nioremap_prot in the future.\n\nSigned-off-by: Emil Medve \u003cEmilian.Medve@Freescale.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "af8e2a4cb9b3e14b919ae1cd4012825aefddbeb0",
      "tree": "8910da8632172a09437db0bb5860234daefd894f",
      "parents": [
        "7793bfcfccc91d036d61618d90baf2be3d76e710"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu May 01 04:34:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:00 2008 -0700"
      },
      "message": "idr: fix idr_remove()\n\nThe return inside the loop makes us free only a single layer.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34990cf702bdf2b4964e0629dab4af7669f8b2c5",
      "tree": "33ec40ee97be1a9a6b3565dcf49d1dcffff191f9",
      "parents": [
        "7dffa3c673fbcf835cd7be80bb4aec8ad3f51168"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu May 01 04:34:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "Add a new sysfs_streq() string comparison function\n\nAdd a new sysfs_streq() string comparison function, which ignores\nthe trailing newlines found in sysfs inputs.  By example:\n\n\tsysfs_streq(\"a\", \"b\")\t\u003d\u003d\u003e false\n\tsysfs_streq(\"a\", \"a\")\t\u003d\u003d\u003e true\n\tsysfs_streq(\"a\", \"a\\n\")\t\u003d\u003d\u003e true\n\tsysfs_streq(\"a\\n\", \"a\")\t\u003d\u003d\u003e true\n\nThis is intended to simplify parsing of sysfs inputs, letting them\navoid the need to manually strip off newlines from inputs.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19",
      "tree": "f32e82fc3a50b6877afa3220bdb6f7ea0582e07f",
      "parents": [
        "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "rename div64_64 to div64_u64\n\nRename div64_64 to div64_u64 to make it consistent with the other divide\nfunctions, so it clearly includes the type of the divide.  Move its definition\nto math64.h as currently no architecture overrides the generic implementation.\n They can still override it of course, but the duplicated declarations are\navoided.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2418f4f28f8467b92a6177af32d05737ebf6206c",
      "tree": "cd35f4feef2ed3078ebb7ce6dcaf5f627299944e",
      "parents": [
        "adafbedf0c31ae1cde62035c82857f5e376af553"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "introduce explicit signed/unsigned 64bit divide\n\nThe current do_div doesn\u0027t explicitly say that it\u0027s unsigned and the signed\ncounterpart is missing, which is e.g.  needed when dealing with time values.\n\nThis introduces 64bit signed/unsigned divide functions which also attempts to\ncleanup the somewhat awkward calling API, which often requires the use of\ntemporary variables for the dividend.  To avoid the need for temporary\nvariables everywhere for the remainder, each divide variant also provides a\nversion which doesn\u0027t return the remainder.\n\nEach architecture can now provide optimized versions of these function,\notherwise generic fallback implementations will be used.\n\nAs an example I provided an alternative for the current x86 divide, which\navoids the asm casts and using an union allows gcc to generate better code.\nIt also avoids the upper divde in a few more cases, where the result is known\n(i.e.  upper quotient is zero).\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3bb7fadaf52de3637b834002dac27f6250b4b49",
      "tree": "f60e329ce802d2941c5bf45fcd5b9c36b3de774d",
      "parents": [
        "c3b19ff06e0808555403491d61e8f0cbbb53e933"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:43:45 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:58 2008 -0700"
      },
      "message": "klist: fix coding style errors in klist.h and klist.c\n\nFinally clean up the odd spacing in these files.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4f452e8aa492c0b8028ca9b4bdb4d018ba28c6c7",
      "tree": "9838a71adc6c9297bbedafc6ad2f2b36543fd0df",
      "parents": [
        "a4ca6617421188f50774780cdc91c3782b7d08fe"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Apr 29 10:25:48 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:48 2008 -0700"
      },
      "message": "devres: support addresses greater than an unsigned long via dev_ioremap\n\nUse a resource_size_t instead of unsigned long since some arch\u0027s are\ncapable of having ioremap deal with addresses greater than the size of a\nunsigned long.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a4ca6617421188f50774780cdc91c3782b7d08fe",
      "tree": "661fbedcbd3deb8555b10a9406b7ffd50e288815",
      "parents": [
        "1cbfb7a5acd357de6c3f8e27e8d8f92b3867b1f3"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Apr 30 02:06:29 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:48 2008 -0700"
      },
      "message": "kobject: do not copy vargs, just pass them around\n\nThis prevents a few unneeded copies.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93dd40013f4f7f4b18d19d0d77855f025bcc57c3",
      "tree": "81f61934013cbfbfec720e0798d13189571364b5",
      "parents": [
        "1da43e4a9ee942c9c967dbe8839476571df0c3ed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 22 18:58:46 2008 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:47 2008 -0700"
      },
      "message": "klist: implement klist_add_{after|before}()\n\nAdd klist_add_after() and klist_add_before() which puts a new node\nafter and before an existing node, respectively.  This is useful for\ncallers which need to keep klist ordered.  Note that synchronizing\nbetween simultaneous additions for ordering is the caller\u0027s\nresponsibility.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "810304db75b0ca4e6ef071f86aa3e85fdaddee5e",
      "tree": "5a6027b543bef4b3220ca3faa5f15459b1be1c5f",
      "parents": [
        "af1f16d08f38ab6f17b5760e6ec9d2b7d3a5ff1a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "lib: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6f3a97f86a5c97be0ca255976110bb9c3cfe669",
      "tree": "95a7bf3c928a85b26aed128786fc09e18bc5dcfc",
      "parents": [
        "691cc54c7d28542434d2b3ee4ddbad6a99312dec"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "debugobjects: add timer specific object debugging code\n\nAdd calls to the generic object debugging infrastructure and provide fixup\nfunctions which allow to keep the system alive when recoverable problems have\nbeen detected by the object debugging core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ac7fe5a4aab409bd5674d0b070bce97f9d20872",
      "tree": "5e12e8864bb8737695e4eb9c63970602d5f69e73",
      "parents": [
        "30327acf7846c5eb97c8e31c78317a2918d3e515"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "infrastructure to debug (dynamic) objects\n\nWe can see an ever repeating problem pattern with objects of any kind in the\nkernel:\n\n1) freeing of active objects\n2) reinitialization of active objects\n\nBoth problems can be hard to debug because the crash happens at a point where\nwe have no chance to decode the root cause anymore.  One problem spot are\nkernel timers, where the detection of the problem often happens in interrupt\ncontext and usually causes the machine to panic.\n\nWhile working on a timer related bug report I had to hack specialized code\ninto the timer subsystem to get a reasonable hint for the root cause.  This\ndebug hack was fine for temporary use, but far from a mergeable solution due\nto the intrusiveness into the timer code.\n\nThe code further lacked the ability to detect and report the root cause\ninstantly and keep the system operational.\n\nKeeping the system operational is important to get hold of the debug\ninformation without special debugging aids like serial consoles and special\nknowledge of the bug reporter.\n\nThe problems described above are not restricted to timers, but timers tend to\nexpose it usually in a full system crash.  Other objects are less explosive,\nbut the symptoms caused by such mistakes can be even harder to debug.\n\nInstead of creating specialized debugging code for the timer subsystem a\ngeneric infrastructure is created which allows developers to verify their code\nand provides an easy to enable debug facility for users in case of trouble.\n\nThe debugobjects core code keeps track of operations on static and dynamic\nobjects by inserting them into a hashed list and sanity checking them on\nobject operations and provides additional checks whenever kernel memory is\nfreed.\n\nThe tracked object operations are:\n- initializing an object\n- adding an object to a subsystem list\n- deleting an object from a subsystem list\n\nEach operation is sanity checked before the operation is executed and the\nsubsystem specific code can provide a fixup function which allows to prevent\nthe damage of the operation.  When the sanity check triggers a warning message\nand a stack trace is printed.\n\nThe list of operations can be extended if the need arises.  For now it\u0027s\nlimited to the requirements of the first user (timers).\n\nThe core code enqueues the objects into hash buckets.  The hash index is\ngenerated from the address of the object to simplify the lookup for the check\non kfree/vfree.  Each bucket has it\u0027s own spinlock to avoid contention on a\nglobal lock.\n\nThe debug code can be compiled in without being active.  The runtime overhead\nis minimal and could be optimized by asm alternatives.  A kernel command line\noption enables the debugging code.\n\nThanks to Ingo Molnar for review, suggestions and cleanup patches.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a42dde04152750426cc620fd277e80fffae2f65a",
      "tree": "98cdf246280c59e0bf044ae6d2c229fc27b73203",
      "parents": [
        "189d3c4a94ef19fca2a71a6a336e9fda900e25e7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Apr 30 00:54:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: bdi: allow setting a maximum for the bdi dirty limit\n\nAdd \"max_ratio\" to /sys/class/bdi.  This indicates the maximum percentage of\nthe global dirty threshold allocated to this bdi.\n\n[mszeredi@suse.cz]\n\n - fix parsing in max_ratio_store().\n - export bdi_set_max_ratio() to modules\n - limit bdi_dirty with bdi-\u003emax_ratio\n - document new sysfs attribute\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf0ca9fe5dd9e3693d935757a7b2fc50fc576554",
      "tree": "c795c5271eda9fc67579fa3176c646b892dfdb41",
      "parents": [
        "caafa4324335aeb11bc233d5f87aca8cce30beba"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Apr 30 00:54:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "mm: bdi: export BDI attributes in sysfs\n\nProvide a place in sysfs (/sys/class/bdi) for the backing_dev_info object.\nThis allows us to see and set the various BDI specific variables.\n\nIn particular this properly exposes the read-ahead window for all relevant\nusers and /sys/block/\u003cblock\u003e/queue/read_ahead_kb should be deprecated.\n\nWith patient help from Kay Sievers and Greg KH\n\n[mszeredi@suse.cz]\n\n - split off NFS and FUSE changes into separate patches\n - document new sysfs attributes under Documentation/ABI\n - do bdi_class_init as a core_initcall, otherwise the \"default\" BDI\n   won\u0027t be initialized\n - remove bdi_init_fmt macro, it\u0027s not used very much\n\n[akpm@linux-foundation.org: fix ia64 warning]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "867a89e0b73af48838c7987e80899a1ff26dd6ff",
      "tree": "b4a8830b3e880b9a5133ad1ec3106665819cc8d4",
      "parents": [
        "44473d991332053eb3fea1e08f8a6ee2c6fb409c",
        "6c39103ce5192bdb2195f3daab7323dfa44fb52e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:19:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:19:14 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  [RAPIDIO] Change RapidIO doorbell source and target ID field to 16-bit\n  [RAPIDIO] Add RapidIO connection info print out and re-training for broken connections\n  [RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641\n  [RAPIDIO] Add RapidIO node probing into MPC86xx_HPCN board id table\n  [RAPIDIO] Add RapidIO node into MPC8641HPCN dts file\n  [RAPIDIO] Auto-probe the RapidIO system size\n  [RAPIDIO] Add OF-tree support to RapidIO controller driver\n  [RAPIDIO] Add RapidIO multi mport support\n  [RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc\n  [RAPIDIO] Add RapidIO option to kernel configuration\n  [RAPIDIO] Change RIO function mpc85xx_ to fsl_\n  [POWERPC] Provide walk_memory_resource() for powerpc\n  [POWERPC] Update lmb data structures for hotplug memory add/remove\n  [POWERPC] Hotplug memory remove notifications for powerpc\n  [POWERPC] windfarm: Add PowerMac 12,1 support\n  [POWERPC] Fix building of pmac32 when CONFIG_NVRAM\u003dm\n  [POWERPC] Add IRQSTACKS support on ppc32\n  [POWERPC] Use __always_inline for xchg* and cmpxchg*\n  [POWERPC] Add fast little-endian switch system call\n"
    },
    {
      "commit": "fee4b19fb3f28d17c0b9f9ea0668db5275697178",
      "tree": "0d7c34ef39cdac5a0c7f89376e85cc3ef621a7da",
      "parents": [
        "8972331292753c89dbdd10b175e999ce78dc3be7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 29 12:01:02 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:11:16 2008 -0700"
      },
      "message": "bitops: remove \"optimizations\"\n\nThe mapsize optimizations which were moved from x86 to the generic\ncode in commit 64970b68d2b3ed32b964b0b30b1b98518fde388e increased the\nbinary size on non x86 architectures.\n\nLooking into the real effects of the \"optimizations\" it turned out\nthat they are not used in find_next_bit() and find_next_zero_bit().\n\nThe ones in find_first_bit() and find_first_zero_bit() are used in a\ncouple of places but none of them is a real hot path.\n\nRemove the \"optimizations\" all together and call the library functions\nunconditionally.\n\nBoot-tested on x86 and compile tested on every cross compiler I have.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "199f0ca514f9c17668eec4f935c4ba24cd789f85",
      "tree": "54406e3eb5be58e3350d8f60a64ac78ec3990f97",
      "parents": [
        "801678c5a3b4c79236970bcca27c733f5559e0d1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Apr 29 01:03:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "idr: create idr_layer_cache at boot time\n\nAvoid a possible kmem_cache_create() failure by creating idr_layer_cache\nunconditionary at boot time rather than creating it on-demand when idr_init()\nis called the first time.\n\nThis change also enables us to eliminate the check every time idr_init() is\ncalled.\n\n[akpm@linux-foundation.org: rename init_id_cache() to idr_init_cache()]\n[akpm@linux-foundation.org: fix alpha build]\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "309df0c503c35fbb5a09537fcbb1f4967b9ca489",
      "tree": "56a9df627a229bd64b934608b5f84d20bdaabf3a",
      "parents": [
        "a75b0a2f68d3937f96ed39525e4750601483e3b4"
      ],
      "author": {
        "name": "Arthur Kepner",
        "email": "akepner@sgi.com",
        "time": "Tue Apr 29 01:00:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "dma/ia64: update ia64 machvecs, swiotlb.c\n\nChange all ia64 machvecs to use the new dma_*map*_attrs() interfaces.\nImplement the old dma_*map_*() interfaces in terms of the corresponding new\ninterfaces.  For ia64/sn, make use of one dma attribute,\nDMA_ATTR_WRITE_BARRIER.  Introduce swiotlb_*map*_attrs() functions.\n\nSigned-off-by: Arthur Kepner \u003cakepner@sgi.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f97a5a8799b8d7d0afdb9d68a50a4e0e8298a05",
      "tree": "03f0a35e50e9a765603fc9249e601b52e043fd0d",
      "parents": [
        "762873c251b056c6c1b29e83a4dabafb064e5421"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Apr 29 00:59:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:06 2008 -0700"
      },
      "message": "isolate ratelimit from printk.c for other use\n\nDue to the rcupreempt.h WARN_ON trigged, I got 2G syslog file.  For some\nserious complaining of kernel, we need repeat the warnings, so here I isolate\nthe ratelimit part of printk.c to a standalone file.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.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": "a8522509200b460443a7ca59138dc63bec1b690a",
      "tree": "d3da544c245a40740018080e9e451fc9096aedb3",
      "parents": [
        "a7133a15587b8921af8b074e0d3fe1606cbe5597"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 00:59:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:05 2008 -0700"
      },
      "message": "swiotlb: use iommu_is_span_boundary helper function\n\niommu_is_span_boundary in lib/iommu-helper.c was exported for PARISC IOMMUs\n(commit 3715863aa142c4f4c5208f5f3e5e9bac06006d2f).  SWIOTLB can use it instead\nof the homegrown function.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Tony Luck \u003ctony.luck@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": "a7133a15587b8921af8b074e0d3fe1606cbe5597",
      "tree": "129706734260468ac6aac966584ffeca31adf471",
      "parents": [
        "9a3be324e3d9da08219d81d6765f445a726cf962"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 29 00:59:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:05 2008 -0700"
      },
      "message": "lib/swiotlb.c: cleanups\n\nThere\u0027s a pointlessly braced block of code in there.  Remove the braces and\nsave a tabstop.\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Tony Luck \u003ctony.luck@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": "b70d3a2c596fb52b02488ad4aef13fa0d602090c",
      "tree": "502793fdd2ca7c7e0d66af3e750d4ffbec6db248",
      "parents": [
        "626adeb6675fdf60e9d8c6212776b0b0acf0e376"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Apr 29 00:59:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "iomap: fix 64 bits resources on 32 bits\n\nAlmost all implementations of pci_iomap() in the kernel, including the generic\nlib/iomap.c one, copies the content of a struct resource into unsigned long\u0027s\nwhich will break on 32 bits platforms with 64 bits resources.\n\nThis fixes all definitions of pci_iomap() to use resource_size_t.  I also\n\"fixed\" the 64bits arch for consistency.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22caa0417db3b1d3dfafc9b7c0bf31baf8d667e7",
      "tree": "9d83fa00c532035b9f7c08f498973e5499483e6a",
      "parents": [
        "cd6fda36089cf3b450821228c2f575a3b5d0e7a7"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "jim@meyering.net",
        "time": "Tue Apr 29 00:59:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "lib/inflate.c: handle failed malloc()\n\nlib/inflate.c (inflate_dynamic): Don\u0027t deref NULL upon failed malloc.\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d88a2eb6e05c07aa0d484b8fa1372722fa921d0",
      "tree": "782b288099fbd96ed779c033f2c1322ff1822950",
      "parents": [
        "98d5c21c812e4e3b795f5bd912f407ed7c5e4e38"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Fri Apr 18 13:33:53 2008 -0700"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 29 15:57:53 2008 +1000"
      },
      "message": "[POWERPC] Provide walk_memory_resource() for powerpc\n\nProvide walk_memory_resource() for 64-bit powerpc.  PowerPC maintains\nlogical memory region mapping in the lmb.memory structure.  Walk\nthrough these structures and do the callbacks for the contiguous\nchunks.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "98d5c21c812e4e3b795f5bd912f407ed7c5e4e38",
      "tree": "40c5680e5b8b337fdddd3becf59484a19e2037d5",
      "parents": [
        "57b539269e9eef4dedc533d83c94877bc6b4d44d"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Fri Apr 18 13:33:52 2008 -0700"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 29 15:57:53 2008 +1000"
      },
      "message": "[POWERPC] Update lmb data structures for hotplug memory add/remove\n\nThe powerpc kernel maintains information about logical memory blocks\nin the lmb.memory structure, which is initialized and updated at boot\ntime, but not when memory is added or removed while the kernel is\nrunning.\n\nThis adds a hotplug memory notifier which updates lmb.memory when\nmemory is added or removed.  This information is useful for eHEA\ndriver to find out the memory layout and holes.\n\nNOTE: No special locking is needed for lmb_add() and lmb_remove().\nCalls to these are serialized by caller. (pSeries_reconfig_chain).\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "7ea931c9fc80c4d0a4306c30ec92eb0f1d922a0b",
      "tree": "4f2c85d658c75e8679e01943e3e95866b3729b54",
      "parents": [
        "f5b087b52f1710eb0bf15a2d2b030c51a6a1ca9e"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Mon Apr 28 02:12:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: add bitmap_onto() and bitmap_fold() operations\n\nThe following adds two more bitmap operators, bitmap_onto() and bitmap_fold(),\nwith the usual cpumask and nodemask wrappers.\n\nThe bitmap_onto() operator computes one bitmap relative to another.  If the\nn-th bit in the origin mask is set, then the m-th bit of the destination mask\nwill be set, where m is the position of the n-th set bit in the relative mask.\n\nThe bitmap_fold() operator folds a bitmap into a second that has bit m set iff\nthe input bitmap has some bit n set, where m \u003d\u003d n mod sz, for the specified sz\nvalue.\n\nThere are two substantive changes between this patch and its\npredecessor bitmap_relative:\n 1) Renamed bitmap_relative() to be bitmap_onto().\n 2) Added bitmap_fold().\n\nThe essential motivation for bitmap_onto() is to provide a mechanism for\nconverting a cpuset-relative CPU or Node mask to an absolute mask.  Cpuset\nrelative masks are written as if the current task were in a cpuset whose CPUs\nor Nodes were just the consecutive ones numbered 0..N-1, for some N.  The\nbitmap_onto() operator is provided in anticipation of adding support for the\nfirst such cpuset relative mask, by the mbind() and set_mempolicy() system\ncalls, using a planned flag of MPOL_F_RELATIVE_NODES.  These bitmap operators\n(and their nodemask wrappers, in particular) will be used in code that\nconverts the user specified cpuset relative memory policy to a specific system\nnode numbered policy, given the current mems_allowed of the tasks cpuset.\n\nSuch cpuset relative mempolicies will address two deficiencies\nof the existing interface between cpusets and mempolicies:\n 1) A task cannot at present reliably establish a cpuset\n    relative mempolicy because there is an essential race\n    condition, in that the tasks cpuset may be changed in\n    between the time the task can query its cpuset placement,\n    and the time the task can issue the applicable mbind or\n    set_memplicy system call.\n 2) A task cannot at present establish what cpuset relative\n    mempolicy it would like to have, if it is in a smaller\n    cpuset than it might have mempolicy preferences for,\n    because the existing interface only allows specifying\n    mempolicies for nodes currently allowed by the cpuset.\n\nCpuset relative mempolicies are useful for tasks that don\u0027t distinguish\nparticularly between one CPU or Node and another, but only between how many of\neach are allowed, and the proper placement of threads and memory pages on the\nvarious CPUs and Nodes available.\n\nThe motivation for the added bitmap_fold() can be seen in the following\nexample.\n\nLet\u0027s say an application has specified some mempolicies that presume 16 memory\nnodes, including say a mempolicy that specified MPOL_F_RELATIVE_NODES (cpuset\nrelative) nodes 12-15.  Then lets say that application is crammed into a\ncpuset that only has 8 memory nodes, 0-7.  If one just uses bitmap_onto(),\nthis mempolicy, mapped to that cpuset, would ignore the requested relative\nnodes above 7, leaving it empty of nodes.  That\u0027s not good; better to fold the\nhigher nodes down, so that some nodes are included in the resulting mapped\nmempolicy.  In this case, the mempolicy nodes 12-15 are taken modulo 8 (the\nweight of the mems_allowed of the confining cpuset), resulting in a mempolicy\nspecifying nodes 4-7.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cray-lk@madrabbit.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "488514d1798289f56f80ed018e246179fe500383",
      "tree": "e68d9f703dcbceed0cc08b03014d109d7ec3acd4",
      "parents": [
        "e92adcba261fd391591bb63c1703185a04a41554"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "Remove set_migrateflags()\n\nMigrate flags must be set on slab creation as agreed upon when the antifrag\nlogic was reviewed.  Otherwise some slabs of a slabcache will end up in the\nunmovable and others in the reclaimable section depending on which flag was\nactive when a new slab page was allocated.\n\nThis likely slid in somehow when antifrag was merged. Remove it.\n\nThe buffer_heads are always allocated with __GFP_RECLAIMABLE because the\nSLAB_RECLAIM_ACCOUNT option is set.  The set_migrateflags() never had any\neffect there.\n\nRadix tree allocations are not directly reclaimable but they are allocated\nwith __GFP_RECLAIMABLE set on each allocation.  We now set\nSLAB_RECLAIM_ACCOUNT on radix tree slab creation making sure that radix\ntree slabs are consistently placed in the reclaimable section.  Radix tree\nslabs will also be accounted as such.\n\nThere is then no user left of set_migratepages. So remove it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19870def587554c4055df3e74a21508e3647fb7e",
      "tree": "d1c483a58e0ec684b8e3678a906dc115ffee5006",
      "parents": [
        "f19dcf4a61ea4a3d155acb239348d09cb264f6a0"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Fri Apr 25 13:12:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:17 2008 +0200"
      },
      "message": "x86, bitops: select the generic bitmap search functions\n\nIntroduce GENERIC_FIND_FIRST_BIT and GENERIC_FIND_NEXT_BIT in\nlib/Kconfig, defaulting to off. An arch that wants to use the\ngeneric implementation now only has to use a select statement\nto include them.\n\nI added an always-y option (X86_CPU) to arch/x86/Kconfig.cpu\nand used that to select the generic search functions. This\nway ARCH\u003dum SUBARCH\u003di386 automatically picks up the change\ntoo, and arch/um/Kconfig.i386 can therefore be simplified a\nbit. ARCH\u003dum SUBARCH\u003dx86_64 does things differently, but\nstill compiles fine. It seems that a \"def_bool y\" always\nwins over a \"def_bool n\"?\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77b9bd9c49442407804c37bcc82021a35277f83c",
      "tree": "251900d95c6c9c5371542d5dda7d89cb31cd0801",
      "parents": [
        "d57594c203b1e7b54373080a797f0cbfa4aade68"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 11:46:19 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: generic versions of find_first_(zero_)bit, convert i386\n\nGeneric versions of __find_first_bit and __find_first_zero_bit\nare introduced as simplified versions of __find_next_bit and\n__find_next_zero_bit. Their compilation and use are guarded by\na new config variable GENERIC_FIND_FIRST_BIT.\n\nThe generic versions of find_first_bit and find_first_zero_bit\nare implemented in terms of the newly introduced __find_first_bit\nand __find_first_zero_bit.\n\nThis patch does not remove the i386-specific implementation,\nbut it does switch i386 to use the generic functions by setting\nGENERIC_FIND_FIRST_BIT\u003dy for X86_32.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64970b68d2b3ed32b964b0b30b1b98518fde388e",
      "tree": "7d8eb5ea3ab1a841afa0f7ae1c65e7be4a9ca690",
      "parents": [
        "60b6783a044a55273b637983f52965c2808a6b86"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Mar 11 16:17:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps\n\nThis moves an optimization for searching constant-sized small\nbitmaps form x86_64-specific to generic code.\n\nOn an i386 defconfig (the x86#testing one), the size of vmlinux hardly\nchanges with this applied. I have observed only four places where this\noptimization avoids a call into find_next_bit:\n\nIn the functions return_unused_surplus_pages, alloc_fresh_huge_page,\nand adjust_pool_surplus, this patch avoids a call for a 1-bit bitmap.\nIn __next_cpu a call is avoided for a 32-bit bitmap. That\u0027s it.\n\nOn x86_64, 52 locations are optimized with a minimal increase in\ncode size:\n\nCurrent #testing defconfig:\n\t146 x bsf, 27 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392637  846592  724424 6963653  6a41c5 vmlinux\n\nAfter removing the x86_64 specific optimization for find_next_*bit:\n\t94 x bsf, 79 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392358  846592  724424 6963374  6a40ae vmlinux\n\nAfter this patch (making the optimization generic):\n\t146 x bsf, 27 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392396  846592  724424 6963412  6a40d4 vmlinux\n\n[ tglx@linutronix.de: build fixes ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fd92b63d0626a8fe7eb8e2e50d19ecaa18cb412",
      "tree": "840f6cf998c251cdfcae37a03f34b34ac5bea3a5",
      "parents": [
        "18e413f7193ed2f6991d959863f46330813aa242"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sun Mar 09 21:01:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: change x86 to use generic find_next_bit\n\nThe versions with inline assembly are in fact slower on the machines I\ntested them on (in userspace) (Athlon XP 2800+, p4-like Xeon 2.8GHz, AMD\nOpteron 270). The i386-version needed a fix similar to 06024f21 to avoid\ncrashing the benchmark.\n\nBenchmark using: gcc -fomit-frame-pointer -Os. For each bitmap size\n1...512, for each possible bitmap with one bit set, for each possible\noffset: find the position of the first bit starting at offset. If you\nfollow ;). Times include setup of the bitmap and checking of the\nresults.\n\n\t\tAthlon\t\tXeon\t\tOpteron 32/64bit\nx86-specific:\t0m3.692s\t0m2.820s\t0m3.196s / 0m2.480s\ngeneric:\t0m2.622s\t0m1.662s\t0m2.100s / 0m1.572s\n\nIf the bitmap size is not a multiple of BITS_PER_LONG, and no set\n(cleared) bit is found, find_next_bit (find_next_zero_bit) returns a\nvalue outside of the range [0, size]. The generic version always returns\nexactly size. The generic version also uses unsigned long everywhere,\nwhile the x86 versions use a mishmash of int, unsigned (int), long and\nunsigned long.\n\nUsing the generic version does give a slightly bigger kernel, though.\n\ndefconfig:\t   text    data     bss     dec     hex filename\nx86-specific:\t4738555  481232  626688 5846475  5935cb vmlinux (32 bit)\ngeneric:\t4738621  481232  626688 5846541  59360d vmlinux (32 bit)\nx86-specific:\t5392395  846568  724424 6963387  6a40bb vmlinux (64 bit)\ngeneric:\t5392458  846568  724424 6963450  6a40fa vmlinux (64 bit)\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "35bb5b1e0e84cfa1a8906f7e6a77f391ff315791",
      "tree": "fd3fa4e426bd11df3496141d8a251a783bce5f8d",
      "parents": [
        "80ff26241623875636674a31c0540a78c0fb5433"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Feb 22 15:15:03 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@uranus.ravnborg.org",
        "time": "Fri Apr 25 20:23:47 2008 +0200"
      },
      "message": "Add option to enable -Wframe-larger-than\u003d on gcc 4.4\n\nAdd option to enable -Wframe-larger-than\u003d on gcc 4.4\n\ngcc mainline (upcoming 4.4) added a new -Wframe-larger-than\u003d...\noption to warn at build time about too large stack frames. Add a config\noption to enable this warning, since this very useful for the kernel.\n\nI choose (somewhat arbitarily) 2048 as default warning threshold for 64bit\nand 1024 as default for 32bit architectures.  With some research and\nfixing all the code for smaller values these defaults should be probably\nlowered.\n\nWith the default allyesconfigs have some new warnings, but I think\nthat is all code that should be just fixed.\n\nAt some point (when gcc 4.4 is released and widely used) this should\nobsolete make checkstack\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "7347aefbccb47ce2d076d8ac7dff2cdd1435974c",
      "tree": "1099122c0fd687ada9a9d0d20949a6df58a2c971",
      "parents": [
        "807501475fce0ebe68baedf87f202c3e4ee0d12c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 23 23:30:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 23 23:30:59 2008 -0700"
      },
      "message": "[LMB]: Fix lmb allocation regression.\n\nChangeset d9024df02ffe74d723d97d552f86de3b34beb8cc (\"[LMB] Restructure\nallocation loops to avoid unsigned underflow\") removed the alignment\nof the \u0027size\u0027 argument to call lmb_add_region() done by __lmb_alloc_base().\n\nIn doing so it reintroduced the bug fixed by changeset\neea89e13a9c61d3928223d2f9bf2295e22e0efb6 (\"[LMB]: Fix bug in\n__lmb_alloc_base().\").\n\nThis puts it back.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a64388d83f6ef08dfff405a9d122e3dbcb6bf38",
      "tree": "a77532ce4d6d56be6c6c7f405cd901a0184250fb",
      "parents": [
        "e80ab411e589e00550e2e6e5a6a02d59cc730357",
        "14b3ca4022f050f8622ed282b734ddf445464583"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:50:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:50:49 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (202 commits)\n  [POWERPC] Fix compile breakage for 64-bit UP configs\n  [POWERPC] Define copy_siginfo_from_user32\n  [POWERPC] Add compat handler for PTRACE_GETSIGINFO\n  [POWERPC] i2c: Fix build breakage introduced by OF helpers\n  [POWERPC] Optimize fls64() on 64-bit processors\n  [POWERPC] irqtrace support for 64-bit powerpc\n  [POWERPC] Stacktrace support for lockdep\n  [POWERPC] Move stackframe definitions to common header\n  [POWERPC] Fix device-tree locking vs. interrupts\n  [POWERPC] Make pci_bus_to_host()\u0027s struct pci_bus * argument const\n  [POWERPC] Remove unused __max_memory variable\n  [POWERPC] Simplify xics direct/lpar irq_host setup\n  [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ()\n  [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade()\n  [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c\n  [POWERPC] Use asm-generic/bitops/find.h in bitops.h\n  [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup\n  [POWERPC] 85xx: Fix the size of qe muram for MPC8568E\n  [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier.\n  [POWERPC] 86xx: mark functions static, other minor cleanups\n  ...\n"
    },
    {
      "commit": "e80ab411e589e00550e2e6e5a6a02d59cc730357",
      "tree": "870225ff7b5b8d03e82a996963213a4bb9cce248",
      "parents": [
        "529a41e36673b518c9e091f3a8d932b6b9e3c461",
        "ee959b00c335d7780136c5abda37809191fe52c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)\n  SCSI: convert struct class_device to struct device\n  DRM: remove unused dev_class\n  IB: rename \"dev\" to \"srp_dev\" in srp_host structure\n  IB: convert struct class_device to struct device\n  memstick: convert struct class_device to struct device\n  driver core: replace remaining __FUNCTION__ occurrences\n  sysfs: refill attribute buffer when reading from offset 0\n  PM: Remove destroy_suspended_device()\n  Firmware: add iSCSI iBFT Support\n  PM: Remove legacy PM (fix)\n  Kobject: Replace list_for_each() with list_for_each_entry().\n  SYSFS: Explicitly include required header file slab.h.\n  Driver core: make device_is_registered() work for class devices\n  PM: Convert wakeup flag accessors to inline functions\n  PM: Make wakeup flags available whenever CONFIG_PM is set\n  PM: Fix misuse of wakeup flag accessors in serial core\n  Driver core: Call device_pm_add() after bus_add_device() in device_add()\n  PM: Handle device registrations during suspend/resume\n  block: send disk \"change\" event for rescan_partitions()\n  sysdev: detect multiple driver registrations\n  ...\n\nFixed trivial conflict in include/linux/memory.h due to semaphore header\nfile change (made irrelevant by the change to mutex).\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "ec965350bb98bd291eb34f6ecddfdcfc36da1e6e",
      "tree": "983bcaf33ed00b48a86f7f8790cc460cf15dd252",
      "parents": [
        "5f033bb9bc5cb3bb37a79e3ef131f50ecdcb72b0",
        "486fdae21458bd9f4e125099bb3c38a4064e450e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits)\n  sched: build fix\n  sched: better rt-group documentation\n  sched: features fix\n  sched: /debug/sched_features\n  sched: add SCHED_FEAT_DEADLINE\n  sched: debug: show a weight tree\n  sched: fair: weight calculations\n  sched: fair-group: de-couple load-balancing from the rb-trees\n  sched: fair-group scheduling vs latency\n  sched: rt-group: optimize dequeue_rt_stack\n  sched: debug: add some debug code to handle the full hierarchy\n  sched: fair-group: SMP-nice for group scheduling\n  sched, cpuset: customize sched domains, core\n  sched, cpuset: customize sched domains, docs\n  sched: prepatory code movement\n  sched: rt: multi level group constraints\n  sched: task_group hierarchy\n  sched: fix the task_group hierarchy for UID grouping\n  sched: allow the group scheduler to have multiple levels\n  sched: mix tasks and groups\n  ...\n"
    },
    {
      "commit": "c6a2a3dc26da72e431c293d02549593f9c041f63",
      "tree": "45ea5dcf2c8ae52f99507e941df3aa685fa70356",
      "parents": [
        "c6f87733823d69a8f12e391688ceeb1ff4922530"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Mar 27 01:13:34 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:27 2008 -0700"
      },
      "message": "Kobject: Replace list_for_each() with list_for_each_entry().\n\nUse the more concise list_for_each_entry(), which allows for the\ndeletion of the to_kobj() routine at the same time.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c1ebdae514a356c71c09035f5141d94aab5e8fe4",
      "tree": "28a3a22b01e7b28b0e247a073711923169ddd528",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 26 09:36:38 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:17 2008 -0700"
      },
      "message": "kobject: catch kobjects that are not initialized\n\nAdd warnings to kobject_put() to catch kobjects that are cleaned up but\nwere never initialized to begin with.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "30ca60c15a725f655e5d3f14e0238a066bc5aeb7",
      "tree": "96d36a2cf12e7a964ce4cd0c49d30b2d40f94b52",
      "parents": [
        "9f0e738f492522a2f70ad9a2a0287e4e966c633a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Mar 25 15:06:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpumask: add cpumask_scnprintf_len function\n\nAdd a new function cpumask_scnprintf_len() to return the number of\ncharacters needed to display \"len\" cpumask bits.  The current method\nof allocating NR_CPUS bytes is incorrect as what\u0027s really needed is\n9 characters per 32-bit word of cpumask bits (8 hex digits plus the\nseperator [\u0027,\u0027] or the terminating NULL.)  This function provides the\ncaller the means to allocate the correct string length.\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad775f5a8faa5845377f093ca11caf577404add9",
      "tree": "f124ff1038672b8d2ef004d75c844f740d8fe52b",
      "parents": [
        "2e4b7fcd926006531935a4c79a5e9349fe51125b"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:38:01 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:28 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: debugging for missed calls\n\nThere have been a few oopses caused by \u0027struct file\u0027s with NULL f_vfsmnts.\nThere was also a set of potentially missed mnt_want_write()s from\ndentry_open() calls.\n\nThis patch provides a very simple debugging framework to catch these kinds of\nbugs.  It will WARN_ON() them, but should stop us from having any oopses or\nmnt_writer count imbalances.\n\nI\u0027m quite convinced that this is a good thing because it found bugs in the\nstuff I was working on as soon as I wrote it.\n\n[hch: made it conditional on a debug option.\n      But it\u0027s still a little bit too ugly]\n\n[hch: merged forced remount r/o fix from Dave and akpm\u0027s fix for the fix]\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6188e10d38b8d7244ee7776d5f1f88c837b4b93f",
      "tree": "6675e02c47fb684a613e10513816b5dcc5de28a9",
      "parents": [
        "d7b1acd3b524b39f418e463e836b48ac041954d6"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:21:05 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:22:54 2008 -0400"
      },
      "message": "Convert asm/semaphore.h users to linux/semaphore.h\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f42b38009e1dbd4509a865e5ea0e91a1722c979d",
      "tree": "8b3d998dc6eef293f81ee358df109bfdb3a8e1fa",
      "parents": [
        "a6550207538619bc9b90bac2e1d5e54902a432ad"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 10:48:12 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:17:17 2008 -0400"
      },
      "message": "lib: Remove unnecessary inclusions of asm/semaphore.h\n\nreed_solomon doesn\u0027t use any of the functionality promised by\nasm/semaphore.h.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "334d094504c2fe1c44211ecb49146ae6bca8c321",
      "tree": "d3c0f68e4b9f8e3d2ccc39e7dfe5de0534a5fad9",
      "parents": [
        "d1a4be630fb068f251d64b62919f143c49ca8057",
        "d1643d24c61b725bef399cc1cf2944b4c9c23177"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)\n  [NET]: Fix and allocate less memory for -\u003epriv\u0027less netdevices\n  [IPV6]: Fix dangling references on error in fib6_add().\n  [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found\n  [PKT_SCHED]: Fix datalen check in tcf_simp_init().\n  [INET]: Uninline the __inet_inherit_port call.\n  [INET]: Drop the inet_inherit_port() call.\n  SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.\n  [netdrvr] forcedeth: internal simplifications; changelog removal\n  phylib: factor out get_phy_id from within get_phy_device\n  PHY: add BCM5464 support to broadcom PHY driver\n  cxgb3: Fix __must_check warning with dev_dbg.\n  tc35815: Statistics cleanup\n  natsemi: fix MMIO for PPC 44x platforms\n  [TIPC]: Cleanup of TIPC reference table code\n  [TIPC]: Optimized initialization of TIPC reference table\n  [TIPC]: Remove inlining of reference table locking routines\n  e1000: convert uint16_t style integers to u16\n  ixgb: convert uint16_t style integers to u16\n  sb1000.c: make const arrays static\n  sb1000.c: stop inlining largish static functions\n  ...\n"
    },
    {
      "commit": "2cca775baecbfede2fec20c99add709232311fe7",
      "tree": "b0eefe80881d263ba7976174144ae4e9cf238425",
      "parents": [
        "eddeb0e2d863e3941d8768e70cb50c6120e61fa0",
        "94795b61e84994a3b058f92d041d1fb3d869c7d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits)\n  [SCSI] iscsi: bidi support for iscsi_tcp\n  [SCSI] iscsi: bidi support at the generic libiscsi level\n  [SCSI] iscsi: extended cdb support\n  [SCSI] zfcp: Fix error handling for blocked unit for send FCP command\n  [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock\n  [SCSI] zfcp: fix 31 bit compile warnings\n  [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n  [SCSI] bsg: remove minor in struct bsg_device\n  [SCSI] bsg: use better helper list functions\n  [SCSI] bsg: replace kobject_get with blk_get_queue\n  [SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n  [SCSI] qla1280: remove version check\n  [SCSI] libsas: fix endianness bug in sas_ata\n  [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next)\n  [SCSI] aacraid: Do not describe check_reset parameter with its value\n  [SCSI] aacraid: Fix down_interruptible() to check the return value\n  [SCSI] sun3_scsi_vme: add MODULE_LICENSE\n  [SCSI] st: rename flush_write_buffer()\n  [SCSI] tgt: use KMEM_CACHE macro\n  [SCSI] initio: fix big endian problems for auto request sense\n  ...\n"
    },
    {
      "commit": "eddeb0e2d863e3941d8768e70cb50c6120e61fa0",
      "tree": "e30f2b6654e6eb397f9d7fb23a08d717cc19b12d",
      "parents": [
        "855d854a33fca71cf68bad258bd5e66e5b265d10",
        "db8be076cad4b843aa743ef462c75022cddd9c63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:24:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:24:29 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (43 commits)\n  firewire: cleanups\n  firewire: fix synchronization of gap counts\n  firewire: wait until PHY configuration packet was transmitted (fix bus reset loop)\n  firewire: remove unused struct member\n  firewire: use bitwise and to get reg in handle_registers\n  firewire: replace more hex values with defined csr constants\n  firewire: reread config ROM when device reset the bus\n  firewire: replace static ROM cache by allocated cache\n  firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more)\n  firewire: fw-ohci: extend logging of bus generations and node ID\n  firewire: fw-ohci: conditionally log busReset interrupts\n  firewire: fw-ohci: don\u0027t append to AT context when it\u0027s not active\n  firewire: fw-ohci: log regAccessFail events\n  firewire: fw-ohci: make sure HCControl register LPS bit is set\n  firewire: fw-ohci: missing PPC PMac feature calls in failure path\n  firewire: fw-ohci: untangle a mixed unsigned/signed expression\n  firewire: debug interrupt events\n  firewire: fw-ohci: catch self_id_count \u003d\u003d 0\n  firewire: fw-ohci: add self ID error check\n  firewire: fw-ohci: refactor probe, remove, suspend, resume\n  ...\n"
    },
    {
      "commit": "080de8c2c57e3199eee837fe8b6d35a43679f8c1",
      "tree": "b376f9ce74db61393ef1cb62e9663c71f0ba45b9",
      "parents": [
        "17cff9ff871bb5081cade4f99a9e9382b9f1c01c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 28 20:54:43 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:33 2008 +0200"
      },
      "message": "firewire: fw-ohci: add option for remote debugging\n\nThis way firewire-ohci can be used for remote debugging like ohci1394.\nVersion with amendment from Fri, 11 Apr 2008 00:08:08 +0200.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Bernhard Kaindl \u003cbk@suse.de\u003e\n"
    },
    {
      "commit": "9732b6112343df2872518ec6701c8ef729310a05",
      "tree": "9e3dcc461845038da4730c2062eee546348ca445",
      "parents": [
        "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
        "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:\n  kgdb: always use icache flush for sw breakpoints\n  kgdb: fix SMP NMI kgdb_handle_exception exit race\n  kgdb: documentation fixes\n  kgdb: allow static kgdbts boot configuration\n  kgdb: add documentation\n  kgdb: Kconfig fix\n  kgdb: add kgdb internal test suite\n  kgdb: fix several kgdb regressions\n  kgdb: kgdboc pl011 I/O module\n  kgdb: fix optional arch functions and probe_kernel_*\n  kgdb: add x86 HW breakpoints\n  kgdb: print breakpoint removed on exception\n  kgdb: clocksource watchdog\n  kgdb: fix NMI hangs\n  kgdb: fix kgdboc dynamic module configuration\n  kgdb: document parameters\n  x86: kgdb support\n  consoles: polling support, kgdboc\n  kgdb: core\n  uaccess: add probe_kernel_write()\n"
    },
    {
      "commit": "d7bb545d86825e635cab33a1dd81ca0ad7b92887",
      "tree": "34da4139ef06ceab6549aea3906639c7413978c8",
      "parents": [
        "75e98b34155264d943aa53edce465e87f3ccbadf",
        "2342e51ba2b52a7f5b78227e6faa4603ed3632a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Remove DEBUG_SEMAPHORE from Kconfig\n  Improve semaphore documentation\n  Simplify semaphore implementation\n  Add down_timeout and change ACPI to use it\n  Introduce down_killable()\n  Generic semaphore implementation\n  Add semaphore.h to kernel_lock.c\n  Fix quota.h includes\n"
    },
    {
      "commit": "1e42198609d73ed1a9adcba2af275c24c2678420",
      "tree": "32fd4d9073bfc0f3909af8f9fb4bcff38951d01a",
      "parents": [
        "794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a",
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "974460c5bfd9f6c38aa3dda189a63f9fc351035f",
      "tree": "fbfe9c79956e5fb31ff3da72b628d72d31d5f453",
      "parents": [
        "e3e2aaf7dc0d82a055e084cfd48b9257c0c66b68"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 20 13:43:44 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:43 2008 +0200"
      },
      "message": "kgdb: allow static kgdbts boot configuration\n\nThis patch adds in the ability to compile the kgdb internal test\nstring into the kernel so as to run the tests at boot without changing\nthe kernel boot arguments.  This patch also changes all the error\npaths to invoke WARN_ON(1) which will emit the line number of the file\nand dump the kernel stack when an error occurs.\n\nYou can disable the tests in a kernel that is built this way\nusing \"kgdbts\u003d\"\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e8d31c204e36e019b9134f2a11926cac0fcf9b19",
      "tree": "2720c1deadb6e57981254ec4120624b8a24dfdcf",
      "parents": [
        "737a460f21febe551ff1d2299b63bae9b154078f"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 07 16:34:17 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:42 2008 +0200"
      },
      "message": "kgdb: add kgdb internal test suite\n\nThis patch adds regression tests for testing the kgdb core and arch\nspecific implementation.\n\nThe kgdb test suite is designed to be built into the kernel and not as\na module because it uses a number of low level kernel and kgdb\nprimitives which should not be exported externally.\n\nThe kgdb test suite is designed as a KGDB I/O module which\nsimulates the communications that a debugger would have with kgdb.\nThe tests are broken up in to a line by line and referenced here as\na \"get\" which is kgdb requesting input and \"put\" which is kgdb\nsending a response.\n\nThe kgdb suite can be invoked from the kernel command line\narguments system or executed dynamically at run time.  The test\nsuite uses the variable \"kgdbts\" to obtain the information about\nwhich tests to run and to configure the verbosity level.  The\nfollowing are the various characters you can use with the kgdbts\u003d\nline:\n\nWhen using the \"kgdbts\u003d\" you only choose one of the following core\ntest types:\nA \u003d Run all the core tests silently\nV1 \u003d Run all the core tests with minimal output\nV2 \u003d Run all the core tests in debug mode\n\nYou can also specify optional tests:\nN## \u003d Go to sleep with interrupts of for ## seconds\n      to test the HW NMI watchdog\nF## \u003d Break at do_fork for ## iterations\nS## \u003d Break at sys_open for ## iterations\n\nNOTE: that the do_fork and sys_open tests are mutually exclusive.\n\nTo invoke the kgdb test suite from boot you use a kernel start\nargument as follows:\n\tkgdbts\u003dV1 kgdbwait\nOr if you wanted to perform the NMI test for 6 seconds and do_fork\ntest for 100 forks, you could use:\n\tkgdbts\u003dV1N6F100 kgdbwait\n\nThe test suite can also be invoked at run time with:\necho kgdbts\u003dV1N6F100 \u003e /sys/module/kgdbts/parameters/kgdbts\nOr as another example:\necho kgdbts\u003dV2 \u003e /sys/module/kgdbts/parameters/kgdbts\n\nWhen developing a new kgdb arch specific implementation or\nusing these tests for the purpose of regression testing,\nseveral invocations are required.\n\n1) Boot with the test suite enabled by using the kernel arguments\n      \"kgdbts\u003dV1F100 kgdbwait\"\n   ## If kgdb arch specific implementation has NMI use\n      \"kgdbts\u003dV1N6F100\n\n2) After the system boot run the basic test.\necho kgdbts\u003dV1 \u003e /sys/module/kgdbts/parameters/kgdbts\n\n3) Run the concurrency tests.  It is best to use n+1\n   while loops where n is the number of cpus you have\n   in your system.  The example below uses only two\n   loops.\n\n## This tests break points on sys_open\nwhile [ 1 ] ; do find / \u003e /dev/null 2\u003e\u00261 ; done \u0026\nwhile [ 1 ] ; do find / \u003e /dev/null 2\u003e\u00261 ; done \u0026\necho kgdbts\u003dV1S10000 \u003e /sys/module/kgdbts/parameters/kgdbts\nfg # and hit control-c\nfg # and hit control-c\n## This tests break points on do_fork\nwhile [ 1 ] ; do date \u003e /dev/null ; done \u0026\nwhile [ 1 ] ; do date \u003e /dev/null ; done \u0026\necho kgdbts\u003dV1F1000 \u003e /sys/module/kgdbts/parameters/kgdbts\nfg # and hit control-c\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc7d552705215ac50a0617fcf51bb9c736255b8e",
      "tree": "3ca376bdf4e6996edd9e2dabd569a791f050dae8",
      "parents": [
        "c33fa9f5609e918824446ef9a75319d4a802f1f4"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "message": "kgdb: core\n\nkgdb core code. Handles the protocol and the arch details.\n\n[ mingo@elte.hu: heavily modified, simplified and cleaned up. ]\n[ xemul@openvz.org: use find_task_by_pid_ns ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2342e51ba2b52a7f5b78227e6faa4603ed3632a0",
      "tree": "3976ca80e2d452c4867fbff4278241f6c68cfa90",
      "parents": [
        "714493cd5468f42ca3c4f730a9c17c203abd5059"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Apr 17 10:53:01 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:53:01 2008 -0400"
      },
      "message": "Remove DEBUG_SEMAPHORE from Kconfig\n\nAlpha and FRV mutexes had an option to print lots of debugging messages\nin their semaphore implementation.  This feature has not been carried\nover to the generic semaphores, so remove the stale Kconfig option.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "64ac24e738823161693bf791f87adc802cf529ff",
      "tree": "19c0b0cf314d4394ca580c05b86cdf874ce0a167",
      "parents": [
        "e48b3deee475134585eed03e7afebe4bf9e0dba9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 07 21:55:58 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:34 2008 -0400"
      },
      "message": "Generic semaphore implementation\n\nSemaphores are no longer performance-critical, so a generic C\nimplementation is better for maintainability, debuggability and\nextensibility.  Thanks to Peter Zijlstra for fixing the lockdep\nwarning.  Thanks to Harvey Harrison for pointing out that the\nunlikely() was unnecessary.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e48b3deee475134585eed03e7afebe4bf9e0dba9",
      "tree": "8a026147f9f50baf8cf15c79b84e502ab769088b",
      "parents": [
        "8b91de2e58318d1168bc13d164478c1a7217a63a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 18:34:25 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:27 2008 -0400"
      },
      "message": "Add semaphore.h to kernel_lock.c\n\nkernel_lock.c uses DECLARE_MUTEX, up() and down() without explicitly\nincluding asm/semaphore.h.  This is fragile and leaves it vulnerable\nto breakage during header reorganisations.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "d9024df02ffe74d723d97d552f86de3b34beb8cc",
      "tree": "6e753db66f4404526d6c22a41a3a050dc156db72",
      "parents": [
        "300613e523d53f346f8ff0256921e289da39ed7b"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sat Apr 12 15:20:59 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 15 21:22:17 2008 +1000"
      },
      "message": "[LMB] Restructure allocation loops to avoid unsigned underflow\n\nThere is a potential bug in __lmb_alloc_base where we subtract `size\u0027\nfrom the base address of a reserved region without checking whether\nthe subtraction could wrap around and produce a very large unsigned\nvalue.  In fact it probably isn\u0027t possible to hit the bug in practice\nsince it would only occur in the situation where we can\u0027t satisfy the\nallocation request and there is a reserved region starting at 0.\n\nThis fixes the potential bug by breaking out of the loop when we get\nto the point where the base of the reserved region is less than the\nsize requested.  This also restructures the loop to be a bit easier to\nfollow.\n\nThe same logic got copied into lmb_alloc_nid_unreserved, so this makes\na similar change there.  Here the bug is more likely to be hit because\nthe outer loop  (in lmb_alloc_nid) goes through the memory regions in\nincreasing order rather than decreasing order as __lmb_alloc_base\ndoes, and we are therefore more likely to hit the case where we are\ntesting against a reserved region with a base address of 0.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "300613e523d53f346f8ff0256921e289da39ed7b",
      "tree": "9bbaa63e3abc732d584f39db1ff71a9fd2c01a36",
      "parents": [
        "c50f68c8aea421267ba7995b1c485c281b28add6"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sat Apr 12 15:20:59 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 15 21:22:17 2008 +1000"
      },
      "message": "[LMB] Fix some whitespace and other formatting issues, use pr_debug\n\nThis makes no semantic changes.  It fixes the whitespace and formatting\na bit, gets rid of a local DBG macro and uses the equivalent pr_debug\ninstead, and restructures one while loop that had a function call and\nassignment in the condition to be a bit more readable.  Some comments\nabout functions being called with relocation disabled were also removed\nas they would just be confusing to most readers now that the code is\nin lib/.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "c50f68c8aea421267ba7995b1c485c281b28add6",
      "tree": "38d72f3d6c9e43a4653cc7e330af0aa0dfca3dd5",
      "parents": [
        "4b1d99b37f608b8cc03550033b16212ca9362efd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 20:50:48 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Apr 15 21:22:17 2008 +1000"
      },
      "message": "[LMB] Add lmb_alloc_nid()\n\nA variant of lmb_alloc() that tries to allocate memory on a specified\nNUMA node \u0027nid\u0027 but falls back to normal lmb_alloc() if that fails.\n\nThe caller provides a \u0027nid_range\u0027 function pointer which assists the\nallocator.  It is given args \u0027start\u0027, \u0027end\u0027, and pointer to integer\n\u0027this_nid\u0027.\n\nIt places at \u0027this_nid\u0027 the NUMA node id that corresponds to \u0027start\u0027,\nand returns the end address within \u0027start\u0027 to \u0027end\u0027 at which memory\nassosciated with \u0027nid\u0027 ends.\n\nThis callback allows a platform to use lmb_alloc_nid() in just\nabout any context, even ones in which early_pfn_to_nid() might\nnot be working yet.\n\nThis function will be used by the NUMA setup code on sparc64, and also\nit can be used by powerpc, replacing it\u0027s hand crafted\n\"careful_allocation()\" function in arch/powerpc/mm/numa.c\n\nIf x86 ever converts it\u0027s NUMA support over to using the LMB helpers,\nit can use this too as it has something entirely similar.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "5b06c853ad447636e31d105e95c48ae9abb6bfb5",
      "tree": "cf4d606b54659833a98a4b66c76ee3562bcd1062",
      "parents": [
        "4097d6017576a5e138f442f5e3c393ad00d10f58"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 14 18:51:34 2008 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Apr 14 18:51:34 2008 +0300"
      },
      "message": "slub: Deal with config variable dependencies\n\ncount_partial() is used by both slabinfo and the sysfs proc support. Move\nthe function directly before the beginning of the sysfs code so that it can\nbe easily found. Rework the preprocessor conditional to take into account\nthat slub sysfs support depends on CONFIG_SYSFS *and* CONFIG_SLUB_DEBUG.\n\nMake CONFIG_SLUB_STATS depend on CONFIG_SLUB_DEBUG and CONFIG_SYSFS. There\nis no point of keeping statistics if no one can restrive them.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ac7c5353b189e10cf5dd27399f64f7b013abffc6",
      "tree": "8222d92b774c256d6ec4399c716d76b3f05ddc4b",
      "parents": [
        "a8f75ea70c58546205fb7673be41455b9da5d9a7",
        "120dd64cacd4fb796bca0acba3665553f1d9ecaa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Apr 14 21:11:02 2008 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Apr 14 21:11:02 2008 +1000"
      },
      "message": "Merge branch \u0027linux-2.6\u0027\n"
    },
    {
      "commit": "df39e8ba56a788733d369068c7319e04b1da3cd5",
      "tree": "1e9be853bdb455e341cdbf957656f342cfa2eb9e",
      "parents": [
        "f5572855ec492334d8c3ec0e0e86c31865d5cf07",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ehea/ehea_main.c\n\tdrivers/net/wireless/iwlwifi/Kconfig\n\tdrivers/net/wireless/rt2x00/rt61pci.c\n\tnet/ipv4/inet_timewait_sock.c\n\tnet/ipv6/raw.c\n\tnet/mac80211/ieee80211_sta.c\n"
    },
    {
      "commit": "a1e58bbdc969c3fe60addca7f2729779d22a83c1",
      "tree": "c8b94e446e4e4298be6c43d0fbff94ed6e60c030",
      "parents": [
        "f17520e1f19172057328e50ffed01a42534921e9"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 10 13:38:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 15:34:05 2008 -0700"
      },
      "message": "lzo: fix typo in decompressor\n\nShift of a LE value seems strange, probably meant to shift the cpu-order\nvariable as in the prvious section of the switch statement.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1adaf65ba0398c9a1adc8f3a274533165a4df61",
      "tree": "70c6c5944eb978c6eff55eab1e1b1df7049477ec",
      "parents": [
        "78b4b05db57b04b3ed17dc71259bf1402c04abfa"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Mar 18 00:15:03 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Apr 07 12:15:45 2008 -0500"
      },
      "message": "[SCSI] block: add sg buffer copy helper functions\n\nThis patch adds new three helper functions to copy data between an SG\nlist and a linear buffer.\n\n- sg_copy_from_buffer copies data from linear buffer to an SG list\n\n- sg_copy_to_buffer copies data from an SG list to a linear buffer\n\nWhen the APIs copy data from a linear buffer to an SG list,\nflush_kernel_dcache_page is called. It\u0027s not necessary for everyone\nbut it\u0027s a no-op on most architectures and in general the API is not\nused in performance critical path.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3bb5da3837cc1aa17736b05139c9a22c3794851a",
      "tree": "c92d5684a866542b1cb20641607ac1643ce03a47",
      "parents": [
        "7feb49c82a74bc7c091b8ab2a3f96baa33d08ece",
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "61407f80f72970d52d4339f81c6c3cd03f4ca0f0",
      "tree": "2063040e6e16d5dcc1024c3aedee23195f38b1ba",
      "parents": [
        "84f59370c519449c70dcc813b050f5cbbf0098e7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Apr 03 14:07:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:07:02 2008 -0700"
      },
      "message": "[NET]: srandom32 fixes for networking v2\n\n- Let it update the state of all CPUs. The network stack goes\ninto pains to feed the current IP addresses in, but it is not very\neffective if that is only done for some random CPU instead of all.\nSo change it to feed bits into all CPUs.  I decided to do that lockless \nbecause well somewhat random results are ok.\n\nv2: Drop rename so that this patch doesn\u0027t depend on x86 maintainers\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4aa834a9165150252c5cd953faab4de29d51b87",
      "tree": "e96e20355057dfabd279b7b7c94fedeffed4e020",
      "parents": [
        "e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 13:04:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 13:04:33 2008 -0700"
      },
      "message": "[NETNS]: Declare init_net even without CONFIG_NET defined.\n\nThis does not look good, but there is no other choice. The compilation\nwithout CONFIG_NET is broken and can not be fixed with ease.\n\nAfter that there is no need for the following commits:\n1567ca7eec7664b8be3b07755ac59dc1b1ec76cb\n3edf8fa5ccf10688a9280b5cbca8ed3947c42866\n2d38f9a4f8d2ebdc799f03eecf82345825495711\n\nRevert them.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9edadbf790d72adf6ebed476cb5caf7743e7e4a",
      "tree": "168c9e70f2172e408514b643c2282a6c87744b24",
      "parents": [
        "eb08b6b973cb91311431c6eea3cc232b97152a84"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "lkml@rtr.ca",
        "time": "Fri Mar 28 19:05:25 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:55:49 2008 -0700"
      },
      "message": "fix uevent action-string regression\n\nMark Lord wrote:\n\u003e\n\u003e On boot, syslog is flooded with \"uevent: unsupported action-string;\" messages.\n..\n\u003e Mar 28 14:43:29 shrimp kernel: tty ptyqd: uevent: unsupported\n\u003e action-string; this will be ignored in a future kernel version\n\u003e Mar 28 14:43:29 shrimp kernel: tty ptyqe: uevent: unsupported\n\u003e action-string; this will be ignored in a future kernel version\n\u003e Mar 28 14:43:29 shrimp kernel: tty ptyqf: uevent: unsupported\n\u003e action-string; this will be ignored in a future kernel version\n\u003e Mar 28 14:43:29 shrimp kernel: tty ptyr0: uevent: unsupported\n\u003e action-string; this will be ignored in a future kernel version\n..\n\nThese messages are a regression compared with 2.6.24, which did not\nflood the syslog with them.\n\nThe actual underlying problem was introduced in 2.6.23, when somebody\nmade the string parsing no longer accept nul-terminated strings as a\nvalid input to store_uevent().\n\nEg.  \"add\\0\" was valid prior to 2.6.23, where the code regressed to\nrequire \"add\" without the \u0027\\0\u0027.\n\nThis patch fixes the 2.6.23 / 2.6.24 regressions, by having the code\nonce again tolerate the trailing \u0027\\0\u0027, if present.\n\nAccording to GregKH, this mainly affects older Ubuntu systems, such as\nthe one I have here that requires this fix.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "095d911201b0741e7f326d269a005dba55985acf",
      "tree": "7bb8001d8230214e790d1705b11c8f8afa6cc65e",
      "parents": [
        "bdcde3d71a67e97f25e851f3ca97c9bb5ef03e7f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Mar 28 16:39:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:39:58 2008 -0700"
      },
      "message": "[LIB]: Drop the pcounter itself.\n\nThe knock-out. The pcounter abstraction is not used any longer in the\nkernel.\n\nNot sure whether this should go via netdev tree, but as far as I\nremember it was added via this one, and besides Eric thinks that\nAndrew shouldn\u0027t mind this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d38f9a4f8d2ebdc799f03eecf82345825495711",
      "tree": "66956fb35cf53e9d6c15a28248ab0434a8af7277",
      "parents": [
        "0e5f8be1388093edc324a78ebf241170b258eba3"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Mar 27 14:26:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 14:26:30 2008 -0700"
      },
      "message": "[NETNS]: Do no include NET related headers if CONFIG_NET is not set.\n\nThis fix broken compilation for \u0027allnoconfig\u0027. This was introduced by\nIntroduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 (\"[NET]\nNETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\")\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54f53f2b94feb72622bec7a8563fc487d9f97720",
      "tree": "ab0c4e1dcadd25a00fa7a4febf41bc43b864cf73",
      "parents": [
        "f61fb8a52cdf8b9b6a6badde84aefe58cb35d315",
        "a4083c9271e0a697278e089f2c0b9a95363ada0a"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 26 08:44:18 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 26 08:44:18 2008 +1100"
      },
      "message": "Merge branch \u0027linux-2.6\u0027\n"
    },
    {
      "commit": "b9e76a00749521f2b080fa8a4fb15f66538ab756",
      "tree": "814bd118b1a44b370b080d96cbe19763aebf9f69",
      "parents": [
        "92896bd9fd75b1c993b92874d339a8088bb75560"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:22:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:22:39 2008 -0700"
      },
      "message": "x86-32: Pass the full resource data to ioremap()\n\nIt appears that 64-bit PCI resources cannot possibly ever have worked on\nx86-32 even when the RESOURCES_64BIT config option was set, because any\ndriver that tried to [pci_]ioremap() the resource would have been unable\nto do so because the high 32 bits would have been silently dropped on\nthe floor by the ioremap() routines that only used \"unsigned long\".\n\nChange them to use \"resource_size_t\" instead, which properly encodes the\nwhole 64-bit resource data if RESOURCES_64BIT is enabled.\n\nAcked-by: H. Peter Anvin \u003chpa@kernel.org\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "916fbfb7ae5f8c8f86399794d89e6d273df8826b",
      "tree": "0b3982923e2b4114b83f67cfca9b950004caef9c",
      "parents": [
        "233f112042d0b50170212dbff99c3b34b8773cd3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 12 15:26:34 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Mar 17 08:26:44 2008 -0400"
      },
      "message": "devres: implement pcim_iomap_regions_request_all()\n\nSome drivers need to reserve all PCI BARs to prevent other drivers\nmisusing unoccupied BARs.  pcim_iomap_regions_request_all() requests\nall BARs and iomap specified BARs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b15a3891c916f32a29832886a053a48be2741d4d",
      "tree": "59971b1f3b1961b7c13a170b1a3617431db03ac5",
      "parents": [
        "96e31022a1b6e7cb173cbb3dce1fde7ba548860a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Thu Mar 13 09:13:30 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 13 13:15:52 2008 -0700"
      },
      "message": "avoid endless loops in lib/swiotlb.c\n\nCommit 681cc5cd3efbeafca6386114070e0bfb5012e249 (\"iommu sg merging:\nswiotlb: respect the segment boundary limits\") introduced two\npossibilities for entering an endless loop in lib/swiotlb.c:\n\n - if max_slots is zero (possible if mask is ~0UL)\n - if the number of slots requested fits into a swiotlb segment, but is\n   too large for the part of a segment which remains after considering\n   offset_slots\n\nThis fixes them\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bed04a4413376265746053be2a9cfbfc80c98ec9",
      "tree": "8f582294a655f70496cd08aedeb86de31dbad140",
      "parents": [
        "e37c772e36a7943b2e0bd8f48312e78474c0df15",
        "c463be3520065ef8c05e3cbdf946c69604e91ceb"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Mar 13 15:26:33 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Mar 13 15:26:33 2008 +1100"
      },
      "message": "Merge branch \u0027linux-2.6\u0027\n"
    },
    {
      "commit": "2c6f2db13a2428aa16f54f50232a589ddd5d7d01",
      "tree": "f12c2f6ce3c6a541f5192aa5a2da400024015fb7",
      "parents": [
        "12f981f9028da2402c236544c78b8378a278f830",
        "3634634edd49c115da931998b9540bcc17665b05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:37:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:37:35 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  debugfs: fix sparse warnings\n  Driver core: Fix cleanup when failing device_add().\n  driver core: Remove dpm_sysfs_remove() from error path of device_add()\n  PM: fix new mutex-locking bug in the PM core\n  PM: Do not acquire device semaphores upfront during suspend\n  kobject: properly initialize ksets\n  sysfs: CONFIG_SYSFS_DEPRECATED fix\n  driver core: fix up Kconfig text for CONFIG_SYSFS_DEPRECATED\n"
    },
    {
      "commit": "3715863aa142c4f4c5208f5f3e5e9bac06006d2f",
      "tree": "cd93a86f90bfd8e9bef9cbcf40abde55acc26b80",
      "parents": [
        "7eb701dc7779794d46e02a7fa1380289cb730d46"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Mar 04 14:29:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:17 2008 -0800"
      },
      "message": "iommu: export iommu_is_span_boundary helper function\n\niommu_is_span_boundary is used internally in the IOMMU helper\n(lib/iommu-helper.c), a primitive function that judges whether a memory area\nspans LLD\u0027s segment boundary or not.\n\nIt\u0027s difficult to convert some IOMMUs to use the IOMMU helper but\niommu_is_span_boundary is still useful for them.  So this patch exports it.\n\nThis is needed for the parisc iommu fixes.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4573c488dd531c6e2d308ce8a7413c4a2646207",
      "tree": "2af19d9bb4472d77d057f2c5170f275cf5757765",
      "parents": [
        "d47846c5866b7d98a1173c86a39d810a06647329"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 26 09:36:38 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 04 14:47:05 2008 -0800"
      },
      "message": "kobject: properly initialize ksets\n\nkset_initialize was calling kobject_init_internal() which didn\u0027t\ninitialize the kobject as well as kobject_init() was.  So have\nkobject_init() call kobject_init_internal() and move the logic to\ninitalize the kobject there.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f8303dd3db57bd7ab2062985ad7a9e898a8ac423",
      "tree": "b92086100ed44c8647dba61a21e560923daa336a",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429",
        "74b20dad1c4cc0fd13ceca62fbab808919e1a7ea"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Feb 26 21:08:45 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Feb 26 21:08:45 2008 +1100"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6\n"
    },
    {
      "commit": "4f9d5f4a353440f2265781bfa641587964901861",
      "tree": "4e0ecda794f226859349b67c18a0a3dc43155f17",
      "parents": [
        "8ca3ed87db062201e1fa15b64a9214e193fc3a8a"
      ],
      "author": {
        "name": "Hoang-Nam Nguyen",
        "email": "hnguyen@linux.vnet.ibm.com",
        "time": "Sat Feb 23 15:23:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:14 2008 -0800"
      },
      "message": "lib/vsprintf.c: fix bug omitting minus sign of numbers (module_param)\n\nlib/vsprintf.c: Fix bug omitting minus sign of numbers (module_param)\n\nSigned-off-by: Hoang-Nam Nguyen \u003chnguyen@de.ibm.com\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"
    }
  ],
  "next": "fddd9cf82c9f9617d134ae878a8f6b116ebbd43d"
}
