)]}'
{
  "log": [
    {
      "commit": "4b75679f60d0ce780609cbff249769b669f4fb69",
      "tree": "2c8890020b5e7d340036acb01f73a6e53feb038d",
      "parents": [
        "30c14e40ed85469f166b5effdab6705c73c5cd5e",
        "025be81e83043f20538dcced1e12c5f8d152fbdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:52:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:52:30 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NET]: Allow skb headroom to be overridden\n  [TCP]: Kill unused extern decl for tcp_v4_hash_connecting()\n  [NET]: add SO_RCVBUF comment\n  [NET]: Deinline some larger functions from netdevice.h\n  [DCCP]: Use NULL for pointers, comfort sparse.\n  [DECNET]: Fix refcount\n"
    },
    {
      "commit": "a244e1698ae3609cdfe24088e1293593cb7a5278",
      "tree": "81f3e151c9b8118a3a917dd6b0d3c75556dc170b",
      "parents": [
        "0cb3463f04e771869f481e2dd44f66419e850586"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:32:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] fs/namei.c: make lookup_hash() static\n\nAs announced, lookup_hash() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a536093a2f07007aa572e922752b7491b9ea8ff2",
      "tree": "72f1036242f91ac77fbeb6b41c633af76e3d7358",
      "parents": [
        "2cbbb3b59c3ccdc55ad0c924fb49e09a962bb517"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Fri Mar 31 02:31:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] fbcon: Fix big-endian bogosity in slow_imageblit()\n\nThe monochrome-\u003ecolor expansion routine that handles bitmaps which have\n(widths % 8) !\u003d 0 (slow_imageblit) produces corrupt characters in big-endian.\nThis is caused by a bogus bit test in slow_imageblit().\n\nFix.\n\nThis patch may deserve to go to the stable tree.  The code has already been\nwell tested in little-endian machines.  It\u0027s only in big-endian where there is\nuncertainty and Herbert confirmed that this is the correct way to go.\n\nIt should not introduce regressions.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nAcked-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ca017658b1f902c9bba2cc1017e301581f7728d",
      "tree": "9180b3923d4f6ef09c11d7f7386024f391508759",
      "parents": [
        "9b0e1c5dd2941aec566047e10a5cc929ca7f7d4f"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] backlight: Backlight Class Improvements\n\nBacklight class attributes are currently easy to implement incorrectly.\nMoving certain handling into the backlight core prevents this whilst at the\nsame time makes the drivers simpler and consistent.  The following changes are\nincluded:\n\nThe brightness attribute only sets and reads the brightness variable in the\nbacklight_properties structure.\n\nThe power attribute only sets and reads the power variable in the\nbacklight_properties structure.\n\nAny framebuffer blanking events change a variable fb_blank in the\nbacklight_properties structure.\n\nThe backlight driver has only two functions to implement.  One function is\ncalled when any of the above properties change (to update the backlight\nbrightness), the second is called to return the current backlight brightness\nvalue.  A new attribute \"actual_brightness\" is added to return this brightness\nas determined by the driver having combined all the above factors (and any\ndriver/device specific factors).\n\nAdditionally, the backlight core takes care of checking the maximum brightness\nis not exceeded and of turning off the backlight before device removal.\n\nThe corgi backlight driver is updated to reflect these changes.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e7e241f8c5c87cc3685364feface081c9fa3648",
      "tree": "43ea46cfec4da31a505e93875feeac945bf906ce",
      "parents": [
        "92476d7fc0326a409ab1d3864a04093a6be9aca7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] dcache: Add helper d_hash_and_lookup\n\nIt is very common to hash a dentry and then to call lookup.  If we take fs\nspecific hash functions into account the full hash logic can get ugly.\nFurther full_name_hash as an inline function is almost 100 bytes on x86 so\nhaving a non-inline choice in some cases can measurably decrease code size.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92476d7fc0326a409ab1d3864a04093a6be9aca7",
      "tree": "ea50a5a31522492d9915e0763a7adc6ac87c4fbc",
      "parents": [
        "8c7904a00b06d2ee51149794b619e07369fcf9d4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] pidhash: Refactor the pid hash table\n\nSimplifies the code, reduces the need for 4 pid hash tables, and makes the\ncode more capable.\n\nIn the discussions I had with Oleg it was felt that to a large extent the\ncleanup itself justified the work.  With struct pid being dynamically\nallocated meant we could create the hash table entry when the pid was\nallocated and free the hash table entry when the pid was freed.  Instead of\nplaying with the hash lists when ever a process would attach or detach to a\nprocess.\n\nFor myself the fact that it gave what my previous task_ref patch gave for free\nwith simpler code was a big win.  The problem is that if you hold a reference\nto struct task_struct you lock in 10K of low memory.  If you do that in a user\ncontrollable way like /proc does, with an unprivileged but hostile user space\napplication with typical resource limits of 1000 fds and 100 processes I can\ntrigger the OOM killer by consuming all of low memory with task structs, on a\nmachine wight 1GB of low memory.\n\nIf I instead hold a reference to struct pid which holds a pointer to my\ntask_struct, I don\u0027t suffer from that problem because struct pid is 2 orders\nof magnitude smaller.  In fact struct pid is small enough that most other\nkernel data structures dwarf it, so simply limiting the number of referring\ndata structures is enough to prevent exhaustion of low memory.\n\nThis splits the current struct pid into two structures, struct pid and struct\npid_link, and reduces our number of hash tables from PIDTYPE_MAX to just one.\nstruct pid_link is the per process linkage into the hash tables and lives in\nstruct task_struct.  struct pid is given an indepedent lifetime, and holds\npointers to each of the pid types.\n\nThe independent life of struct pid simplifies attach_pid, and detach_pid,\nbecause we are always manipulating the list of pids and not the hash table.\nIn addition in giving struct pid an indpendent life it makes the concept much\nmore powerful.\n\nKernel data structures can now embed a struct pid * instead of a pid_t and\nnot suffer from pid wrap around problems or from keeping unnecessarily\nlarge amounts of memory allocated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c7904a00b06d2ee51149794b619e07369fcf9d4",
      "tree": "c995150254e17dfda6e1679c3249343586e178cb",
      "parents": [
        "e4e5d3fc80d26ed26ebe42907b224f08d7eccfbf"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] task: RCU protect task-\u003eusage\n\nA big problem with rcu protected data structures that are also reference\ncounted is that you must jump through several hoops to increase the reference\ncount.  I think someone finally implemented atomic_inc_not_zero(\u0026count) to\nautomate the common case.  Unfortunately this means you must special case the\nrcu access case.\n\nWhen data structures are only visible via rcu in a manner that is not\ndetermined by the reference count on the object (i.e.  tasks are visible until\ntheir zombies are reaped) there is a much simpler technique we can employ.\nSimply delaying the decrement of the reference count until the rcu interval is\nover.\n\nWhat that means is that the proc code that looks up a task and later\nwants to sleep can now do:\n\nrcu_read_lock();\ntask \u003d find_task_by_pid(some_pid);\nif (task) {\n\tget_task_struct(task);\n}\nrcu_read_unlock();\n\nThe effect on the rest of the kernel is that put_task_struct becomes cheaper\nand immediate, and in the case where the task has been reaped it frees the\ntask immediate instead of unnecessarily waiting an until the rcu interval is\nover.\n\nCleanup of task_struct does not happen when its reference count drops to\nzero, instead cleanup happens when release_task is called.  Tasks can only\nbe looked up via rcu before release_task is called.  All rcu protected\nmembers of task_struct are freed by release_task.\n\nTherefore we can move call_rcu from put_task_struct into release_task.  And\nwe can modify release_task to not immediately release the reference count\nbut instead have it call put_task_struct from the function it gives to\ncall_rcu.\n\nThe end result:\n\n- get_task_struct is safe in an rcu context where we have just looked\n  up the task.\n\n- put_task_struct() simplifies into its old pre rcu self.\n\nThis reorganization also makes put_task_struct uncallable from modules as\nit is not exported but it does not appear to be called from any modules so\nthis should not be an issue, and is trivially fixed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "158d9ebd19280582da172626ad3edda1a626dace",
      "tree": "5b821a6faf28d136b65ae30a56e7f731adc11c28",
      "parents": [
        "390e2ff07712468ce6600a43aa91e897b056ce12"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:31:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] resurrect __put_task_struct\n\nThis just got nuked in mainline.  Bring it back because Eric\u0027s patches use it.\n\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d425b274ba83ba4e7746a40446ec0ba3267de51f",
      "tree": "73d3342be7ba8ef8d18a8c3cc9fea6e026e2bffa",
      "parents": [
        "7c4bb1f9b3788309e1159961c606ba0bdf7ed382"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] sched: activate SCHED BATCH expired\n\nTo increase the strength of SCHED_BATCH as a scheduling hint we can\nactivate batch tasks on the expired array since by definition they are\nlatency insensitive tasks.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3dee386e14045484a6c41c8f03a263f9d79de740",
      "tree": "4b1643508ad94981e8d4deb5136d0a626e60932d",
      "parents": [
        "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: cleanup task_activated()\n\nThe activated flag in task_struct is used to track different sleep types and\nits usage is somewhat obfuscated.  Convert the variable to an enum with more\ndescriptive names without altering the function.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d",
      "tree": "ad8e68882f7c36216e16ab264101c5da96ccd5c9",
      "parents": [
        "3055addadbe9bfb2365006a1c13fd342a8d30d52"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Fri Mar 31 02:31:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: reduce overhead of calc_load\n\nCurrently, count_active_tasks() calls both nr_running() \u0026\nnr_interruptible().  Each of these functions does a \"for_each_cpu\" \u0026 reads\nvalues from the runqueue of each cpu.  Although this is not a lot of\ninstructions, each runqueue may be located on different node.  Depending on\nthe architecture, a unique TLB entry may be required to access each\nrunqueue.\n\nSince there may be more runqueues than cpu TLB entries, a scan of all\nrunqueues can trash the TLB.  Each memory reference incurs a TLB miss \u0026\nrefill.\n\nIn addition, the runqueue cacheline that contains nr_running \u0026\nnr_uninterruptible may be evicted from the cache between the two passes.\nThis causes unnecessary cache misses.\n\nCombining nr_running() \u0026 nr_interruptible() into a single function\nsubstantially reduces the TLB \u0026 cache misses on large systems.  This should\nhave no measureable effect on smaller systems.\n\nOn a 128p IA64 system running a memory stress workload, the new function\nreduced the overhead of calc_load() from 605 usec/call to 324 usec/call.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "00362e33f65f1cb5d15e62ea5509520ce2770360",
      "tree": "02694b1416f3d98c4eebaeca7864c7fd3bad6fa0",
      "parents": [
        "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 31 02:31:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create generic sleeper\n\nThe removal of the data field in the hrtimer structure enforces the\nembedding of the timer into another data structure.  nanosleep now uses a\nprivate implementation of the most common used timer callback function\n(simple task wakeup).\n\nIn order to avoid the reimplentation of such functionality all over the\nplace a generic hrtimer_sleeper functionality is created.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2",
      "tree": "a26ed9aedb7af67d9421b14ad6cdd0714d91195f",
      "parents": [
        "03731fbdd09f8db4af86dbf437e3169fb1920d5e"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:57 2006 -0800"
      },
      "message": "[PATCH] LED: Add IDE disk activity LED trigger\n\nAdd an LED trigger for IDE disk activity to the ide-disk driver.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nAcked-by: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3bc9956ec52fb2c70f29aa894d8eec766116584",
      "tree": "c93aa56e6793cfa283d13a28cfa6c02a30f6c794",
      "parents": [
        "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED trigger tupport\n\nAdd support for LED triggers to the LED subsystem.  \"Triggers\" are events\nwhich change the state of an LED.  Two kinds of trigger are available, simple\nones which can be added to exising code with minimum disruption and complex\nones for implementing new or more complex functionality.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0",
      "tree": "56715f0e0af8a9c33725f3db2f14cf7f870ad46d",
      "parents": [
        "75c1d31d9ea71025b73430c696b727e8aa15872d"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED class\n\nAdd the foundations of a new LEDs subsystem.  This patch adds a class which\npresents LED devices within sysfs and allows their brightness to be\ncontrolled.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ca07731e495584bd84dca15a0f065470d594ec4",
      "tree": "d043e8b64b43361051e1e6b40ee37382591825df",
      "parents": [
        "d32af0fe11b1618572389723e93cf33a4cc11c81"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 31 02:30:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] vt: add TIOCL_GETKMSGREDIRECT\n\nAdd TIOCL_GETKMSGREDIRECT needed by the userland suspend tool to get the\ncurrent value of kmsg_redirect from the kernel so that it can save it and\nrestore it after resume.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f79e2abb9bd452d97295f34376dedbec9686b986",
      "tree": "56b9998caa11983556e842fb9a8143d86d765fa3",
      "parents": [
        "d6dfd1310d3562698fd7c3c086f6c239f96394ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] sys_sync_file_range()\n\nRemove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT\nfadvise() additions, do it in a new sys_sync_file_range() syscall instead.\nReasons:\n\n- It\u0027s more flexible.  Things which would require two or three syscalls with\n  fadvise() can be done in a single syscall.\n\n- Using fadvise() in this manner is something not covered by POSIX.\n\nThe patch wires up the syscall for x86.\n\nThe sycall is implemented in the new fs/sync.c.  The intention is that we can\nmove sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later.\n\nDocumentation for the syscall is in fs/sync.c.\n\nA test app (sync_file_range.c) is in\nhttp://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz.\n\nThe available-to-GPL-modules do_sync_file_range() is for knfsd: \"A COMMIT can\nsay NFS_DATA_SYNC or NFS_FILE_SYNC.  I can skip the -\u003efsync call for\nNFS_DATA_SYNC which is hopefully the more common.\"\n\nNote: the `async\u0027 writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if\nthe queue is congested.  This is trivial to fix: add a new flag bit, set\nwbc-\u003enonblocking.  But I\u0027m not sure that we want to expose implementation\ndetails down to that level.\n\nNote: it\u0027s notable that we can sync an fd which wasn\u0027t opened for writing.\nSame with fsync() and fdatasync()).\n\nNote: the code takes some care to handle attempts to sync file contents\noutside the 16TB offset on 32-bit machines.  It makes such attempts appear to\nsucceed, for best 32-bit/64-bit compatibility.  Perhaps it should make such\nrequests fail...\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "453823ba08ba762b3d58934b6dce75edce37169e",
      "tree": "80170bf784145621467ba83ea44d25dc3e5e5964",
      "parents": [
        "ee37df7877eeaa16d7761cce64854110a7c17ad9"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "minyard@acm.org",
        "time": "Fri Mar 31 02:30:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] IPMI: fix startup race condition\n\nMatt Domsch noticed a startup race with the IPMI kernel thread, it was\npossible (though extraordinarly unlikely) that a message could come in\nbefore the upper layer was ready to handle it.  This patch splits the\nstartup processing of an IPMI interface into two parts, one to get ready\nand one to actually start the processes to receive messages from the\ninterface.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68eef3b4791572ecb70249c7fb145bb3742dd899",
      "tree": "1f61fce839cec8d672ae06a423d46f0a6fcd924d",
      "parents": [
        "a2c348fe0117adced11e374329a5ea3f7c43cb41"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Fri Mar 31 02:30:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Simplify proc/devices and fix early termination regression\n\nMake baby-simple the code for /proc/devices.  Based on the proven design\nfor /proc/interrupts.\n\nThis also fixes the early-termination regression 2.6.16 introduced, as\ndemonstrated by:\n\n    # dd if\u003d/proc/devices bs\u003d1\n    Character devices:\n      1 mem\n    27+0 records in\n    27+0 records out\n\nThis should also work (but is untested) when /proc/devices \u003e4096 bytes,\nwhich I believe is what the original 2.6.16 rewrite fixed.\n\n[akpm@osdl.org: cleanups, simplifications]\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3691c5199e8a4be1c7a91b5ab925db5feb866e19",
      "tree": "025210545818b080df13faa31c9266432579794c",
      "parents": [
        "5ce29646ebe352587e3b3160d599010c5da1b9dd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Mar 31 02:30:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] kill __init_timer_base in favor of boot_tvec_bases\n\nCommit a4a6198b80cf82eb8160603c98da218d1bd5e104:\n\t[PATCH] tvec_bases too large for per-cpu data\n\nintroduced \"struct tvec_t_base_s boot_tvec_bases\" which is visible at\ncompile time.  This means we can kill __init_timer_base and move\ntimer_base_s\u0027s content into tvec_t_base_s.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93fac7041f082297b93655a0e49f659cd7520e40",
      "tree": "2d8f295087377d4ac0ceea49dd67bb682b04c749",
      "parents": [
        "9bf9e89c3d147ca8cf9622d2d053684fba77a464"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] mm: schedule find_trylock_page() removal\n\nfind_trylock_page() is an odd interface in that it doesn\u0027t take a reference\nlike the others.  Now that XFS no longer uses it, and its last remaining\ncaller actually wants an elevated refcount, opencode that callsite and\nschedule find_trylock_page() for removal.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9bf9e89c3d147ca8cf9622d2d053684fba77a464",
      "tree": "e47d654953aea7226b47489d4ed6e94acd8014d8",
      "parents": [
        "b5ac5d7edb64b3ca1a489b30d95d62492a1f0b80"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] migrate_pages_to() must be defined for the no swap case\n\nFix migrate_pages_to() definition.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0500abf52109d09bf60d740dec2e41d6cf265688",
      "tree": "1f1b4479e5ec5643647c02547bebe162ea8245a7",
      "parents": [
        "48b192686dd20cb1576ae1d8ccd17a07971ef24a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:29:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:48 2006 -0800"
      },
      "message": "[PATCH] drivers/mtd/: small cleanups\n\n- chips/sharp.c: make two needlessly global functions static\n\n- move some declarations to a header file where they belong to\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48b192686dd20cb1576ae1d8ccd17a07971ef24a",
      "tree": "a4e5f5a74c230439fdbdc895f7874c68bf505565",
      "parents": [
        "040d79f906654d55c810313f29c6605593bf21c5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 31 02:29:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:48 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: drivers/mtd/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "025be81e83043f20538dcced1e12c5f8d152fbdb",
      "tree": "b5789ee2931739c7066f5369ce699ef4f3fa758e",
      "parents": [
        "0803dbed7a23721d091639c9e173c0389dcd524a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "message": "[NET]: Allow skb headroom to be overridden\n\nPreviously we added NET_IP_ALIGN so an architecture can override the\npadding done to align headers. The next step is to allow the skb\nheadroom to be overridden.\n\nWe currently always reserve 16 bytes to grow into, meaning all DMAs\nstart 16 bytes into a cacheline. On ppc64 we really want DMA writes to\nstart on a cacheline boundary, so we increase that headroom to one\ncacheline.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "256414dee44eaa0983f5ab1a71877de23c4e9ce7",
      "tree": "770768cdd6ff6324f55fd305cb26109e89322fb0",
      "parents": [
        "63e8d9114dab88c101be2372cb1f83a4fe74d9c1",
        "55d8ca4f8094246da6e71889a4e04bfafaa78b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:29:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:29:20 2006 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [PATCH] sata_mv: three bug fixes\n  [PATCH] libata: ata_dev_init_params() fixes\n  [PATCH] libata: Fix interesting use of \"extern\" and also some bracketing\n  [PATCH] libata: Simplex and other mode filtering logic\n  [PATCH] libata - ATA is both ATA and CFA\n  [PATCH] libata: Add -\u003eset_mode hook for odd drivers\n  [PATCH] libata: BMDMA handling updates\n  [PATCH] libata: kill trailing whitespace\n  [PATCH] libata: add FIXME above ata_dev_xfermask()\n  [PATCH] libata: cosmetic changes in ata_bus_softreset()\n  [PATCH] libata: kill E.D.D.\n"
    },
    {
      "commit": "5abc97aa25b2c41413b3a520faee83f2282d9f18",
      "tree": "4ba13ae0e91f15d02986df7cdca5e9455212d7d4",
      "parents": [
        "5274f052e7b3dbd81935772eb551dfd0325dfa9d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:16:46 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] splice: add support for SPLICE_F_MOVE flag\n\nThis enables the caller to migrate pages from one address space page\ncache to another.  In buzz word marketing, you can do zero-copy file\ncopies!\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5274f052e7b3dbd81935772eb551dfd0325dfa9d",
      "tree": "c79f813ec513660edb6f1e4a75cb366c6b84f53f",
      "parents": [
        "5d4fe2c1ce83c3e967ccc1ba3d580c1a5603a866"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:15:30 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] Introduce sys_splice() system call\n\nThis adds support for the sys_splice system call. Using a pipe as a\ntransport, it can connect to files or sockets (latter as output only).\n\nFrom the splice.c comments:\n\n   \"splice\": joining two ropes together by interweaving their strands.\n\n   This is the \"extended pipe\" functionality, where a pipe is used as\n   an arbitrary in-memory buffer. Think of a pipe as a small kernel\n   buffer that you can use to transfer data from one end to the other.\n\n   The traditional unix read/write is extended with a \"splice()\" operation\n   that transfers data buffers to or from a pipe buffer.\n\n   Named by Larry McVoy, original implementation from Linus, extended by\n   Jens to support splicing to files and fixing the initial implementation\n   bugs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5444a6f405618706eddbe1605ef8533b1b655764",
      "tree": "9265a1e65563add47a9fe5f1ddae44d6dd0742e3",
      "parents": [
        "692785e798f341c057ff976c35a3d86ad5af8ac6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:58:20 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:28 2006 -0500"
      },
      "message": "[PATCH] libata: Simplex and other mode filtering logic\n\nAdd a field to the host_set called \u0027flags\u0027 (was host_set_flags changed\nto suit Jeff)\nAdd a simplex_claimed field so we can remember who owns the DMA channel\nAdd a -\u003emode_filter() hook to allow drivers to filter modes\nAdd docs for mode_filter and set_mode\nFilter according to simplex state\nFilter cable in core\n\nThis provides the needed framework to support all the mode rules found\nin the PATA world. The simplex filter deals with \u0027to spec\u0027 simplex DMA\nsystems found in older chips. The cable filter avoids duplicating the\nsame rules in each chip driver with PATA. Finally the mode filter is\nneccessary because drive/chip combinations have errata that forbid\ncertain modes with some drives or types of ATA object.\n\nDrive speed setup remains per channel for now and the filters now use\nthe framework Tejun put into place which cleans them up a lot from the\nolder libata-pata patches.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e35a9e01f2a504871e70576a9e11dbe4d8dee456",
      "tree": "4761c2d8b9d827d95cc531376e5c02666734ecf6",
      "parents": [
        "4e5ec5dba22ea509b1a004f9815751f0ffc815e5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:46:37 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: Add -\u003eset_mode hook for odd drivers\n\nSome hardware doesn\u0027t want the usual mode setup logic running. This\nallows the hardware driver to replace it for special cases in the least\ninvasive way possible.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4e5ec5dba22ea509b1a004f9815751f0ffc815e5",
      "tree": "d7387c3051e51a8bca060918f4a3a8a1a7962715",
      "parents": [
        "05c8e0ac5c37e9739a852b526afeecae97607cbb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:42:40 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: BMDMA handling updates\n\nThis is the minimal patch set to enable the current code to be used with\na controller following SFF (ie any PATA and early SATA controllers)\nsafely without crashes if there is no BMDMA area or if BMDMA is not\nassigned by the BIOS for some reason.\n\nSimplex status is recorded but not acted upon in this change, this isn\u0027t\na problem with the current drivers as none of them are for simplex\nhardware. A following diff will deal with that.\n\nThe flags in the probe structure remain -\u003ehost_set_flags although Jeff\nasked me to rename them, simply because the rename would break the usual\nLinux rules that old code should break when there are changes. not\ncompile and run and then blow up/eat your computer/etc. Renaming this\nlater is a trivial exercise once a better name is chosen.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "56079431b6ba163df8ba26b3eccc82379f0c0ce4",
      "tree": "cdcfb1fdee55c567603ede007c7b0c91efe29b3a",
      "parents": [
        "68907dad58cd7ef11536e1db6baeb98b20af91b2"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Wed Mar 29 15:57:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 29 15:57:29 2006 -0800"
      },
      "message": "[NET]: Deinline some larger functions from netdevice.h\n\nOn a allyesconfig\u0027ured kernel:\n\nSize  Uses Wasted Name and definition\n\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   95  162  12075 netif_wake_queue      include/linux/netdevice.h\n  129   86   9265 dev_kfree_skb_any     include/linux/netdevice.h\n  127   56   5885 netif_device_attach   include/linux/netdevice.h\n   73   86   4505 dev_kfree_skb_irq     include/linux/netdevice.h\n   46   60   1534 netif_device_detach   include/linux/netdevice.h\n  119   16   1485 __netif_rx_schedule   include/linux/netdevice.h\n  143    5    492 netif_rx_schedule     include/linux/netdevice.h\n   81    7    366 netif_schedule        include/linux/netdevice.h\n\nnetif_wake_queue is big because __netif_schedule is a big inline:\n\nstatic inline void __netif_schedule(struct net_device *dev)\n{\n        if (!test_and_set_bit(__LINK_STATE_SCHED, \u0026dev-\u003estate)) {\n                unsigned long flags;\n                struct softnet_data *sd;\n\n                local_irq_save(flags);\n                sd \u003d \u0026__get_cpu_var(softnet_data);\n                dev-\u003enext_sched \u003d sd-\u003eoutput_queue;\n                sd-\u003eoutput_queue \u003d dev;\n                raise_softirq_irqoff(NET_TX_SOFTIRQ);\n                local_irq_restore(flags);\n        }\n}\n\nstatic inline void netif_wake_queue(struct net_device *dev)\n{\n#ifdef CONFIG_NETPOLL_TRAP\n        if (netpoll_trap())\n                return;\n#endif\n        if (test_and_clear_bit(__LINK_STATE_XOFF, \u0026dev-\u003estate))\n                __netif_schedule(dev);\n}\n\nBy de-inlining __netif_schedule we are saving a lot of text\nat each callsite of netif_wake_queue and netif_schedule.\n__netif_rx_schedule is also big, and it makes more sense to keep\nboth of them out of line.\n\nPatch also deinlines dev_kfree_skb_any. We can deinline dev_kfree_skb_irq\ninstead... oh well.\n\nnetif_device_attach/detach are not hot paths, we can deinline them too.\n\nSigned-off-by: Denis Vlasenko \u003cvda@ilport.com.ua\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e02a4cabfcb9a999b74a2e2e6f13ffcb7ff2d606",
      "tree": "2f3db60be4c57eca2a4c3ab3f3122dcf1ec0c624",
      "parents": [
        "600511e86babe3727264a0883a3a264f6fb6caf5",
        "f3cab8a0b1a772dc8b055b7affa567a366627c9e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 17:18:49 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 17:18:49 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "76babde121d2ffef04ca692ce64ef9f8a9866086",
      "tree": "294923bbb4974258d86d223e35eee691abacdfb1",
      "parents": [
        "e71ac6032edf77a1e4a81f3e3b260807e94b37a5",
        "15e812ad849e142e3dfc984d33c4d8042389f148"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:28:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:28:30 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (67 commits)\n  [PATCH] powerpc: Remove oprofile spinlock backtrace code\n  [PATCH] powerpc: Add oprofile calltrace support to all powerpc cpus\n  [PATCH] powerpc: Add oprofile calltrace support\n  [PATCH] for_each_possible_cpu: ppc\n  [PATCH] for_each_possible_cpu: powerpc\n  [PATCH] lock PTE before updating it in 440/BookE page fault handler\n  [PATCH] powerpc: Kill _machine and hard-coded platform numbers\n  ppc: Fix compile error in arch/ppc/lib/strcase.c\n  [PATCH] git-powerpc: WARN was a dumb idea\n  [PATCH] powerpc: a couple of trivial compile warning fixes\n  powerpc: remove OCP references\n  powerpc: Make uImage default build output for MPC8540 ADS\n  powerpc: move math-emu over to arch/powerpc\n  powerpc: use memparse() for mem\u003d command line parsing\n  ppc: fix strncasecmp prototype\n  [PATCH] powerpc: make ISA floppies work again\n  [PATCH] powerpc: Fix some initcall return values\n  [PATCH] powerpc: Workaround for pSeries RTAS bug\n  [PATCH] spufs: fix __init/__exit annotations\n  [PATCH] powerpc: add hvc backend for rtas\n  ...\n"
    },
    {
      "commit": "a7e5328a06a2beee3a2bbfaf87ce2a7bbe937de1",
      "tree": "168102a80e9b98d19e8bf39156d35dacdb253c3d",
      "parents": [
        "4a2c7a7837da1b91468e50426066d988050e4d56"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:44 2006 -0800"
      },
      "message": "[PATCH] cleanup __exit_signal-\u003ecleanup_sighand path\n\nMove \u0027tsk-\u003esighand \u003d NULL\u0027 from cleanup_sighand() to __exit_signal().  This\nmakes the exit path more understandable and allows us to do\ncleanup_sighand() outside of -\u003esiglock protected section.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47e65328a7b1cdfc4e3102e50d60faf94ebba7d3",
      "tree": "78e00a5321cca87767806a91e623e71b5c6637c7",
      "parents": [
        "88531f725bd52e37a7be726860e4ff3f09031d89"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:44 2006 -0800"
      },
      "message": "[PATCH] pids: kill PIDTYPE_TGID\n\nThis patch kills PIDTYPE_TGID pid_type thus saving one hash table in\nkernel/pid.c and speeding up subthreads create/destroy a bit.  It is also a\npreparation for the further tref/pids rework.\n\nThis patch adds \u0027struct list_head thread_group\u0027 to \u0027struct task_struct\u0027\ninstead.\n\nWe don\u0027t detach group leader from PIDTYPE_PID namespace until another\nthread inherits it\u0027s -\u003epid \u003d\u003d -\u003etgid, so we are safe wrt premature\nfree_pidmap(-\u003etgid) call.\n\nCurrently there are no users of find_task_by_pid_type(PIDTYPE_TGID).\nShould the need arise, we can use find_task_by_pid()-\u003egroup_leader.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-By: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a14c5c9da0b4c34b5be783403c54f0396fcfe77",
      "tree": "63e40e5761eb5327ae4f713b284c67128cb4d261",
      "parents": [
        "c81addc9d3a0ebff2155e0cd86f90820ab97147e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] move __exit_signal() to kernel/exit.c\n\n__exit_signal() is private to release_task() now.  I think it is better to\nmake it static in kernel/exit.c and export flush_sigqueue() instead - this\nfunction is much more simple and straightforward.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c81addc9d3a0ebff2155e0cd86f90820ab97147e",
      "tree": "56eb3a50f71e7a0e2a0f0daef4ec097375b06f8d",
      "parents": [
        "29ff471234d53c7235db287bc52f91884c2977c6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] rename __exit_sighand to cleanup_sighand\n\nCosmetic, rename __exit_sighand to cleanup_sighand and move it close to\ncopy_sighand().\n\nThis matches copy_signal/cleanup_signal naming, and I think it is easier to\nfollow.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b3934ef52712ece50605dfc72e55d00c580831a",
      "tree": "5ec3c4f69a20880f75de6ff8d7d2f67d96328df3",
      "parents": [
        "7001510d0cbf51ad202dd2d0744f54104285cbb9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] copy_process: cleanup bad_fork_cleanup_signal\n\n__exit_signal() does important cleanups atomically under -\u003esiglock.  It is\nalso called from copy_process\u0027s error path.  This is not good, for example we\ncan\u0027t move __unhash_process() under -\u003esiglock for that reason.\n\nWe should not mix these 2 paths, just look at ugly \u0027if (p-\u003esighand)\u0027 under\n\u0027bad_fork_cleanup_sighand:\u0027 label.  For copy_process() case it is sufficient\nto just backout copy_signal(), nothing more.\n\nAgain, nobody can see this task yet.  For CLONE_THREAD case we just decrement\nsignal-\u003ecount, otherwise nobody can see this -\u003esignal and we can free it\nlockless.\n\nThis patch assumes it is safe to do exit_thread_group_keys() without\ntasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7001510d0cbf51ad202dd2d0744f54104285cbb9",
      "tree": "1df2a6930c460c12026231634b86d14b153a4a86",
      "parents": [
        "a9e88e84b5245da0a1dadb6ccca70ae84e93ccf6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] copy_process: cleanup bad_fork_cleanup_sighand\n\nThe only caller of exit_sighand(tsk) is copy_process\u0027s error path.  We can\ncall __exit_sighand() directly and kill exit_sighand().\n\nThis \u0027tsk\u0027 was not yet registered in pid_hash[] or init_task.tasks, it has no\nexternal references, nobody can see it, and\n\n\tIF (clone_flags \u0026 CLONE_SIGHAND)\n\t\tAt least \u0027current\u0027 has a reference to -\u003esighand, this\n\t\tmeans atomic_dec_and_test(sighand-\u003ecount) can\u0027t be true.\n\n\tELSE\n\t\tNobody can see this -\u003esighand, this means we can free it\n\t\twithout any locking.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f63ee72e0fb82e504a0489490babc7612c7cd6c2",
      "tree": "85167f8016d1f746135bf1777646a58c44376af1",
      "parents": [
        "aa1757f90bea3f598b6e5d04d922a6a60200f1da"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] introduce lock_task_sighand() helper\n\nAdd lock_task_sighand() helper and converts group_send_sig_info() to use\nit.  Hopefully we will have more users soon.\n\nThis patch also removes \u0027!sighand-\u003ecount\u0027 and \u0027!p-\u003eusage\u0027 checks, I think\nthey both are bogus, racy and unneeded (but probably it makes sense to\nrestore them as BUG_ON()s).\n\n-\u003esighand is cleared and it\u0027s -\u003ecount is decremented in release_task() with\nsighand-\u003esiglock held, so it is a bug to have \u0027!p-\u003eusage || !-\u003ecount\u0027 after\nwe already locked and verified it is the same.  On the other hand, an\nalready dead task without -\u003esighand can have a non-zero -\u003eusage due to\nptrace, for example.\n\nIf we read the stale value of -\u003esighand we must see the change after\nspin_lock(), because that change was done while holding that same old\n-\u003esighand.siglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa1757f90bea3f598b6e5d04d922a6a60200f1da",
      "tree": "4f8f3804b2595031d0b84de7086dc28375290f0d",
      "parents": [
        "1f09f9749cdde4e69f95d62d96d2e03f50b3353c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] convert sighand_cache to use SLAB_DESTROY_BY_RCU\n\nThis patch borrows a clever Hugh\u0027s \u0027struct anon_vma\u0027 trick.\n\nWithout tasklist_lock held we can\u0027t trust task-\u003esighand until we locked it\nand re-checked that it is still the same.\n\nBut this means we don\u0027t need to defer \u0027kmem_cache_free(sighand)\u0027.  We can\nreturn the memory to slab immediately, all we need is to be sure that\nsighand-\u003esiglock can\u0027t dissapear inside rcu protected section.\n\nTo do so we need to initialize -\u003esiglock inside ctor function,\nSLAB_DESTROY_BY_RCU does the rest.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7c6464117a02b0d54feb4ebeca4db70fa493678",
      "tree": "903498de6685d769631edbd7bce7609d07365946",
      "parents": [
        "73b9ebfe126a4a886ee46cbab637374d7024668a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] pidhash: don\u0027t use zero pids\n\ndaemonize() calls set_special_pids(1,1), while init and kernel threads spawned\nfrom init/main.c:init() run with 0,0 special pids.  This patch changes\nINIT_SIGNALS() so that that they run with -\u003epgrp \u003d\u003d -\u003esession \u003d\u003d 1 also.  This\npatch relies on fact that swapper\u0027s pid \u003d\u003d 1.\n\nNow we have no hashed zero pids in pid_hash[].\n\nUser-space visibible change is that now /sbin/init runs with (1,1) special\npids and becomes a session leader.\n\nQuoting Eric W. Biederman:\n\u003e\n\u003e daemonize consuming pids (1,1) then consumes pgrp 1.  So that when\n\u003e /sbin/init calls setsid() it thinks /sbin/init is a process group\n\u003e leader and setsid() fails.  So /sbin/init wants pgrp 1 session 1\n\u003e but doesn\u0027t get it.  I am pretty certain daemonize did not exist so\n\u003e /sbin/init got pgrp 1 session 1 in 2.4.\n\u003e\n\u003e That is the bug that is being fixed.\n\u003e\n\u003e This patch takes things one step farther and essentially calls\n\u003e setsid() for pid \u003d\u003d 1 before init is execed.  That is new behavior\n\u003e but it cleans up the kernel as we now do not need to support the\n\u003e case of a process without a process group or a session.\n\u003e\n\u003e The only process that could have possibly cared was /sbin/init\n\u003e and it already calls setsid() because it doesn\u0027t want that.\n\u003e\n\u003e If this was going to break anything noticeable the change in behavior\n\u003e from 2.4 to 2.6 would have already done that.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73b9ebfe126a4a886ee46cbab637374d7024668a",
      "tree": "d7ba00d4ce76b49c1569334956cd196b35977a04",
      "parents": [
        "c97d98931ac52ef110b62d9b75c6a6f2bfbc1898"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] pidhash: don\u0027t count idle threads\n\nfork_idle() does unhash_process() just after copy_process().  Contrary,\nboot_cpu\u0027s idle thread explicitely registers itself for each pid_type with nr\n\u003d 0.\n\ncopy_process() already checks p-\u003epid !\u003d 0 before process_counts++, I think we\ncan just skip attach_pid() calls and job control inits for idle threads and\nkill unhash_process().  We don\u0027t need to cleanup -\u003eproc_dentry in fork_idle()\nbecause with this patch idle threads are never hashed in\nkernel/pid.c:pid_hash[].\n\nWe don\u0027t need to hash pid \u003d\u003d 0 in pidmap_init().  free_pidmap() is never\ncalled with pid \u003d\u003d 0 arg, so it will never be reused.  So it is still possible\nto use pid \u003d\u003d 0 in any PIDTYPE_xxx namespace from kernel/pid.c\u0027s POV.\n\nHowever with this patch we don\u0027t hash pid \u003d\u003d 0 for PIDTYPE_PID case.  We still\nhave have PIDTYPE_PGID/PIDTYPE_SID entries with pid \u003d\u003d 0: /sbin/init and\nkernel threads which don\u0027t call daemonize().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c97d98931ac52ef110b62d9b75c6a6f2bfbc1898",
      "tree": "f811f8b2862692c2eb7ee92e62e8f0afcfd37a2d",
      "parents": [
        "9b678ece42893b53aae5ed7cb8d7cb261cacb72c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] kill SET_LINKS/REMOVE_LINKS\n\nBoth SET_LINKS() and SET_LINKS/REMOVE_LINKS() have exactly one caller, and\nthese callers already check thread_group_leader().\n\nThis patch kills theese macros, they mix two different things: setting\nprocess\u0027s parent and registering it in init_task.tasks list.  Callers are\nupdated to do these actions by hand.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8fafabd86f1b75ed3cc6a6ffbe6c3e53e3d8457d",
      "tree": "3ae1a8fc44870ac3046213b11cad4aa8b3ce5f04",
      "parents": [
        "d799f03597cabc6112acb518fc8ab4487aa4f953"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] remove add_parent()\u0027s parent argument\n\nadd_parent(p, parent) is always called with parent \u003d\u003d p-\u003eparent, and it makes\nno sense to do it differently.  This patch removes this argument.\n\nNo changes in affected .o files.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d73d65293e3e2de7e916a89c8da30be0948afab7",
      "tree": "62b0ca76e3099c927f2960856dd060b136a8ccef",
      "parents": [
        "652486fb84a07ed750f1c11639518f55808bf555"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 28 16:11:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:40 2006 -0800"
      },
      "message": "[PATCH] pidhash: kill switch_exec_pids\n\nswitch_exec_pids is only called from de_thread by way of exec, and it is\nonly called when we are exec\u0027ing from a non thread group leader.\n\nCurrently switch_exec_pids gives the leader the pid of the thread and\nunhashes and rehashes all of the process groups.  The leader is already in\nthe EXIT_DEAD state so no one cares about it\u0027s pids.  The only concern for\nthe leader is that __unhash_process called from release_task will function\ncorrectly.  If we don\u0027t touch the leader at all we know that\n__unhash_process will work fine so there is no need to touch the leader.\n\nFor the task becomming the thread group leader, we just need to give it the\npid of the old thread group leader, add it to the task list, and attach it\nto the session and the process group of the thread group.\n\nCurrently de_thread is also adding the task to the task list which is just\nsilly.\n\nCurrently the only leader of __detach_pid besides detach_pid is\nswitch_exec_pids because of the ugly extra work that was being\nperformed.\n\nSo this patch removes switch_exec_pids because it is doing too much, it is\ncreating an unnecessary special case in pid.c, duing work duplicated in\nde_thread, and generally obscuring what it is going on.\n\nThe necessary work is added to de_thread, and it seems to be a little\nclearer there what is going on.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c99c5cb94319a601b5ec5ee31c331f84755dd74",
      "tree": "dca4d96ee6aa1cfbc36b3eaf060b14278e2bd0d7",
      "parents": [
        "1434261c07bcebd5ef8b8a18f919fdee533b84e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 28 16:11:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:40 2006 -0800"
      },
      "message": "[PATCH] Remove dead kill_sl prototype from sched.h\n\nThe kill_sl function doesn\u0027t exist in the kernel so a prototype is completely\nunnecessary.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bac30d1a78d0f11c613968fc8b351a91ed465386",
      "tree": "e52f3c876522a2f6047a6ec1c27df2e8a79486b8",
      "parents": [
        "e8222502ee6157e2713da9e0792c21f4ad458d50",
        "ca9ba4471c1203bb6e759b76e83167fec54fe590"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:24:50 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:24:50 2006 +1100"
      },
      "message": "Merge ../linux-2.6\n"
    },
    {
      "commit": "d4965b3e2ff94d0c7b7e6e7e9794b54950a2f4b9",
      "tree": "e96e7a3e02acacd4ee200592ec176b94802d11e7",
      "parents": [
        "9561b03dc360068504cb296d325fb84295f91fbb",
        "aee85fe8e8143d3f54d9e6d3c6cdd40ead563267"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 13:52:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 13:52:37 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-serial\n\n* master.kernel.org:/home/rmk/linux-2.6-serial:\n  [SERIAL] Provide Cirrus EP93xx AMBA PL010 serial support.\n  [SERIAL] amba-pl010: allow platforms to specify modem control method\n  [SERIAL] Remove obsoleted au1x00_uart driver\n  [SERIAL] Small time UART configuration fix for AU1100 processor\n"
    },
    {
      "commit": "7baf398f12585ae77748716fa77113c1f1831153",
      "tree": "492361d848d3dfc33563a1bdf0d0f61b454aac82",
      "parents": [
        "78cd9e04e0acea4f622e84ca0c760c7eae0c6854",
        "206dc69b31ca05baac68c75b8ed2ba7dd857d273"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:25:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:25:44 2006 -0800"
      },
      "message": "Merge branch \u0027cfq-merge\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\n* \u0027cfq-merge\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block:\n  [BLOCK] cfq-iosched: seek and async performance fixes\n  [PATCH] ll_rw_blk: fix 80-col offender in put_io_context()\n  [PATCH] cfq-iosched: small cfq_choose_req() optimization\n  [PATCH] [BLOCK] cfq-iosched: change cfq io context linking from list to tree\n"
    },
    {
      "commit": "7f927fcc2fd1575d01efb4b76665975007945690",
      "tree": "fbb84689600ea512d7b52f9fc46db2d7d8d7c1fd",
      "parents": [
        "ded23ac62776b4360d88e9b0330792d2c57fdfdf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 28 01:56:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:08 2006 -0800"
      },
      "message": "[PATCH] Typo fixes\n\nFix a lot of typos.  Eyeballed by jmc@ in OpenBSD.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "910638ae7ed4be27d6af55f6c9b5bf54b838e78b",
      "tree": "5eda3cfd0e312c8b0916f6d5eb1cd98225e67891",
      "parents": [
        "60c904ae5bded8bb71f7bff7d63f2a6959d2a8e4"
      ],
      "author": {
        "name": "Matthias Gehre",
        "email": "M.Gehre@gmx.de",
        "time": "Tue Mar 28 01:56:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:07 2006 -0800"
      },
      "message": "[PATCH] Replace 0xff.. with correct DMA_xBIT_MASK\n\nReplace all occurences of 0xff..  in calls to function pci_set_dma_mask()\nand pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK from\nlinux/dma-mapping.h.\n\nSigned-off-by: Matthias Gehre \u003cM.Gehre@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99ac48f54a91d02140c497edc31dc57d4bc5c85d",
      "tree": "68719391694a6914191bdf73d2071875f7653f6f",
      "parents": [
        "ec1b9466cb4f6ae6d950bd67055d9410d1056d2a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] mark f_ops const in the inode\n\nMark the f_ops members of inodes as const, as well as fix the\nripple-through this causes by places that copy this f_ops and then \"do\nstuff\" with it.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a945022778f100115d0cb6234eb28fc1b15ccaf",
      "tree": "85df4b5f7dd8bf59557091379c59b23b09115bf6",
      "parents": [
        "631d6747e1d877a4baa924cb373b8b9511a53e5e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: fixes for generic part\n\nreplaces for_each_cpu with for_each_possible_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "631d6747e1d877a4baa924cb373b8b9511a53e5e",
      "tree": "5bb88d5c9716b9d9f398a6a1e8c8be4501671643",
      "parents": [
        "68c3431ae22912be580c68d3955ef46515582943"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:04 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: defines for_each_possible_cpu\n\nfor_each_cpu() is a for-loop over cpu_possible_map.  for_each_online_cpu is\nfor-loop cpu over cpu_online_map.  .....for_each_cpu() is not sufficiently\nexplicit and can lead to mistakes.\n\nThis patch adds for_each_possible_cpu() in preparation for the removal of\nfor_each_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70674f95c0a2ea694d5c39f4e514f538a09be36f",
      "tree": "906d109fafc5eafff6a90c8d866e0525fdaf6783",
      "parents": [
        "b02389e98a7b64ad5cd4823740defa8821f30bbd"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Mar 28 01:56:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:04 2006 -0800"
      },
      "message": "[PATCH] Optimize select/poll by putting small data sets on the stack\n\nOptimize select and poll by a using stack space for small fd sets\n\nThis brings back an old optimization from Linux 2.0.  Using the stack is\nfaster than kmalloc.  On a Intel P4 system it speeds up a select of a\nsingle pty fd by about 13% (~4000 cycles -\u003e ~3500)\n\nIt also saves memory because a daemon hanging in select or poll will\nusually save one or two less pages.  This can add up - e.g.  if you have 10\ndaemons blocking in poll/select you save 40KB of memory.\n\nI did a patch for this long ago, but it was never applied.  This version is\na reimplementation of the old patch that tries to be less intrusive.  I\nonly did the minimal changes needed for the stack allocation.\n\nThe cut off point before external memory is allocated is currently at\n832bytes.  The system calls always allocate this much memory on the stack.\n\nThese 832 bytes are divided into 256 bytes frontend data (for the select\nbitmaps of the pollfds) and the rest of the space for the wait queues used\nby the low level drivers.  There are some extreme cases where this won\u0027t\nwork out for select and it falls back to allocating memory too early -\nespecially with very sparse large select bitmaps - but the majority of\nprocesses who only have a small number of file descriptors should be ok.\n[TBD: 832/256 might not be the best split for select or poll]\n\nI suspect more optimizations might be possible, but they would be more\ncomplicated.  One way would be to cache the select/poll context over\nmultiple system calls because typically the input values should be similar.\n Problem is when to flush the file descriptors out though.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d266ab88938e49aa95f1965ee020df1b1d4c5761",
      "tree": "b31fff6d3f9d2008f4672b21c7f37c9e91888043",
      "parents": [
        "9edc91df07a227dbde9f98ee1097f554130993dc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Mar 28 01:56:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:04 2006 -0800"
      },
      "message": "[PATCH] Small fixes backported to old IDE SiS driver\n\nSome quick backport bits from the libata PATA work to fix things found in\nthe sis driver.  The piix driver needs some fixes too but those are way to\nlarge and need someone working on old IDE with time to do them.\n\nThis patch fixes the case where random bits get loaded into SIS timing\nregisters according to the description of the correct behaviour from\nVojtech Pavlik.  It also adds the SiS5517 ATA16 chipset which is not\ncurrently supported by the driver.  Thanks to Conrad Harriss for loaning me\nthe machine with the 5517 chipset.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e51236092d2f7e40e87e88804b5b42e5f8025415",
      "tree": "9ac887d944107d86dad6a534bb0399b7cd60c15e",
      "parents": [
        "3ca1da4a82b169417b738a35783008c35da26466"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Mar 28 01:56:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:03 2006 -0800"
      },
      "message": "[PATCH] remove relayfs_fs.h\n\nThis is obsolete.\n\nCc: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a28af471b8946de052a0eb0c080d5457be93f168",
      "tree": "e1a17db252831fc2cd7ff206f37b8232a34957e9",
      "parents": [
        "3b71797eff4352b4295919efc52de84f84d33d94"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Mar 28 01:56:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:03 2006 -0800"
      },
      "message": "[PATCH] fs/fat/: proper prototypes for two functions\n\nAdd proper prototypes for fat_cache_init() and fat_cache_destroy() in\nmsdos_fs.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "273577165cd206d2d6689ee4b18aa13de1ec4bde",
      "tree": "f5dfaed2e193bb65a00ef551f02ace8726cc461c",
      "parents": [
        "f83ca9fe3ee390755f18b4a7780c25ce593b484a"
      ],
      "author": {
        "name": "Brian Rogan",
        "email": "bcr6@cornell.edu",
        "time": "Tue Mar 28 01:56:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:02 2006 -0800"
      },
      "message": "[PATCH] Add oprofile_add_ext_sample\n\nOn ppc64 we look at a profiling register to work out the sample address and\nif it was in userspace or kernel.\n\nThe backtrace interface oprofile_add_sample does not allow this.  Create\noprofile_add_ext_sample and make oprofile_add_sample use it too.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: John Levon \u003clevon@movementarian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0080b7aae88c75e2a6b38dfcb228b0f239e18e3c",
      "tree": "445aadcb5f4e6271d9dfc6a35395a0a3a57716c6",
      "parents": [
        "86a34147d1f1c94e94500e63e83f9fa42548a088"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Tue Mar 28 01:56:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:02 2006 -0800"
      },
      "message": "[PATCH] synclink_gt add gpio feature\n\nAdd driver support for general purpose I/O feature of the Synclink GT\nadapters.\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@micrgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "206dc69b31ca05baac68c75b8ed2ba7dd857d273",
      "tree": "f9ca5d996e19cb072165b1f6474c39b59b0e7451",
      "parents": [
        "7143dd4b0127141a4f773e819d1d1f4ab82bb517"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 13:03:44 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 13:03:44 2006 +0200"
      },
      "message": "[BLOCK] cfq-iosched: seek and async performance fixes\n\nDetect whether a given process is seeky and if so disable (mostly) the\nidle window if it is. We still allow just a little idle time, just enough\nto allow that process to submit a new request. That is needed to maintain\nfairness across priority groups.\n\nIn some cases, we could setup several async queues. This is not optimal\nfrom a performance POV, since we want all async io in one queue to perform\ngood sorting on it. It also impacted sync queues, as async io got too much\nslice time.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e2d74ac0664c89757bde8fb18c98cd7bf53da61c",
      "tree": "1e858044a9180766eae4ec694d4200c4ae850406",
      "parents": [
        "329b10bb0feacb7fb9a41389313ff0a51ae56f2a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 08:59:01 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 08:59:01 2006 +0200"
      },
      "message": "[PATCH] [BLOCK] cfq-iosched: change cfq io context linking from list to tree\n\nOn setups with many disks, we spend a considerable amount of time\nlooking up the process-disk mapping on each queue of io. Testing with\na NULL based block driver, this costs 40-50% reduction in throughput\nfor 1000 disks.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "4fa639123d9e6e8dfaa3d116368f4b2478da31af",
      "tree": "50c42e2102a542891a15b5011e48fbde14149baf",
      "parents": [
        "df5b89b323b922f56650b4b4d7c41899b937cf19",
        "ae36b883d29e53b6083ed3d1d44f254cee7507d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:46:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:46:49 2006 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block:\n  [PATCH] Don\u0027t make debugfs depend on DEBUG_KERNEL\n  [PATCH] Fix blktrace compile with sysfs not defined\n  [PATCH] unused label in drivers/block/cciss.\n  [BLOCK] increase size of disk stat counters\n  [PATCH] blk_execute_rq_nowait-speedup\n  [PATCH] ide-cd: quiet down GPCMD_READ_CDVD_CAPACITY failure\n  [BLOCK] ll_rw_blk: kmalloc -\u003e kzalloc conversion\n  [PATCH] kzalloc() conversion in drivers/block\n  [PATCH] update max_sectors documentation\n"
    },
    {
      "commit": "df5b89b323b922f56650b4b4d7c41899b937cf19",
      "tree": "d1578782a9d763174474fe2db08f4ce4c6dc6218",
      "parents": [
        "48c9c27b8bcd2a328a06151e2d5c1170db0b701b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:03 2006 -0800"
      },
      "message": "[PATCH] md: Convert reconfig_sem to reconfig_mutex\n\n... being careful that mutex_trylock is inverted wrt down_trylock\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e464eafdb4400c6d6576ba3840d8bd40340f8a96",
      "tree": "0c3f4003c883264ee08300c02007f06e4d1ebb91",
      "parents": [
        "16484bf59634e25d1299761e5ed8bacf22bc6368"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:02 2006 -0800"
      },
      "message": "[PATCH] md: Support suspending of IO to regions of an md array\n\nThis allows user-space to access data safely.  This is needed for raid5\nreshape as user-space needs to take a backup of the first few stripes before\nallowing reshape to commence.\n\nIt will also be useful in cluster-aware raid1 configurations so that all\ncluster members can leave a section of the array untouched while a\nresync/recovery happens.\n\nA \u0027start\u0027 and \u0027end\u0027 of the suspended range are written to 2 sysfs attributes.\nNote that only one range can be suspended at a time.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63c70c4f3a30e77e6f445bd16eff7934a031ebd3",
      "tree": "12d2cd6cec5cd304bdf514ec8999a44c26f058ae",
      "parents": [
        "b578d55fdd80140f657130abd85aebeb345755fb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:02 2006 -0800"
      },
      "message": "[PATCH] md: Split reshape handler in check_reshape and start_reshape\n\ncheck_reshape checks validity and does things that can be done instantly -\nlike adding devices to raid1.  start_reshape initiates a restriping process to\nconvert the whole array.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b578d55fdd80140f657130abd85aebeb345755fb",
      "tree": "3737b88a25b3fb1e3347cd1c4c274336aee6a462",
      "parents": [
        "f67055780caac6a99f43834795c43acf99eba6a6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:02 2006 -0800"
      },
      "message": "[PATCH] md: Only checkpoint expansion progress occasionally\n\nInstead of checkpointing at each stripe, only checkpoint when a new write\nwould overwrite uncheckpointed data.  Block any write to the uncheckpointed\narea.  Arbitrarily checkpoint at least every 3Meg.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f67055780caac6a99f43834795c43acf99eba6a6",
      "tree": "6b80e7b4cb300edb0910dbad1d840ff8e2f36ae5",
      "parents": [
        "292695531ae4019bb15deedc121b218d1908b648"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Checkpoint and allow restart of raid5 reshape\n\nWe allow the superblock to record an \u0027old\u0027 and a \u0027new\u0027 geometry, and a\nposition where any conversion is up to.  The geometry allows for changing\nchunksize, layout and level as well as number of devices.\n\nWhen using verion-0.90 superblock, we convert the version to 0.91 while the\nconversion is happening so that an old kernel will refuse the assemble the\narray.  For version-1, we use a feature bit for the same effect.\n\nWhen starting an array we check for an incomplete reshape and restart the\nreshape process if needed.  If the reshape stopped at an awkward time (like\nwhen updating the first stripe) we refuse to assemble the array, and let\nuser-space worry about it.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "292695531ae4019bb15deedc121b218d1908b648",
      "tree": "fb205eae13c3f3410f6ea44557b1c96b075a4d44",
      "parents": [
        "ccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Final stages of raid5 expand code\n\nThis patch adds raid5_reshape and end_reshape which will start and finish the\nreshape processes.\n\nraid5_reshape is only enabled in CONFIG_MD_RAID5_RESHAPE is set, to discourage\naccidental use.\n\nRead the \u0027help\u0027 for the CONFIG_MD_RAID5_RESHAPE entry.\n\nand Make sure that you have backups, just in case.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e",
      "tree": "0c86fe6ba0f0bafd76f86f81b7425d6d497664aa",
      "parents": [
        "7ecaa1e6a1ad69862e9980b6c777e11f26c4782d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Core of raid5 resize process\n\nThis patch provides the core of the resize/expand process.\n\nsync_request notices if a \u0027reshape\u0027 is happening and acts accordingly.\n\nIt allocated new stripe_heads for the next chunk-wide-stripe in the target\ngeometry, marking them STRIPE_EXPANDING.\n\nThen it finds which stripe heads in the old geometry can provide data needed\nby these and marks them STRIPE_EXPAND_SOURCE.  This causes stripe_handle to\nread all blocks on those stripes.\n\nOnce all blocks on a STRIPE_EXPAND_SOURCE stripe_head are read, any that are\nneeded are copied into the corresponding STRIPE_EXPANDING stripe_head.  Once a\nSTRIPE_EXPANDING stripe_head is full, it is marks STRIPE_EXPAND_READY and then\nis written out and released.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ecaa1e6a1ad69862e9980b6c777e11f26c4782d",
      "tree": "3cbd64ebc2a45f6b5ac45b0305fd3cf2c6916070",
      "parents": [
        "ad01c9e3752f4ba4f3d99c89b7370fa4983a25b5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Infrastructure to allow normal IO to continue while array is expanding\n\nWe need to allow that different stripes are of different effective sizes, and\nuse the appropriate size.  Also, when a stripe is being expanded, we must\nblock any IO attempts until the stripe is stable again.\n\nKey elements in this change are:\n - each stripe_head gets a \u0027disk\u0027 field which is part of the key,\n   thus there can sometimes be two stripe heads of the same area of\n   the array, but covering different numbers of devices.  One of these\n   will be marked STRIPE_EXPANDING and so won\u0027t accept new requests.\n - conf-\u003eexpand_progress tracks how the expansion is progressing and\n   is used to determine whether the target part of the array has been\n   expanded yet or not.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ad01c9e3752f4ba4f3d99c89b7370fa4983a25b5",
      "tree": "856868aa97332d6d15d4cad412e0ebe3576bb571",
      "parents": [
        "b55e6bfcd23cb2f7249095050c649f7aea813f9f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Allow stripes to be expanded in preparation for expanding an array\n\nBefore a RAID-5 can be expanded, we need to be able to expand the stripe-cache\ndata structure.\n\nThis requires allocating new stripes in a new kmem_cache.  If this succeeds,\nwe copy cache pages over and release the old stripes and kmem_cache.\n\nWe then allocate new pages.  If that fails, we leave the stripe cache at it\u0027s\nnew size.  It isn\u0027t worth the effort to shrink it back again.\n\nUnfortuanately this means we need two kmem_cache names as we, for a short\nperiod of time, we have two kmem_caches.  So they are raid5/%s and\nraid5/%s-alt\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b55e6bfcd23cb2f7249095050c649f7aea813f9f",
      "tree": "78c854c1eeb85d48bf0956309cc7ccfa14e9805a",
      "parents": [
        "4588b42e9d0d0904a745c96cead66506c75bae21"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Split disks array out of raid5 conf structure so it is easier to grow\n\nThe remainder of this batch implements raid5 reshaping.  Currently the only\nshape change that is supported is added a device, but it is envisioned that\nchanging the chunksize and layout will also be supported, as well as changing\nthe level (e.g.  1-\u003e5, 5-\u003e6).\n\nThe reshape process naturally has to move all of the data in the array, and so\nshould be used with caution.  It is believed to work, and some testing does\nsupport this, but wider testing would be great for increasing my confidence.\n\nYou will need a version of mdadm newer than 2.3.1 to make use of raid5 growth.\n This is because mdadm need to take a copy of a \u0027critical section\u0027 at the\nstart of the array incase there is a crash at an awkward moment.  On restart,\nmdadm will restore the critical section and allow reshape to continue.\n\nI hope to release a 2.4-pre by early next week - it still needs a little more\npolishing.\n\nThis patch:\n\nPreviously the array of disk information was included in the raid5 \u0027conf\u0027\nstructure which was allocated to an appropriate size.  This makes it awkward\nto change the size of that array.  So we split it off into a separate\nkmalloced array which will require a little extra indexing, but is much easier\nto grow.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "641dc636b0475582e48584340b774bd1e90d40d9",
      "tree": "75c839cebd81a8ec4fae6c0cc35a387da160cfbe",
      "parents": [
        "100873687d81d4ce7b1299b447d33e87ba1e9583"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Mon Mar 27 01:17:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:00 2006 -0800"
      },
      "message": "[PATCH] dm/md dependency tree in sysfs: bd_claim_by_kobject\n\nAdding bd_claim_by_kobject() function which takes kobject as additional\nsignature of holder device and creates sysfs symlinks between holder device\nand claimed device.  bd_release_from_kobject() is a counterpart of\nbd_claim_by_kobject.\n\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "100873687d81d4ce7b1299b447d33e87ba1e9583",
      "tree": "d001189d851885fca9a8b287053a4d179c071763",
      "parents": [
        "6a4d44c1f1108d6c9e8850e8cf166aaba0e56eae"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Mar 27 01:17:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:59 2006 -0800"
      },
      "message": "[PATCH] dm-md-dependency-tree-in-sysfs-holders-slaves-subdirectory-tidy\n\nRemove all the CONFIG_SYSFS stuff.  That\u0027s supposed to all be implemented up\nin header files.\n\nYes, the CONFIG_SYSFS\u003dn data structures will be a little larger than\nnecessary, but that\u0027s a tradeoff we can decide to make.\n\nCc: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a4d44c1f1108d6c9e8850e8cf166aaba0e56eae",
      "tree": "4e0b59ca2b4959e1593cbcdec4b90ec0d9041126",
      "parents": [
        "3ac51e741a46af7a20f55e79d3e3aeaa93c6c544"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Mon Mar 27 01:17:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:59 2006 -0800"
      },
      "message": "[PATCH] dm/md dependency tree in sysfs: holders/slaves subdirectory\n\nCreating \"slaves\" and \"holders\" directories in /sys/block/\u003cdisk\u003e and\ncreating \"holders\" directory under /sys/block/\u003cdisk\u003e/\u003cpartition\u003e\n\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ac51e741a46af7a20f55e79d3e3aeaa93c6c544",
      "tree": "cab595a4d9691d7602616337b7862a1a3d692b97",
      "parents": [
        "1134e5ae79bab61c05657ca35a6297cf87202e35"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Mar 27 01:17:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:59 2006 -0800"
      },
      "message": "[PATCH] dm store geometry\n\nAllow drive geometry to be stored with a new DM_DEV_SET_GEOMETRY ioctl.\nDevice-mapper will now respond to HDIO_GETGEO.  If the geometry information is\nnot available, zero will be returned for all of the parameters.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "969429b504ae866d3f8b1cafd68a2c099e305093",
      "tree": "538c0a77049450e434cfc890807822491f766113",
      "parents": [
        "4ee218cd67b385759993a6c840ea45f0ee0a8b30"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:17:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:59 2006 -0800"
      },
      "message": "[PATCH] dm: make sure QUEUE_FLAG_CLUSTER is set properly\n\nThis flag should be set for a virtual device iff it is set for all\nunderlying devices.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed49843b897da9969e349c279ffc832efcb93213",
      "tree": "0c83e4ee08a0f765f0ce0d4bb7a6a140a4f466d8",
      "parents": [
        "6257ffacb9e1dc99a910d620ccb92ec88da20a4f"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Mon Mar 27 01:17:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:57 2006 -0800"
      },
      "message": "[PATCH] Add ID for Quadro NVS280\n\nQuadro NVS280 is a dual-head PCIe card with PCI ID 10de:00fd and subsystem ID\n10de:0215.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d98af87270cc08bb8251e004b9dc63cc838f24b",
      "tree": "05098581730851d32b59fed728a7c86e8193677b",
      "parents": [
        "e842f1c8ff8a88f290e26d1139e89aad02c4e0c3"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Mar 27 01:16:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:52 2006 -0800"
      },
      "message": "[PATCH] RTC subsystem: M48T86 driver\n\nAdd a driver for the ST M48T86 / Dallas DS12887 RTC.\n\nThis is a platform driver.  The platform device must provide I/O routines to\naccess the RTC.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7f3682fb2f8bc8a9c912baeea15454416ca1972",
      "tree": "ed30990cd38d5e39f1552bacd7bcce669c644a9b",
      "parents": [
        "6fc7f10cee28c7fa190920fefda8c696d5bf3074"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Mar 27 01:16:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:51 2006 -0800"
      },
      "message": "[PATCH] RTC subsystem: I2C driver ids\n\nThis patch adds the I2C driver ids to i2c-id.h in preparation of the I2C\ndirect probing method.\n\nThis is kept separate so that it can be integrated to\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6fc7f10cee28c7fa190920fefda8c696d5bf3074",
      "tree": "549dd6be7fb058bf404deae6f72cd01f9ec177b3",
      "parents": [
        "0c86edc0d4970649f39748c4ce4f2895f728468f"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Mar 27 01:16:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:51 2006 -0800"
      },
      "message": "[PATCH] RTC subsystem: I2C cleanup\n\nThis patch, completely optional, removes from drivers/i2c/chips all the\ndrivers that are implemented in the new RTC subsystem.\n\nIt should be noted that none of the current driver is actually integrated,\ni.e.  usable without further patches.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c86edc0d4970649f39748c4ce4f2895f728468f",
      "tree": "d4a4b0a45922fff8add243d14c8377eb902aa80a",
      "parents": [
        "4079c39aaab65022f4875609d76e62669ef94c29"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Mar 27 01:16:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:51 2006 -0800"
      },
      "message": "[PATCH] RTC subsystem: class\n\nAdd the basic RTC subsystem infrastructure to the kernel.\n\nrtc/class.c - registration facilities for RTC drivers\nrtc/interface.c - kernel/rtc interface functions\nrtc/hctosys.c - snippet of code that copies hw clock to sw clock\n\t\tat bootup, if configured to do so.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c58411e95d7f5062dedd1a3064af4d359da1e633",
      "tree": "8816ec8e20ae8b1d622b41bc1e7e74c2bbd1f34d",
      "parents": [
        "d23ee8fe6e2176a9d4dbfdd18edfa1b5bc3c79a5"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Mar 27 01:16:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] RTC Subsystem: library functions\n\nRTC and date/time related functions.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e041c683412d5bf44dc2b109053e3b837b71742d",
      "tree": "9d271066ef379da0c0fb3b8cb4137abd5d2ebba0",
      "parents": [
        "76b81e2b0e2241accebcc68e126bc5ab958661b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 27 01:16:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] Notifier chain update: API changes\n\nThe kernel\u0027s implementation of notifier chains is unsafe.  There is no\nprotection against entries being added to or removed from a chain while the\nchain is in use.  The issues were discussed in this thread:\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113018709002036\u0026w\u003d2\n\nWe noticed that notifier chains in the kernel fall into two basic usage\nclasses:\n\n\t\"Blocking\" chains are always called from a process context\n\tand the callout routines are allowed to sleep;\n\n\t\"Atomic\" chains can be called from an atomic context and\n\tthe callout routines are not allowed to sleep.\n\nWe decided to codify this distinction and make it part of the API.  Therefore\nthis set of patches introduces three new, parallel APIs: one for blocking\nnotifiers, one for atomic notifiers, and one for \"raw\" notifiers (which is\nreally just the old API under a new name).  New kinds of data structures are\nused for the heads of the chains, and new routines are defined for\nregistration, unregistration, and calling a chain.  The three APIs are\nexplained in include/linux/notifier.h and their implementation is in\nkernel/sys.c.\n\nWith atomic and blocking chains, the implementation guarantees that the chain\nlinks will not be corrupted and that chain callers will not get messed up by\nentries being added or removed.  For raw chains the implementation provides no\nguarantees at all; users of this API must provide their own protections.  (The\nidea was that situations may come up where the assumptions of the atomic and\nblocking APIs are not appropriate, so it should be possible for users to\nhandle these things in their own way.)\n\nThere are some limitations, which should not be too hard to live with.  For\natomic/blocking chains, registration and unregistration must always be done in\na process context since the chain is protected by a mutex/rwsem.  Also, a\ncallout routine for a non-raw chain must not try to register or unregister\nentries on its own chain.  (This did happen in a couple of places and the code\nhad to be changed to avoid it.)\n\nSince atomic chains may be called from within an NMI handler, they cannot use\nspinlocks for synchronization.  Instead we use RCU.  The overhead falls almost\nentirely in the unregister routine, which is okay since unregistration is much\nless frequent that calling a chain.\n\nHere is the list of chains that we adjusted and their classifications.  None\nof them use the raw API, so for the moment it is only a placeholder.\n\n  ATOMIC CHAINS\n  -------------\narch/i386/kernel/traps.c:\t\ti386die_chain\narch/ia64/kernel/traps.c:\t\tia64die_chain\narch/powerpc/kernel/traps.c:\t\tpowerpc_die_chain\narch/sparc64/kernel/traps.c:\t\tsparc64die_chain\narch/x86_64/kernel/traps.c:\t\tdie_chain\ndrivers/char/ipmi/ipmi_si_intf.c:\txaction_notifier_list\nkernel/panic.c:\t\t\t\tpanic_notifier_list\nkernel/profile.c:\t\t\ttask_free_notifier\nnet/bluetooth/hci_core.c:\t\thci_notifier\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_chain\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_expect_chain\nnet/ipv6/addrconf.c:\t\t\tinet6addr_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_expect_chain\nnet/netlink/af_netlink.c:\t\tnetlink_chain\n\n  BLOCKING CHAINS\n  ---------------\narch/powerpc/platforms/pseries/reconfig.c:\tpSeries_reconfig_chain\narch/s390/kernel/process.c:\t\tidle_chain\narch/x86_64/kernel/process.c\t\tidle_notifier\ndrivers/base/memory.c:\t\t\tmemory_chain\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_policy_notifier_list\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_transition_notifier_list\ndrivers/macintosh/adb.c:\t\tadb_client_list\ndrivers/macintosh/via-pmu.c\t\tsleep_notifier_list\ndrivers/macintosh/via-pmu68k.c\t\tsleep_notifier_list\ndrivers/macintosh/windfarm_core.c\twf_client_list\ndrivers/usb/core/notify.c\t\tusb_notifier_list\ndrivers/video/fbmem.c\t\t\tfb_notifier_list\nkernel/cpu.c\t\t\t\tcpu_chain\nkernel/module.c\t\t\t\tmodule_notify_list\nkernel/profile.c\t\t\tmunmap_notifier\nkernel/profile.c\t\t\ttask_exit_notifier\nkernel/sys.c\t\t\t\treboot_notifier_list\nnet/core/dev.c\t\t\t\tnetdev_chain\nnet/decnet/dn_dev.c:\t\t\tdnaddr_chain\nnet/ipv4/devinet.c:\t\t\tinetaddr_chain\n\nIt\u0027s possible that some of these classifications are wrong.  If they are,\nplease let us know or submit a patch to fix them.  Note that any chain that\ngets called very frequently should be atomic, because the rwsem read-locking\nused for blocking chains is very likely to incur cache misses on SMP systems.\n(However, if the chain\u0027s callout routines may sleep then the chain cannot be\natomic.)\n\nThe patch set was written by Alan Stern and Chandra Seetharaman, incorporating\nmaterial written by Keith Owens and suggestions from Paul McKenney and Andrew\nMorton.\n\n[jes@sgi.com: restructure the notifier chain initialization macros]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76b81e2b0e2241accebcc68e126bc5ab958661b9",
      "tree": "0d99cdc838cc2e7a5c383a56ec707ac739739d2c",
      "parents": [
        "8f17d3a5049d32392b79925c73a0cf99ce6d5af0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes updates 2\n\nfutex.h updates:\n\n- get rid of FUTEX_OWNER_PENDING - it\u0027s not used\n- reduce ROBUST_LIST_LIMIT to a saner value\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f17d3a5049d32392b79925c73a0cf99ce6d5af0",
      "tree": "3c2aa0cbe337684d353dd2cfb0c177b4ae15217c",
      "parents": [
        "8fdd6c6df7889dc89df3d9fe0f5bbe6733e39f48"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes updates\n\n- fix: initialize the robust list(s) to NULL in copy_process.\n\n- doc update\n\n- cleanup: rename _inuser to _inatomic\n\n- __user cleanups and other small cleanups\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34f192c6527f20c47ccec239e7d51a27691b93fc",
      "tree": "6c80416cf6a170a193f829e414051cc618b15ee3",
      "parents": [
        "2eec9ad91f71a3dbacece5c4fb5adc09fad53a96"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes: compat\n\n32-bit syscall compatibility support.  (This patch also moves all futex\nrelated compat functionality into kernel/futex_compat.c.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0771dfefc9e538f077d0b43b6dec19a5a67d0e70",
      "tree": "696267e69228b7406b337f9651dedc75055a589e",
      "parents": [
        "e9056f13bfcdd054a0c3d730e4e096748d8a363a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes: core\n\nAdd the core infrastructure for robust futexes: structure definitions, the new\nsyscalls and the do_exit() based cleanup mechanism.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22a9835c350782a5c3257343713932af3ac92ee0",
      "tree": "9688e99426e8aa85a468cc724ffee32c6a8abcad",
      "parents": [
        "95144c788dc01b6a0ff2c9c2222e37ffdab358b8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Mon Mar 27 01:16:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] unify PFN_* macros\n\nJust about every architecture defines some macros to do operations on pfns.\n They\u0027re all virtually identical.  This patch consolidates all of them.\n\nOne minor glitch is that at least i386 uses them in a very skeletal header\nfile.  To keep away from #include dependency hell, I stuck the new\ndefinitions in a new, isolated header.\n\nOf all of the implementations, sh64 is the only one that varied by a bit.\nIt used some masks to ensure that any sign-extension got ripped away before\nthe arithmetic is done.  This has been posted to that sh64 maintainers and\nthe development list.\n\nCompiles on x86, x86_64, ia64 and ppc64.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95144c788dc01b6a0ff2c9c2222e37ffdab358b8",
      "tree": "9f7f186575bb717de39cedaf42bf02a94c11b664",
      "parents": [
        "ae0f15fb91274e67d78836d38c99ec363df33073"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:16:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] uninline zone helpers\n\nHelper functions for for_each_online_pgdat/for_each_zone look too big to be\ninlined.  Speed of these helper macro itself is not very important.  (inner\nloops are tend to do more work than this)\n\nThis patch make helper function to be out-of-lined.\n\n\tinline\t\tout-of-line\n.text   005c0680        005bf6a0\n\n005c0680 - 005bf6a0 \u003d FE0 \u003d 4Kbytes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae0f15fb91274e67d78836d38c99ec363df33073",
      "tree": "bfaa065faf772c42e1875c9e5f4b000cf4b1d241",
      "parents": [
        "3571761fe49d960bb720c2308ffb9401f0a5e161"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:16:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: remove pgdat_list\n\nBy using for_each_online_pgdat(), pgdat_list is not necessary now.  This patch\nremoves it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "679bc9fbb508a0aac9539b2de747eb5849feb428",
      "tree": "350b9d7d01eeb7e2401b5ade156ead1a635a4bba",
      "parents": [
        "8357f8695d58b50fbf2bd507b4b0fc2cd1e43bd6"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: for_each_bootmem\n\nAdd a list_head to bootmem_data_t and make bootmems use it.  bootmem list is\nsorted by node_boot_start.\n\nOnly nodes against which init_bootmem() is called are linked to the list.\n(i386 allocates bootmem only from one node(0) not from all online nodes.)\n\nA summary:\n 1. for_each_online_pgdat() traverses all *online* nodes.\n 2. alloc_bootmem() allocates memory only from initialized-for-bootmem nodes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8357f8695d58b50fbf2bd507b4b0fc2cd1e43bd6",
      "tree": "8f7326f570ee80d129add7356c7b5c44fb995447",
      "parents": [
        "a0140c1d85637ee5f4ea7c78f066e3611a6a79dc"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] define for_each_online_pgdat\n\nThis patch defines for_each_online_pgdat() as a replacement of\nfor_each_pgdat()\n\nNow, online nodes are managed by node_online_map.  But for_each_pgdat()\nuses pgdat_link to iterate over all nodes(pgdat).  This means management\nstructure for online pgdat is duplicated.\n\nI think using node_online_map for for_each_pgdat() is simple and sane\nrather ather than pgdat_link.  New macro is named as\nfor_each_online_pgdat().  Following patch will fix callers of\nfor_each_pgdat().\n\nThe bootmem allocater uses for_each_pgdat() before pgdat initialization.  I\ndon\u0027t think it\u0027s sane.  Following patch will fix it.\n\nSigned-off-by: Yasunori Goto     \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a0140c1d85637ee5f4ea7c78f066e3611a6a79dc",
      "tree": "7a52892e57ff7a97a3aabf920891b68ca8bf578a",
      "parents": [
        "0ecd702bcb924d5fb7f687e09986f688336ac896"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] remove zone_mem_map\n\nThis patch removes zone_mem_map.\n\npfn_to_page uses pgdat, page_to_pfn uses zone.  page_to_pfn can use pgdat\ninstead of zone, which is only one user of zone_mem_map.  By modifing it,\nwe can remove zone_mem_map.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a117e66ed45ac0569c039ea60bd7a9a61e031858",
      "tree": "292367ab930f83c418c34d4c46f95717e5e6394e",
      "parents": [
        "b06be912a3ad68c69dba0ed6e92723140020e392"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:44 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: generic functions\n\nThere are 3 memory models, FLATMEM, DISCONTIGMEM, SPARSEMEM.\nEach arch has its own page_to_pfn(), pfn_to_page() for each models.\nBut most of them can use the same arithmetic.\n\nThis patch adds asm-generic/memory_model.h, which includes generic\npage_to_pfn(), pfn_to_page() definitions for each memory model.\n\nWhen CONFIG_OUT_OF_LINE_PFN_TO_PAGE\u003dy, out-of-line functions are\nused instead of macro. This is enabled by some archs and  reduces\ntext size.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7",
      "tree": "ccfa4927ebc7a8f663f9ac9e7789a713a33253ff",
      "parents": [
        "77e4bfbcf071f795b54862455dce8902b3fc29c2"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 27 01:15:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] sched: new sched domain for representing multi-core\n\nAdd a new sched domain for representing multi-core with shared caches\nbetween cores.  Consider a dual package system, each package containing two\ncores and with last level cache shared between cores with in a package.  If\nthere are two runnable processes, with this appended patch those two\nprocesses will be scheduled on different packages.\n\nOn such systems, with this patch we have observed 8% perf improvement with\nspecJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2\nusers).\n\nThis new domain will come into play only on multi-core systems with shared\ncaches.  On other systems, this sched domain will be removed by domain\ndegeneration code.  This new domain can be also used for implementing power\nsavings policy (see OLS 2005 CMP kernel scheduler paper for more details..\nI will post another patch for power savings policy soon)\n\nMost of the arch/* file changes are for cpu_coregroup_map() implementation.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "74cae61ab45f19a3e8c4d9f53c0e94df129c7915"
}
