)]}'
{
  "log": [
    {
      "commit": "3fc957721d18c93662f7d4dab455b80f53dd2641",
      "tree": "9bdbabf3cb3678edcd0e0e4beb5deaa5c1b17bcd",
      "parents": [
        "122a881c776b7c155bf3f379928cc27aab435288"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed May 14 16:05:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "lib: create common ascii hex array\n\nAdd a common hex array in hexdump.c so everyone can use it.\n\nAdd a common hi/lo helper to avoid the shifting masking that is\ndone to get the upper and lower nibbles of a byte value.\n\nPull the pack_hex_byte helper from kgdb as it is opencoded many\nplaces in the tree that will be consolidated.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c70814c311581a6c86198db4f982aa683c68fb8",
      "tree": "3df20cc52e4cf0515b7d7f6658d9f6991baa560c",
      "parents": [
        "b7cffc1f29c1bc729bc50c863c87f93f9b70994b"
      ],
      "author": {
        "name": "Mirco Tischler",
        "email": "mt-ml@gmx.de",
        "time": "Wed May 14 16:05:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "cgroups: fix compile warning\n\nReturn type of cpu_rt_runtime_write() should be int instead of ssize_t.\n\nSigned-off-by: Mirco Tischler \u003cmt-ml@gmx.de\u003e\nAcked-by: Paul Menage \u003cmenage@google.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": "c3921ab71507b108d51a0f1ee960f80cd668a93d",
      "tree": "b1408b898a8b50f15ad4a0cf1f29e17cc0138485",
      "parents": [
        "9662369786b9d07fd46d65b0f9e3938a3e01a5d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "message": "Add new \u0027cond_resched_bkl()\u0027 helper function\n\nIt acts exactly like a regular \u0027cond_resched()\u0027, but will not get\noptimized away when CONFIG_PREEMPT is set.\n\nNormal kernel code is already preemptable in the presense of\nCONFIG_PREEMPT, so cond_resched() is optimized away (see commit\n02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 \"sched: do not do\ncond_resched() when CONFIG_PREEMPT\").\n\nBut when wanting to conditionally reschedule while holding a lock, you\nneed to use \"cond_sched_lock(lock)\", and the new function is the BKL\nequivalent of that.\n\nAlso make fs/locks.c use it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e3e076c5a78519a9f64cd384e8f18bc21882ce0",
      "tree": "f032258fde3aa4771e86bf4552fe4530c221dec3",
      "parents": [
        "00b41ec2611dc98f87f30753ee00a53db648d662"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:58:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:58:02 2008 -0700"
      },
      "message": "BKL: revert back to the old spinlock implementation\n\nThe generic semaphore rewrite had a huge performance regression on AIM7\n(and potentially other BKL-heavy benchmarks) because the generic\nsemaphores had been rewritten to be simple to understand and fair.  The\nlatter, in particular, turns a semaphore-based BKL implementation into a\nmess of scheduling.\n\nThe attempt to fix the performance regression failed miserably (see the\nprevious commit 00b41ec2611dc98f87f30753ee00a53db648d662 \u0027Revert\n\"semaphore: fix\"\u0027), and so for now the simple and sane approach is to\ninstead just go back to the old spinlock-based BKL implementation that\nnever had any issues like this.\n\nThis patch also has the advantage of being reported to fix the\nregression completely according to Yanmin Zhang, unlike the semaphore\nhack which still left a couple percentage point regression.\n\nAs a spinlock, the BKL obviously has the potential to be a latency\nissue, but it\u0027s not really any different from any other spinlock in that\nrespect.  We do want to get rid of the BKL asap, but that has been the\nplan for several years.\n\nThese days, the biggest users are in the tty layer (open/release in\nparticular) and Alan holds out some hope:\n\n  \"tty release is probably a few months away from getting cured - I\u0027m\n   afraid it will almost certainly be the very last user of the BKL in\n   tty to get fixed as it depends on everything else being sanely locked.\"\n\nso while we\u0027re not there yet, we do have a plan of action.\n\nTested-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Alexander Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00b41ec2611dc98f87f30753ee00a53db648d662",
      "tree": "431f5019ce8dfd0f9c2b0e3816128dc4a34a49ff",
      "parents": [
        "39f004ba27fcd2431030a3bb3c949fa3f93fa4ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:43:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:43:22 2008 -0700"
      },
      "message": "Revert \"semaphore: fix\"\n\nThis reverts commit bf726eab3711cf192405d21688a4b21e07b6188a, as it has\nbeen reported to cause a regression with processes stuck in __down(),\napparently because some missing wakeup.\n\nQuoth Sven Wegener:\n \"I\u0027m currently investigating a regression that has showed up with my\n  last git pull yesterday.  Bisecting the commits showed bf726e\n  \"semaphore: fix\" to be the culprit, reverting it fixed the issue.\n\n  Symptoms: During heavy filesystem usage (e.g.  a kernel compile) I get\n  several compiler processes in uninterruptible sleep, blocking all i/o\n  on the filesystem.  System is an Intel Core 2 Quad running a 64bit\n  kernel and userspace.  Filesystem is xfs on top of lvm.  See below for\n  the output of sysrq-w.\"\n\nSee\n\n\thttp://lkml.org/lkml/2008/5/10/45\n\nfor full report.\n\nIn the meantime, we can just fix the BKL performance regression by\nreverting back to the good old BKL spinlock implementation instead,\nsince any sleeping lock will generally perform badly, especially if it\ntries to be fair.\n\nReported-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91e37a793b5a9436a2d12b2f0a8f52db3a133e1d",
      "tree": "6ddf17ad786fa2a42ef79aa4f7873c79c1e17a89",
      "parents": [
        "a5dd69707424a35d2d2cc094e870f595ad61e916"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 09 16:25:28 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 07:45:18 2008 -0700"
      },
      "message": "module: don\u0027t ignore vermagic string if module doesn\u0027t have modversions\n\nLinus found a logic bug: we ignore the version number in a module\u0027s\nvermagic string if we have CONFIG_MODVERSIONS set, but modversions\nalso lets through a module with no __versions section for modprobe\n--force (with tainting, but still).\n\nWe should only ignore the start of the vermagic string if the module\nactually *has* crcs to check.  Rather than (say) having an\nentertaining hissy fit and creating a config option to work around the\nbuggy code.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5dd69707424a35d2d2cc094e870f595ad61e916",
      "tree": "dd9dffe6748358bac9a8699f7d8ad9e205886a67",
      "parents": [
        "6c2545eefffc452e52302c96c955d9aa26353aa9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 09 16:24:21 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 07:45:18 2008 -0700"
      },
      "message": "module: be more picky about allowing missing module versions\n\nWe allow missing __versions sections, because modprobe --force strips\nit.  It makes less sense to allow sections where there\u0027s no version\nfor a specific symbol the module uses, so disallow that.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4f51b4662074c6ee26c972126a317c05f65be06",
      "tree": "ea6b25a3b45d11d649f85626a9879ce7723554da",
      "parents": [
        "f589274533eb94e0217acc1db6240ce6e621bb56",
        "46151122e0a2e80e5a6b2889f595e371fe2b600d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 11:31:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 11:31:07 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes:\n  sched: fix weight calculations\n  semaphore: fix\n"
    },
    {
      "commit": "7a34912d90c17a90d9fad12c4c51833b4e70707b",
      "tree": "a3811697f5eba3c5d12216ac76f681420046b219",
      "parents": [
        "0f1bce41fed02e45f31c2409f29e69e1fedebcdc",
        "75065ff619e42fe35178eda863cbcddd57776794"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:36 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Revert \"relay: fix splice problem\"\n  docbook: fix bio missing parameter\n  block: use unitialized_var() in bio_alloc_bioset()\n  block: avoid duplicate calls to get_part() in disk stat code\n  cfq-iosched: make io priorities inherit CPU scheduling class as well as nice\n  block: optimize generic_unplug_device()\n  block: get rid of likely/unlikely predictions in merge logic\n  vfs: splice remove_suid() cleanup\n  cfq-iosched: fix RCU race in the cfq io_context destructor handling\n  block: adjust tagging function queue bit locking\n  block: sysfs store function needs to grab queue_lock and use queue_flag_*()\n"
    },
    {
      "commit": "5be7a4792a31df6f2cd44bfba8da467ea20a0642",
      "tree": "87ec7f4f59f52a729ab21aa6d6bf3d3e6cad9474",
      "parents": [
        "4ea33e2dc2dab10960877e1649ee527c033f42c0"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue May 06 20:42:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:46:56 2008 -0700"
      },
      "message": "Fix cpuset sched_relax_domain_level control file\n\nDue to a merge conflict, the sched_relax_domain_level control file was marked\nas being handled by cpuset_read/write_u64, but the code to handle it was\nactually in cpuset_common_file_read/write.\n\nSince the value being written/read is in fact a signed integer, it should be\ntreated as such; this patch adds cpuset_read/write_s64 functions, and uses\nthem to handle the sched_relax_domain_level file.\n\nWith this patch, the sched_relax_domain_level can be read and written, and the\ncorrect contents seen/updated.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-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": "46151122e0a2e80e5a6b2889f595e371fe2b600d",
      "tree": "61ab1993c1a94765327aeba3b36924b88b81e68f",
      "parents": [
        "bf726eab3711cf192405d21688a4b21e07b6188a"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "message": "sched: fix weight calculations\n\nThe conversion between virtual and real time is as follows:\n\n  dvt \u003d rw/w * dt \u003c\u003d\u003e dt \u003d w/rw * dvt\n\nSince we want the fair sleeper granularity to be in real time, we actually\nneed to do:\n\n  dvt \u003d - rw/w * l\n\nThis bug could be related to the regression reported by Yanmin Zhang:\n\n| Comparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has lots\n| of regressions with 2.6.26-rc1:\n|\n| 1) 8-core stoakley: 28%;\n| 2) 16-core tigerton: 20%;\n| 3) Itanium Montvale: 50%.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf726eab3711cf192405d21688a4b21e07b6188a",
      "tree": "5450be096ade3a66edee8858fd492ff55e20e4f8",
      "parents": [
        "3de2403e6659d71b36ec820dc9b942762ddfe6eb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 11:53:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "message": "semaphore: fix\n\nYanmin Zhang reported:\n\n| Comparing with kernel 2.6.25, ﻿AIM7 (use tmpfs) has ﻿more th\n| regression under 2.6.26-rc1 on my 8-core stoakley, 16-core tigerton,\n| and Itanium Montecito. Bisect located the patch below:\n|\n| 64ac24e738823161693bf791f87adc802cf529ff is first bad commit\n| commit 64ac24e738823161693bf791f87adc802cf529ff\n| Author: Matthew Wilcox \u003cmatthew@wil.cx\u003e\n| Date:   Fri Mar 7 21:55:58 2008 -0500\n|\n|     Generic semaphore implementation\n|\n| After I manually reverted the patch against 2.6.26-rc1 while fixing\n| lots of conflicts/errors, aim7 regression became less than 2%.\n\ni reproduced the AIM7 workload and can confirm Yanmin\u0027s findings that\n-.26-rc1 regresses over .25 - by over 67% here.\n\nLooking at the workload i found and fixed what i believe to be the real\nbug causing the AIM7 regression: it was inefficient wakeup / scheduling\n/ locking behavior of the new generic semaphore code, causing suboptimal\nperformance.\n\nThe problem comes from the following code. The new semaphore code does\nthis on down():\n\n        spin_lock_irqsave(\u0026sem-\u003elock, flags);\n        if (likely(sem-\u003ecount \u003e 0))\n                sem-\u003ecount--;\n        else\n                __down(sem);\n        spin_unlock_irqrestore(\u0026sem-\u003elock, flags);\n\nand this on up():\n\n        spin_lock_irqsave(\u0026sem-\u003elock, flags);\n        if (likely(list_empty(\u0026sem-\u003ewait_list)))\n                sem-\u003ecount++;\n        else\n                __up(sem);\n        spin_unlock_irqrestore(\u0026sem-\u003elock, flags);\n\nwhere __up() does:\n\n        list_del(\u0026waiter-\u003elist);\n        waiter-\u003eup \u003d 1;\n        wake_up_process(waiter-\u003etask);\n\nand where __down() does this in essence:\n\n        list_add_tail(\u0026waiter.list, \u0026sem-\u003ewait_list);\n        waiter.task \u003d task;\n        waiter.up \u003d 0;\n        for (;;) {\n                [...]\n                spin_unlock_irq(\u0026sem-\u003elock);\n                timeout \u003d schedule_timeout(timeout);\n                spin_lock_irq(\u0026sem-\u003elock);\n                if (waiter.up)\n                        return 0;\n        }\n\nthe fastpath looks good and obvious, but note the following property of\nthe contended path: if there\u0027s a task on the -\u003ewait_list, the up() of\nthe current owner will \"pass over\" ownership to that waiting task, in a\nwake-one manner, via the waiter-\u003eup flag and by removing the waiter from\nthe wait list.\n\nThat is all and fine in principle, but as implemented in\nkernel/semaphore.c it also creates a nasty, hidden source of contention!\n\nThe contention comes from the following property of the new semaphore\ncode: the new owner owns the semaphore exclusively, even if it is not\nrunning yet.\n\nSo if the old owner, even if just a few instructions later, does a\ndown() [lock_kernel()] again, it will be blocked and will have to wait\non the new owner to eventually be scheduled (possibly on another CPU)!\nOr if another task gets to lock_kernel() sooner than the \"new owner\"\nscheduled, it will be blocked unnecessarily and for a very long time\nwhen there are 2000 tasks running.\n\nI.e. the implementation of the new semaphores code does wake-one and\nlock ownership in a very restrictive way - it does not allow\nopportunistic re-locking of the lock at all and keeps the scheduler from\npicking task order intelligently.\n\nThis kind of scheduling, with 2000 AIM7 processes running, creates awful\ncross-scheduling between those 2000 tasks, causes reduced parallelism, a\nthrottled runqueue length and a lot of idle time. With increasing number\nof CPUs it causes an exponentially worse behavior in AIM7, as the chance\nfor a newly woken new-owner task to actually run anytime soon is less\nand less likely.\n\nNote that it takes just a tiny bit of contention for the \u0027new-semaphore\ncatastrophy\u0027 to happen: the wakeup latencies get added to whatever small\ncontention there is, and quickly snowball out of control!\n\nI believe Yanmin\u0027s findings and numbers support this analysis too.\n\nThe best fix for this problem is to use the same scheduling logic that\nthe kernel/mutex.c code uses: keep the wake-one behavior (that is OK and\nwanted because we do not want to over-schedule), but also allow\nopportunistic locking of the lock even if a wakee is already \"in\nflight\".\n\nThe patch below implements this new logic. With this patch applied the\nAIM7 regression is largely fixed on my quad testbox:\n\n  # v2.6.25 vanilla:\n  ..................\n  Tasks   Jobs/Min        JTI     Real    CPU     Jobs/sec/task\n  2000    56096.4         91      207.5   789.7   0.4675\n  2000    55894.4         94      208.2   792.7   0.4658\n\n  # v2.6.26-rc1-166-gc0a1811 vanilla:\n  ...................................\n  Tasks   Jobs/Min        JTI     Real    CPU     Jobs/sec/task\n  2000    33230.6         83      350.3   784.5   0.2769\n  2000    31778.1         86      366.3   783.6   0.2648\n\n  # v2.6.26-rc1-166-gc0a1811 + semaphore-speedup:\n  ...............................................\n  Tasks   Jobs/Min        JTI     Real    CPU     Jobs/sec/task\n  2000    55707.1         92      209.0   795.6   0.4642\n  2000    55704.4         96      209.0   796.0   0.4642\n\ni.e. a 67% speedup. We are now back to within 1% of the v2.6.25\nperformance levels and have zero idle time during the test, as expected.\n\nBtw., interactivity also improved dramatically with the fix - for\nexample console-switching became almost instantaneous during this\nworkload (which after all is running 2000 tasks at once!), without the\npatch it was stuck for a minute at times.\n\nThere\u0027s another nice side-effect of this speedup patch, the new generic\nsemaphore code got even smaller:\n\n   text    data     bss     dec     hex filename\n   1241       0       0    1241     4d9 semaphore.o.before\n   1207       0       0    1207     4b7 semaphore.o.after\n\n(because the waiter.up complication got removed.)\n\nLonger-term we should look into using the mutex code for the generic\nsemaphore code as well - but i\u0027s not easy due to legacies and it\u0027s\noutside of the scope of v2.6.26 and outside the scope of this patch as\nwell.\n\nBisected-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75065ff619e42fe35178eda863cbcddd57776794",
      "tree": "e41d6e838cb2d2fcd62e5ea1980f720e98b57de7",
      "parents": [
        "ffee0259c9edcc4c0f06b60df51c461eeecad4c0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 08 14:06:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 08 14:06:19 2008 +0200"
      },
      "message": "Revert \"relay: fix splice problem\"\n\nThis reverts commit c3270e577c18b3d0e984c3371493205a4807db9d.\n"
    },
    {
      "commit": "3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd",
      "tree": "3752f9ea8e014ec40e95a1b197b0a3d18e1056a8",
      "parents": [
        "a5574cf65b5f03ce9ade3918764fe22e5e2371e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 03 18:29:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\nthis replaces the rq-\u003eclock stuff (and possibly cpu_clock()).\n\n - architectures that have an \u0027imperfect\u0027 hardware clock can set\n   CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\n - the \u0027jiffie\u0027 window might be superfulous when we update tick_gtod\n   before the __update_sched_clock() call in sched_clock_tick()\n\n - cpu_clock() might be implemented as:\n\n     sched_clock_cpu(smp_processor_id())\n\n   if the accuracy proves good enough - how far can TSC drift in a\n   single jiffie when considering the filtering and idle hooks?\n\n[ mingo@elte.hu: various fixes and cleanups ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dfbf4a1bc319f0f9a31e39b2da1fa5c55e85af89",
      "tree": "0b9dd19406c53a93452dd345bb05f76aa712a757",
      "parents": [
        "cb4ad1ffc7c0d8ea7dc8cd8ba303d83551716d46"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 23 09:24:06 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix cpu clock\n\nDavid Miller pointed it out that nothing in cpu_clock() sets\nprev_cpu_time. This caused __sync_cpu_clock() to be called\nall the time - against the intention of this code.\n\nThe result was that in practice we hit a global spinlock every\ntime cpu_clock() is called - which - even though cpu_clock()\nis used for tracing and debugging, is suboptimal.\n\nWhile at it, also:\n\n- move the irq disabling to the outest layer,\n  this should make cpu_clock() warp-free when called with irqs\n  enabled.\n\n- use long long instead of cycles_t - for platforms where cycles_t\n  is 32-bit.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb4ad1ffc7c0d8ea7dc8cd8ba303d83551716d46",
      "tree": "79f6b1fe971a270e5e009d695d2bf998936197c8",
      "parents": [
        "712555ee4f873515612f89554ad1a3fda5fa887e"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon Apr 28 12:54:56 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fair-group: fix a Div0 error of the fair group scheduler\n\nWhen I echoed 0 into the \"cpu.shares\" file, a Div0 error occured.\n\nWe found it is caused by the following calling.\n\n   sched_group_set_shares(tg, shares)\n       set_se_shares(tg-\u003ese[i], shares/nr_cpu_ids)\n           __set_se_shares(se, shares)\n               div64_64((1ULL\u003c\u003c32), shares)\n\nWhen the echoed value was less than the number of processores, the result of the\nsentence \"shares/nr_cpu_ids\" was 0, and then the system called div64() to divide\nthe result, the Div0 error occured.\n\nIt is unnecessary that the shares value is divided by nr_cpu_ids, I think.\nBecause in the function  __update_group_shares_cpu() and init_tg_cfs_entry(),\nthe shares value isn\u0027t divided by nr_cpu_ids when setting shares of the sched\nentity.\n\nThis patch fixes this bug. And echoing ULONG_MAX value into cpu.shares also\ncauses Div0 error, so we set a macro MAX_SHARES to limit the max value of\nshares.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "712555ee4f873515612f89554ad1a3fda5fa887e",
      "tree": "88ff7222727c63959eb58a3aa729029aaf08a64f",
      "parents": [
        "690229a0912ca2fef8b542fe4d8b73acfcdc6e24"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Apr 28 11:33:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix missing locking in sched_domains code\n\nConcurrent calls to detach_destroy_domains and arch_init_sched_domains\nwere prevented by the old scheduler subsystem cpu hotplug mutex. When\nthis got converted to get_online_cpus() the locking got broken.\nUnlike before now several processes can concurrently enter the critical\nsections that were protected by the old lock.\n\nSo use the already present doms_cur_mutex to protect these sections again.\n\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "690229a0912ca2fef8b542fe4d8b73acfcdc6e24",
      "tree": "28be1db230f039589650f2b5d46de9e6f5722ef0",
      "parents": [
        "d7dcdc11cfa6a8860a29b09f985467b89224699d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 23 09:31:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: make clock sync tunable by architecture code\n\nmake time_sync_thresh tunable to architecture code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7dcdc11cfa6a8860a29b09f985467b89224699d",
      "tree": "cd7b8c1ba9b23ec84f93e58417e67644dfd7a124",
      "parents": [
        "673a90a1e05c8127886f7659d1a457169378371f"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Apr 29 12:23:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix debugging\n\nRevert debugging commit 7ba2e74ab5a0518bc953042952dd165724bc70c9.\nprint_cfs_rq_tasks() can induce live-lock if a task is dequeued\nduring list traversal.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "673a90a1e05c8127886f7659d1a457169378371f",
      "tree": "77469d2b1273d960b90520a088bd82bdf0276ee7",
      "parents": [
        "b328ca182f01c2a04b85e0ee8a410720b104fbcc"
      ],
      "author": {
        "name": "David Simner",
        "email": "djs203@srcf.ucam.org",
        "time": "Tue Apr 29 10:08:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix sched_info_switch not being called according to documentation\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10545\n\nsched_stats.h says that __sched_info_switch is \"called when prev !\u003d\nnext\" in the comment.  sched.c should therefore do that.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b328ca182f01c2a04b85e0ee8a410720b104fbcc",
      "tree": "d04ba3472a8f57788fb7e6e614e8e6b3c5a79b55",
      "parents": [
        "104f64549c961a797ff5f7c59946a7caa335c5b0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Apr 29 10:02:46 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix hrtick_start_fair and CPU-Hotplug\n\nGautham R Shenoy reported:\n\n \u003e While running the usual CPU-Hotplug stress tests on linux-2.6.25,\n \u003e I noticed the following in the console logs.\n \u003e\n \u003e This is a wee bit difficult to reproduce. In the past 10 runs I hit this\n \u003e only once.\n \u003e\n \u003e ------------[ cut here ]------------\n \u003e\n \u003e WARNING: at kernel/sched.c:962 hrtick+0x2e/0x65()\n \u003e\n \u003e Just wondering if we are doing a good job at handling the cancellation\n \u003e of any per-cpu scheduler timers during CPU-Hotplug.\n\nThis looks like its indeed not cancelled at all and migrates the it to\nanother cpu. Fix it via a proper hotplug notifier mechanism.\n\nReported-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "104f64549c961a797ff5f7c59946a7caa335c5b0",
      "tree": "d63d707ee5b9d1dbc8e5796e142ca584736f01b9",
      "parents": [
        "8ae121ac8666b0421aa20fd80d4597ec66fa54bc"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Apr 28 12:40:01 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix SCHED_FAIR wake-idle logic error\n\nWe currently use an optimization to skip the overhead of wake-idle\nprocessing if more than one task is assigned to a run-queue.  The\nassumption is that the system must already be load-balanced or we\nwouldnt be overloaded to begin with.\n\nThe problem is that we are looking at rq-\u003enr_running, which may include\nRT tasks in addition to CFS tasks.  Since the presence of RT tasks\nreally has no bearing on the balance status of CFS tasks, this throws\nthe calculation off.\n\nThis patch changes the logic to only consider the number of CFS tasks\nwhen making the decision to optimze the wake-idle.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ae121ac8666b0421aa20fd80d4597ec66fa54bc",
      "tree": "1db411965b1b12029d501ea10ab90fbc8aa4ec62",
      "parents": [
        "983ed7a66bcec9dc307d89dc7af47cdf209e56af"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Wed Apr 23 07:13:29 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix RT task-wakeup logic\n\nDmitry Adamushko pointed out a logic error in task_wake_up_rt() where we\nwill always evaluate to \"true\".  You can find the thread here:\n\nhttp://lkml.org/lkml/2008/4/22/296\n\nIn reality, we only want to try to push tasks away when a wake up request is\nnot going to preempt the current task.  So lets fix it.\n\nNote: We introduce test_tsk_need_resched() instead of open-coding the flag\ncheck so that the merge-conflict with -rt should help remind us that we\nmay need to support NEEDS_RESCHED_DELAYED in the future, too.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "983ed7a66bcec9dc307d89dc7af47cdf209e56af",
      "tree": "a5fc14c7fe993b795198bbeee2919ad695735e81",
      "parents": [
        "d478c2cfaa2476f8b6876f9eb4d8fddcfa986479"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 24 18:17:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: add statics, don\u0027t return void expressions\n\nNoticed by sparse:\nkernel/sched.c:760:20: warning: symbol \u0027sched_feat_names\u0027 was not declared. Should it be static?\nkernel/sched.c:767:5: warning: symbol \u0027sched_feat_open\u0027 was not declared. Should it be static?\nkernel/sched_fair.c:845:3: warning: returning void-valued expression\nkernel/sched.c:4386:3: warning: returning void-valued expression\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d478c2cfaa2476f8b6876f9eb4d8fddcfa986479",
      "tree": "59cb264c539147cb481e13335ff3c69750e16c67",
      "parents": [
        "733a0771df46af942b8355cd8bb15780106b4353"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Apr 26 11:30:34 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: add debug checks to idle functions\n\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: \"Justin Mattock\" \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2abdad0a4cd8f9413f778cc998e0ee7d60b28417",
      "tree": "c7bd3839e765c2991d3dfbfb1f5f83d58f1211e3",
      "parents": [
        "e05510d01ad1565e5e086a939261084d67ba2b10"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Apr 25 10:53:13 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: make rt_sched_class, idle_sched_class static\n\nThe C files are included directly in sched.c, so they are\neffectively static.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e05510d01ad1565e5e086a939261084d67ba2b10",
      "tree": "f6a8d27f2ad546c98079c8868d914de46a77994f",
      "parents": [
        "a992241de614dd2b7c97a9ba64e28c0e563f19bf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: optimize calc_delta_mine()\n\nJoel noticed that the !lw-\u003einv_weight contition isn\u0027t unlikely anymore so\nremove the unlikely annotation. Also, remove the two div64_u64() inv_weight\ncalculations, which makes them rely on the calc_delta_mine() path as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Joel Schopp \u003cjschopp@austin.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a992241de614dd2b7c97a9ba64e28c0e563f19bf",
      "tree": "a76f646188c23aad856b43ffc841a0ec08613398",
      "parents": [
        "5717922a1b8cc477f45a0f4f11fe619392ba7133"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: fix normalized sleeper\n\nNormalized sleeper uses calc_delta*() which requires that the rq load is\nalready updated, so move account_entity_enqueue() before place_entity()\n\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5717922a1b8cc477f45a0f4f11fe619392ba7133",
      "tree": "eeec6ca67edf27831071cabb8a13665b8001d55c",
      "parents": [
        "50f7ad2500b27ce5c42be3a6936f143b158f7bc3",
        "e024cbd257efc2788b7d21b9353e966267485c87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 10:17:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 10:17:30 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: kconfig fix xconfig/menuconfig element\n  kgdb: fix signedness mixmatches, add statics, add declaration to header\n  kgdb: 1000 loops for the single step test in kgdbts\n  kgdb: trivial sparse fixes in kgdb test-suite\n  kgdb: minor documentation fixes\n"
    },
    {
      "commit": "82af7aca56c67061420d618cc5a30f0fd4106b80",
      "tree": "7542ae2436336f6cfafb4b9dc1e8bc66637a1cc9",
      "parents": [
        "f74d505b58d36ceeef10e459094f0eb760681165"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Fri Jan 25 10:40:46 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 08:18:45 2008 -0700"
      },
      "message": "Removal of FUTEX_FD\n\nSince FUTEX_FD was scheduled for removal in June 2007 lets remove it.\n\nGoogle Code search found no users for it and NGPT was abandoned in 2003\naccording to IBM.  futex.h is left untouched to make sure the id does\nnot get reassigned.  Since queue_me() has no users left it is commented\nout to avoid a warning, i didnt remove it completely since it is part of\nthe internal api (matching unqueue_me())\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (removed rest)\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "688b744d8bc84dc5cc646e97509113dc5e8818ed",
      "tree": "7eb6292506e354a3ba76c202fcd1f8b08eccaf70",
      "parents": [
        "7cfcd985d36031459cc64e3843ea36a4d801097d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 24 16:57:23 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 05 07:13:21 2008 -0500"
      },
      "message": "kgdb: fix signedness mixmatches, add statics, add declaration to header\n\nNoticed by sparse:\narch/x86/kernel/kgdb.c:556:15: warning: symbol \u0027kgdb_arch_pc\u0027 was not declared. Should it be static?\nkernel/kgdb.c:149:8: warning: symbol \u0027kgdb_do_roundup\u0027 was not declared. Should it be static?\nkernel/kgdb.c:193:22: warning: symbol \u0027kgdb_arch_pc\u0027 was not declared. Should it be static?\nkernel/kgdb.c:712:5: warning: symbol \u0027remove_all_break\u0027 was not declared. Should it be static?\n\nRelated to kgdb_hex2long:\narch/x86/kernel/kgdb.c:371:28: warning: incorrect type in argument 2 (different signedness)\narch/x86/kernel/kgdb.c:371:28:    expected long *long_val\narch/x86/kernel/kgdb.c:371:28:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:469:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:469:27:    expected long *long_val\nkernel/kgdb.c:469:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:470:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:470:27:    expected long *long_val\nkernel/kgdb.c:470:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:894:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:894:27:    expected long *long_val\nkernel/kgdb.c:894:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:895:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:895:27:    expected long *long_val\nkernel/kgdb.c:895:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:1127:28: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:1127:28:    expected long *long_val\nkernel/kgdb.c:1127:28:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:1132:25: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:1132:25:    expected long *long_val\nkernel/kgdb.c:1132:25:    got unsigned long *\u003cnoident\u003e\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "826e4506a0acb6487910a5ebafe839f708a00e1c",
      "tree": "20cc66b6b38c0414930d85a8a9705a3a3eff8ddf",
      "parents": [
        "afa26be86b65a7183ceac29bdf1f51d6fc6932f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:04:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:04:16 2008 -0700"
      },
      "message": "Make forced module loading optional\n\nThe kernel module loader used to be much too happy to allow loading of\nmodules for the wrong kernel version by default.  For example, if you\nhad MODVERSIONS enabled, but tried to load a module with no version\ninfo, it would happily load it and taint the kernel - whether it was\nlikely to actually work or not!\n\nGenerally, such forced module loading should be considered a really\nreally bad idea, so make it conditional on a new config option\n(MODULE_FORCE_LOAD), and make it default to off.\n\nIf somebody really wants to force module loads, that\u0027s their problem,\nbut we should not encourage it.  Especially as it happened to me by\nmistake (ie regular unversioned Fedora modules getting loaded) causing\nlots of strange behavior.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afa26be86b65a7183ceac29bdf1f51d6fc6932f0",
      "tree": "b7b24e134d34f17e62085ecb8a9583e00f1c7248",
      "parents": [
        "269f21344b23e552c21c9e2d7ca258479dcd7a0a",
        "4f95f81a48623982879f4fa80c641933444afd18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 13:51:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 13:51:10 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: allow read access to available/current_clocksource\n  clocksource: Fix permissions for available_clocksource\n  hrtimer: remove duplicate helper function\n"
    },
    {
      "commit": "4f95f81a48623982879f4fa80c641933444afd18",
      "tree": "a1e6325a9b3ba3baf60911091ecb69212305204d",
      "parents": [
        "4359a023a8c3b247b348c310bf510b23f3c1ab64"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat May 03 14:23:14 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "clocksource: allow read access to available/current_clocksource\n\nThere is no harm, when users can read the info and we ask often enough\nduring debugging for this kind of information.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4359a023a8c3b247b348c310bf510b23f3c1ab64",
      "tree": "be6479eada293e91c4a17b1d6b942a4a7846a86d",
      "parents": [
        "4346f65426cbceb64794b468e4af6f5632d58c5e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri May 02 12:49:40 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "clocksource: Fix permissions for available_clocksource\n\nFile permissions for\n/sys/devices/system/clocksource/clocksource0/available_clocksource\nare 600 which allows write access. But this is in fact a read only\nfile. So change permissions to 400.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4346f65426cbceb64794b468e4af6f5632d58c5e",
      "tree": "cd698a910a2526882d542984ccd314d109a5194a",
      "parents": [
        "b66e1f11ebc429569a3784aaf64123633d9e3ed1"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Wed Apr 30 23:04:37 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "hrtimer: remove duplicate helper function\n\nThe helper function hrtimer_callback_running() is used in\nkernel/hrtimer.c as well as in the updated net/can/bcm.c which now\nsupports hrtimers. Moving the helper function to hrtimer.h removes the\nduplicate definition in the C-files.\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "b9095fd8a7f41dc7ac0b0b7864f74766a3056f96",
      "tree": "85653322dfb5b0c2faef3973d9d480d8117e4454",
      "parents": [
        "c25bd29805f4d854c3a0b4176813f3c1bff569d3"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:42 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:42 2008 -0700"
      },
      "message": "Make constants in kernel/timeconst.h fixed 64 bits\n\nForce constants in kernel/timeconst.h (except shift counts) to be 64 bits,\nusing U64_C() constructor macros, and eliminate constants that cannot\nbe represented at all in 64 bits.  This avoids warnings with some gcc\nversions.\n\nDrop generating 64-bit constants, since we have no real hope of\ngetting a full set (operation on 64-bit values requires a 128-bit\nintermediate result, which gcc only supports on 64-bit platforms, and\nonly with libgcc support on some.)  Note that the use of these\nconstants does not depend on if we are on a 32- or 64-bit architecture.\n\nThis resolves Bugzilla 10153.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "b66e1f11ebc429569a3784aaf64123633d9e3ed1",
      "tree": "d49f96acc682aaf29416921428110da5fd78fea4",
      "parents": [
        "1be1d6b7f3f6e3a87f872dd5e7a867d03d8a6851",
        "5c598b3428c372a1209597cee99a70da20625876"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 11:23:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 11:23:14 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] fix sysctl_nr_open bugs\n  [PATCH] sanitize anon_inode_getfd()\n  [PATCH] split linux/file.h\n  [PATCH] make osf_select() use core_sys_select()\n  [PATCH] remove horrors with irix tty ioctls handling\n  [PATCH] fix file and descriptor handling in perfmon\n"
    },
    {
      "commit": "1adb0850a1254333d81e64121c80af100c6d6e06",
      "tree": "61835b06e78eb6f556c038ceabc706440f339d3a",
      "parents": [
        "886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 28 17:01:56 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 02 13:40:34 2008 +0200"
      },
      "message": "genirq: reenable a nobody cared disabled irq when a new driver arrives\n\nUwe Kleine-Koenig has some strange hardware where one of the shared\ninterrupts can be asserted during boot before the appropriate driver\nloads. Requesting the shared irq line from another driver result in a\nspurious interrupt storm which finally disables the interrupt line.\n\nI have seen similar behaviour on resume before (the hardware does not\nwork anymore so I can not verify).\n\nChange the spurious disable logic to increment the disable depth and\nmark the interrupt with an extra flag which allows us to reenable the\ninterrupt when a new driver arrives which requests the same irq\nline. In the worst case this will disable the irq again via the\nspurious trap, but there is a decent chance that the new driver is the\none which can handle the already asserted interrupt and makes the box\nusable again.\n\nEric Biederman said further: This case also happens on a regular basis\nin kdump kernels where we deliberately don\u0027t shutdown the hardware\nbefore starting the new kernel.  This patch should reduce the need for\nusing irqpoll in that situation by a small amount.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-and-Acked-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\n\n"
    },
    {
      "commit": "bcf35afb528109a31264b45d4851fa6ae72dbe18",
      "tree": "37607aae9efdbd1005d82e0a9a679899eb5a3afe",
      "parents": [
        "9fc3ace937a675bf42cbe6e6ef8950a6731ca16f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 01 18:43:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 10:21:54 2008 -0700"
      },
      "message": "make generic sys_ptrace unconditional\n\nWith s390 the last arch switched to the generic sys_ptrace yesterday so\nwe can now kill the ifdef around it to enforce every new port it using\nit instead of introducing new weirdo versions.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f3acc3140444a900ab280de942291959f0f615d",
      "tree": "0d7f3f9698071ff90fb9a127a4c6e86e1c37c945",
      "parents": [
        "a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:44:08 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:16 2008 -0400"
      },
      "message": "[PATCH] split linux/file.h\n\nInitial splitoff of the low-level stuff; taken to fdtable.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "03fc922f4085a0139f313831fe2dc6fed467cd2d",
      "tree": "1404c800acaf02eab054eb3448803db9d9b89262",
      "parents": [
        "a0be7522b25f17ac2c3964a24b88b5fe7c9404b8",
        "df4b565e1fbc777bb6e274378a41fa8ff7485680"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:26:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:26:56 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  module: add MODULE_STATE_GOING notifier call\n  module: Enhance verify_export_symbols\n  module: set unused_gpl_crcs instead of overwriting unused_crcs\n  module: neaten __find_symbol, rename to find_symbol\n  module: reduce module image and resident size\n  module: make module_sect_attrs private to kernel/module.c\n"
    },
    {
      "commit": "8a3e77cc212f3bc8eccc95e0d046405cf2a02764",
      "tree": "a5812f9b077d7faf00f82969a9bd766e97ecfd97",
      "parents": [
        "55e462b05b5df4fd113c4a304c4f487d44b0898e"
      ],
      "author": {
        "name": "Andrew Liu",
        "email": "shengping.liu@windriver.com",
        "time": "Thu May 01 04:35:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:02 2008 -0700"
      },
      "message": "workqueue: remove redundant function invocation\n\ntimer_stats_timer_set_start_info is invoked twice, additionally, the\ninvocation of this function can be moved to where it is only called when a\ndelay is really required.\n\nSigned-off-by: Andrew Liu \u003cshengping.liu@windriver.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be089d79c46f5efa77fbdf03c5e576e220bf143f",
      "tree": "4aee7d61812806d797b60fe6b8f4987dcc03c011",
      "parents": [
        "c85d194bfd2e36c5254b8058c1f35cfce0dfa10a"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu May 01 04:34:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:00 2008 -0700"
      },
      "message": "kexec: make extended crashkernel\u003d syntax less confusing\n\nThe extended crashkernel syntax is a little confusing in the way it handles\nranges.  eg:\n\n crashkernel\u003d512M-2G:64M,2G-:128M\n\nMeans if the machine has between 512M and 2G of memory the crash region should\nbe 64M, and if the machine has 2G of memory the region should be 64M.  Only if\nthe machine has more than 2G memory will 128M be allocated.\n\nAlthough that semantic is correct, it is somewhat baffling.  Instead I propose\nthat the end of the range means the first address past the end of the range,\nie: 512M up to but not including 2G.\n\n[bwalle@suse.de: clarify inclusive/exclusive in crashkernel commandline in documentation]\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nAcked-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Bernhard Walle \u003cbwalle@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": "7dffa3c673fbcf835cd7be80bb4aec8ad3f51168",
      "tree": "63264208ed97f18a74a5a7cd2e100cc2c4e13449",
      "parents": [
        "8383c42399f394a89bd6c2f03632c53689bdde7a"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: handle leap second via timer\n\nRemove the leap second handling from second_overflow(), which doesn\u0027t have to\ncheck for it every second anymore.  With CONFIG_NO_HZ this also makes sure the\nleap second is handled close to the full second.  Additionally this makes it\npossible to abort a leap second properly by resetting the STA_INS/STA_DEL\nstatus bits.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8383c42399f394a89bd6c2f03632c53689bdde7a",
      "tree": "c3f3a42a546a4afe3746e5894bcd425dc5a3d0bb",
      "parents": [
        "7fc5c78409479d826341b103bdf734cb4fb02436"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: remove current_tick_length()\n\ncurrent_tick_length used to do a little more, but now it just returns\ntick_length, which we can also access directly at the few places, where it\u0027s\nneeded.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fc5c78409479d826341b103bdf734cb4fb02436",
      "tree": "e68d8edddd633a9ed410b304684343afacf36175",
      "parents": [
        "153b5d054ac2d98ea0d86504884326b6777f683d"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: rename TICK_LENGTH_SHIFT to NTP_SCALE_SHIFT\n\nAs TICK_LENGTH_SHIFT is used for more than just the tick length, the name\nisn\u0027t quite approriate anymore, so this renames it to NTP_SCALE_SHIFT.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "153b5d054ac2d98ea0d86504884326b6777f683d",
      "tree": "0512b4239959814a6cc6aa6c9e77abc36d3ab2f0",
      "parents": [
        "9f14f669d18477fe3df071e2fa4da36c00acee8e"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: support for TAI\n\nThis adds support for setting the TAI value (International Atomic Time).  The\nvalue is reported back to userspace via timex (as we don\u0027t have a\nntp_gettime() syscall).\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f14f669d18477fe3df071e2fa4da36c00acee8e",
      "tree": "84b5600017902ced77ee0cb9a4bc21a6768d22e5",
      "parents": [
        "074b3b87941c99bc0ce35385b5817924b1ed0c23"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: increase time_offset resolution\n\ntime_offset is already a 64bit value but its resolution barely used, so this\nmakes better use of it by replacing SHIFT_UPDATE with TICK_LENGTH_SHIFT.\n\nSide note: the SHIFT_HZ in SHIFT_UPDATE was incorrect for CONFIG_NO_HZ and the\nprimary reason for changing time_offset to 64bit to avoid the overflow.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "074b3b87941c99bc0ce35385b5817924b1ed0c23",
      "tree": "aa2d11a2df37d631236a28713873023632f74a91",
      "parents": [
        "eea83d896e318bda54be2d2770d2c5d6668d11db"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: increase time_freq resolution\n\nThis changes time_freq to a 64bit value and makes it static (the only outside\nuser had no real need to modify it).  Intermediate values were already 64bit,\nso the change isn\u0027t that big, but it saves a little in shifts by replacing\nSHIFT_NSEC with TICK_LENGTH_SHIFT.  PPM_SCALE is then used to convert between\nuser space and kernel space representation.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eea83d896e318bda54be2d2770d2c5d6668d11db",
      "tree": "581f455e02ed3d03e543642b5d54b83dc75d47c7",
      "parents": [
        "ee9851b218b8bafa22942b5404505ff3d2d34324"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: NTP4 user space bits update\n\nThis adds a few more things from the ntp nanokernel related to user space.\nIt\u0027s now possible to select the resolution used of some values via STA_NANO\nand the kernel reports in which mode it works (pll/fll).\n\nIf some values for adjtimex() are outside the acceptable range, they are now\nsimply normalized instead of letting the syscall fail.  I removed\nMOD_CLKA/MOD_CLKB as the mapping didn\u0027t really makes any sense, the kernel\ndoesn\u0027t support setting the clock.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9851b218b8bafa22942b5404505ff3d2d34324",
      "tree": "82e5a421d18bd3d469afd9c4c2827a865b9f19b5",
      "parents": [
        "f8bd2258e2d520dff28c855658bd24bdafb5102d"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: cleanup ntp.c\n\nThis is mostly a style cleanup of ntp.c and extracts part of do_adjtimex as\nntp_update_offset().  Otherwise the functionality is still the same as before.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8bd2258e2d520dff28c855658bd24bdafb5102d",
      "tree": "d76db1dc858cb316bc7d5b8473f690a753fd2c93",
      "parents": [
        "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "remove div_long_long_rem\n\nx86 is the only arch right now, which provides an optimized for\ndiv_long_long_rem and it has the downside that one has to be very careful that\nthe divide doesn\u0027t overflow.\n\nThe API is a little akward, as the arguments for the unsigned divide are\nsigned.  The signed version also doesn\u0027t handle a negative divisor and\nproduces worse code on 64bit archs.\n\nThere is little incentive to keep this API alive, so this converts the few\nusers to the new API.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19",
      "tree": "f32e82fc3a50b6877afa3220bdb6f7ea0582e07f",
      "parents": [
        "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "rename div64_64 to div64_u64\n\nRename div64_64 to div64_u64 to make it consistent with the other divide\nfunctions, so it clearly includes the type of the divide.  Move its definition\nto math64.h as currently no architecture overrides the generic implementation.\n They can still override it of course, but the duplicated declarations are\navoided.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71abb3af62dfa52930755f3b6497eafbe1d6ec85",
      "tree": "8e37f74017b800127538f6620820ea90b53169b5",
      "parents": [
        "2418f4f28f8467b92a6177af32d05737ebf6206c"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "convert a few do_div users\n\nThis converts a few users of do_div to div_[su]64 and this demonstrates nicely\nhow it can reduce some expressions to one-liners.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5e417232e7c9ecc58a77902d2e8dd46792cd092",
      "tree": "d42798a6dafa81ff63784b2017ce647bd41a4f57",
      "parents": [
        "6bffd7b57d747d74ec2962d7c822f4b86e9f64d4"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu May 01 04:34:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "Fix cpu hotplug problem in softirq code\n\ncurrently cpu hotplug (unplug) seems broken on s390 and likely others. On cpu\nunplug the system starts to behave very strange and hangs.\n\nI bisected the problem to the following commit:\n\ncommit 48f20a9a9488c432fc86df1ff4b7f4fa895d1183\nAuthor: Olof Johansson \u003colof@lixom.net\u003e\nDate: Tue Mar 4 15:23:25 2008 -0800\n\ttasklets: execute tasklets in the same order they were queued\n\nReverting this patch seems to fix the problem.  I looked into takeover_tasklet\nand it seems that there is a way to corrupt the tail pointer of the current\ncpu.  If the tasklet list of the frozen cpu is empty, the tail pointer of the\ncurrent cpu points to the address of the head pointer of the stopped cpu and\nnot to the next pointer of a tasklet_struct.\n\nThis patch avoids the list splice of the list is empty and cpu hotplug seems\nto work as the tail pointer is not corrupted.  Olof, can you look into that\npatch and ACK/NACK it so Andrew can push this to Linus, if appropriate?\nPlease note that some lines are longer than 80 chars, but line-wrapping looked\nworse that this version.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Olof Johansson \u003colof@lixom.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df4b565e1fbc777bb6e274378a41fa8ff7485680",
      "tree": "8b64f22bb57419d57fdd4914645bafeaf9171733",
      "parents": [
        "b211104d111c99dbb97c636b57bd9db711455684"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "peter.oberparleiter@de.ibm.com",
        "time": "Mon Apr 21 14:34:31 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:01 2008 +1000"
      },
      "message": "module: add MODULE_STATE_GOING notifier call\n\nProvide module unload callback. Required by the gcov profiling\ninfrastructure to keep track of profiling data structures.\n\nSigned-off-by: Peter Oberparleiter \u003cpeter.oberparleiter@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b211104d111c99dbb97c636b57bd9db711455684",
      "tree": "129d949287a17457f3a8081dd6f04b8a945bcb29",
      "parents": [
        "4e2d92454b2d822fe1d474efabccc2a3806d5f86"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 +1000"
      },
      "message": "module: Enhance verify_export_symbols\n\nMake verify_export_symbols check the modules unused, unused_gpl and\ngpl_future syms.\n\nInspired by Jan Beulich\u0027s fix, but table-driven.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4e2d92454b2d822fe1d474efabccc2a3806d5f86",
      "tree": "88ff1b8d85d367a9f70f538b326e1d13ec0173d9",
      "parents": [
        "ad9546c9917d44eddc7676b639296d624cee455e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 +1000"
      },
      "message": "module: set unused_gpl_crcs instead of overwriting unused_crcs\n\nObvious typo, but I don\u0027t know of any modules with unused GPL exports,\nand then it would take someone noticing that the version shouldn\u0027t\nhave matched in a dependent module.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ad9546c9917d44eddc7676b639296d624cee455e",
      "tree": "d6b5cc09706fd05c78ccad79342768152a74035e",
      "parents": [
        "ea01e798e2d27fd04142e0473ca36570fa9d9218"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:14:59 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 +1000"
      },
      "message": "module: neaten __find_symbol, rename to find_symbol\n\n__find_symbol() has grown over time: there are now 5 different arrays\nof symbols it traverses.  It also shouldn\u0027t print out a warning on\nsome calls (ie. verify_symbol which simply checks for name clashes,\nand __symbol_put which checks for bugs).\n\n1) Rename to find_symbol: no need for underscores.\n2) Use bool and add \"warn\" parameter to suppress warnings.\n3) Make table-driven rather than open coded.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ea01e798e2d27fd04142e0473ca36570fa9d9218",
      "tree": "717ad87d4c38dd6bed15ba4dfdfaea8f33411367",
      "parents": [
        "a58730c42174672fe0012a4edbe3e38f94ef2bad"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 13 09:02:17 2008 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:14:59 2008 +1000"
      },
      "message": "module: reduce module image and resident size\n\nResulting reduction (x86-64, gcc 4.1.2) with my (special purpose, i.e.\nmuch reduced) configurations:\n- 16k kernel resident size\n- 180k module resident size\n- 10k module image size\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a58730c42174672fe0012a4edbe3e38f94ef2bad",
      "tree": "6cd01098614ea8fc00f5eba462a208cc5a038d2a",
      "parents": [
        "e4c576b911e364737b1bf4f5bfdab1c440713f26"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 13 09:03:44 2008 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:14:59 2008 +1000"
      },
      "message": "module: make module_sect_attrs private to kernel/module.c\n\nNo-one else is using these afaics.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "08acd4f8af42affd8cbed81cc1b69fa12ddb213f",
      "tree": "988d15db6233b20db6a500cd5f590c6d2041462d",
      "parents": [
        "ccf2779544eecfcc5447e2028d1029b6d4ff7bb6",
        "008238b54ac2350babf195084ecedbcf7851a202"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 11:52:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 11:52:52 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (179 commits)\n  ACPI: Fix acpi_processor_idle and idle\u003d boot parameters interaction\n  acpi: fix section mismatch warning in pnpacpi\n  intel_menlo: fix build warning\n  ACPI: Cleanup: Remove unneeded, multiple local dummy variables\n  ACPI: video - fix permissions on some proc entries\n  ACPI: video - properly handle errors when registering proc elements\n  ACPI: video - do not store invalid entries in attached_array list\n  ACPI: re-name acpi_pm_ops to acpi_suspend_ops\n  ACER_WMI/ASUS_LAPTOP: fix build bug\n  thinkpad_acpi: fix possible NULL pointer dereference if kstrdup failed\n  ACPI: check a return value correctly in acpi_power_get_context()\n  #if 0 acpi/bay.c:eject_removable_drive()\n  eeepc-laptop: add hwmon fan control\n  eeepc-laptop: add backlight\n  eeepc-laptop: add base driver\n  ACPI: thinkpad-acpi: bump up version to 0.20\n  ACPI: thinkpad-acpi: fix selects in Kconfig\n  ACPI: thinkpad-acpi: use a private workqueue\n  ACPI: thinkpad-acpi: fluff really minor fix\n  ACPI: thinkpad-acpi: use uppercase for \"LED\" on user documentation\n  ...\n\nFixed conflicts in drivers/acpi/video.c and drivers/misc/intel_menlow.c\nmanually.\n"
    },
    {
      "commit": "96916090f488986a4ebb8e9ffa6a3b50881d5ccd",
      "tree": "f229e148db08280913ef1a4dbcb13ab5aff96170",
      "parents": [
        "75a44ce00b312f57264f42a0a985d17cd9994b98",
        "729b2bdbfa19dd9be98dbd49caf2773b3271cc24",
        "2f67a0695dc389247c05041b05d2a2b06fc102a3",
        "51ae796f7fa1d8034252628572053f477bc29913",
        "ce52ddf58cbc2c40f5f08d37d2217945e4d5adf3",
        "e1faa9da284d14487ed4280b4e87cfde8e1539af",
        "36a913586597cab1cd565e9bf348d037f0df955b",
        "9448b0d43e5509c6b7baca02510a92ef2de6e328",
        "99bda83e8b3140b7e81572a5aabc7dedb455b272",
        "1071695f17daf050638e0bc550db647f8237c3bb",
        "7aa0f1a8b1f7072990c9dc37f238c96dc6d78911",
        "68f12ae5d778279e13e406d3913c74c592307770",
        "66fb9d120e91050093b8ce4c1daa2e440660152b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Apr 30 13:58:00 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Apr 30 13:58:00 2008 -0400"
      },
      "message": "Merge branches \u0027release\u0027, \u0027acpica\u0027, \u0027bugzilla-10224\u0027, \u0027bugzilla-9772\u0027, \u0027bugzilla-9916\u0027, \u0027ec\u0027, \u0027eeepc\u0027, \u0027idle\u0027, \u0027misc\u0027, \u0027pm-legacy\u0027, \u0027sysfs-links-2.6.26\u0027, \u0027thermal\u0027, \u0027thinkpad\u0027 and \u0027video\u0027 into release\n"
    },
    {
      "commit": "af1f16d08f38ab6f17b5760e6ec9d2b7d3a5ff1a",
      "tree": "7d03fc171300efd43634d2e28d913fd508ab7474",
      "parents": [
        "d40cee245ff6ad05d3448401d7320be82c1c5af1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "kernel: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.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": "237fc6e7a35076f584b9d0794a5204fe4bd9b9e5",
      "tree": "078de7357c118b5bb84eedb38ba829205941b03b",
      "parents": [
        "c6f3a97f86a5c97be0ca255976110bb9c3cfe669"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "add hrtimer specific debugobjects code\n\nhrtimers have now dynamic users in the network code.  Put them under\ndebugobjects surveillance as well.\n\nAdd calls to the generic object debugging infrastructure and provide fixup\nfunctions which allow to keep the system alive when recoverable problems have\nbeen detected by the object debugging core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.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": "c6f3a97f86a5c97be0ca255976110bb9c3cfe669",
      "tree": "95a7bf3c928a85b26aed128786fc09e18bc5dcfc",
      "parents": [
        "691cc54c7d28542434d2b3ee4ddbad6a99312dec"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "debugobjects: add timer specific object debugging code\n\nAdd calls to the generic object debugging infrastructure and provide fixup\nfunctions which allow to keep the system alive when recoverable problems have\nbeen detected by the object debugging core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "354a1f4d99240f53980275416ca3e1ac2ee73d5d",
      "tree": "2c595555d897a5cc09b6449cb0cd3aac9c11ac79",
      "parents": [
        "487798df6d25e76ed6558b3e17c44cf0458cc6f3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 30 00:54:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "alloc_uid: cleanup\n\nUse kmem_cache_zalloc(), remove large amounts of initialisation code and\nifdeffery.\n\nNote: this assumes that memset(*atomic_t, 0) correctly initialises the\natomic_t.  This is true for all present archtiectures and if it becomes false\nfor a future architecture then we\u0027ll need to make large changes all over the\nplace anyway.\n\nAcked-by: David Howells \u003cdhowells@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": "f735295b14ae073a8302d7b1da894bc597724557",
      "tree": "844555a3a768ad6eef3d6884b6b114cebefa0ec4",
      "parents": [
        "f7511d5f66f01fc451747b24e79f3ada7a3af9af"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Wed Apr 30 00:54:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "printk: don\u0027t read beyond string arguments\u0027 terminating zero\n\nFix update_console_cmdline() not to to read beyond the terminating zero of its\nname argument.\n\nSigned-off-by: Markus Armbruster \u003carmbru@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": "f7511d5f66f01fc451747b24e79f3ada7a3af9af",
      "tree": "934196c15e43077641e35286078a6753700a3e3d",
      "parents": [
        "730f412c08c13858f7681bac0a2770fbc9159fed"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 30 00:54:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "Basic braille screen reader support\n\nThis adds a minimalistic braille screen reader support.  This is meant to\nbe used by blind people e.g.  on boot failures or when / cannot be mounted\netc and thus the userland screen readers can not work.\n\n[akpm@linux-foundation.org: fix exports]\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Jiri Kosina \u003cjikos@jikos.cz\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\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": "e4ad08fe64afca4ef79ecc4c624e6e871688da0d",
      "tree": "5b8b390b874700041dc0c095e8ba9ac3ed42ea77",
      "parents": [
        "76f1418b485da2707531178e517bbb5cf06b3c76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: bdi: add separate writeback accounting capability\n\nAdd a new BDI capability flag: BDI_CAP_NO_ACCT_WB.  If this flag is\nset, then don\u0027t update the per-bdi writeback stats from\ntest_set_page_writeback() and test_clear_page_writeback().\n\nMisc cleanups:\n\n - convert bdi_cap_writeback_dirty() and friends to static inline functions\n - create a flag that includes all three dirty/writeback related flags,\n   since almst all users will want to have them toghether\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "caafa4324335aeb11bc233d5f87aca8cce30beba",
      "tree": "b6371b0c084ffb91f7304a7e392b28ccfdab8a2e",
      "parents": [
        "ab883af53ec1b87add43b32a28d8347f17d5155b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:54:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "pidns: make pid-\u003elevel and pid_ns-\u003elevel unsigned\n\nThese values represent the nesting level of a namespace and pids living in it,\nand it\u0027s always non-negative.\n\nTurning this from int to unsigned int saves some space in pid.c (11 bytes on\nx86 and 64 on ia64) by letting the compiler optimize the pid_nr_ns a bit.\nE.g.  on ia64 this removes the sign extension calls, which compiler adds to\noptimize access to pid-\u003enubers[ns-\u003elevel].\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab883af53ec1b87add43b32a28d8347f17d5155b",
      "tree": "8019f7643f8c2065f1f26522e886b746b465d733",
      "parents": [
        "148ff86b11ec51d7d2f7ff863bd85d0dd5aa908c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Apr 30 00:54:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "make marker_debug static\n\nWith the needlessly global marker_debug being static gcc can optimize the\nunused code away.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\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": "12a3de0a965826096d8adc593bcf4392a7d5b459",
      "tree": "764d69c2973e67cb3ae58bec02e29cd616c40f90",
      "parents": [
        "1dd768c0815334d2319d6377f0750ace075b6142"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:54:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "pids: sys_getpgid: fix unsafe *pid usage, s/tasklist/rcu/\n\n1. sys_getpgid() needs rcu_read_lock() to derive the pgrp _nr, even if\n   the task is current, otherwise we can race with another thread which\n   does sys_setpgid().\n\n2. Use rcu_read_lock() instead of tasklist_lock when pid !\u003d 0, make sure\n   that we don\u0027t use the NULL pid if the task exits right after successful\n   find_task_by_vpid().\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": "1dd768c0815334d2319d6377f0750ace075b6142",
      "tree": "13e3d42f3679ef1a50e276abdbeafccc9cfe1ed0",
      "parents": [
        "7d8da0962eaee30b4a380ded177349bfbdd6ac46"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:54:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "pids: sys_getsid: fix unsafe *pid usage, fix possible 0 instead of -ESRCH\n\n1. sys_getsid() needs rcu_read_lock() to derive the session _nr, even if\n   the task is current, otherwise we can race with another thread which\n   does sys_setsid().\n\n2. The task can exit between find_task_by_vpid() and task_session_vnr(),\n   in that unlikely case sys_getsid() returns 0 instead of -ESRCH.\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": "7d8da0962eaee30b4a380ded177349bfbdd6ac46",
      "tree": "cfbdb6d94922264e7e06892275f1e4d5a29017a6",
      "parents": [
        "83beaf3c6c75b36b7c9be7f555c8cf7797842cc5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:54:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "pids: __set_special_pids: use change_pid() helper\n\nUse change_pid() instead of detach_pid() + attach_pid() in\n__set_special_pids().\n\nThis way task_session() is not NULL in between.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc:  \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\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": "83beaf3c6c75b36b7c9be7f555c8cf7797842cc5",
      "tree": "e134ff1fcd8aec134ecde984a4b90d221f79af15",
      "parents": [
        "24336eaeecea860b2a82530e07c80bc7e0558b73"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:54:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "pids: sys_setpgid: use change_pid() helper\n\nUse change_pid() instead of detach_pid() + attach_pid() in sys_setpgid().\n\nThis way task_pgrp() is not NULL in between.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc:  \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\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": "24336eaeecea860b2a82530e07c80bc7e0558b73",
      "tree": "12a34660f732e12ba18262083c1a2eea5a824f6a",
      "parents": [
        "65450cebc6a2efde80ed45514f727e6e4dc1eafd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:54:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "pids: introduce change_pid() helper\n\nBased on Eric W. Biederman\u0027s idea.\n\nWithout tasklist_lock held task_session()/task_pgrp() can return NULL if the\ncaller races with setprgp()/setsid() which does detach_pid() + attach_pid().\nThis can happen even if task \u003d\u003d current.\n\nIntoduce the new helper, change_pid(), which should be used instead.  This way\nthe caller always sees the special pid !\u003d NULL, either old or new.\n\nAlso change the prototype of attach_pid(), it always returns 0 and nobody\ncheck the returned value.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc:  \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\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": "65450cebc6a2efde80ed45514f727e6e4dc1eafd",
      "tree": "26d3cdb75b4e94eed773c71c4bcb3c5d5843eed3",
      "parents": [
        "5cd204550b1a006f2b0c986b0e0f53220ebfd391"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:54:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "pids: de_thread: don\u0027t clear session/pgrp pids for the old leader\n\nBased on Eric W. Biederman\u0027s idea.\n\nUnless task \u003d\u003d current, without tasklist_lock held task_session()/task_pgrp()\ncan return NULL if the caller races with de_thread() which switches the group\nleader.\n\nChange transfer_pid() to not clear old-\u003epids[type].pid for the old leader.\nThis means that its .pid can point to \"nowhere\", but this is already true for\nsub-threads, and the old leader is not group_leader() any longer.  IOW, with\nor without this change we can\u0027t trust task\u0027s special pids unless it is the\ngroup leader.\n\nWith this change the following code\n\n\trcu_read_lock();\n\ttask \u003d find_task_by_xxx();\n\tdo_something(task_pgrp(task), task_session(task));\n\trcu_read_unlock();\n\ncan\u0027t race with exec and hit the NULL pid.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc:  \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\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": "5cd204550b1a006f2b0c986b0e0f53220ebfd391",
      "tree": "ee0f5e042072d4d2f4a3c6cd6e3a8b60676868ae",
      "parents": [
        "cb41d6d068716b2b3666925da34d3d7e658bf4f3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:54:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "Deprecate find_task_by_pid()\n\nThere are some places that are known to operate on tasks\u0027\nglobal pids only:\n\n* the rest_init() call (called on boot)\n* the kgdb\u0027s getthread\n* the create_kthread() (since the kthread is run in init ns)\n\nSo use the find_task_by_pid_ns(..., \u0026init_pid_ns) there\nand schedule the find_task_by_pid for removal.\n\n[sukadev@us.ibm.com: Fix warning in kernel/pid.c]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb41d6d068716b2b3666925da34d3d7e658bf4f3",
      "tree": "75926ace2cf9793a6b3809da2d6fb5813b1c9068",
      "parents": [
        "b7127aa4547d8cc8a5b569631e2b6ef613af1bb7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:54:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "Use find_task_by_vpid in taskstats\n\nThe pid to lookup a task by is passed inside taskstats code via genetlink\nmessage.\n\nSince netlink packets are now processed in the context of the sending task,\nthis is correct to lookup the task with find_task_by_vpid() here.\n\nBesides, I fix the call to fill_pid() from taskstats_exit(), since the\ntsk-\u003epid is not required in fill_pid() in this case, and the pid field on\ntask_struct is going to be deprecated as well.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Jonathan Lim \u003cjlim@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7127aa4547d8cc8a5b569631e2b6ef613af1bb7",
      "tree": "b4a2ec699864c865c6286a48debfd13565ab4987",
      "parents": [
        "718a916338e821a10961e6a7a17430c18e5e58d9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:54:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:48 2008 -0700"
      },
      "message": "free_pidmap: turn it into free_pidmap(struct upid *)\n\nThe callers of free_pidmap() pass 2 members of \"struct upid\", we can just\npass \"struct upid *\" instead.  Shaves off 10 bytes from pid.o.\n\nAlso, simplify the alloc_pid\u0027s \"out_free:\" error path a little bit.  This\nway it looks more clear which subset of pid-\u003enumbers[] we are freeing.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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": "f34d7a5b7010b82fe97da95496b9971435530062",
      "tree": "87e2abec1e33ed4fe5e63ee2fd000bc2ad745e57",
      "parents": [
        "251b8dd7eee30fda089a1dc088abf4fc9a0dee9c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:54:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:47 2008 -0700"
      },
      "message": "tty: The big operations rework\n\n- Operations are now a shared const function block as with most other Linux\n  objects\n\n- Introduce wrappers for some optional functions to get consistent behaviour\n\n- Wrap put_char which used to be patched by the tty layer\n\n- Document which functions are needed/optional\n\n- Make put_char report success/fail\n\n- Cache the driver-\u003eops pointer in the tty as tty-\u003eops\n\n- Remove various surplus lock calls we no longer need\n\n- Remove proc_write method as noted by Alexey Dobriyan\n\n- Introduce some missing sanity checks where certain driver/ldisc\n  combinations would oops as they didn\u0027t check needed methods were present\n\n[akpm@linux-foundation.org: fix fs/compat_ioctl.c build]\n[akpm@linux-foundation.org: fix isicom]\n[akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build]\n[akpm@linux-foundation.org: fix kgdb]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00cd5c37afd5f431ac186dd131705048c0a11fdb",
      "tree": "d5412f6c720e2cee11ac66783bb45e6bd78f4a1d",
      "parents": [
        "33e9fc7d01269737cd5a3b6de1db9d0e796ab708"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: permit ptracing of /sbin/init\n\nAfaics, currently there are no kernel problems with ptracing init, it can\u0027t\nlose SIGNAL_UNKILLABLE flag and be killed/stopped by accident.\n\nThe ability to strace/debug init can be very useful if you try to figure out\nwhy it does not work as expected.\n\nHowever, admin should know what he does, \"gdb /sbin/init 1\" stops init, it\ncan\u0027t reap orphaned zombies or take care of /etc/inittab until continued.  It\nis even possible to crash init (and thus the whole system) if you wish,\nptracer has full control.\n\nSee also the long discussion: http://marc.info/?t\u003d120628018600001\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33e9fc7d01269737cd5a3b6de1db9d0e796ab708",
      "tree": "36084d425e4d39ea06acff6f12164f257d0a102c",
      "parents": [
        "68cb94786630b34196713794a2880ade17fca887"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: ptrace_attach: use send_sig_info() instead force_sig_specific()\n\nNobody can block/ignore SIGSTOP, no need to use force_sig_specific() in\nptrace_attach.  Use the \"regular\" send_sig_info().\n\nWith this patch stracing of /sbin/init doesn\u0027t clear its SIGNAL_UNKILLABLE,\nbut not that this makes ptracing of init safe.\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": "68cb94786630b34196713794a2880ade17fca887",
      "tree": "78bd2d66aaaa2c9acdd6060a9a9964420c511ebc",
      "parents": [
        "53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: __ptrace_unlink: use the ptrace_reparented() helper\n\nCurrently __ptrace_unlink() checks list_empty(-\u003eptrace_list) to figure out\nwhether the child was reparented.  Change the code to use ptrace_reparented()\nto make this check more explicit and consistent.\n\nNo functional changes.\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": "53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc",
      "tree": "93a5bd26974e07a3d7fa20dc17c8b70daacc1d85",
      "parents": [
        "2800d8d19e51414403df8144eaa214bb03400b87"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: introduce ptrace_reparented() helper\n\nAdd another trivial helper for the sake of grep.  It also auto-documents the\nfact that -\u003eparent !\u003d real_parent implies -\u003eptrace.\n\nNo functional changes.\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": "2800d8d19e51414403df8144eaa214bb03400b87",
      "tree": "d5b01302c7109d7ffdc140ce8d6e31cebcdb233a",
      "parents": [
        "376e1d2531860358c8a79fecf5f4f42994d03c4d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "document de_thread() with exit_notify() connection\n\nAdd a couple of small comments, it is not easy to see what this code does.\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": "376e1d2531860358c8a79fecf5f4f42994d03c4d",
      "tree": "7d90aa39ee7250e1ba0593fa927118b4a9c911e9",
      "parents": [
        "d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "reparent_thread: use same_thread_group()\n\nTrivial, use same_thread_group() in reparent_thread().\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": "d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6",
      "tree": "bfeccf3201208a9ce0e994cff9eacdc4647002a6",
      "parents": [
        "5a8da0ea82db6fa9737041381079fd16f25dcce2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: introduce task_detached() helper\n\nexit.c has numerous \"-\u003eexit_signal \u003d\u003d -1\" comparisons, this check is subtle\nand deserves a helper.  Imho makes the code more parseable for humans.  At\nleast it\u0027s surely more greppable.\n\nAlso, a couple of whitespace cleanups. No functional changes.\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": "4e4c22c71144c1b2e22c257ec6cf08ccb5be1165",
      "tree": "0a41fb405ab60654f70ead9698d5ce414a066c37",
      "parents": [
        "80fe728d593e3a048a56610de932919f7d6d968a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: add set_restore_sigmask\n\nThis adds the set_restore_sigmask() inline in \u003clinux/thread_info.h\u003e and\nreplaces every set_thread_flag(TIF_RESTORE_SIGMASK) with a call to it.  No\nchange, but abstracts the details of the flag protocol from all the calls.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80fe728d593e3a048a56610de932919f7d6d968a",
      "tree": "ff8effec1d05d871bcbb1347947d2a0970a8ff32",
      "parents": [
        "7a5e873f096e04e6d8719e4ecb7b70d2decca503"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: allow the kernel to actually kill /sbin/init\n\nCurrently the buggy /sbin/init hangs if SIGSEGV/etc happens.  The kernel sends\nthe signal, init dequeues it and ignores, returns from the exception, repeats\nthe faulting instruction, and so on forever.\n\nImho, such a behaviour is not good.  I think that the explicit loud death of\nthe buggy /sbin/init is better than the silent hang.\n\nChange force_sig_info() to clear SIGNAL_UNKILLABLE when the task should be\nreally killed.\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": "fae5fa44f1fd079ffbed8e0add929dd7bbd1347f",
      "tree": "8990ac958d29733cb61733ae69265472f5e1d13c",
      "parents": [
        "193191035ad6268db9f561e81e3474b8be89a5ba"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: fix /sbin/init protection from unwanted signals\n\nThe global init has a lot of long standing problems with the unhandled fatal\nsignals.\n\n\t- The \"is_global_init(current)\" check in get_signal_to_deliver()\n\t  protects only the main thread. Sub-thread can dequee the fatal\n\t  signal and shutdown the whole thread group except the main thread.\n\t  If it dequeues SIGSTOP /sbin/init will be stopped, this is not\n\t  right too. Note that we can\u0027t use is_global_init(-\u003egroup_leader),\n\t  this breaks exec and this can\u0027t solve other problems we have.\n\n\t- Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT\n\t  on delivery. This breaks exec, has other bad implications, and this\n\t  is just wrong.\n\nIntroduce the new SIGNAL_UNKILLABLE flag to fix these problems.  It also helps\nto solve some other problems addressed by the subsequent patches.\n\nCurrently we use this flag for the global init only, but it could also be used\nby kthreads and (perhaps) by the sub-namespace inits.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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": "193191035ad6268db9f561e81e3474b8be89a5ba",
      "tree": "ac4af28bf65dd7fc6c40d7260806725d9f3330ba",
      "parents": [
        "2e2ba22ea4fd4bb85f0fa37c521066db6775cbef"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: check_kill_permission: remove tasklist_lock\n\nNow that task_session() can\u0027t return a false NULL, check_kill_permission()\ndoesn\u0027t need tasklist_lock.\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": "2e2ba22ea4fd4bb85f0fa37c521066db6775cbef",
      "tree": "aada1523affbcbe1301decad43ad0875e1f680c4",
      "parents": [
        "53c30337f2c61aff6eecf2a446e839641172f9bd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: check_kill_permission: check session under tasklist_lock\n\nThis wasn\u0027t documented, but as Atsushi Tsuji pointed out\ncheck_kill_permission() needs tasklist_lock for task_session_nr().  I missed\nthis fact when removed tasklist from the callers.\n\nChange check_kill_permission() to take tasklist_lock for the SIGCONT case.\nRe-order security checks so that we take tasklist_lock only if/when it is\nactually needed.  This is a minimal fix for now, tasklist will be removed\nlater.\n\nAlso change the code to use task_session() instead of task_session_nr().\n\nAlso, remove the SIGCONT check from cap_task_kill(), it is bogus (and the\nwhole function is bogus.  Serge, Eric, why it is still alive?).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Atsushi Tsuji \u003ca-tsuji@bk.jp.nec.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53c30337f2c61aff6eecf2a446e839641172f9bd",
      "tree": "268c52124c19b379b7f9c32430414acb606699cb",
      "parents": [
        "021e1ae3d85a76ce962a300c96813f04ae50c87c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: send_signal: be paranoid about signalfd_notify()\n\nsend_signal() shouldn\u0027t call signalfd_notify() if it then fails with -EAGAIN.\nHarmless, just a paranoid cleanup.\n\nAlso remove the comment.  It is obsolete, signalfd_notify() was simplified and\ndoes a simple wakeup.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\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": "021e1ae3d85a76ce962a300c96813f04ae50c87c",
      "tree": "1c3cfbf8151c339baa3b35a4a78fa50ccc7594ab",
      "parents": [
        "7e695a5ef5c1c768d7feb75cc61e42f13d763623"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: document CLD_CONTINUED notification mechanics\n\nA couple of small comments about how CLD_CONTINUED notification works.\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": "7e695a5ef5c1c768d7feb75cc61e42f13d763623",
      "tree": "97bf6b5865e097a77b791342eccaeddc7132b9fc",
      "parents": [
        "2dce81bff28dceb2153c901883a56f278d91db65"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: fold sig_ignored() into handle_stop_signal()\n\nRename handle_stop_signal() to prepare_signal(), make it return a boolean, and\nmove the callsites of sig_ignored() into it.\n\nNo functional changes for now.  But it would be nice to factor out the \"should\nwe drop this signal\" checks as much as possible, before we try to fix the bugs\nwith the sub-namespace init\u0027s signals (actually the global /sbin/init has some\nproblems with signals too).\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": "2dce81bff28dceb2153c901883a56f278d91db65",
      "tree": "831da312ea00c5c505d376098b5b1a90fe33fed7",
      "parents": [
        "34c8f07b9ac499a807918eda377193a55f64f8df"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: cleanup the usage of print_fatal_signal()\n\nMove the callsite of print_fatal_signal() down, under \"if\n(sig_kernel_coredump(signr))\", so we don\u0027t need to check signr !\u003d SIGKILL.\n\nWe are only interested in the sig_kernel_coredump() signals anyway, and due to\nthe previous changes we almost never can see other fatal signals here except\nSIGKILL.\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": "34c8f07b9ac499a807918eda377193a55f64f8df",
      "tree": "042cf061406273dcfdb3fabe4b07425e4cb8f0aa",
      "parents": [
        "ac5c215383f43a106ba4ef298126bf78c126f5e9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: handle_stop_signal: don\u0027t worry about SIGKILL\n\nhandle_stop_signal() clears SIGNAL_STOP_DEQUEUED when sig \u003d\u003d SIGKILL.  Remove\nthis nasty special case.  It was needed to prevent the race with group stop\nand exit caused by thread-specific SIGKILL.  Now that we use complete_signal()\nfor private signals too this is not needed, complete_signal() will notice\nSIGKILL and abort the soon-to-begin group stop.\n\nExcept: the target thread is dead (has PF_EXITING).  But in that case we\nshould not just clear SIGNAL_STOP_DEQUEUED and nothing more.  We should either\nkill the whole thread group, or silently ignore the signal.\n\nI suspect we are not right wrt zombie leaders, but this is another issue which\nand should be fixed separately.  Note that this check can\u0027t abort the group\nstop if it was already started/finished, this check only adds a subtle side\neffect if we race with the thread which has already dequeued sig_kernel_stop()\nsignal and temporary released -\u003esiglock.\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"
    }
  ],
  "next": "ac5c215383f43a106ba4ef298126bf78c126f5e9"
}
