)]}'
{
  "log": [
    {
      "commit": "881adb85358309ea9c6f707394002719982ec607",
      "tree": "e4ffc2f6ca6013bab97bdb77b80e98b46a8d01e1",
      "parents": [
        "6e644c3126149b65460610fe5a00d8a162092abe"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 01:48:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "proc: always do -\u003erelease\n\nCurrent two-stage scheme of removing PDE emphasizes one bug in proc:\n\n\t\topen\n\t\t\t\trmmod\n\t\t\t\tremove_proc_entry\n\t\tclose\n\n-\u003erelease won\u0027t be called because -\u003eproc_fops were cleared.  In simple\ncases it\u0027s small memory leak.\n\nFor every -\u003eopen, -\u003erelease has to be done.  List of openers is introduced\nwhich is traversed at remove_proc_entry() if neeeded.\n\nDiscussions with Al long ago (sigh).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e644c3126149b65460610fe5a00d8a162092abe",
      "tree": "74d324773bc25767832d19c662c7c4cf489554b3",
      "parents": [
        "cd9a6f1078ed07fe919667b73e829f3bac485573"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "move proc_kmsg_operations to fs/proc/internal.h\n\nThis patch moves the extern of struct proc_kmsg_operations to\nfs/proc/internal.h and adds an #include \"internal.h\" to fs/proc/kmsg.c\nso that the latter sees the former.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d805dda412346225a50af2d399d958a4bc676c38",
      "tree": "34ac3439f553627677ec7d3531f40cbd254a6e0c",
      "parents": [
        "abe19b7b822a8fdbe3dbfd6e066d0698b4eefb06"
      ],
      "author": {
        "name": "Abdel Benamrouche",
        "email": "draconux@gmail.com",
        "time": "Fri Jul 25 01:48:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "fs/partition/check.c: fix return value warning\n\nfs/partitions/check.c:381: warning: ignoring return value of ___device_add___,\n  declared with attribute warn_unused_result\n\n[akpm@linux-foundation.org: multiple-return-statements-per-function are evil]\nSigned-off-by: Abdel Benamrouche \u003cdraconux@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e",
      "tree": "064ce99674f144b681f8d365d1e20d99c8078d0c",
      "parents": [
        "f1a43f93f0f3bab418800eaccb9e2e3b5427e173"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc: do not use a negative value to re-enable msgmni automatic recomputing\n\nThis patch proposes an alternative to the \"magical\npositive-versus-negative number trick\" Andrew complained about last week\nin http://lkml.org/lkml/2008/6/24/418.\n\nThis had been introduced with the patches that scale msgmni to the amount\nof lowmem.  With these patches, msgmni has a registered notification\nroutine that recomputes msgmni value upon memory add/remove or ipc\nnamespace creation/ removal.\n\nWhen msgmni is changed from user space (i.e.  value written to the proc\nfile), that notification routine is unregistered, and the way to make it\nregistered back is to write a negative value into the proc file.  This is\nthe \"magical positive-versus-negative number trick\".\n\nTo fix this, a new proc file is introduced: /proc/sys/kernel/auto_msgmni.\nThis file acts as ON/OFF for msgmni automatic recomputing.\n\nWith this patch, the process is the following:\n1) kernel boots in \"automatic recomputing mode\"\n   /proc/sys/kernel/msgmni contains the value that has been computed (depends\n                           on lowmem)\n   /proc/sys/kernel/automatic_msgmni contains \"1\"\n\n2) echo \u003cval\u003e \u003e /proc/sys/kernel/msgmni\n   . sets msg_ctlmni to \u003cval\u003e\n   . de-activates automatic recomputing (i.e. if, say, some memory is added\n     msgmni won\u0027t be recomputed anymore)\n   . /proc/sys/kernel/automatic_msgmni now contains \"0\"\n\n3) echo \"0\" \u003e /proc/sys/kernel/automatic_msgmni\n   . de-activates msgmni automatic recomputing\n     this has the same effect as 2) except that msg_ctlmni\u0027s value stays\n     blocked at its current value)\n\n3) echo \"1\" \u003e /proc/sys/kernel/automatic_msgmni\n   . recomputes msgmni\u0027s value based on the current available memory size\n     and number of ipc namespaces\n   . re-activates automatic recomputing for msgmni.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Solofo Ramangalahy \u003cSolofo.Ramangalahy@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "380af1b33b3ff92df5cda96329b58f5d1b6b5a53",
      "tree": "9a47d66c18e4aae2093a708a7509c0f188ee0bd1",
      "parents": [
        "a1193f8ec091cd8fd309cc2982abe4499f6f2b4d"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: rewrite undo list locking\n\nThe attached patch:\n- reverses the locking order of ulp-\u003elock and sem_lock:\n  Previously, it was first ulp-\u003elock, then inside sem_lock.\n  Now it\u0027s the other way around.\n- converts the undo structure to rcu.\n\nBenefits:\n- With the old locking order, IPC_RMID could not kfree the undo structures.\n  The stale entries remained in the linked lists and were released later.\n- The patch fixes a a race in semtimedop(): if both IPC_RMID and a semget() that\n  recreates exactly the same id happen between find_alloc_undo() and sem_lock,\n  then semtimedop() would access already kfree\u0027d memory.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "a1193f8ec091cd8fd309cc2982abe4499f6f2b4d",
      "tree": "b12f2ed903fea86cfc1fd34ddb464ecfc59e5452",
      "parents": [
        "2c0c29d414087f3b021059673c20a7088f5f1fff"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: convert sem_array.sem_pending to struct list_head\n\nsem_array.sem_pending is a double linked list, the attached patch converts\nit to struct list_head.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "2c0c29d414087f3b021059673c20a7088f5f1fff",
      "tree": "713b226382814837840b0ed2a42b909dbb6cfaf9",
      "parents": [
        "4daa28f6d8f5cda8ea0f55048e3c8811c384cbdd"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: remove unused entries from struct sem_queue\n\nsem_queue.sma and sem_queue.id were never used, the attached patch removes\nthem.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "4daa28f6d8f5cda8ea0f55048e3c8811c384cbdd",
      "tree": "934bfbd7932a18da8295d9e21727985d1ea16311",
      "parents": [
        "00c2bf85d8febfcfddde63822043462b026134ff"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: convert undo structures to struct list_head\n\nThe undo structures contain two linked lists, the attached patch replaces\nthem with generic struct list_head lists.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "f9c46d6ea5ce138a886c3a0f10a46130afab75f5",
      "tree": "1eedc2428866fb0b3f9f864e52ffb6eaf00911a4",
      "parents": [
        "3219b3b7456d5cf15ba7b1fe7b1bcf15ce8840e2"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "idr: make idr_find rcu-safe\n\nMake idr_find rcu-safe: it can now be called inside an rcu_read critical\nsection.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "944ca05c7b4972f2ebf37262e0f4933d178ad6db",
      "tree": "5fb7558b8247bb56b7c1781808e7eaf08e8fff4e",
      "parents": [
        "f098ad655f4dd8e3da98ffbeda9cedcc4459c01a"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:47:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "idr: error checking factorization\n\nDo some code factorization in the return code analysis.\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\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "2027d1abc25ff770cc3bc936abd33570ce85d85a",
      "tree": "0b98b112518d3325deaaad5e8ee78c001235471e",
      "parents": [
        "95b68dec0d52c7b8fea3698b3938cf3ab936436b"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:47:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "idr: change the idr structure\n\nAfter scalability problems have been detected when using the sysV ipcs, I have\nproposed to use an RCU based implementation of the IDR api instead (see\nthreads http://lkml.org/lkml/2008/4/11/212 and\nhttp://lkml.org/lkml/2008/4/29/295).\n\nThis resulted in many people asking to convert the idr API and make it rcu\nsafe (because most of the code was duplicated and thus unmaintanable and\nunreviewable).\n\nSo here is a first attempt.\n\nThe important change wrt to the idr API itself is during idr removes: idr\nlayers are freed after a grace period, instead of being moved to the free\nlist.\n\nThe important change wrt to ipcs, is that idr_find() can now be called\nlocklessly inside a rcu read critical section.\n\nHere are the results I\u0027ve got for the pmsg test sent by Manfred:\n\n   2.6.25-rc3-mm1   2.6.25-rc3-mm1+   2.6.25-mm1   Patched 2.6.25-mm1\n1         1168441           1064021       876000               947488\n2         1094264            921059      1549592              1730685\n3         2082520           1738165      1694370              2324880\n4         2079929           1695521       404553              2400408\n5         2898758            406566       391283              3246580\n6         2921417            261275       263249              3752148\n7         3308761            126056       191742              4243142\n8         3329456            100129       141722              4275780\n\n1st column: stock 2.6.25-rc3-mm1\n2nd column: 2.6.25-rc3-mm1 + ipc patches (store ipcs into idrs)\n3nd column: stock 2.6.25-mm1\n4th column: 2.6.25-mm1 + this pacth series.\n\nThis patch:\n\nAdd an rcu_head to the idr_layer structure in order to free it after a grace\nperiod.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "95b68dec0d52c7b8fea3698b3938cf3ab936436b",
      "tree": "f56e090e0b6831c1ba416189e9fc32bfeb3ebac9",
      "parents": [
        "8448502cfc915f70e3f8923849ade27d472044cb"
      ],
      "author": {
        "name": "Chandru",
        "email": "chandru@in.ibm.com",
        "time": "Fri Jul 25 01:47:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "calgary iommu: use the first kernels TCE tables in kdump\n\nkdump kernel fails to boot with calgary iommu and aacraid driver on a x366\nbox.  The ongoing dma\u0027s of aacraid from the first kernel continue to exist\nuntil the driver is loaded in the kdump kernel.  Calgary is initialized\nprior to aacraid and creation of new tce tables causes wrong dma\u0027s to\noccur.  Here we try to get the tce tables of the first kernel in kdump\nkernel and use them.  While in the kdump kernel we do not allocate new tce\ntables but instead read the base address register contents of calgary\niommu and use the tables that the registers point to.  With these changes\nthe kdump kernel and hence aacraid now boots normally.\n\nSigned-off-by: Chandru Siddalingappa \u003cchandru@in.ibm.com\u003e\nAcked-by: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3da1c84c00c7e5fa8348336bd8c342f9128b0f14",
      "tree": "af960c65a670319fa86846a493a6d97f9fb37cd9",
      "parents": [
        "8616a89ab761239c963eea3a63be383f127cc7e8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: make get_online_cpus() useable for work-\u003efunc()\n\nworkqueue_cpu_callback(CPU_DEAD) flushes cwq-\u003ethread under\ncpu_maps_update_begin().  This means that the multithreaded workqueues\ncan\u0027t use get_online_cpus() due to the possible deadlock, very bad and\nvery old problem.\n\nIntroduce the new state, CPU_POST_DEAD, which is called after\ncpu_hotplug_done() but before cpu_maps_update_done().\n\nChange workqueue_cpu_callback() to use CPU_POST_DEAD instead of CPU_DEAD.\nThis means that create/destroy functions can\u0027t rely on get_online_cpus()\nany longer and should take cpu_add_remove_lock instead.\n\n[akpm@linux-foundation.org: fix CONFIG_SMP\u003dn]\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.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": "db700897224b5ebdf852f2d38920ce428940d059",
      "tree": "98f0052929e79b35393352addde70fa5e97b8dee",
      "parents": [
        "1a4d9b0aa0d3c50314e57525a5e5ec2cfc48b4c8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: implement flush_work()\n\nMost of users of flush_workqueue() can be changed to use cancel_work_sync(),\nbut sometimes we really need to wait for the completion and cancelling is not\nan option. schedule_on_each_cpu() is good example.\n\nAdd the new helper, flush_work(work), which waits for the completion of the\nspecific work_struct. More precisely, it \"flushes\" the result of of the last\nqueue_work() which is visible to the caller.\n\nFor example, this code\n\n\tqueue_work(wq, work);\n\t/* WINDOW */\n\tqueue_work(wq, work);\n\n\tflush_work(work);\n\ndoesn\u0027t necessary work \"as expected\". What can happen in the WINDOW above is\n\n\t- wq starts the execution of work-\u003efunc()\n\n\t- the caller migrates to another CPU\n\nnow, after the 2nd queue_work() this work is active on the previous CPU, and\nat the same time it is queued on another. In this case flush_work(work) may\nreturn before the first work-\u003efunc() completes.\n\nIt is trivial to add another helper\n\n\tint flush_work_sync(struct work_struct *work)\n\t{\n\t\treturn flush_work(work) || wait_on_work(work);\n\t}\n\nwhich works \"more correctly\", but it has to iterate over all CPUs and thus\nit much slower than flush_work().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nAcked-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a94e2d408eaedbd85aae259621d46fafc10479a2",
      "tree": "d853f7b2e183875c6ad90fb6ab38e084b037d043",
      "parents": [
        "182c515fd2a942623aed4e4e0e0b37fe96571b05"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: kill mm-\u003ecore_done\n\nNow that we have core_state-\u003edumper list we can use it to wake up the\nsub-threads waiting for the coredump completion.\n\nThis uglifies the code and .text grows by 47 bytes, but otoh mm_struct\nlessens by sizeof(struct completion).  Also, with this change we can\ndecouple exit_mm() from the coredumping code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b564daf806d492dd4f7afe9b6c83b8d35d137669",
      "tree": "fbd6d186035b9a0a270fca97887da5d6b106a60c",
      "parents": [
        "9d5b327bf198d2720666de958dcc2ae219d86952"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: construct the list of coredumping threads at startup time\n\nbinfmt-\u003ecore_dump() has to iterate over the all threads in system in order\nto find the coredumping threads and construct the list using the\nGFP_ATOMIC allocations.\n\nWith this patch each thread allocates the list node on exit_mm()\u0027s stack and\nadds itself to the list.\n\nThis allows us to do further changes:\n\n\t- simplify -\u003ecore_dump()\n\n\t- change exit_mm() to clear -\u003emm first, then wait for -\u003ecore_done.\n\t  this makes the coredumping process visible to oom_kill\n\n\t- kill mm-\u003ecore_done\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5f1cc8c1828486a61ab3e575da6e2c62b34d399",
      "tree": "9cc88e7d1dae063482e1e9117ded747578cbd7ad",
      "parents": [
        "8cd9c249128a59e8e833d454a784b0cbd338d468"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: turn core_state-\u003enr_threads into atomic_t\n\nTurn core_state-\u003enr_threads into atomic_t and kill now unneeded\ndown_write(\u0026mm-\u003emmap_sem) in exit_mm().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "999d9fc1670bc082928b93b11d1f2e0e417d973c",
      "tree": "e540e7fd2fab970ba2be5e39ac9f8282a373bc24",
      "parents": [
        "32ecb1f26dd50eeaac4e3f4dea4541c97848e459"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: move mm-\u003ecore_waiters into struct core_state\n\nMove mm-\u003ecore_waiters into \"struct core_state\" allocated on stack.  This\nshrinks mm_struct a little bit and allows further changes.\n\nThis patch mostly does s/core_waiters/core_state.  The only essential\nchange is that coredump_wait() must clear mm-\u003ecore_state before return.\n\nThe coredump_wait()\u0027s path is uglified and .text grows by 30 bytes, this\nis fixed by the next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32ecb1f26dd50eeaac4e3f4dea4541c97848e459",
      "tree": "4c2f3b6af9ff6babf2f395432de8e870508f2ec3",
      "parents": [
        "24d5288f06ed8b3a368eba967d587cdb012dfdf7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: turn mm-\u003ecore_startup_done into the pointer to struct core_state\n\nmm-\u003ecore_startup_done points to \"struct completion startup_done\" allocated\non the coredump_wait()\u0027s stack.  Introduce the new structure, core_state,\nwhich holds this \"struct completion\".  This way we can add more info\nvisible to the threads participating in coredump without enlarging\nmm_struct.\n\nNo changes in affected .o files.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "246bb0b1deb29726990620d8b5e55ca29f331362",
      "tree": "5173b9e0c1d18934a8b2693c690a7162acb1bca8",
      "parents": [
        "7b34e4283c685f5cc6ba6d30e939906eee0d4bcf"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "kill PF_BORROWED_MM in favour of PF_KTHREAD\n\nKill PF_BORROWED_MM.  Change use_mm/unuse_mm to not play with -\u003eflags, and\ndo s/PF_BORROWED_MM/PF_KTHREAD/ for a couple of other users.\n\nNo functional changes yet.  But this allows us to do further\nfixes/cleanups.\n\noom_kill/ptrace/etc often check \"p-\u003emm !\u003d NULL\" to filter out the\nkthreads, this is wrong because of use_mm().  The problem with\nPF_BORROWED_MM is that we need task_lock() to avoid races.  With this\npatch we can check PF_KTHREAD directly, or use a simple lockless helper:\n\n\t/* The result must not be dereferenced !!! */\n\tstruct mm_struct *__get_task_mm(struct task_struct *tsk)\n\t{\n\t\tif (tsk-\u003eflags \u0026 PF_KTHREAD)\n\t\t\treturn NULL;\n\t\treturn tsk-\u003emm;\n\t}\n\nNote also ecard_task().  It runs with -\u003emm !\u003d NULL, but it\u0027s the kernel\nthread without PF_BORROWED_MM.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b34e4283c685f5cc6ba6d30e939906eee0d4bcf",
      "tree": "6822edd5c63db79e97b8c5379a18a058bc5405ff",
      "parents": [
        "3d749b9e676b26584a47e75c235aa6f69d0697ae"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "introduce PF_KTHREAD flag\n\nIntroduce the new PF_KTHREAD flag to mark the kernel threads.  It is set\nby INIT_TASK() and copied to the forked childs (we could set it in\nkthreadd() along with PF_NOFREEZE instead).\n\ndaemonize() was changed as well.  In that case testing of PF_KTHREAD is\nracy, but daemonize() is hopeless anyway.\n\nThis flag is cleared in do_execve(), before search_binary_handler().\nProbably not the best place, we can do this in exec_mmap() or in\nstart_thread(), or clear it along with PF_FORKNOEXEC.  But I think this\ndoesn\u0027t matter in practice, and if do_execve() fails kthread should die\nsoon.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "364d3c13c17f45da6d638011078d4c4d3070d719",
      "tree": "2e6215dd458010cd92786ac7d67053c5d5171c74",
      "parents": [
        "f22ab814a24e654b1de24db0c5f8b57b5ab2026a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "ptrace: give more respect to SIGKILL\n\nptrace_stop() has some complicated checks to prevent the scheduling in the\nTASK_TRACED state with the pending SIGKILL, but these checks are racy, and\nthey depend on arch_ptrace_stop_needed().\n\nThis patch assumes that the traced task should die asap if it was killed by\nSIGKILL, in that case schedule()-\u003esignal_pending_state() has no reason to\nignore the TASK_WAKEKILL part of TASK_TRACED, and we can kill this nasty\nspecial case.\n\nNote: do_exit()-\u003eptrace_notify() is special, the killed task can already\ndequeue SIGKILL at this point. Another indication that fatal_signal_pending()\nis not exactly right.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12b9804419cfb1c1bdac413f6c373af3b88d154b",
      "tree": "eff535da51774e53395a9fec0418bc5332009d3e",
      "parents": [
        "cede86acd8bd5d2205dec28db8ac86410a3a19e8"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "res_counter: limit change support ebusy\n\nAdd an interface to set limit.  This is necessary to memory resource\ncontroller because it shrinks usage at set limit.\n\nOther controllers may not need this interface to shrink usage because\nshrinking is not necessary or impossible.\n\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9b0ed51483cc2fc42bb801b6675c4231b0e4634",
      "tree": "1d322b4bfcaad3296752f6efcab918d1b13b50a3",
      "parents": [
        "69029cd550284e32de13d6dd2f77b723c8a0e444"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: helper function for relcaim from shmem.\n\nA new call, mem_cgroup_shrink_usage() is added for shmem handling and\nrelacing non-standard usage of mem_cgroup_charge/uncharge.\n\nNow, shmem calls mem_cgroup_charge() just for reclaim some pages from\nmem_cgroup.  In general, shmem is used by some process group and not for\nglobal resource (like file caches).  So, it\u0027s reasonable to reclaim pages\nfrom mem_cgroup where shmem is mainly used.\n\n[hugh@veritas.com: shmem_getpage release page sooner]\n[hugh@veritas.com: mem_cgroup_shrink_usage css_put]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69029cd550284e32de13d6dd2f77b723c8a0e444",
      "tree": "b57b87e5025b6c01722f39302cb98d0dfcd58940",
      "parents": [
        "e8589cc189f96b87348ae83ea4db38eaac624135"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: remove refcnt from page_cgroup\n\nmemcg: performance improvements\n\nPatch Description\n 1/5 ... remove refcnt fron page_cgroup patch (shmem handling is fixed)\n 2/5 ... swapcache handling patch\n 3/5 ... add helper function for shmem\u0027s memory reclaim patch\n 4/5 ... optimize by likely/unlikely ppatch\n 5/5 ... remove redundunt check patch (shmem handling is fixed.)\n\nUnix bench result.\n\n\u003d\u003d 2.6.26-rc2-mm1 + memory resource controller\nExecl Throughput                           2915.4 lps   (29.6 secs, 3 samples)\nC Compiler Throughput                      1019.3 lpm   (60.0 secs, 3 samples)\nShell Scripts (1 concurrent)               5796.0 lpm   (60.0 secs, 3 samples)\nShell Scripts (8 concurrent)               1097.7 lpm   (60.0 secs, 3 samples)\nShell Scripts (16 concurrent)               565.3 lpm   (60.0 secs, 3 samples)\nFile Read 1024 bufsize 2000 maxblocks    1022128.0 KBps  (30.0 secs, 3 samples)\nFile Write 1024 bufsize 2000 maxblocks   544057.0 KBps  (30.0 secs, 3 samples)\nFile Copy 1024 bufsize 2000 maxblocks    346481.0 KBps  (30.0 secs, 3 samples)\nFile Read 256 bufsize 500 maxblocks      319325.0 KBps  (30.0 secs, 3 samples)\nFile Write 256 bufsize 500 maxblocks     148788.0 KBps  (30.0 secs, 3 samples)\nFile Copy 256 bufsize 500 maxblocks       99051.0 KBps  (30.0 secs, 3 samples)\nFile Read 4096 bufsize 8000 maxblocks    2058917.0 KBps  (30.0 secs, 3 samples)\nFile Write 4096 bufsize 8000 maxblocks   1606109.0 KBps  (30.0 secs, 3 samples)\nFile Copy 4096 bufsize 8000 maxblocks    854789.0 KBps  (30.0 secs, 3 samples)\nDc: sqrt(2) to 99 decimal places         126145.2 lpm   (30.0 secs, 3 samples)\n\n                     INDEX VALUES\nTEST                                        BASELINE     RESULT      INDEX\n\nExecl Throughput                                43.0     2915.4      678.0\nFile Copy 1024 bufsize 2000 maxblocks         3960.0   346481.0      875.0\nFile Copy 256 bufsize 500 maxblocks           1655.0    99051.0      598.5\nFile Copy 4096 bufsize 8000 maxblocks         5800.0   854789.0     1473.8\nShell Scripts (8 concurrent)                     6.0     1097.7     1829.5\n                                                                 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n     FINAL SCORE                                                     991.3\n\n\u003d\u003d 2.6.26-rc2-mm1 + this set \u003d\u003d\nExecl Throughput                           3012.9 lps   (29.9 secs, 3 samples)\nC Compiler Throughput                       981.0 lpm   (60.0 secs, 3 samples)\nShell Scripts (1 concurrent)               5872.0 lpm   (60.0 secs, 3 samples)\nShell Scripts (8 concurrent)               1120.3 lpm   (60.0 secs, 3 samples)\nShell Scripts (16 concurrent)               578.0 lpm   (60.0 secs, 3 samples)\nFile Read 1024 bufsize 2000 maxblocks    1003993.0 KBps  (30.0 secs, 3 samples)\nFile Write 1024 bufsize 2000 maxblocks   550452.0 KBps  (30.0 secs, 3 samples)\nFile Copy 1024 bufsize 2000 maxblocks    347159.0 KBps  (30.0 secs, 3 samples)\nFile Read 256 bufsize 500 maxblocks      314644.0 KBps  (30.0 secs, 3 samples)\nFile Write 256 bufsize 500 maxblocks     151852.0 KBps  (30.0 secs, 3 samples)\nFile Copy 256 bufsize 500 maxblocks      101000.0 KBps  (30.0 secs, 3 samples)\nFile Read 4096 bufsize 8000 maxblocks    2033256.0 KBps  (30.0 secs, 3 samples)\nFile Write 4096 bufsize 8000 maxblocks   1611814.0 KBps  (30.0 secs, 3 samples)\nFile Copy 4096 bufsize 8000 maxblocks    847979.0 KBps  (30.0 secs, 3 samples)\nDc: sqrt(2) to 99 decimal places         128148.7 lpm   (30.0 secs, 3 samples)\n\n                     INDEX VALUES\nTEST                                        BASELINE     RESULT      INDEX\n\nExecl Throughput                                43.0     3012.9      700.7\nFile Copy 1024 bufsize 2000 maxblocks         3960.0   347159.0      876.7\nFile Copy 256 bufsize 500 maxblocks           1655.0   101000.0      610.3\nFile Copy 4096 bufsize 8000 maxblocks         5800.0   847979.0     1462.0\nShell Scripts (8 concurrent)                     6.0     1120.3     1867.2\n                                                                 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n     FINAL SCORE                                                    1004.6\n\nThis patch:\n\nRemove refcnt from page_cgroup().\n\nAfter this,\n\n * A page is charged only when !page_mapped() \u0026\u0026 no page_cgroup is assigned.\n\t* Anon page is newly mapped.\n\t* File page is added to mapping-\u003etree.\n\n * A page is uncharged only when\n\t* Anon page is fully unmapped.\n\t* File page is removed from LRU.\n\nThere is no change in behavior from user\u0027s view.\n\nThis patch also removes unnecessary calls in rmap.c which was used only for\nrefcnt mangement.\n\n[akpm@linux-foundation.org: fix warning]\n[hugh@veritas.com: fix shmem_unuse_inode charging]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8589cc189f96b87348ae83ea4db38eaac624135",
      "tree": "6693422dc81e6da78c4ad892b0d326fb7f946dda",
      "parents": [
        "508b7be0a5b06b64203512ed9b34191cddc83f56"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: better migration handling\n\nThis patch changes page migration under memory controller to use a\ndifferent algorithm.  (thanks to Christoph for new idea.)\n\nBefore:\n - page_cgroup is migrated from an old page to a new page.\nAfter:\n - a new page is accounted , no reuse of page_cgroup.\n\nPros:\n\n - We can avoid compliated lock depndencies and races in migration.\n\nCons:\n\n - new param to mem_cgroup_charge_common().\n\n - mem_cgroup_getref() is added for handling ref_cnt ping-pong.\n\nThis version simplifies complicated lock dependency in page migraiton\nunder memory resource controller.\n\n  new refcnt sequence is following.\n\na mapped page:\n  prepage_migration() ..... +1 to NEW page\n  try_to_unmap()      ..... all refs to OLD page is gone.\n  move_pages()        ..... +1 to NEW page if page cache.\n  remap...            ..... all refs from *map* is added to NEW one.\n  end_migration()     ..... -1 to New page.\n\n  page\u0027s mapcount + (page_is_cache) refs are added to NEW one.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e885dcde75685e09f23cffae1f6d5169c105b8a0",
      "tree": "711a91e83fad632c194700839d3e47631aee677a",
      "parents": [
        "856c13aa1ff6136c1968414fdea5938ea9d5ebf2"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Fri Jul 25 01:47:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "cgroup_clone: use pid of newly created task for new cgroup\n\ncgroup_clone creates a new cgroup with the pid of the task.  This works\ncorrectly for unshare, but for clone cgroup_clone is called from\ncopy_namespaces inside copy_process, which happens before the new pid is\ncreated.  As a result, the new cgroup was created with current\u0027s pid.\nThis patch:\n\n\t1. Moves the call inside copy_process to after the new pid\n\t   is created\n\t2. Passes the struct pid into ns_cgroup_clone (as it is not\n\t   yet attached to the task)\n\t3. Passes a name from ns_cgroup_clone() into cgroup_clone()\n\t   so as to keep cgroup_clone() itself simpler\n\t4. Uses pid_vnr() to get the process id value, so that the\n\t   pid used to name the new cgroup is always the pid as it\n\t   would be known to the task which did the cloning or\n\t   unsharing.  I think that is the most intuitive thing to\n\t   do.  This way, task t1 does clone(CLONE_NEWPID) to get\n\t   t2, which does clone(CLONE_NEWPID) to get t3, then the\n\t   cgroup for t3 will be named for the pid by which t2 knows\n\t   t3.\n\n(Thanks to Dan Smith for finding the main bug)\n\nChangelog:\n\tJune 11: Incorporate Paul Menage\u0027s feedback:  don\u0027t pass\n\t         NULL to ns_cgroup_clone from unshare, and reduce\n\t\t patch size by using \u0027nodename\u0027 in cgroup_clone.\n\tJune 10: Original version\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Serge Hallyn \u003cserge@us.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nTested-by: Dan Smith \u003cdanms@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "856c13aa1ff6136c1968414fdea5938ea9d5ebf2",
      "tree": "deee908f253c77cbcb868a915e45bfb2ed99383c",
      "parents": [
        "f92523e3a7861f5dbd76021e0719a35fe8771f2d"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Jul 25 01:47:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:36 2008 -0700"
      },
      "message": "cgroup files: convert res_counter_write() to be a cgroups write_string() handler\n\nCurrently res_counter_write() is a raw file handler even though it\u0027s\nultimately taking a number, since in some cases it wants to\npre-process the string when converting it to a number.\n\nThis patch converts res_counter_write() from a raw file handler to a\nwrite_string() handler; this allows some of the boilerplate\ncopying/locking/checking to be removed, and simplies the cleanup path,\nsince these functions are now performed by the cgroups framework.\n\n[lizf@cn.fujitsu.com: build fix]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84eea842886ac35020be6043e04748ed22014359",
      "tree": "acd2bb7c3bc267a032b5e637c598708f38c68cb3",
      "parents": [
        "e788e066c651b1bbf4a927dc95395c1aa13be436"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Jul 25 01:47:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "cgroups: misc cleanups to write_string patchset\n\nThis patch contains cleanups suggested by reviewers for the recent\nwrite_string() patchset:\n\n- pair cgroup_lock_live_group() with cgroup_unlock() in cgroup.c for\n  clarity, rather than directly unlocking cgroup_mutex.\n\n- make the return type of cgroup_lock_live_group() a bool\n\n- use a #define\u0027d constant for the local buffer size in read/write functions\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e788e066c651b1bbf4a927dc95395c1aa13be436",
      "tree": "8ffb80dc5917ba5b77e17ab2b71afcea3aadfef8",
      "parents": [
        "db3b14978abc02041046ed8353f0899cb58ffffc"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Jul 25 01:46:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "cgroup files: move the release_agent file to use typed handlers\n\nAdds cgroup_release_agent_write() and cgroup_release_agent_show()\nmethods to handle writing/reading the path to a cgroup hierarchy\u0027s\nrelease agent. As a result, cgroup_common_file_read() is now unnecessary.\n\nAs part of the change, a previously-tolerated race in\ncgroup_release_agent() is avoided by copying the current\nrelease_agent_path prior to calling call_usermode_helper().\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db3b14978abc02041046ed8353f0899cb58ffffc",
      "tree": "355ba027c6354bd13bcbb5318e8478b3de4599e9",
      "parents": [
        "ce16b49d37e748574f7fabc2726268d542d0aa1a"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Jul 25 01:46:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "cgroup files: add write_string cgroup control file method\n\nThis patch adds a write_string() method for cgroups control files. The\nsemantics are that a buffer is copied from userspace to kernelspace\nand the handler function invoked on that buffer.  The buffer is\nguaranteed to be nul-terminated, and no longer than max_write_len\n(defaulting to 64 bytes if unspecified). Later patches will convert\nexisting raw file write handlers in control group subsystems to use\nthis method.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce16b49d37e748574f7fabc2726268d542d0aa1a",
      "tree": "dc079efb12661484efa7dd2659a38cfd7b3f3fd5",
      "parents": [
        "8947f9d5b361ce927be6d5c11fed57905b7a4100"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Jul 25 01:46:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "cgroup files: clean up whitespace in struct cftype\n\nThis patch removes some extraneous spaces from method declarations in\nstruct cftype, to fit in with conventional kernel style.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2992db2a4f7ae10f61d5bc68c7c1528cec639e2",
      "tree": "a21366b27d11dbaef7aa810d50a935ef08538813",
      "parents": [
        "7e9abd89cbdf9b73d327d8173343abce9022609b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 25 01:46:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "Mark res_counter_charge(_locked) with __must_check\n\nIgnoring their return values may result in counter underflow in the future -\nwhen the value charged will be uncharged (or in \"leaks\" - when the value is\nnot uncharged).\n\nThis also prevents from using charging routines to decrement the\ncounter value (i.e. uncharge it) ;)\n\n(Current code works OK with res_counter, however :) )\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "657d3bfa98e542271b449f8cd84c7501ae2b2255",
      "tree": "1e618dfbb055f2508aca8f0e503e0b525f2b4d0b",
      "parents": [
        "03b063436ca1076301de58d9d628f610ab5404ad"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: implement sending information via netlink about user below quota\n\nSometimes it may be useful for userspace to know (e.g.  for some hosting\nguys) that some user stopped exceeding his hardlimit or softlimit in\nquotas.  Implement sending of such events to userspace via quota netlink\nprotocol so that they don\u0027t have to poll for such events.  Based on idea\nand initial implementation by Vladislav Bogdanov.\n\nCc: Vladislav Bogdanov \u003cslava@nsys.by\u003e\nSigned-off-by: Jan Kara \u003cjack@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": "03b063436ca1076301de58d9d628f610ab5404ad",
      "tree": "c0c21837706d6c462cef3183f5e514405d1af993",
      "parents": [
        "74abb9890dafb12a50dc140de215ed477beb1b88"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: convert macros to inline functions\n\nSigned-off-by: Jan Kara \u003cjack@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": "74abb9890dafb12a50dc140de215ed477beb1b88",
      "tree": "30188b5932e54bc67fb88c0d05e5ba631fe9b698",
      "parents": [
        "02a55ca87185e114e5d298a8d00608501dbabf67"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: move function-macros from quota.h to quotaops.h\n\nMove declarations of some macros, which should be in fact functions to\nquotaops.h.  This way they can be later converted to inline functions\nbecause we can now use declarations from quota.h.  Also add necessary\nincludes of quotaops.h to a few files.\n\n[akpm@linux-foundation.org: fix JFS build]\n[akpm@linux-foundation.org: fix UFS build]\n[vegard.nossum@gmail.com: fix QUOTA\u003dn build]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Arjen Pool \u003carjenpool@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": "02a55ca87185e114e5d298a8d00608501dbabf67",
      "tree": "958b60f8fb2936d7207146ff99be431c2c17edc5",
      "parents": [
        "b85f4b87a511bea86dac68c4f0fabaee2cac6c4c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: cleanup loop in sync_dquots()\n\nMake loop in sync_dquots() checking whether there\u0027s something to write\nmore readable, remove useless variable and macro info_any_dirty() which\nis used only in this place.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \"Vegard Nossum\" \u003cvegard.nossum@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": "b85f4b87a511bea86dac68c4f0fabaee2cac6c4c",
      "tree": "978e541e47effe07119862f04becbb4f79b02742",
      "parents": [
        "b48d380541f634663b71766005838edbb7261685"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: rename quota functions from upper case, make bigger ones non-inline\n\nCleanup quotaops.h: Rename functions from uppercase to lowercase (and\ndefine backward compatibility macros), move larger functions to dquot.c\nand make them non-inline.\n\nSigned-off-by: Jan Kara \u003cjack@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": "b271e067c896ad4082b15e96077675d08db40625",
      "tree": "1837d1c988226116e277c4f71b7f57aed5a7df05",
      "parents": [
        "e8938a62a85d1f487e02c3b01955b47c9598f6d2"
      ],
      "author": {
        "name": "Joe Peterson",
        "email": "joe@skyrush.com",
        "time": "Fri Jul 25 01:46:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:34 2008 -0700"
      },
      "message": "fatfs: add UTC timestamp option\n\nProvide a new mount option (\"tz\u003dUTC\") for DOS (vfat/msdos) filesystems,\nallowing timestamps to be in coordinated universal time (UTC) rather than\nlocal time in applications where doing this is advantageous.\n\nIn particular, portable devices that use fat/vfat (such as digital\ncameras) can benefit from using UTC in their internal clocks, thus\navoiding daylight saving time errors and general time ambiguity issues.\nThe user of the device does not have to worry about changing the time when\nmoving from place or when daylight saving changes.\n\nThe new mount option, when set, disables the counter-adjustment that Linux\ncurrently makes to FAT timestamp info in anticipation of the normal\nuserspace time zone correction.  When used in this new mode, all daylight\nsaving time and time zone handling is done in userspace as is normal for\nmany other filesystems (like ext3).  The default mode, which remains\nunchanged, is still appropriate when mounting volumes written in Windows\n(because of its use of local time).\n\nI originally based this patch on one submitted last year by Paul Collins,\nbut I updated it to work with current source and changed variable/option\nnaming.  Ogawa Hirofumi (who maintains these filesystems) and I discussed\nthis patch at length on lkml, and he suggested using the option name in\nthe attached version of the patch.  Barry Bouwsma pointed out a good\naddition to the patch as well.\n\nSigned-off-by: Joe Peterson \u003cjoe@skyrush.com\u003e\nSigned-off-by: Paul Collins \u003cpaul@ondioline.org\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Barry Bouwsma \u003cfree_beer_for_all@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8938a62a85d1f487e02c3b01955b47c9598f6d2",
      "tree": "39ef38f2ab6c69834cb5187fc2e3c6fcdbdef506",
      "parents": [
        "cf6ae8b50e0ee3f764392dadd1970e3f03c40773"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:46:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:34 2008 -0700"
      },
      "message": "remove unused #include \u003clinux/dirent.h\u003e\u0027s\n\nRemove some unused #include \u003clinux/dirent.h\u003e\u0027s.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf6ae8b50e0ee3f764392dadd1970e3f03c40773",
      "tree": "e58c4c82e4d20ed296cc2030fd1b73bed12903d1",
      "parents": [
        "7557bc66be629d19a402e752673708bfbb8b5e86"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:46:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:34 2008 -0700"
      },
      "message": "remove the in-kernel struct dirent{,64}\n\nThe kernel struct dirent{,64} were different from the ones in\nuserspace.\n\nEven worse, we exported the kernel ones to userspace.\n\nBut after the fat usages are fixed we can remove the conflicting\nkernel versions.\n\nReviewed-by: H. Peter Anvin \u003chpa@kernel.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7557bc66be629d19a402e752673708bfbb8b5e86",
      "tree": "c7be80cf3eb21ac338f962c211314088d570984e",
      "parents": [
        "dcd8c53f13f068ee039589d84fbd0baf686abc41"
      ],
      "author": {
        "name": "Rene Scharfe",
        "email": "rene.scharfe@lsrfire.ath.cx",
        "time": "Fri Jul 25 01:46:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:34 2008 -0700"
      },
      "message": "msdos fs: remove unsettable atari option\n\nIt has been impossible to set the option \u0027atari\u0027 of the MSDOS filesystem\nfor several years.  Since nobody seems to have missed it, let\u0027s remove its\nremains.\n\nSigned-off-by: Rene Scharfe \u003crene.scharfe@lsrfire.ath.cx\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4596c8aaf96e8634ca755c9f34b91420a39bebd4",
      "tree": "e9ef95f9bf619dfa50c2bde1de553b32860d469c",
      "parents": [
        "8d44d9741f6808c107a144f469fb89e6fe7c55e3"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Jul 25 01:46:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:34 2008 -0700"
      },
      "message": "fat: fix VFAT_IOCTL_READDIR_xxx and cleanup for userland\n\n\"struct dirent\" is a kernel type here, but is a **different type** in\nuserspace!  This means both the structure and the IOCTL number is wrong!\n\nSo, this adds new \"struct __fat_dirent\" to generate correct IOCTL number.\nAnd kernel stuff moves to under __KERNEL__.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90415deac75a761a25239af6f56381546f8d2201",
      "tree": "dbe5a717fa3629533653af99492cd348a0ec7e1f",
      "parents": [
        "afe70259076fff0446001eaa1a287f615241a357"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Jul 25 01:46:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:33 2008 -0700"
      },
      "message": "reiserfs: convert j_commit_lock to mutex\n\nj_commit_lock is a semaphore but uses it as if it were a mutex.  This patch\nconverts it to a mutex.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Edward Shishkin \u003cedward.shishkin@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": "afe70259076fff0446001eaa1a287f615241a357",
      "tree": "d619c7f6235264a7b08aec16ba3563a686415079",
      "parents": [
        "f68215c4640a38d66429014e524a627bf572d26a"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Jul 25 01:46:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:33 2008 -0700"
      },
      "message": "reiserfs: convert j_flush_sem to mutex\n\nj_flush_sem is a semaphore but uses it as if it were a mutex.  This patch\nconverts it to a mutex.\n\n[akpm@linux-foundation.org: fix mutex_trylock retval treatment]\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Edward Shishkin \u003cedward.shishkin@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": "f68215c4640a38d66429014e524a627bf572d26a",
      "tree": "9880a7adbdcda5dba88fe875520b787555b80802",
      "parents": [
        "00b441970a0ab48185244300ac7d4e4eb76df692"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Jul 25 01:46:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:33 2008 -0700"
      },
      "message": "reiserfs: convert j_lock to mutex\n\nj_lock is a semaphore but uses it as if it were a mutex.  This patch converts\nit to a mutex.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Edward Shishkin \u003cedward.shishkin@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": "de0ca06a99c33df8333955642843331ab6b6e7ff",
      "tree": "3799e038c41476fd6366dae2a7919474125c4bd8",
      "parents": [
        "c0a1633b6201ef79e31b7da464d44fdf5953054d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:46:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:33 2008 -0700"
      },
      "message": "coda: remove CODA_FS_OLD_API\n\nWhile fixing CONFIG_ leakages to the userspace kernel headers I ran into\nCODA_FS_OLD_API.\n\nAfter five years, are there still people using the old API left?\nEspecially considering that you have to choose at compile time which API\nto support in the kernel (and distributions tend to offer the new API for\nsome time).\n\nJan: \"The old API can definitely go.  Around the time the new\n      interface went in there were some non-Coda userspace file system\n      implementations that took a while longer to convert to the new API,\n      but by now they all switched to the new interface or in some cases\n      to a FUSE-based solution.\"\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae76dd9a6b5bbe5315fb7028e03f68f75b8538f3",
      "tree": "3b877057e84fda45782dd25a3c8be91173324922",
      "parents": [
        "ef1afd39519b74fbe1f63c9ab5a14490effec0e3"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Jul 25 01:46:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:32 2008 -0700"
      },
      "message": "ext3: handle corrupted orphan list at mount\n\nIf the orphan node list includes valid, untruncatable nodes with nlink \u003e 0\nthe ext3_orphan_cleanup loop which attempts to delete them will not do so,\ncausing it to loop forever. Fix by checking for such nodes in the\next3_orphan_get function.\n\nThis patch fixes the second case (image hdb.20000009.softlockup.gz)\nreported in http://bugzilla.kernel.org/show_bug.cgi?id\u003d10882.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: printk warning fix]\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50c33a84db4aa5082e3af8d873b22344ae2ebea8",
      "tree": "93e40d8381f5109208947c3f7099cc0d8a80afa6",
      "parents": [
        "f905f06fca5d3949eca12f5a43e251a404b3470a"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Jul 25 01:46:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:31 2008 -0700"
      },
      "message": "ext2: fix typo in Hurd part of include/linux/ext2_fs.h\n\nFix typo in Hurd part of include/linux/ext2_fs.h\n\nThe \u0027;\u0027 here is redundant or can even pose problem.  This is actually not\nused by the Linux kernel, but it is exposed in GNU/Hurd.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbcd6d543de335bf81e96477f46a60a8bf51039c",
      "tree": "86d592bfa308407ce357184ff9494e7d36939c6b",
      "parents": [
        "7444a72effa632fcd8edc566f880d96fe213c73b"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Fri Jul 25 01:46:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpio: max732x driver\n\nThis adds a driver supporting a family of I2C port expanders from Maxim,\nwhich includes the MAX7319 and MAX7320-7327 chips.\n\n[dbrownell@users.sourceforge.net: minor fixes]\nSigned-off-by: Jack Ren \u003cjack.ren@marvell.com\u003e\nSigned-off-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f1cc3b10e6ee0c5c7c8ed27f8771c4f252b4862",
      "tree": "a64611af44cf46aea2e2b145fad85042bb647a3d",
      "parents": [
        "d8f388d8dc8d4f36539dd37c1fff62cc404ea0fc"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri Jul 25 01:46:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpio: mcp23s08 handles multiple chips per chipselect\n\nTeach the mcp23s08 driver about a curious feature of these chips: up to\nfour of them can share the same chipselect, with the SPI signals wired in\nparallel, by matching two bits in the first protocol byte against two\naddress lines on the chip.\n\nThis is handled by three software changes:\n\n  * Platform data now holds an array of per-chip structs, not\n    just one chip\u0027s address and pullup configuration.\n\n  * Probe() and remove() now use another level of structure,\n    wrapping an instance of the original structure for each\n    mcp23s08 chip sharing that chipselect.\n\n  * The HAEN bit is set, so that the hardware address bits can no\n    longer be ignored (boot firmware may not have enabled them).\n\nThe \"one struct per chip\" preserves the guts of the current code,\nbut platform_data will need minor changes.\n\n    OLD:\n\t/* incorrect \"slave\" ID may not have mattered */\n\t.slave \u003d 3,\n\t.pullups \u003d BIT(3) | BIT(1) | BIT(0),\n\n    NEW:\n\t/* slave address _must_ match chip\u0027s wiring */\n\t.chip[3] \u003d {\n\t\t.is_present \u003d true,\n\t\t.pullups \u003d BIT(3) | BIT(1) | BIT(0),\n\t},\n\nThere\u0027s no change in how things _behave_ for spi_device nodes with a\nsingle mcp23s08 chip.  New multi-chip configurations assign GPIOs in\nsequence, without holes.  The spi_device just resembles a bigger\ncontroller, but internally it has multiple gpio_chip instances.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8f388d8dc8d4f36539dd37c1fff62cc404ea0fc",
      "tree": "df8603775c889f29f8a03c77b9f7913bfd90d296",
      "parents": [
        "8b6dd986823a8d92ed9f54baa5cef8604d9d9d44"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jul 25 01:46:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "gpio: sysfs interface\n\nThis adds a simple sysfs interface for GPIOs.\n\n    /sys/class/gpio\n    \t/export ... asks the kernel to export a GPIO to userspace\n    \t/unexport ... to return a GPIO to the kernel\n        /gpioN ... for each exported GPIO #N\n\t    /value ... always readable, writes fail for input GPIOs\n\t    /direction ... r/w as: in, out (default low); write high, low\n\t/gpiochipN ... for each gpiochip; #N is its first GPIO\n\t    /base ... (r/o) same as N\n\t    /label ... (r/o) descriptive, not necessarily unique\n\t    /ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1)\n\nGPIOs claimed by kernel code may be exported by its owner using a new\ngpio_export() call, which should be most useful for driver debugging.\nSuch exports may optionally be done without a \"direction\" attribute.\n\nUserspace may ask to take over a GPIO by writing to a sysfs control file,\nhelping to cope with incomplete board support or other \"one-off\"\nrequirements that don\u0027t merit full kernel support:\n\n  echo 23 \u003e /sys/class/gpio/export\n\t... will gpio_request(23, \"sysfs\") and gpio_export(23);\n\tuse /sys/class/gpio/gpio-23/direction to (re)configure it,\n\twhen that GPIO can be used as both input and output.\n  echo 23 \u003e /sys/class/gpio/unexport\n\t... will gpio_free(23), when it was exported as above\n\nThe extra D-space footprint is a few hundred bytes, except for the sysfs\nresources associated with each exported GPIO.  The additional I-space\nfootprint is about two thirds of the current size of gpiolib (!).  Since\nno /dev node creation is involved, no \"udev\" support is needed.\n\nRelated changes:\n\n  * This adds a device pointer to \"struct gpio_chip\".  When GPIO\n    providers initialize that, sysfs gpio class devices become children of\n    that device instead of being \"virtual\" devices.\n\n  * The (few) gpio_chip providers which have such a device node have\n    been updated.\n\n  * Some gpio_chip drivers also needed to update their module \"owner\"\n    field ...  for which missing kerneldoc was added.\n\n  * Some gpio_chips don\u0027t support input GPIOs.  Those GPIOs are now\n    flagged appropriately when the chip is registered.\n\nBased on previous patches, and discussion both on and off LKML.\n\nA Documentation/ABI/testing/sysfs-gpio update is ready to submit once this\nmerges to mainline.\n\n[akpm@linux-foundation.org: a few maintenance build fixes]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef53d9c5e4da147ecaa43c44c5e5945eb83970a2",
      "tree": "3b596445e5d0613fda4b33a4ae96e0e3fffdcf1e",
      "parents": [
        "53a9600c634e3bfd6230e0597aca159bf4d4d010"
      ],
      "author": {
        "name": "Srinivasa D S",
        "email": "srinivasa@in.ibm.com",
        "time": "Fri Jul 25 01:46:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "kprobes: improve kretprobe scalability with hashed locking\n\nCurrently list of kretprobe instances are stored in kretprobe object (as\nused_instances,free_instances) and in kretprobe hash table.  We have one\nglobal kretprobe lock to serialise the access to these lists.  This causes\nonly one kretprobe handler to execute at a time.  Hence affects system\nperformance, particularly on SMP systems and when return probe is set on\nlot of functions (like on all systemcalls).\n\nSolution proposed here gives fine-grain locks that performs better on SMP\nsystem compared to present kretprobe implementation.\n\nSolution:\n\n 1) Instead of having one global lock to protect kretprobe instances\n    present in kretprobe object and kretprobe hash table.  We will have\n    two locks, one lock for protecting kretprobe hash table and another\n    lock for kretporbe object.\n\n 2) We hold lock present in kretprobe object while we modify kretprobe\n    instance in kretprobe object and we hold per-hash-list lock while\n    modifying kretprobe instances present in that hash list.  To prevent\n    deadlock, we never grab a per-hash-list lock while holding a kretprobe\n    lock.\n\n 3) We can remove used_instances from struct kretprobe, as we can\n    track used instances of kretprobe instances using kretprobe hash\n    table.\n\nTime duration for kernel compilation (\"make -j 8\") on a 8-way ppc64 system\nwith return probes set on all systemcalls looks like this.\n\ncacheline              non-cacheline             Un-patched kernel\naligned patch \t       aligned patch\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nreal    9m46.784s       9m54.412s                  10m2.450s\nuser    40m5.715s       40m7.142s                  40m4.273s\nsys     2m57.754s       2m58.583s                  3m17.430s\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\u003d\u003d\u003d\u003d\n\nTime duration for kernel compilation (\"make -j 8) on the same system, when\nkernel is not probed.\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\nreal    9m26.389s\nuser    40m8.775s\nsys     2m7.283s\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\n\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Masami Hiramatsu \u003cmhiramat@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": "42cd2366fb9b58cdfc1855be32b31a78e40b2079",
      "tree": "58f335a86f7c2f127509642499d1fd2a27d21ff9",
      "parents": [
        "60e540d617b40eb3d37f1dd99c97af588ff9b70b"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Jul 25 01:46:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "sm501: gpio I2C support\n\nAdd support for adding the GPIO based I2C resources.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Arnaud Patard \u003capatard@mandriva.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60e540d617b40eb3d37f1dd99c97af588ff9b70b",
      "tree": "f4887d37cb8e21ffa86abf43d489fdd4c426d734",
      "parents": [
        "f61be273d3699d174bc1438e6804f9f9e52bb932"
      ],
      "author": {
        "name": "Arnaud Patard",
        "email": "apatard@mandriva.com",
        "time": "Fri Jul 25 01:46:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "sm501: gpio dynamic registration for PCI devices\n\nThe SM501 PCI card requires a dyanmic gpio allocation as the number of\ncards is not known at compile time.  Fixup the platform data and\nregistration to deal with this.\n\nAcked-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Arnaud Patard \u003capatard@mandriva.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f61be273d3699d174bc1438e6804f9f9e52bb932",
      "tree": "3d9940d725e2837168b8b072140b85b00c198896",
      "parents": [
        "472dba7d117844c746be97db6be26c2810d79b62"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Jul 25 01:45:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "sm501: add gpiolib support\n\nAdd support for exporting the GPIOs on the SM501 via gpiolib.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Arnaud Patard \u003capatard@mandriva.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "472dba7d117844c746be97db6be26c2810d79b62",
      "tree": "8d87f062253a1e295436dcdebe2a1ce6c2a73310",
      "parents": [
        "717115e1a5856b57af0f71e1df7149108294fc10"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "sm501: add power control callback\n\nAdd callback to get or set the power control if the device has the sleep\nconnected to some form of GPIO.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Arnaud Patard \u003capatard@mandriva.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "717115e1a5856b57af0f71e1df7149108294fc10",
      "tree": "9528a992245c2fb993a0cf0bc8221dc7dea5d259",
      "parents": [
        "2711b793eb62a5873a0ba583a69252040aef176e"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri Jul 25 01:45:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "printk ratelimiting rewrite\n\nAll ratelimit user use same jiffies and burst params, so some messages\n(callbacks) will be lost.\n\nFor example:\na call printk_ratelimit(5 * HZ, 1)\nb call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will\nwill be supressed.\n\n- rewrite __ratelimit, and use a ratelimit_state as parameter.  Thanks for\n  hints from andrew.\n\n- Add WARN_ON_RATELIMIT, update rcupreempt.h\n\n- remove __printk_ratelimit\n\n- use __ratelimit in net_ratelimit\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2711b793eb62a5873a0ba583a69252040aef176e",
      "tree": "5e65f8347b7557f2ee10699b9a4cce0f490ba8b2",
      "parents": [
        "924d9addb9b1474fc81a78a5c6706755efea7aaa"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Fri Jul 25 01:45:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "kallsyms: unify 32- and 64-bit code\n\nUse the %p format string which already accounts for the padding you need\nwith a pointer type on a particular architecture.\n\nAlso replace the macro with a static inline function to match the rest of\nthe file.\n\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6c63937001889af6fe431aaba97e59d04e028e7",
      "tree": "cf73a1124a73e62fa5353098c276bb18b44cb867",
      "parents": [
        "f38954c93c4a548f55d73ac5c1cf5e7f4023bb6c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 25 01:45:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:29 2008 -0700"
      },
      "message": "Rename WARN() to WARNING() to clear the namespace\n\nWe want to use WARN() as a variant of WARN_ON(), however a few drivers are\nusing WARN() internally.  This patch renames these to WARNING() to avoid the\nnamespace clash.  A few cases were defining but not using the thing, for those\ncases I just deleted the definition.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4500d067eeb3d00679335d9cf5c6536e79cd3ef4",
      "tree": "b9e77b6894405955244b57d9d533f7cdc1360f3f",
      "parents": [
        "db358b40e0674fd4079204d8e3e1c8ab3829a1b9"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Jul 25 01:45:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:28 2008 -0700"
      },
      "message": "init.h: remove obsolete content\n\nRemove apparently obsolete content from init.h referring to gcc 2.9x\nand to \"no_module_init\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac331d158e198d2a91a5b0a3ec4ca9991fdb57af",
      "tree": "b0921e2bc8e59d5df2c554c41c3b9f04e05d6d7c",
      "parents": [
        "f557d0996a6f9c06912528ea85e1dba0fb7d485f"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Jul 25 01:45:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:28 2008 -0700"
      },
      "message": "call_usermodehelper(): increase reliability\n\nPresently call_usermodehelper_setup() uses GFP_ATOMIC.  but it can return\nNULL _very_ easily.\n\nGFP_ATOMIC is needed only when we can\u0027t sleep.  and, GFP_KERNEL is robust\nand better.\n\nthus, I add gfp_mask argument to call_usermodehelper_setup().\n\nSo, its callers pass the gfp_t as below:\n\ncall_usermodehelper() and call_usermodehelper_keys():\n\tdepend on \u0027wait\u0027 argument.\ncall_usermodehelper_pipe():\n\talways GFP_KERNEL because always run under process context.\norderly_poweroff():\n\tpass to GFP_ATOMIC because may run under interrupt context.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \"Paul Menage\" \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cebbd3fb803603b12408458ba17c29ce1e15a5f2",
      "tree": "9933d90901fbb9be6dca07816cbe4f8ecd580933",
      "parents": [
        "b03f6489f9f27dc519a4c60ebf39cc7b8a58eae7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jul 25 01:45:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "build-kernel-profileo-only-when-requested-cleanups\n\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b03f6489f9f27dc519a4c60ebf39cc7b8a58eae7",
      "tree": "6329fc91e860f2949d737c611aa846eb2d653103",
      "parents": [
        "696adfe84c11c571a1e0863460ff0ec142b4e5a9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:45:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "build kernel/profile.o only when requested\n\nBuild kernel/profile.o only if CONFIG_PROFILING is enabled.\n\nThis makes CONFIG_PROFILING\u003dn kernels smaller.\n\nAs a bonus, some profile_tick() calls and one branch from schedule() are\nnow eliminated with CONFIG_PROFILING\u003dn (but I doubt these are\nmeasurable effects).\n\nThis patch changes the effects of CONFIG_PROFILING\u003dn, but I don\u0027t think\nhaving more than two choices would be the better choice.\n\nThis patch also adds the name of the first parameter to the prototypes\nof profile_{hits,tick}() since I anyway had to add them for the dummy\nfunctions.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0ce0da9fefcc723dc006c35a7f91a32750abd40",
      "tree": "49ca0889a60cb545eb5c21c3365d1c54e1e226f8",
      "parents": [
        "fd193829744bc77392395cf8f47889235c97f0a3"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Jul 25 01:45:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "lists: remove a redundant conditional definition of list_add()\n\nRemove the conditional surrounding the definition of list_add() from list.h\nsince, if you define CONFIG_DEBUG_LIST, the definition you will subsequently\npick up from lib/list_debug.c will be absolutely identical, at which point you\ncan remove that redundant definition from list_debug.c as well.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b39c08cb692cb8898c30e0d8187c7cbe27cc905c",
      "tree": "be49a2e1a793259ac216af71fb9eefbd284a53e7",
      "parents": [
        "82c8253ac27291d6c70114eb445c714359812a10"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Jul 25 01:45:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:27 2008 -0700"
      },
      "message": "Remove apparently unused fd1772.h header file.\n\nThis header file has been unused for quite some time, and the\ncorresponding source files appear to have been removed back in commit\n99eb8a550dbccc0e1f6c7e866fe421810e0585f6 (\"Remove the arm26 port\")\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b5ac31e27135a6f2c210c40d03bf8f1b3a86b77",
      "tree": "8f045767452fe3bbffcef0aa6af29f8c4b998780",
      "parents": [
        "b7bbf8fa6ba329b3552b75a0716f5fbc6f839499"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Jul 25 01:45:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:26 2008 -0700"
      },
      "message": "include: use get/put_unaligned_* helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f307891ce0e7b0438c432af1aacd656a092ff45",
      "tree": "603d106da47ce7d039ceb304e2c7f7ae38daf87b",
      "parents": [
        "e0deaff470900a4c3222ca7139f6c9639e26a2f5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 25 01:45:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:26 2008 -0700"
      },
      "message": "locking: add typecheck on irqsave and friends for correct flags\n\nThere haave been several areas in the kernel where an int has been used for\nflags in local_irq_save() and friends instead of a long.  This can cause some\nhard to debug problems on some architectures.\n\nThis patch adds a typecheck inside the irqsave and restore functions to flag\nthese cases.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.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": "e0deaff470900a4c3222ca7139f6c9639e26a2f5",
      "tree": "af18056ba150a3f4fd61f397c83699b2d6231cdc",
      "parents": [
        "5df439ef06d4173357711a04740aa8bfcf50d621"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jul 25 01:45:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:26 2008 -0700"
      },
      "message": "split the typecheck macros out of include/linux/kernel.h\n\nNeeded to fix up a recursive include snafu in\nlocking-add-typecheck-on-irqsave-and-friends-for-correct-flags.patch\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d6f4a20cc287a8980c6186624834cf10a70752b",
      "tree": "851e6f595fe7a03ca626287be24961517cf47709",
      "parents": [
        "43de804df8d6002059bf4af4522fa9273a19b8aa"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 24 23:38:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 09:28:09 2008 -0700"
      },
      "message": "endian: Always evaluate arguments.\n\nChangeset 7fa897b91a3ea0f16c2873b869d7a0eef05acff4 (\"ide: trivial sparse\nannotations\") created an IDE bootup regression on big-endian systems.\n\nIn drivers/ide/ide-iops.c, function ide_fixstring() we now have the\nloop:\n\n\t\tfor (p \u003d end ; p !\u003d s;)\n\t\t\tbe16_to_cpus((u16 *)(p -\u003d 2));\n\nwhich will never terminate on big-endian because in such\na configuration be16_to_cpus() evaluates to \"do { } while (0)\"\n\nTherefore, always evaluate the arguments to nop endian transformation\noperations.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "832fe9c222c7d431c2bff5765a0ac61bcb3df8c8",
      "tree": "ce4a482723db61955c47a028b14e3227d290d3be",
      "parents": [
        "ed9559d38a87a44e3bda87d73a50aab92471d7dc",
        "e34f87256794b87e7f4a8f1812538be7b7b5214c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 19:11:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 19:11:49 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  virtio: Add transport feature handling stub for virtio_ring.\n  virtio: Rename set_features to finalize_features\n  virtio: Formally reserve bits 28-31 to be \u0027transport\u0027 features.\n  s390: use virtio_console for KVM on s390\n  virtio: console as a config option\n  virtio_console: use virtqueue notification for hvc_console\n  hvc_console: rework setup to replace irq functions with callbacks\n  virtio_blk: check for hardsector size from host\n  virtio: Use bus_type probe and remove methods\n  virtio: don\u0027t always force a notification when ring is full\n  virtio: clarify that ABI is usable by any implementations\n  virtio: Recycle unused recv buffer pages for large skbs in net driver\n  virtio net: Allow receiving SG packets\n  virtio net: Add ethtool ops for SG/GSO\n  virtio: fix virtio_net xmit of freed skb bug\n"
    },
    {
      "commit": "ed9559d38a87a44e3bda87d73a50aab92471d7dc",
      "tree": "b9e22f50b4ea0865a3ad8b2e9a2b50839ad490b5",
      "parents": [
        "fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:11:09 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 19:11:15 2008 -0700"
      },
      "message": "Label kthread_create() with printf attribute tag.\n\nObvious misc patch been in my queue (\u0026 linux-next) for over a cycle.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e34f87256794b87e7f4a8f1812538be7b7b5214c",
      "tree": "b91ffb6df4ac13ace269bef60ae16a1048b1fa73",
      "parents": [
        "c624896e488ba2bff5ae497782cfb265c8b00646"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:13 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:14 2008 +1000"
      },
      "message": "virtio: Add transport feature handling stub for virtio_ring.\n\nTo prepare for virtio_ring transport feature bits, hook in a call in\nall the users to manipulate them.  This currently just clears all the\nbits, since it doesn\u0027t understand any features.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c624896e488ba2bff5ae497782cfb265c8b00646",
      "tree": "714145903ff8c889e9544e8366b2ee2a62234c0c",
      "parents": [
        "dd7c7bc46211785a1aa7d70feb15830f62682b3c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:07 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:12 2008 +1000"
      },
      "message": "virtio: Rename set_features to finalize_features\n\nRather than explicitly handing the features to the lower-level, we just\nhand the virtio_device and have it set the features.  This make it clear\nthat it has the chance to manipulate the features of the device at this\npoint (and that all feature negotiation is already done).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "dd7c7bc46211785a1aa7d70feb15830f62682b3c",
      "tree": "3c615eac390c11339c652947e744d12cb82b4d36",
      "parents": [
        "faeba830b086bc9e58748869054e994cb09693cd"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:07 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:07 2008 +1000"
      },
      "message": "virtio: Formally reserve bits 28-31 to be \u0027transport\u0027 features.\n\nWe assign feature bits as required, but it makes sense to reserve some\nfor the particular transport, rather than the particular device.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "066f4d82a67f621ddd547bfa4b9c94631d8457b0",
      "tree": "96bdeadd9af5b16476186df0ea8056175bc16cbb",
      "parents": [
        "e962fa660d391fc9b90988e6538c94c858c099f9"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu May 29 11:08:26 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:05 2008 +1000"
      },
      "message": "virtio_blk: check for hardsector size from host\n\nCurrently virtio_blk assumes a 512 byte hard sector size. This can cause\ntrouble / performance issues if the backing has a different block size\n(like a file on an ext3 file system formatted with 4k block size or a dasd).\n\nLets add a feature flag that tells the guest to use a different hard sector\nsize than 512 byte.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "674bfc23c585b34c42263d73fb51710d49762a23",
      "tree": "3d548173fe2836a4fd2c234e2adb2299c3df38e6",
      "parents": [
        "fb6813f480806d62361719e84777c8e00d3e86a8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:03 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 25 12:06:04 2008 +1000"
      },
      "message": "virtio: clarify that ABI is usable by any implementations\n\nWe want others to implement and use virtio, so it makes sense to BSD\nlicense the non-__KERNEL__ parts of the headers to make this crystal\nclear.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nAcked-by: Ryan Harper \u003cryanh@us.ibm.com\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nAcked-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\n"
    },
    {
      "commit": "b5684b83b1e1579bbbc80e703e990c0cccf5892c",
      "tree": "3f1b62b2320bce4d658d2ad0d4b77856499ac533",
      "parents": [
        "1481b9109fe771ec8b035d7760f42e36d2bed5d4",
        "1b8ebad87b459e2e1333fbf28005977245ff5402"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 14:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 14:55:09 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits)\n  ide: use proper printk() KERN_* levels in ide-probe.c\n  ide: fix for EATA SCSI HBA in ATA emulating mode\n  ide: remove stale comments from drivers/ide/Makefile\n  ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase\n  ide-scsi: remove kmalloced struct request\n  ht6560b: remove old history\n  ht6560b: update email address\n  ide-cd: fix oops when using growisofs\n  gayle: release resources on ide_host_add() failure\n  palm_bk3710: add UltraDMA/100 support\n  ide: trivial sparse annotations\n  ide: ide-tape.c sparse annotations and unaligned access removal\n  ide: drop \u0027name\u0027 parameter from -\u003einit_chipset method\n  ide: prefix messages from IDE PCI host drivers by driver name\n  it821x: remove DECLARE_ITE_DEV() macro\n  it8213: remove DECLARE_ITE_DEV() macro\n  ide: include PCI device name in messages from IDE PCI host drivers\n  ide: remove \u003casm/ide.h\u003e for some archs\n  ide-generic: remove ide_default_{io_base,irq}() inlines (take 3)\n  ide-generic: is no longer needed on ppc32\n  ...\n"
    },
    {
      "commit": "5042d99795d3d817bef2f4cc46e953bee9bf7398",
      "tree": "9263e28b67093eca6edd221f04830e5841f67c57",
      "parents": [
        "5c402355adf8f920531f02099f4ec0d2bccd4c64",
        "f17a077e61b627e58db5926bc474cf308318dad9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 13:57:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 13:57:13 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: fixup sparse endianness warnings in proc.c\n  PCI PM: make more PCI PM core functionality available to drivers\n  PCI/DMAR: don\u0027t assume presence of RMRRs\n  PCI hotplug: fix error path in pci_slot\u0027s register_slot\n"
    },
    {
      "commit": "a326b02b0c576001353dbc489154959b0889c6bf",
      "tree": "e56e768bcd078778fb4a0202a4be8e1a4460765f",
      "parents": [
        "ced3ec8aa7d0fa3300187ee47c144a22ccfc974e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:33 2008 +0200"
      },
      "message": "ide: drop \u0027name\u0027 parameter from -\u003einit_chipset method\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2a8f7450f828eaee49d66f41f99ac2e54f1160a6",
      "tree": "e8762e9add74953a32ebd86c019638e5ed2d484d",
      "parents": [
        "f01d35d87f39ab794ddcdefadb79c11054bcbfbc"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:31 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:31 2008 +0200"
      },
      "message": "ide: remove \u003casm/ide.h\u003e for some archs\n\n* Remove \u003clinux/irq.h\u003e include from \u003casm-ia64.h\u003e (\u003clinux/ide.h\u003e includes\n  \u003clinux/interrupt.h\u003e which is enough).\n\n* Remove \u003casm/ide.h\u003e for alpha/blackfin/h8300/ia64/m32r/sh/x86/xtensa\n  (this leaves us with arm/frv/m68k/mips/mn10300/parisc/powerpc/sparc[64]).\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d83b8b85cd56a083d30df73f3fd5e4714591b910",
      "tree": "1fac379e8d909361ecbf934645463a00e706dafc",
      "parents": [
        "2c9d86438a0104800da2a8ecdc1e27baf38ba6a4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "message": "ide: define MAX_HWIFS in \u003clinux/ide.h\u003e\n\n* Now that ide_hwif_t instances are allocated dynamically\n  the difference between MAX_HWIFS \u003d\u003d 2 and MAX_HWIFS \u003d\u003d 10\n  is ~100 bytes (x86-32) so use MAX_HWIFS \u003d\u003d 10 on all archs\n  except these ones that use MAX_HWIFS \u003d\u003d 1.\n\n* Define MAX_HWIFS in \u003clinux/ide.h\u003e instead of \u003casm/ide.h\u003e.\n\n[ Please note that avr32/cris/v850 have no \u003casm/ide.h\u003e\n  and alpha/ia64/sh always define CONFIG_IDE_MAX_HWIFS. ]\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ef0b04276d8f719d754c092434fbd62c2aeb5307",
      "tree": "8e39ed4e4f35dcfcb83c0331a68d4e3a2deb823c",
      "parents": [
        "37525bebcfc15a1fe5a9cb50bf49b21bf43559c1"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:19 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:19 2008 +0200"
      },
      "message": "ide: add ide_pci_remove() helper\n\n* Add \u0027unsigned long host_flags\u0027 field to struct ide_host.\n\n* Set -\u003ehost_flags in ide_host_alloc_all().\n\n* Always set PCI dev\u0027s -\u003edriver_data in ide_pci_init_{one,two}().\n\n* Add ide_pci_remove() helper (the default implementation for\n  struct pci_driver\u0027s -\u003eremove method).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "08da591e14cf87247ec09b17c350235157a92fc3",
      "tree": "d00a02154071c7013c31bc8dd1d3c12c86d5daca",
      "parents": [
        "6cdf6eb357c2681596b7b1672b92396ba82333d4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:15 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:15 2008 +0200"
      },
      "message": "ide: add ide_device_{get,put}() helpers\n\n* Add \u0027struct ide_host *host\u0027 field to ide_hwif_t and set it\n  in ide_host_alloc_all().\n\n* Add ide_device_{get,put}() helpers loosely based on SCSI\u0027s\n  scsi_device_{get,put}() ones.\n\n* Convert IDE device drivers to use ide_device_{get,put}().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6cdf6eb357c2681596b7b1672b92396ba82333d4",
      "tree": "a6194373c64616ecb3d1af2c9247a32f50543f97",
      "parents": [
        "8c2eece50a368c7986bae0b3e52739558dd71b51"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:14 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:14 2008 +0200"
      },
      "message": "ide: add -\u003edev and -\u003ehost_priv fields to struct ide_host\n\n* Add \u0027struct device *dev[2]\u0027 and \u0027void *host_priv\u0027 fields\n  to struct ide_host.\n\n* Set -\u003edev[] in ide_host_alloc_all()/ide_setup_pci_device[s]().\n\n* Pass \u0027void *priv\u0027 argument to ide_setup_pci_device[s]()\n  and use it to set -\u003ehost_priv.\n\n* Set PCI dev\u0027s -\u003edriver_data to point to the struct ide_host\n  instance if PCI host driver wants to use -\u003ehost_priv.\n\n* Rename ide_setup_pci_device[s]() to ide_pci_init_{one,two}().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5c402355adf8f920531f02099f4ec0d2bccd4c64",
      "tree": "eba326f8df01efc0d384874839384040401f5b45",
      "parents": [
        "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
        "2cc177364e4746becdf421f926fb967c047ccc32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:56:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:56:07 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  MAINTAINERS: Remove Glenn Streiff from NetEffect entry\n  mlx4_core: Improve error message when not enough UAR pages are available\n  IB/mlx4: Add support for memory management extensions and local DMA L_Key\n  IB/mthca: Keep free count for MTT buddy allocator\n  mlx4_core: Keep free count for MTT buddy allocator\n  mlx4_code: Add missing FW status return code\n  IB/mlx4: Rename struct mlx4_lso_seg to mlx4_wqe_lso_seg\n  mlx4_core: Add module parameter to enable QoS support\n  RDMA/iwcm: Remove IB_ACCESS_LOCAL_WRITE from remote QP attributes\n  IPoIB: Include err code in trace message for ib_sa_path_rec_get() failures\n  IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one()\n  IB/ehca: Release mutex in error path of alloc_small_queue_page()\n  IB/ehca: Use default value for Local CA ACK Delay if FW returns 0\n  IB/ehca: Filter PATH_MIG events if QP was never armed\n  IB/iser: Add support for RDMA_CM_EVENT_ADDR_CHANGE event\n  RDMA/cma: Add RDMA_CM_EVENT_TIMEWAIT_EXIT event\n  RDMA/cma: Add RDMA_CM_EVENT_ADDR_CHANGE event\n"
    },
    {
      "commit": "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
      "tree": "4acce96bac00909fa9472f0c0669714243ea5bee",
      "parents": [
        "2528ce3237be4e900f5eaa455490146e1422e424",
        "e338125b8a886923ba8367207c144764dc352584"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well\n  nohz: prevent tick stop outside of the idle loop\n"
    },
    {
      "commit": "7540081c6b16dc941895bca840749cabfd0d3b48",
      "tree": "9e6b2270d700bf99489b570aa2b4c2c0b6cd0ead",
      "parents": [
        "3fde80e94c2bbffbb13f5faa3340cf438440ebea",
        "b552068999b0b05087c454e525b30b785c79dc9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:24:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:24:40 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 __DECLARE_SEMAPHORE_GENERIC\n  Remove asm/semaphore.h\n  Remove use of asm/semaphore.h\n  Add missing semaphore.h includes\n  Remove mention of semaphores from kernel-locking\n"
    },
    {
      "commit": "c54554d388369f7f88ddcbe285ca96f7fb8a2d4b",
      "tree": "5911607c237fc77d36787b813250ee64fdb41dd6",
      "parents": [
        "4378dcca8578b0fd0fba883a3354ad4820d4f85f",
        "fe3025b55c8ed06929afe94e9c9095fc19d15aa0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:16:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:16:02 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds:\n  leds: Ensure led-\u003etrigger is set earlier\n  leds: Add support for Philips PCA955x I2C LED drivers\n  leds: Fix sparse warnings in leds-h1940 driver\n  leds: mark led_classdev.default_trigger as const\n  leds: fix unsigned value overflow in atmel pwm driver\n  leds: Add pca9532 platform data for Thecus N2100\n  leds: Add pca9532 led driver\n"
    },
    {
      "commit": "f9247273cb69ba101877e946d2d83044409cc8c5",
      "tree": "e173999eddfa9954550f221730feb8c03ebfc743",
      "parents": [
        "b340e8a57ef381e69c99a7a8ede61a6bf71a8014"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 24 17:22:13 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 11:50:15 2008 -0700"
      },
      "message": "UFS: add const to parser token table\n\nThis patch adds a \"const\" to the parser token table. I\u0027ve done an\nallmodconfig build to see if this produces any warnings/failures and the\npatch includes a fix for the only warning that was produced.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nAcked-by: Alexander Viro \u003caviro@redhat.com\u003e\nAcked-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bb49fcd501aa9fd3d321a22b7c01d9b0db7ab36",
      "tree": "056028eae394c961fd45aade9a22f406d0b747bb",
      "parents": [
        "cba603bf514c101bf48f6adf393c3d00ed457a57"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Wed Jul 23 21:31:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:41 2008 -0700"
      },
      "message": "video/fb: cleanup FB_MAJOR usage\n\nCurrently, linux/major.h defines a GRAPHDEV_MAJOR (29) that nobody uses,\nand linux/fb.h defines the real FB_MAJOR (also 29), that only fbmem.c\nneeds.  Drop GRAPHDEV_MAJOR from major.h, move FB_MAJOR definition from\nfb.h to major.h, and fix fbmem.c to use major.h\u0027s definition.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e074058d72486676f6fdf6fe803200c62dcb403",
      "tree": "de9d8c426198e9a10a04593abe8011c1e1822564",
      "parents": [
        "2d04a4a72d7e1519b4838f24bdd4b5d0f3f426dc"
      ],
      "author": {
        "name": "Hans-Christian Egtvedt",
        "email": "hans-christian.egtvedt@atmel.com",
        "time": "Wed Jul 23 21:31:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:41 2008 -0700"
      },
      "message": "fbdev: LCD backlight driver using Atmel PWM driver\n\nThis patch adds a platform driver using the ATMEL PWM driver to control a\nbacklight which requires a PWM signal and optional GPIO signal for discrete\non/off signal.  It has been tested on Favr-32 board from EarthLCD.\n\nThe driver is configurable by supplying a struct with the platform data.  See\nthe include/linux/atmel-pwm-bl.h for details.\n\nThe board code for Favr-32 will be submitted to the AVR32 kernel list.\n\nSigned-off-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c531360ed504aa0ce995fcb8ef08e82b6534d0b",
      "tree": "9062cea313b833c57f3284653608d39df580a323",
      "parents": [
        "cccb6d3c149603b9c15d3c460dff317455df1766"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Wed Jul 23 21:31:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:40 2008 -0700"
      },
      "message": "lcd: add lcd_device to check_fb() entry in lcd_ops\n\nAdd the lcd_device being checked to the check_fb entry of lcd_ops.  This\nensures that any driver using this to check against it\u0027s own state can do\nso, and also makes all the calls in lcd_ops more orthogonal in their\narguments.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "206c5d69d0540024faffd423fc703f1e457332d7",
      "tree": "d635ae03771773eaae3f56bcd967dd5781244a5a",
      "parents": [
        "968910bd03b226ed410d092c2da59dffe5bfe8de"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Wed Jul 23 21:31:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:40 2008 -0700"
      },
      "message": "sm501: add inversion controls for VBIASEN and FPEN\n\nAdd flags to allow the driver to invert the sense of both VBIASEN and FPEN\nsignals comming from the SM501.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01a2d9ed85c945fc8a672622780533a1a0b7caf5",
      "tree": "4f1f29a479d1dd4e8921223c2abed28bcc980a2a",
      "parents": [
        "34dec24317d6824b7db172bb0072b909a9c376f2"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:31:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:36 2008 -0700"
      },
      "message": "tridentfb: acceleration constants change\n\nThis patch replaces deprecated constant FB_ACCELF_TEXT with\nFBINFO_HWACCEL_DISABLED and adds constants for Trident families of\naccelerators.\n\nThe FBINFO_HWACCEL_DISABLED is correctly used so noaccel parameter works\nnow.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3de851a445123f24ad8ece18662014b5e8a8b4e",
      "tree": "44ef8b43208ba8a071fcd4d4b22e76c55881836d",
      "parents": [
        "53e84b672c1a8190af2b376c35c7a39cf1214f59"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Jul 23 21:30:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "rtc: BCD codeshrink\n\nThis updates \u003clinux/bcd.h\u003e to define the key routines as constant\nfunctions, which the macros will then call.  Newer code can now call\nbcd2bin() instead of SCREAMING BCD2BIN() TO THE FOUR WINDS.\n\nThis lets each driver shrink their codespace by using N function calls to\na single (global) copy of those routines, instead of N inlined copies of\nthese functions per driver.\n\nThese routines aren\u0027t used in speed-critical code.  Almost all callers are\nin the RTC framework.  Typical per-driver savings is near 300 bytes.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53e84b672c1a8190af2b376c35c7a39cf1214f59",
      "tree": "660b29a2ecde189abf799ff3bb5c142434707638",
      "parents": [
        "8fc2c767b06067b417c565c4e75731e68ed41fd8"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Jul 23 21:30:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "rtc: ds1305/ds1306 driver\n\nSupport the Dallas/Maxim DS1305 and DS1306 RTC chips.  These use SPI, and\nsupport alarms, NVRAM, and a trickle charger for use when their backup\npower supply is a supercap or rechargeable cell.\n\nThis basic driver doesn\u0027t yet support suspend/resume or wakealarms.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ad31a575157147b43fa84ef1e21471661653878",
      "tree": "c4a42d45957362aa8391938ae3e11496321c19d8",
      "parents": [
        "53f1b1433da7eac2607a4a0898a221a4485fd732"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Jul 23 21:30:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "rtc: remove BKL for ioctl()\n\nRemove implicit use of BKL in ioctl() from the RTC framework.\n\nInstead, the rtc-\u003eops_lock is used.  That\u0027s the same lock that already\nprotects the RTC operations when they\u0027re issued through the exported\nrtc_*() calls in drivers/rtc/interface.c ...  making this a bugfix, not\njust a cleanup, since both ioctl calls and set_alarm() need to update IRQ\nenable flags and that implies a common lock (which RTC drivers as a rule\ndo not provide on their own).\n\nA new comment at the declaration of \"struct rtc_class_ops\" summarizes\ncurrent locking rules.  It\u0027s not clear to me that the exceptions listed\nthere should exist ...  if not, those are pre-existing problems which can\nbe fixed in a patch that doesn\u0027t relate to BKL removal.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa55ddf340c9fa3f303ee16bbf35887e42c50304",
      "tree": "62194eef352ef852e6da1a9a3b685d2f56ac9c3b",
      "parents": [
        "06a3598552dc3b2b30eb18bd53bbac2a901489d7"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Jul 23 21:30:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "autofs4: remove unused ioctls\n\nThe ioctls AUTOFS_IOC_TOGGLEREGHOST and AUTOFS_IOC_ASKREGHOST were added\nseveral years ago but what they were intended for has never been\nimplemented (as far as I\u0027m aware noone uses them) so remove them.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@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": "102eb97564c73ea73645b38599c5cbe6f54b030c",
      "tree": "c054ffd980f35d14c569204fc4dcd995544817d3",
      "parents": [
        "6291fe2abce4689d6ee7cbaea16692c79bf0d01b"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 23 21:29:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:30 2008 -0700"
      },
      "message": "spi: make spi_board_info.modalias a char array\n\nCurrently, \u0027modalias\u0027 in the spi_device structure is a \u0027const char *\u0027.\nThe spi_new_device() function fills in the modalias value from a passed in\nspi_board_info data block.  Since it is a pointer copy, the new spi_device\nremains dependent on the spi_board_info structure after the new spi_device\nis registered (no other fields in spi_device directly depend on the\nspi_board_info structure; all of the other data is copied).\n\nThis causes a problem when dynamically propulating the list of attached\nSPI devices.  For example, in arch/powerpc, the list of SPI devices can be\npopulated from data in the device tree.  With the current code, the device\ntree adapter must kmalloc() a new spi_board_info structure for each new\nSPI device it finds in the device tree, and there is no simple mechanism\nin place for keeping track of these allocations.\n\nThis patch changes modalias from a \u0027const char *\u0027 to a fixed char array.\nBy copying the modalias string instead of referencing it, the dependency\non the spi_board_info structure is eliminated and an outside caller does\nnot need to maintain a separate spi_board_info allocation for each device.\n\nIf searched through the code to the best of my ability for any references\nto modalias which may be affected by this change and haven\u0027t found\nanything.  It has been tested with the lite5200b platform in arch/powerpc.\n\n[dbrownell@users.sourceforge.net: cope with linux-next changes: KOBJ_NAME_LEN obliterated, etc]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0"
}
