)]}'
{
  "log": [
    {
      "commit": "1aef821a6b3aeca8c19d06aee012ed9db617d1e3",
      "tree": "27d43667834944a385d6f6f2280f6c6604f7af56",
      "parents": [
        "c41a24ce1fe13638732885859011321af862960a"
      ],
      "author": {
        "name": "Thomas Koeller",
        "email": "thomas@koeller.dyndns.org",
        "time": "Sat Mar 25 03:07:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:52 2006 -0800"
      },
      "message": "[PATCH] constify tty flip buffer handling\n\nAdd a couple of \u0027const\u0027 qualifiers to the TTY flip buffer APIs, where\nappropriate.\n\nSigned-off-by: Thomas Koeller \u003cthomas@koeller.dyndns.org\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c41a24ce1fe13638732885859011321af862960a",
      "tree": "6fdf30f1fd5e2c92a10e2eab6c6db485aba340a0",
      "parents": [
        "9a56c213929d83139fd1e12727e1037d71b519f8"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Sat Mar 25 03:07:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] ISDN: fix copy_to_user() unused result warning in isdn_ppp\n\n   drivers/isdn/i4l/isdn_ppp.c:785: warning: ignoring return value of `copy_to_user\u0027, declared with attribute warn_unused_result\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a56c213929d83139fd1e12727e1037d71b519f8",
      "tree": "013dd77c7cae23bd8fb821175a0d6fdc35bad9fe",
      "parents": [
        "b500531e6f5f234ed267bd7060ee06d144faf0ca"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Sat Mar 25 03:07:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] Add lookup_instantiate_filp usage warning\n\nI think it would be nice to put an usage warning in header of\nlookup_instantiate_filp() to indicate it is unsafe to use it on anything\nbut regular files (even that is potentially unsafe, but there your -\u003eopen()\nis usually in your hands anyway), so that others won\u0027t fall into the same\ntrap I did.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b500531e6f5f234ed267bd7060ee06d144faf0ca",
      "tree": "6d7c311c917dc9ee7d4cd57ef4a6519ea46a0c11",
      "parents": [
        "619d5d8a2b3f800ea3a0301a58ede570684956b0"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Sat Mar 25 03:07:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] Introduce FMODE_EXEC file flag\n\nIntroduce FMODE_EXEC file flag, to indicate that file is being opened for\nexecution.  This is useful for distributed filesystems to maintain\nconsistent behavior for returning ETXTBUSY when opening for write and\nexecution happens on different nodes.\n\nakpm:\n\n  Needed by Lustre at present.  I assume their objective to to work towards\n  being able to install Lustre on an unmodified distro kernel, which seems\n  sane.  It should have zero runtime cost.\n\n  Trond and Chuck indicate that NFS4 can probably use this too, for the same\n  thing.\n\n  Steven says it\u0027s also on the GFS todo list.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Chuck Lever \u003ccel@citi.umich.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "619d5d8a2b3f800ea3a0301a58ede570684956b0",
      "tree": "8c256c7d50534a5da1b991fb53184c1b10bdc538",
      "parents": [
        "a44c94a7b82a425b73384c104d5cb3dd3caa075e"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Sat Mar 25 03:07:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] reiserfs: reiserfs_file_write() will lose error code when a 0-length write occurs w/ O_SYNC\n\nWhen an error occurs in reiserfs_file_write before any data is written, and\nO_SYNC is set, the return code of generic_osync_write will overwrite the\nerror code, losing it.\n\nThis patch ensures that generic_osync_inode() doesn\u0027t run under an error\ncondition, losing the error.  This duplicates the logic from\ngeneric_file_buffered_write().\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Alexander Zarochentsev \u003czam@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a44c94a7b82a425b73384c104d5cb3dd3caa075e",
      "tree": "da86b5245bea89942f2639fec2d6f7378a117836",
      "parents": [
        "23f9e0f891c9b159a199629d4426f6ae0c383508"
      ],
      "author": {
        "name": "Alexander Zarochentsev",
        "email": "zam@namesys.com",
        "time": "Sat Mar 25 03:06:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] reiserfs: handle trans_id overflow\n\nReiserfs does not handle transaction ID overflow correctly.  Transaction ID\n\u003d\u003d 0 causes reiserfs to crash.  The patch fixes all places where the\ntransaction ID is incremented.\n\nSigned-off-by: Alexander Zarochentsev \u003czam@namesys.com\u003e\nSigned-off-by: Hans Reiser \u003creiser@namesys.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23f9e0f891c9b159a199629d4426f6ae0c383508",
      "tree": "bc34ab7abe6de4d7b3a7741c1ab5d97ddc29f133",
      "parents": [
        "bdfc326614b90e7bc47ee4a8fed05988555f0169"
      ],
      "author": {
        "name": "Alexander Zarochentzev",
        "email": "zam@namesys.com",
        "time": "Sat Mar 25 03:06:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] reiserfs: fix transaction overflowing\n\nThis patch fixes a bug in reiserfs truncate.  A transaction might overflow\nwhen truncating long highly fragmented file.  The fix is to split\ntruncation into several transactions to avoid overflowing.\n\nSigned-off-by: Vladimir V. Saveliev \u003cvs@namesys.com\u003e\nCc; Charles McColgan \u003ccm@chuck.net\u003e\nCc: Alexander Zarochentsev \u003czam@namesys.com\u003e\nCc: Hans Reiser \u003creiser@namesys.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bdfc326614b90e7bc47ee4a8fed05988555f0169",
      "tree": "d23575e690979c29c07a4c749e49150fe9aadf65",
      "parents": [
        "ca5734db60630f7c5564a61a5b9034c1bb369c3d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Mar 25 03:06:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] fs/inode.c: make iprune_mutex static\n\nThere\u0027s no reason for iprune_mutex being global.\n\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": "ca5734db60630f7c5564a61a5b9034c1bb369c3d",
      "tree": "7adf89d902aa102ba441eab4481e82750eb33503",
      "parents": [
        "4af4c52f34606bdaab6930a845550c6fb02078a4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Mar 25 03:06:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] Small cleanup in quota.h\n\nRemove unused quota flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4af4c52f34606bdaab6930a845550c6fb02078a4",
      "tree": "a61f9a164fea1819c3bfb970dbffa5d778935965",
      "parents": [
        "8d8c85117fbcbaea7718870ad4b1ddd12940d9b0"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Sat Mar 25 03:06:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] Missed error checking for intent\u0027s filp in open_namei().\n\nIt seems there is error check missing in open_namei for errors returned\nthrough intent.open.file (from lookup_instantiate_filp).\n\nIf there is plain open performed, then such a check done inside\n__path_lookup_intent_open called from path_lookup_open(), but when the open\nis performed with O_CREAT flag set, then __path_lookup_intent_open is only\ncalled with LOOKUP_PARENT set where no file opening can occur yet.\n\nLater on lookup_hash is called where exact opening might take place and\nintent.open.file may be filled.  If it is filled with error value of some\nsort, then we get kernel attempting to dereference this error value as\naddress (and corresponding oops) in nameidata_to_filp() called from\nfilp_open().\n\nWhile this is relatively simple to workaround in -\u003elookup() method by just\nchecking lookup_instantiate_filp() return value and returning error as\nneeded, this is not so easy in -\u003ed_revalidate(), where we can only return\n\"yes, dentry is valid\" or \"no, dentry is invalid, perform full lookup\nagain\", and just returning 0 on error would cause extra lookup (with\npotential extra costly RPCs).\n\nSo in short, I believe that there should be no difference in error handling\nfor opening a file and creating a file in open_namei() and propose this\nsimple patch as a solution.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d8c85117fbcbaea7718870ad4b1ddd12940d9b0",
      "tree": "3e4c56b29a11ccad95a24679ecf41d341ffb844f",
      "parents": [
        "e3df18983ea090a2e00dd5c2c6167bb431a0e0a2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:06:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] jbd: convert kjournald to kthread API\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3df18983ea090a2e00dd5c2c6167bb431a0e0a2",
      "tree": "99f7944da7c8c85eed6738c1ef9f357f7dcae928",
      "parents": [
        "1d9b7d97d6661edb44ce08f17e47c66d4ac20e34"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:06:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] jbd: embed j_commit_timer in journal struct\n\nThe kjournald timer is currently on the kernel thread\u0027s stack and the journal\nstructure points at it.  Save a pointer hop by moving the timer into the\njournal structure.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d9b7d97d6661edb44ce08f17e47c66d4ac20e34",
      "tree": "aacf3d99c547d94e4fb1bbeb2a4eb887301c2319",
      "parents": [
        "3dccff8dc00994428777f483922058c554db85bd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Mar 25 03:06:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] Keys: Replace duplicate non-updateable keys rather than failing\n\nCause an attempt to add a duplicate non-updateable key (such as a keyring) to\na keyring to discard the extant copy in favour of the new one rather than\nfailing with EEXIST:\n\n\t# do the test in an empty session\n\tkeyctl session\n\t# create a new keyring called \"a\" and attach to session\n\tkeyctl newring a @s\n\t# create another new keyring called \"a\" and attach to session,\n\t# displacing the keyring added by the second command:\n\tkeyctl newring a @s\n\nWithout this patch, the third command will fail.\n\nFor updateable keys (such as those of \"user\" type), the update method will\nstill be called rather than a new key being created.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3dccff8dc00994428777f483922058c554db85bd",
      "tree": "14c72fa82afa4e325c4aaa3f84c31ab154f60b1d",
      "parents": [
        "a7d06ca7b626c9257bee4439d9d80a7e44ae237e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Mar 25 03:06:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] Keys: Fix key quota management on key allocation\n\nMake key quota detection generate an error if either quota is exceeded rather\nthan only if both quotas are exceeded.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7d06ca7b626c9257bee4439d9d80a7e44ae237e",
      "tree": "1951ab3f604771885987b46d8858711a4d3ddf88",
      "parents": [
        "d3f4aaa3d7b4152dac28751ee902f769d03289a1"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Sat Mar 25 03:06:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] x86: HUGETLBFS and DEBUG_PAGEALLOC are incompatible\n\nDEBUG_PAGEALLOC is not compatible with hugetlb page support.  That debug\noption turns off PSE.  Once it is turned off in CR4, the cpu will ignore\npse bit in the pmd and causing infinite page-not- present faults.\n\nSo disable DEBUG_PAGEALLOC if the user selected hugetlbfs.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\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": "d3f4aaa3d7b4152dac28751ee902f769d03289a1",
      "tree": "66c5313a705a5169b2c5cc12b703489c39b8ee52",
      "parents": [
        "f5335c0f1bcba16907972b66b905f62402433e23"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Sat Mar 25 03:06:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] x86: make CONFIG_HOTPLUG_CPU depend on !X86_PC\n\nMake CONFIG_HOTPLUG_CPU depend on !X86_PC, so we need to turn on either\nCONFIG_GENERICARCH, CONFIG_BIGSMP or any other subarch except X86_PC when\nCONFIG_HOTPLUG_CPU\u003dy\n\nWith 2.6.15+ kernels when CONFIG_HOTPLUG_CPU is turned on we switch to\nbigsmp mode for sending IPI\u0027s and ioapic configurations that caused the\nfollowing error message.\n\n\u003e\u003e More than 8 CPUs detected and CONFIG_X86_PC cannot handle it.\n\u003e\u003e Use CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.\n\nOriginally bigsmp was added just to handle \u003e8 cpus, but now with hotplug\ncpu support we need to use bigsmp mode (why?  see below), that cause the\nabove error message even if there were less than 8 cpus in the system.\n\nThe message is bogus, but we are cannot use logical flat mode due to issues\nwith broadcast IPI can confuse a CPU just comming up.  We use flat physical\nmode just like x86_64 case.  More details on why bigsmp now uses flat\nphysical mode (vs.  cluster mode) in following link.\n\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113261865814107\u0026w\u003d2\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5335c0f1bcba16907972b66b905f62402433e23",
      "tree": "9db1cf38a34b3dc9559e785d910e95d7002c91e2",
      "parents": [
        "d784124cfe9377c1a24d8efba31401f81c7c11f9"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sat Mar 25 03:06:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] quieten zone_pcp_init\n\nIn zone_pcp_init we print out all zones even if they are empty:\n\nOn node 0 totalpages: 245760\n  DMA zone: 245760 pages, LIFO batch:31\n  DMA32 zone: 0 pages, LIFO batch:0\n  Normal zone: 0 pages, LIFO batch:0\n  HighMem zone: 0 pages, LIFO batch:0\n\nTo conserve dmesg space why not print only the non zero zones.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d784124cfe9377c1a24d8efba31401f81c7c11f9",
      "tree": "d4d46868e79dcab59fc589b11d4f0207b41f63b0",
      "parents": [
        "0718dc2a82c865ca75975acabaf984057f9fd488"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] mm: make page migration dependent on swap and NUMA\n\nThe page migration code could function without NUMA but we currently have\nno users for the non-NUMA case.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: 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": "0718dc2a82c865ca75975acabaf984057f9fd488",
      "tree": "0f7e8ed22ea26c79e17712c417593bdce04e7888",
      "parents": [
        "cafeb02e098ecd58fb0bd797b2c9fbba3edf54f8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] slab: fix memory leak in alloc_kmemlist\n\nWe have had this memory leak for a while now.  The situation is complicated\nby the use of alloc_kmemlist() as a function to resize various caches by\ndo_tune_cpucache().\n\nWhat we do here is first of all make sure that we deallocate properly in\nthe loop over all the nodes.\n\nIf we are just resizing caches then we can simply return with -ENOMEM if an\nallocation fails.\n\nIf the cache is new then we need to rollback and remove all earlier\nallocations.\n\nWe detect that a cache is new by checking if the link to the global cache\nchain has been setup.  This is a bit hackish ....\n\n(also fix up too overlong lines that I added in the last patch...)\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cafeb02e098ecd58fb0bd797b2c9fbba3edf54f8",
      "tree": "f4d03a748184e24cb0ff4c9a56ba6b0eaefd78d3",
      "parents": [
        "e00946fe2351307eb3eda7a3343530f6d2d1af2e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] alloc_kmemlist: Some cleanup in preparation for a real memory leak fix\n\nInspired by Jesper Juhl\u0027s patch from today\n\n1. Get rid of err\n\tWe do not set it to anything else but zero.\n\n2. Drop the CONFIG_NUMA stuff.\n\tThere are definitions for alloc_alien_cache and free_alien_cache()\n\tthat do the right thing for the non NUMA case.\n\n3. Better naming of variables.\n\n4. Remove redundant cachep-\u003enodelists[node] expressions.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e00946fe2351307eb3eda7a3343530f6d2d1af2e",
      "tree": "1567b4abe0ed56fbd960943da2c52278ea196c02",
      "parents": [
        "3ded175a4b7a4548f3358dcf5f3ad65f63cdb4ed"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: Bypass free lists for __drain_alien_cache()\n\n__drain_alien_cache() currently drains objects by freeing them to the\n(remote) freelists of the original node.  However, each node also has a\nshared list containing objects to be used on any processor of that node.\nWe can avoid a number of remote node accesses by copying the pointers to\nthe free objects directly into the remote shared array.\n\nAnd while we are at it: Skip alien draining if the alien cache spinlock is\nalready taken.\n\nKiran reported that this is a performance benefit.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ded175a4b7a4548f3358dcf5f3ad65f63cdb4ed",
      "tree": "c27a3da70d638bcf32f75c28d1da3f1eb18cb617",
      "parents": [
        "c5e3b83e97be4e09961c0af101644643e5d03d17"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: add transfer_objects() function\n\nslabr_objects() can be used to transfer objects between various object\ncaches of the slab allocator.  It is currently only used during\n__cache_alloc() to retrieve elements from the shared array.  We will be\nusing it soon to transfer elements from the alien caches to the remote\nshared array.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c5e3b83e97be4e09961c0af101644643e5d03d17",
      "tree": "29863b7ff7452d10f0af51c3ff7ef72235e81c90",
      "parents": [
        "40c07ae8daa659b8feb149c84731629386873c16"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] mm: use kmem_cache_zalloc\n\nConvert mm/ to use the new kmem_cache_zalloc allocator.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40c07ae8daa659b8feb149c84731629386873c16",
      "tree": "77d9e7572135de30f184103cc6dd36f9c0f8dfbf",
      "parents": [
        "a8c0f9a41f88da703ade33f9c1626a55c786e8bb"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: optimize constant-size kzalloc calls\n\nAs suggested by Eric Dumazet, optimize kzalloc() calls that pass a\ncompile-time constant size.  Please note that the patch increases kernel\ntext slightly (~200 bytes for defconfig on x86).\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8c0f9a41f88da703ade33f9c1626a55c786e8bb",
      "tree": "8c2904597c61b873bfd85eed4ac196dd66e6f125",
      "parents": [
        "871751e25d956ad24f129ca972b7851feaa61d53"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: introduce kmem_cache_zalloc allocator\n\nIntroduce a memory-zeroing variant of kmem_cache_alloc.  The allocator\nalready exits in XFS and there are potential users for it so this patch\nmakes the allocator available for the general public.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "871751e25d956ad24f129ca972b7851feaa61d53",
      "tree": "c3213a17481f601339ce0c81a22eebca0946c2c7",
      "parents": [
        "f52ac8fec8a13e207f675b0c16e0d5f800c1c204"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 25 03:06:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: implement /proc/slab_allocators\n\nImplement /proc/slab_allocators.   It produces output like:\n\nidr_layer_cache: 80 idr_pre_get+0x33/0x4e\nbuffer_head: 2555 alloc_buffer_head+0x20/0x75\nmm_struct: 9 mm_alloc+0x1e/0x42\nmm_struct: 20 dup_mm+0x36/0x370\nvm_area_struct: 384 dup_mm+0x18f/0x370\nvm_area_struct: 151 do_mmap_pgoff+0x2e0/0x7c3\nvm_area_struct: 1 split_vma+0x5a/0x10e\nvm_area_struct: 11 do_brk+0x206/0x2e2\nvm_area_struct: 2 copy_vma+0xda/0x142\nvm_area_struct: 9 setup_arg_pages+0x99/0x214\nfs_cache: 8 copy_fs_struct+0x21/0x133\nfs_cache: 29 copy_process+0xf38/0x10e3\nfiles_cache: 30 alloc_files+0x1b/0xcf\nsignal_cache: 81 copy_process+0xbaa/0x10e3\nsighand_cache: 77 copy_process+0xe65/0x10e3\nsighand_cache: 1 de_thread+0x4d/0x5f8\nanon_vma: 241 anon_vma_prepare+0xd9/0xf3\nsize-2048: 1 add_sect_attrs+0x5f/0x145\nsize-2048: 2 journal_init_revoke+0x99/0x302\nsize-2048: 2 journal_init_revoke+0x137/0x302\nsize-2048: 2 journal_init_inode+0xf9/0x1c4\n\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nDESC\nslab-leaks3-locking-fix\nEDESC\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nUpdate for slab-remove-cachep-spinlock.patch\n\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f52ac8fec8a13e207f675b0c16e0d5f800c1c204",
      "tree": "9e9150a6c89aa2460c8f714809494d36a5f72283",
      "parents": [
        "214fda1f6e1b8ef2a5292b0372744037fc80d318"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Sat Mar 25 03:06:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] cirrus ep93xx watchdog driver\n\nAdd a driver for the on-chip watchdog on the cirrus ep93xx series of ARM\nCPUs.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nCc: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\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": "214fda1f6e1b8ef2a5292b0372744037fc80d318",
      "tree": "4cf0a18632cc663fcd75a1e23e357ec39c0c3b37",
      "parents": [
        "7d99b7d634d81bb372e03e4561c80430aa4cfac2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Mar 25 03:06:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] Optimise d_find_alias()\n\nThe attached patch optimises d_find_alias() to only take the spinlock if\nthere\u0027s anything in the the inode\u0027s alias list.  If there isn\u0027t, it returns\nNULL immediately.\n\nWith respect to the superblock sharing patch, this should reduce by one the\nnumber of times the dcache_lock is taken by nfs_lookup() for ordinary\ndirectory lookups.\n\nOnly in the case where there\u0027s already a dentry for particular directory inode\n(such as might happen when another mountpoint is rooted at that dentry) will\nthe lock then be taken the extra time.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d99b7d634d81bb372e03e4561c80430aa4cfac2",
      "tree": "905654bd7cb4940126606cf212c61079eeca722b",
      "parents": [
        "c08b8a49100715b20e6f7c997e992428b5e06078"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 25 03:06:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] Validate and sanitze itimer timeval from userspace\n\nAccording to the specification the timevals must be validated and an\nerrorcode -EINVAL returned in case the timevals are not in canonical form.\nThis check was never done in Linux.\n\nThe pre 2.6.16 code converted invalid timevals silently.  Negative timeouts\nwere converted by the timeval_to_jiffies conversion to the maximum timeout.\n\nhrtimers and the ktime_t operations expect timevals in canonical form.\nOtherwise random results might happen on 32 bits machines due to the\noptimized ktime_add/sub operations.  Negative timeouts are treated as\nalready expired.  This might break applications which work on pre 2.6.16.\n\nTo prevent random behaviour and API breakage the timevals are checked and\ninvalid timevals sanitized in a simliar way as the pre 2.6.16 code did.\n\nInvalid timevals are reported with a per boot limited number of kernel\nmessages so applications which use this misfeature can be corrected.\n\nAfter a grace period of one year the sanitizing should be replaced by a\ncorrect validation check.  This is also documented in\nDocumentation/feature-removal-schedule.txt\n\nThe validation and sanitizing is done inside do_setitimer so all callers\n(sys_setitimer, compat_sys_setitimer, osf_setitimer) are catched.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c08b8a49100715b20e6f7c997e992428b5e06078",
      "tree": "014758fb05908a3d49eeadc77f16dfa7585b12ac",
      "parents": [
        "185ae6d7a32721e9062030a9f2d24ed714fa45df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 25 03:06:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:48 2006 -0800"
      },
      "message": "[PATCH] sys_alarm() unsigned signed conversion fixup\n\nalarm() calls the kernel with an unsigend int timeout in seconds.  The\nvalue is stored in the tv_sec field of a struct timeval to setup the\nitimer.  The tv_sec field of struct timeval is of type long, which causes\nthe tv_sec value to be negative on 32 bit machines if seconds \u003e INT_MAX.\n\nBefore the hrtimer merge (pre 2.6.16) such a negative value was converted\nto the maximum jiffies timeout by the timeval_to_jiffies conversion.  It\u0027s\nnot clear whether this was intended or just happened to be done by the\ntimeval_to_jiffies code.\n\nhrtimers expect a timeval in canonical form and treat a negative timeout as\nalready expired.  This breaks the legitimate usage of alarm() with a\ntimeout value \u003e INT_MAX seconds.\n\nFor 32 bit machines it is therefor necessary to limit the internal seconds\nvalue to avoid API breakage.  Instead of doing this in all implementations\nof sys_alarm the duplicated sys_alarm code is moved into a common function\nin itimer.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "185ae6d7a32721e9062030a9f2d24ed714fa45df",
      "tree": "0b58171078097f6a4e80c56e138d654a2d68a188",
      "parents": [
        "bc83455bc8336f57cd74d6e86b0f8fcad187d179"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:06:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:48 2006 -0800"
      },
      "message": "[PATCH] timer irq driven soft watchdog fix\n\nI seem to have lost this hunk in yesterday\u0027s patch.  It brings the\ncoming-online CPU\u0027s softlockup timer up to date so we don\u0027t get false-positive\ntripups during CPU hot-add.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc83455bc8336f57cd74d6e86b0f8fcad187d179",
      "tree": "fe0a425d375ee880179685b2156a8a22e9a222b0",
      "parents": [
        "b2fd16b4ff2508ac16ae994f4bcd941f97754c00"
      ],
      "author": {
        "name": "Andrey Panin",
        "email": "pazke@donpac.ru",
        "time": "Sat Mar 25 03:06:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:48 2006 -0800"
      },
      "message": "[PATCH] fix DMI onboard device discovery\n\nAttached patch fixes invalid pointer arithmetic in DMI code to make onboard\ndevice discovery working again.\n\nakpm: bug has been present since dmi_find_device() was added in 2.6.14.\nAffects ipmi only (I think) - the symptoms weren\u0027t described.\n\nakpm: changed to use pointer arithmetic rather than open-coded sizeof.\n\nSigned-off-by: Andrey Panin \u003cpazke@donpac.ru\u003e\nCc: Corey Minyard \u003cminyard@acm.org\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": "b2fd16b4ff2508ac16ae994f4bcd941f97754c00",
      "tree": "45014cb8e62adc5b0e8e788fe1cfd78dfcd12d50",
      "parents": [
        "d4b7780ea1d2e08410fcc9963a57254147ae577a"
      ],
      "author": {
        "name": "Horms",
        "email": "horms@verge.net.au",
        "time": "Thu Mar 23 16:36:28 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 24 12:10:55 2006 -0500"
      },
      "message": "[PATCH] net: ne2k.c won\u0027t compile if pci_clone_list is const\n\nnet: ne2k.c won\u0027t compile if pci_clone_list is const\n\nf71e130966ba429dbd24be08ddbcdf263df9a5ad which (amongst other things)\nmade pci_clone_list in ne2k-pci.c const causes the following compile error.\nThis patch reverses that portion of that changeset\n\ndrivers/net/ne2k-pci.c:123: error: pci_clone_list causes a section type\nconflict\n\n~/ gcc --version\ngcc (GCC) 4.0.3 (Debian 4.0.3-1)\n~/ dpkg gcc-4.0 | grep Version\nVersion: 4.0.3-1\n\nSigned-Off-By: Horms \u003chorms@verge.net.au\n\n ne2k-pci.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ncee0890cc97247b6a9decd94f5dc0719ac8f0b1b\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d4b7780ea1d2e08410fcc9963a57254147ae577a",
      "tree": "3625bc3f6f0220b348793e9dc1e1a131899b49c9",
      "parents": [
        "e93252faca2eb1a14b44369705be7c79eba2f037"
      ],
      "author": {
        "name": "Andrew Victor",
        "email": "andrew@sanpeople.com",
        "time": "Fri Mar 24 11:50:17 2006 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 24 12:10:55 2006 -0500"
      },
      "message": "[PATCH] AT91RM9200 Ethernet driver\n\nThis patch adds support for the Ethernet controller integrated in the\nAtmel AT91RM9200 SoC processor.\n\nChanges since the previous submission (01/02/2006) are:\n  - Make use of the clk.h clock infrastructure.\n  - The multicast hash function is not crc32. [Patch by Pedro Perez]\n\nSigned-off-by: Andrew Victor \u003candrew@sanpeople.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e93252faca2eb1a14b44369705be7c79eba2f037",
      "tree": "35ae4fde7c0b082388272f2154bfabc4bdf4500a",
      "parents": [
        "f125b56113be4956867cc9bd098bb99b1b9bb93f",
        "2f1f610b62bce36d6d50857859091b8989c70267"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 08:19:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 08:19:51 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] libata: Remove dependence on host_set-\u003edev for SAS\n  [PATCH] libata: ata_scsi_ioctl cleanup\n  [PATCH] libata: ata_scsi_queuecmd cleanup\n  [libata] export ata_dev_pair; trim trailing whitespace\n  [PATCH] libata: add ata_dev_pair helper\n  [PATCH] Make libata not powerdown drivers on PM_EVENT_FREEZE.\n  [PATCH] libata: make ata_set_mode() responsible for failure handling\n  [PATCH] libata: use ata_dev_disable() in ata_bus_probe()\n  [PATCH] libata: implement ata_dev_disable()\n  [PATCH] libata: check if port is disabled after internal command\n  [PATCH] libata: make per-dev transfer mode limits per-dev\n  [PATCH] libata: add per-dev pio/mwdma/udma_mask\n  [PATCH] libata: implement ata_unpack_xfermask()\n  [libata] Move some bmdma-specific code to libata-bmdma.c\n  [libata sata_uli] kill scr_addr abuse\n  [libata sata_nv] eliminate duplicate codepaths with iomap\n  [libata sata_nv] cleanups: convert #defines to enums; remove in-file history\n  [libata sata_sil24] cleanups: use pci_iomap(), kzalloc()\n"
    },
    {
      "commit": "f125b56113be4956867cc9bd098bb99b1b9bb93f",
      "tree": "ffb7715fa4b729dab0546df887065718f36fba85",
      "parents": [
        "0cb409d98e351e6817e0bc37fe6815fc14b2c036"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:31 2006 -0800"
      },
      "message": "[PATCH] fix build error if CONFIG_SYSFS\u003dn\n\nuevent_seqnum and uevent_helper are only defined if CONFIG_HOTPLUG\u003dy,\nCONFIG_NET\u003dn.\n\n(I stole this back from Greg\u0027s tree - it makes allnoconfig work).\n\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": "0cb409d98e351e6817e0bc37fe6815fc14b2c036",
      "tree": "2d3636949d65d5e4911bc9106ddfdf75872c2380",
      "parents": [
        "24277dda3a54aa5e6265487e1a3091e27f3c0c45"
      ],
      "author": {
        "name": "Davi Arnaut",
        "email": "davi.arnaut@gmail.com",
        "time": "Fri Mar 24 03:18:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:31 2006 -0800"
      },
      "message": "[PATCH] strndup_user: convert keyctl\n\nCopies user-space string with strndup_user() and moves the type string\nduplication code to a function (thus fixing a wrong check on the length of the\ntype.)\n\nSigned-off-by: Davi Arnaut \u003cdavi.arnaut@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "24277dda3a54aa5e6265487e1a3091e27f3c0c45",
      "tree": "8fdfcb8c522fff6ce6f82d0b06346b89a825d639",
      "parents": [
        "96840aa00a031069a136ec4c55d0bdd09ac6d3a7"
      ],
      "author": {
        "name": "Davi Arnaut",
        "email": "davi.arnaut@gmail.com",
        "time": "Fri Mar 24 03:18:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:31 2006 -0800"
      },
      "message": "[PATCH] strndup_user: convert module\n\nChange hand-coded userspace string copying to strndup_user.\n\nSigned-off-by: Davi Arnaut \u003cdavi.arnaut@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96840aa00a031069a136ec4c55d0bdd09ac6d3a7",
      "tree": "f93592ca47f2412aa0cce3ce4c116d1678a42239",
      "parents": [
        "6687a97d4041f996f725902d2990e5de6ef5cbe5"
      ],
      "author": {
        "name": "Davi Arnaut",
        "email": "davi.arnaut@gmail.com",
        "time": "Fri Mar 24 03:18:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:31 2006 -0800"
      },
      "message": "[PATCH] strndup_user()\n\nThis patch series creates a strndup_user() function to easy copying C strings\nfrom userspace.  Also we avoid common pitfalls like userspace modifying the\nfinal \\0 after the strlen_user().\n\nSigned-off-by: Davi Arnaut \u003cdavi.arnaut@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6687a97d4041f996f725902d2990e5de6ef5cbe5",
      "tree": "6ab982091cde7179d94cf592f9c669fd22d93a23",
      "parents": [
        "6a4d11c2abc57ed7ca42041e5f68ae4f7f640a81"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 24 03:18:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] timer-irq-driven soft-watchdog, cleanups\n\nMake the softlockup detector purely timer-interrupt driven, removing\nsoftirq-context (timer) dependencies.  This means that if the softlockup\nwatchdog triggers, it has truly observed a longer than 10 seconds\nscheduling delay of a SCHED_FIFO prio 99 task.\n\n(the patch also turns off the softlockup detector during the initial bootup\nphase and does small style fixes)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "6a4d11c2abc57ed7ca42041e5f68ae4f7f640a81",
      "tree": "93a839de19cf3f49bbbb3668f31c8a002c2f7f7f",
      "parents": [
        "b5a7c4f5835ae2805d00ca39709002cb03364143"
      ],
      "author": {
        "name": "Sergey Vlasov",
        "email": "vsu@altlinux.ru",
        "time": "Fri Mar 24 03:18:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] Fix module refcount leak in __set_personality()\n\nIf the change of personality does not lead to change of exec domain,\n__set_personality() returned without releasing the module reference\nacquired by lookup_exec_domain().\n\nSigned-off-by: Sergey Vlasov \u003cvsu@altlinux.ru\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": "b5a7c4f5835ae2805d00ca39709002cb03364143",
      "tree": "667be9c3dc48afae4cb9ace7366019974f05a9f8",
      "parents": [
        "d3561f78fd379a7110e46c87964ba7aa4120235c"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "glommer@br.ibm.com",
        "time": "Fri Mar 24 03:18:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] ext3: Properly report backup block present in a group\n\nIn filesystems with the meta block group flag on, ext3_bg_num_gdb() fails\nto report the correct number of blocks used to store the group descriptor\nbackups in a given group.  It happens because meta_bg follows a different\nlogic from the original ext3 backup placement in groups multiples of 3, 5\nand 7.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cglommer@br.ibm.com\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3561f78fd379a7110e46c87964ba7aa4120235c",
      "tree": "3f055910e42abf0d2d312bf3feda79dd6798f76e",
      "parents": [
        "e0661111e5441995f7a69dc4336c9f131cb9bc58"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] RLIMIT_CPU: document wrong return value\n\nDocument the fact that setrlimit(RLIMIT_CPU) doesn\u0027t return error codes when\nit should.  I don\u0027t think we can fix this without a 2.7.x..\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ulrich Weigand \u003cuweigand@de.ibm.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0661111e5441995f7a69dc4336c9f131cb9bc58",
      "tree": "47a0a0ae66a9f792e6c9edbf683cdc0b62a2d4b7",
      "parents": [
        "ec9e16bacdba1da1ee15dd162384e22df5c87e09"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] RLIMIT_CPU: fix handling of a zero limit\n\nAt present the kernel doesn\u0027t honour an attempt to set RLIMIT_CPU to zero\nseconds.  But the spec says it should, and that\u0027s what 2.4.x does.\n\nFixing this for real would involve some complexity (such as adding a new\nit-has-been-set flag to the task_struct, and testing that everwhere, instead\nof overloading the value of it_prof_expires).\n\nGiven that a 2.4 kernel won\u0027t actually send the signal until one second has\nexpired anyway, let\u0027s just handle this case by treating the caller\u0027s\nzero-seconds as one second.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ulrich Weigand \u003cuweigand@de.ibm.com\u003e\nCc: Cliff Wickman \u003ccpw@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": "ec9e16bacdba1da1ee15dd162384e22df5c87e09",
      "tree": "c69536db0e5a8814051745faa77fc34eea9ac75c",
      "parents": [
        "de62a97ef576a1f6b5013139ded9893226375bbb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] sys_setrlimit() cleanup\n\n- Whitespace cleanups\n\n- Make that expression comprehensible.\n\nThere\u0027s a potential logic change here: we do the \"is it_prof_expires equal to\nzero\" test after converting it to seconds, rather than doing the comparison\nbetween raw cputime_t\u0027s.\n\nBut given that it\u0027s in units of seconds anyway, that shouldn\u0027t change\nanything.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ulrich Weigand \u003cuweigand@de.ibm.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de62a97ef576a1f6b5013139ded9893226375bbb",
      "tree": "39589587c7c48b4d2e3f1dc6a1c8ddb863ce814c",
      "parents": [
        "554b7c801e379e8c0072533b4da89a3a003cbfac"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 24 03:18:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] deprecate the tasklist_lock export\n\nDrivers have no business looking at the task list and thus using this lock.\n The only possibly modular users left are:\n\n arch/ia64/kernel/mca.c\n drivers/edac/edac_mc.c\n fs/binfmt_elf.c\n\nwhich I\u0027ll send out fixes for soon.\n\nSigned-off-by: 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": "554b7c801e379e8c0072533b4da89a3a003cbfac",
      "tree": "86f2da1549e37648948fe3d091ecc76c18714597",
      "parents": [
        "57c2d60e1e3db506cdcecbf60f939593125db7f8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] Yet more rio cleaning (2 of 2)\n\n- Remove more unused headers\n- Remove various typedefs\n- Correct type of PaddrP (physical addresses should be ulong)\n- Kill use of bcopy\n- More printk cleanups\n- Kill true/false\n- Clean up direct access to pci BARs\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57c2d60e1e3db506cdcecbf60f939593125db7f8",
      "tree": "f91c0b9b1682772fd5150919fd8a57479700f2dc",
      "parents": [
        "db3185242a9a369d5ef13cd2baf196507925009e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] Yet more rio cleaning (1 of 2)\n\n- Remove more unused headers\n- Remove various typedefs\n- Correct type of PaddrP (physical addresses should be ulong)\n- Kill use of bcopy\n- More printk cleanups\n- Kill true/false\n- Clean up direct access to pci BARs\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db3185242a9a369d5ef13cd2baf196507925009e",
      "tree": "7fd6fcd3df83ba2af2f54f5861091f019d68cde3",
      "parents": [
        "3d336aa257ba382c3ad7883ee000cbacb761e411"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #5\n\nFinal polish.  There is no more save_flags/cli type locking left.  We also no\nlonger use the pcicopy function and file so they can go.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d336aa257ba382c3ad7883ee000cbacb761e411",
      "tree": "655026fde099cb11ac6c3bac67092a6ebc9551d8",
      "parents": [
        "00d83a54aa824b11ebc8c66c4a879cfeb5029a22"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #4\n\nThird large chunk of code cleanup.  The split between this and #3 and #4 is\nfairly arbitary and due to the message length limit on the list.  These\npatches continue the process of ripping out macros and typedefs while cleaning\nup lots of 32bit assumptions.  Several inlines for compatibility also get\nremoved and that causes a lot of noise.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "00d83a54aa824b11ebc8c66c4a879cfeb5029a22",
      "tree": "c4d13bb89b7ee082439ae75a5c1ee2d9da52c3c4",
      "parents": [
        "e2b3afd676ad3e15ca2efca3b3605c7d817ec6e3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #3\n\nSecond large chunk of code cleanup.  The split between this and #3 and #4 is\nfairly arbitary and due to the message length limit on the list.  These\npatches continue the process of ripping out macros and typedefs while cleaning\nup lots of 32bit assumptions.  Several inlines for compatibility also get\nremoved and that causes a lot of noise.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e2b3afd676ad3e15ca2efca3b3605c7d817ec6e3",
      "tree": "f6b7c9739e20a865b6f1f379ccbab67a63ddec53",
      "parents": [
        "27c6e526f34760a9c48a90112242b7165064fa85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #2\n\nFirst large chunk of code cleanup.  The split between this and #3 and #4 is\nfairly arbitary and due to the message length limit on the list.  These\npatches continue the process of ripping out macros and typedefs while cleaning\nup lots of 32bit assumptions.  Several inlines for compatibility also get\nremoved and that causes a lot of noise.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27c6e526f34760a9c48a90112242b7165064fa85",
      "tree": "40505dbe2ab69e7f8077c7473984deecff0203f3",
      "parents": [
        "b6c6b6021ec735bd105e130ac1ee1606575f74c3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:29 2006 -0800"
      },
      "message": "[PATCH] rio driver rework continued #1\n\nMore header cleanups, strip out typedefs and remove cruft.  There are a lot of\nmagic macros that can go and also a great deal of abuse of volatile that is\nnot needed any more as this patch set cleans up the misuse of pointer access\nto ISA and PCI space.\n\nIt now builds cleanly on 64bit, although there is more work left to do\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6c6b6021ec735bd105e130ac1ee1606575f74c3",
      "tree": "098596ea049ca6ec10cb999ef2db943936c35a56",
      "parents": [
        "3b8e3f1e44326115f2a28a63ede62b1f5c53e46e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] rioboot: post-Lindent\n\nAfter the indent we can now clean up unused code, and fix all myriad cases\nthat don\u0027t use readb/writeb properly.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b8e3f1e44326115f2a28a63ede62b1f5c53e46e",
      "tree": "d8f285f56cd2c178612f014ba8e07b5bbd66e22f",
      "parents": [
        "74769abfcb430b839914f3fe91e23a4f628d9553"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] rioboot: lindent\n\nThis is the result of indent -kr -i8 -bri0 -l255\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74769abfcb430b839914f3fe91e23a4f628d9553",
      "tree": "af7443e43f236d4d9e6c87ef777989989f1079ec",
      "parents": [
        "10e705f83c3e796893a70fb872895ba604901166"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Mar 24 03:18:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] rio: more header cleanup\n\nStrip some of the typedef mess out Remove a small subset of unused defines\nand the like.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "10e705f83c3e796893a70fb872895ba604901166",
      "tree": "61323e87e4c23de924b83a7acaced7ede6e257fc",
      "parents": [
        "ac515898f35eaf7b77529cb0560115345d73bc15"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Mar 24 03:18:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] Fix \"value computed not used\" warnings\n\nFixes for annoying gcc-4.1 compile warnings \"value computed not used\".\nSimply cast to void.\n\n(akpm: Linus will go ballistic...)\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac515898f35eaf7b77529cb0560115345d73bc15",
      "tree": "392eb4e84c0d9e6bb4248bf7a2b3a5631d7646bd",
      "parents": [
        "208a08f7cc2a8932ed76162d9844f9ae7d7fc015"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 24 03:18:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] deprecate the kernel_thread export\n\nAnnounce that the kernel_thread export will be removed in half a year,\nafter all it\u0027s users have been converted to the kthread_ API, which I plan\nto do over the next month.\n\nSigned-off-by: 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": "208a08f7cc2a8932ed76162d9844f9ae7d7fc015",
      "tree": "6f0eb837cf8c1ce131c93ecf52476046519c5969",
      "parents": [
        "f751d50f6dea1446797c9a31f5c183002e5780a8"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Fri Mar 24 03:18:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] ide: Allow IDE interface to specify its not capable of 32-bit operations\n\nIn some embedded systems the IDE hardware interface may only support 16-bit\nor smaller accesses.  Allow the interface to specify if this is the case\nand don\u0027t allow the drive or user to override the setting.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nAcked-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\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": "f751d50f6dea1446797c9a31f5c183002e5780a8",
      "tree": "9d8bc20f7f0fcb26e53865dbe10e5526e4dd3483",
      "parents": [
        "82d821ddca8f5c990067cc37543010aa9346a172"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 03:18:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:28 2006 -0800"
      },
      "message": "[PATCH] show MCP menu only on ARCH_SA1100\n\nOn architectures like i386, the \"Multimedia Capabilities Port drivers\" menu is\nvisible, but it can\u0027t be visited since it contains nothing usable for\n!ARCH_SA1100.\n\nThis patch therefore shows this menu only on ARCH_SA1100.\n\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": "82d821ddca8f5c990067cc37543010aa9346a172",
      "tree": "32e544f964f202d1ee7a135370ea0f6661098bcd",
      "parents": [
        "2ea1c5392cc8ce249fb661db4f4cdfbbae373a89"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Fri Mar 24 03:18:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] Conditionalize compat_sys_newfstatat\n\nIf we don\u0027t want sys_newfstatat because __ARCH_WANT_STAT64 is defined, then\nwe certainly don\u0027t want compat_sys_newfstatat either.\n\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ea1c5392cc8ce249fb661db4f4cdfbbae373a89",
      "tree": "07e612d8e1e6c015f7da2702f2af4129e63db15c",
      "parents": [
        "7e9dd124b90af80824754f68c0b246cfd0fb624b"
      ],
      "author": {
        "name": "John Z. Bohach",
        "email": "jzb@aexorsyst.com",
        "time": "Fri Mar 24 03:18:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] console_setup() depends (wrongly?) on CONFIG_PRINTK\n\nIt appears that console_setup() code only gets compiled into the kernel if\nCONFIG_PRINTK is enabled.  One detrimental side-effect of this is that\nserial8250_console_setup() never gets invoked when CONFIG_PRINTK is not\nset, resulting in baud rate not being read/parsed from command line (i.e.\nconsole\u003dttyS0,115200n8 is ignored, at least the baud rate part...)\n\nAttached patch moves console_setup() code from inside\n\n#ifdef CONFIG_PRINTK\n\nto outside (in printk.c), removing dependence on said config. option.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e9dd124b90af80824754f68c0b246cfd0fb624b",
      "tree": "412027f65e6c5df873295397fe1c70e900285a50",
      "parents": [
        "d129bceb1d44ed3c23b99164849193703372bab4"
      ],
      "author": {
        "name": "Nico Schottelius",
        "email": "nico-kernel@schottelius.org",
        "time": "Fri Mar 24 03:18:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] Updated Documentation/nfsroot.txt\n\nI today booted the first time my embedded device using Linux 2.6.15.2,\nwhich was booted by pxelinux, which then bootet itself from the nfsroot.\n\nThis went pretty fine, but when I was reading through\nDocumentation/nfsroot.txt I saw that there are some more modern versions\navailable of loading the kernel and passing parameters.\n\nSigned-off-by: Nico Schottelius \u003cnico-kernel@schottelius.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d129bceb1d44ed3c23b99164849193703372bab4",
      "tree": "bcc7fbf2d0cde5fb437d835358ae42f788b14ac1",
      "parents": [
        "97f2478db161714d0e3e864f38f5789c66f98b81"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Fri Mar 24 03:18:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] mmc: Secure Digital Host Controller Interface driver\n\nDriver for the Secure Digital Host Controller Interface specification.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\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": "97f2478db161714d0e3e864f38f5789c66f98b81",
      "tree": "685e6215bfb63cae2c288dd0af96378f81a33cfa",
      "parents": [
        "8f2e9f157a94f444dad974b088b853ac40785b02"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Fri Mar 24 03:18:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] Secure Digital Host Controller id and regs\n\nClass code and register definitions for the Secure Digital Host Controller\nstandard.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\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": "8f2e9f157a94f444dad974b088b853ac40785b02",
      "tree": "a8a3b2413ffb2a4a6f84762f052f0f6b4699ef9a",
      "parents": [
        "18e79b40ed9c5223b88771f805c69f5993fc131b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] msync(): use do_fsync()\n\nNo need to duplicate all that code.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18e79b40ed9c5223b88771f805c69f5993fc131b",
      "tree": "cc628524d4bfe3166bbe9d8d7217a1cb009ea209",
      "parents": [
        "676758bdb7bfca8413a85203921746f446e237be"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] fsync: extract internal code\n\nPull the guts out of do_fsync() - we can use it elsewhere.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676758bdb7bfca8413a85203921746f446e237be",
      "tree": "23c731f429652e16f2cdba98cd503eaa059f929b",
      "parents": [
        "707c21c848deeb0200ba3f07e4ba90e6dc419c2f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync: fix return value\n\nmsync() does a strange thing.  Essentially:\n\n\tvma \u003d find_vma();\n\tfor ( ; ; ) {\n\t\tif (!vma)\n\t\t\treturn -ENOMEM;\n\t\t...\n\t\tvma \u003d vma-\u003evm_next;\n\t}\n\nso an msync() request which starts within or before a valid VMA and which ends\nwithin or beyond the final VMA will incorrectly return -ENOMEM.\n\nFix.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "707c21c848deeb0200ba3f07e4ba90e6dc419c2f",
      "tree": "d8e8f32916ac1f04e45e42595ddd0ef771ddb1ad",
      "parents": [
        "9c50823eebf7c256b92b4e0f02b5fb30e97788c2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync(MS_SYNC): don\u0027t hold mmap_sem while syncing\n\nIt seems bad to hold mmap_sem while performing synchronous disk I/O.  Alter\nthe msync(MS_SYNC) code so that the lock is released while we sync the file.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c50823eebf7c256b92b4e0f02b5fb30e97788c2",
      "tree": "241b754698c3501355d1061c828ab6d894dba617",
      "parents": [
        "4741c9fd36b3bcadd37238321c469049da94a4b9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync(): perform dirty page levelling\n\nIt seems sensible to perform dirty page throttling in msync: as the application\ndirties pages we can kick off pdflush early, or even force the msync() caller\nto perform writeout, or even throttle the msync() caller.\n\nThe main effect of this is to start disk writeback earlier if we\u0027ve just\ndiscovered that a large amount of pagecache has been dirtied.  (Otherwise it\nwouldn\u0027t happen for up to five seconds, next time pdflush wakes up).\n\nIt also will cause the page-dirtying process to get panalised for dirtying\nthose pages rather than whacking someone else with the problem.\n\nWe should do this for munmap() and possibly even exit(), too.\n\nWe drop the mmap_sem while performing the dirty page balancing.  It doesn\u0027t\nseem right to hold mmap_sem for that long.\n\nNote that this patch only affects MS_ASYNC.  MS_SYNC will be syncing all the\ndirty pages anyway.\n\nWe note that msync(MS_SYNC) does a full-file-sync inside mmap_sem, and always\nhas.  We can fix that up...\n\nThe patch also tightens up the mmap_sem coverage in sys_msync(): no point in\ntaking it while we perform the incoming arg checking.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4741c9fd36b3bcadd37238321c469049da94a4b9",
      "tree": "4b3031b04cdbf2d3c5a4fcc1965ed857f1cf0ce4",
      "parents": [
        "fa5a734e406b53761fcc5ee22366006f71112c2d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] set_page_dirty() return value fixes\n\nWe need set_page_dirty() to return true if it actually transitioned the page\nfrom a clean to dirty state.  This wasn\u0027t right in a couple of places.  Do a\nkernel-wide audit, fix things up.\n\nThis leaves open the possibility of returning a negative errno from\nset_page_dirty() sometime in the future.  But we don\u0027t do that at present.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa5a734e406b53761fcc5ee22366006f71112c2d",
      "tree": "003a238b9207e38f747bfb119a30fb52f1cd5ae9",
      "parents": [
        "8a14342683b1e3adcf5f78660a42fcbd95b44a35"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] balance_dirty_pages_ratelimited: take nr_pages arg\n\nModify balance_dirty_pages_ratelimited() so that it can take a\nnumber-of-pages-which-I-just-dirtied argument.  For msync().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a14342683b1e3adcf5f78660a42fcbd95b44a35",
      "tree": "332265cb9fe8b1e107864cdb380bf5f6b4bfb840",
      "parents": [
        "2ecb9e633c5057d1203a59ef3e5c3aaea37c402e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Mar 24 03:18:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] HOTPLUG_CPU: avoid hitting too many cachelines in recalc_bh_state()\n\nInstead of using for_each_cpu(i), we can use for_each_online_cpu(i).\n\nWhen a CPU goes offline (ie removed from online map), it might have a non\nnull bh_accounting.nr, so this patch adds a transfer of this counter to an\nonline CPU counter.\n\nWe already have a hotcpu_notifier, (function buffer_cpu_notify()), where we\ncan do this bh_accounting.\n\nSigned-off-by: 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": "2ecb9e633c5057d1203a59ef3e5c3aaea37c402e",
      "tree": "9df374a3ef0bf531b27bcb19668f5ed1bbeb3732",
      "parents": [
        "453ae9337aa3a7da12db723223998c7f75a026c0"
      ],
      "author": {
        "name": "Arthur Othieno",
        "email": "apgo@patchbomb.org",
        "time": "Fri Mar 24 03:18:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] sound: remove PC98-specific OPL3_HW_OPL3_PC98\n\nOPL3_HW_OPL3_PC98 #define isn\u0027t used anywhere; previously in\nsound/drivers/opl3/opl3_lib.c and sound/isa/cs423x/pc98.c, the latter of which\nwent away with the rest of PC98 subarch.\n\nSigned-off-by: Arthur Othieno \u003capgo@patchbomb.org\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "453ae9337aa3a7da12db723223998c7f75a026c0",
      "tree": "d4718e57787330e2ffbded21ee6349c79e8d963b",
      "parents": [
        "df1e2fb540368d0f9640045235f81923fa63acb7"
      ],
      "author": {
        "name": "Arthur Othieno",
        "email": "apgo@patchbomb.org",
        "time": "Fri Mar 24 03:18:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] block: floppy98 removal, really.\n\nfloppy98 went out together with the rest of PC98 subarch.  Remove stale\nMakefile entry that remained.\n\nSigned-off-by: Arthur Othieno \u003capgo@patchbomb.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df1e2fb540368d0f9640045235f81923fa63acb7",
      "tree": "aae81d11a102030772ab5a1a6bfa55820fbaf0da",
      "parents": [
        "38885bd4c2a4b59ddb22271d3e6c621859c76f02"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Fri Mar 24 03:18:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] shmdt: check address alignment\n\nSUSv3 says the shmdt() function shall fail with EINVAL if the value of\nshmaddr is not the data segment start address of a shared memory segment:\nour sys_shmdt needs to reject a shmaddr which is not page-aligned.\n\nDoes it have the potential to break existing apps?\n\nHugh says\n\n  \"sys_shmdt() just does the wrong (unexpected) thing with a misaligned\n  address: it\u0027ll fail on what you might expect it to succeed on, and only\n  succeed on what it should definitely fail on.\n\n  \"That is, I think it behaves as if shmaddr gets rounded up, when the only\n  understandable behaviour would be if it rounded it down.\n\n  \"Which does mean you\u0027d have to be devious to see anything but EINVAL from\n  a misaligned shmaddr there, so it\u0027s not terribly important.\"\n\nSigned-off-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": "38885bd4c2a4b59ddb22271d3e6c621859c76f02",
      "tree": "60a4528db40c182f7091c8d84433542dabbc8faa",
      "parents": [
        "a94ddf3ab866df9c187c9d8b3870b7ec38c6f7ad"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "qiyong@fc-cn.com",
        "time": "Fri Mar 24 03:18:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] sb_set_blocksize cleanup\n\nsb_set_blocksize() cleanup: make sb_set_blocksize() use blksize_bits().\n\nSigned-off-by: Coywolf Qi Hunt \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a94ddf3ab866df9c187c9d8b3870b7ec38c6f7ad",
      "tree": "e52f82a6b200c03f9a2c83b31bc0ff3d249a7308",
      "parents": [
        "ebcf28e1c7a295f3321249dd235ad2e45938fdd9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Mar 24 03:18:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] early_printk: cleanup trailiing whitespace\n\nRemove all trailing tabs and spaces.  No other changes.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebcf28e1c7a295f3321249dd235ad2e45938fdd9",
      "tree": "fdd2e131e627af55d3741a7fafad0edaa61410c1",
      "parents": [
        "469eb4d03878b676418f853011ebfb54ccf83a5e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] fadvise(): write commands\n\nAdd two new linux-specific fadvise extensions():\n\nLINUX_FADV_ASYNC_WRITE: start async writeout of any dirty pages between file\noffsets `offset\u0027 and `offset+len\u0027.  Any pages which are currently under\nwriteout are skipped, whether or not they are dirty.\n\nLINUX_FADV_WRITE_WAIT: wait upon writeout of any dirty pages between file\noffsets `offset\u0027 and `offset+len\u0027.\n\nBy combining these two operations the application may do several things:\n\nLINUX_FADV_ASYNC_WRITE: push some or all of the dirty pages at the disk.\n\nLINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE: push all of the currently dirty\npages at the disk.\n\nLINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE, LINUX_FADV_WRITE_WAIT: push all\nof the currently dirty pages at the disk, wait until they have been written.\n\nIt should be noted that none of these operations write out the file\u0027s\nmetadata.  So unless the application is strictly performing overwrites of\nalready-instantiated disk blocks, there are no guarantees here that the data\nwill be available after a crash.\n\nTo complete this suite of operations I guess we should have a \"sync file\nmetadata only\" operation.  This gives applications access to all the building\nblocks needed for all sorts of sync operations.  But sync-metadata doesn\u0027t fit\nwell with the fadvise() interface.  Probably it should be a new syscall:\nsys_fmetadatasync().\n\nThe patch also diddles with the meaning of `endbyte\u0027 in sys_fadvise64_64().\nIt is made to represent that last affected byte in the file (ie: it is\ninclusive).  Generally, all these byterange and pagerange functions are\ninclusive so we can easily represent EOF with -1.\n\nAs Ulrich notes, these two functions are somewhat abusive of the fadvise()\nconcept, which appears to be \"set the future policy for this fd\".\n\nBut these commands are a perfect fit with the fadvise() impementation, and\nseveral of the existing fadvise() commands are synchronous and don\u0027t affect\nfuture policy either.   I think we can live with the slight incongruity.\n\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": "469eb4d03878b676418f853011ebfb54ccf83a5e",
      "tree": "38b10385c6241778ca88c6015ded3ba68d39a23c",
      "parents": [
        "604bf5a216e7f2d97cdf62614ca1281921531040"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:17:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] filemap_fdatawrite_range() api: clarify -end parameter\n\nI had trouble understanding working out whether filemap_fdatawrite_range()\u0027s\n`end\u0027 parameter describes the last-byte-to-be-written or the last-plus-one.\nClarify that in comments.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "604bf5a216e7f2d97cdf62614ca1281921531040",
      "tree": "3510302f5ff0ae04940eb79b67cffe6dee561908",
      "parents": [
        "ab7efcc97ebc92e03c0474dfd38f9c7b84b84115"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Mar 24 03:16:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] CONFIG_UNWIND_INFO\n\nAs a foundation for reliable stack unwinding, this adds a config option\n(available to all architectures except IA64 and those where the module\nloader might have problems with the resulting relocations) to enable the\ngeneration of frame unwind information.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\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": "ab7efcc97ebc92e03c0474dfd38f9c7b84b84115",
      "tree": "b0eb6b9abce5c47af9c61b606f37ec1c4d247e65",
      "parents": [
        "09fe316a7b10219be592118626850e1dfdfcc1aa"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Mar 24 03:16:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] abstract type/size specification for assembly\n\nProvide abstraction for generating type and size information of assembly\nroutines and data, while permitting architectures to override these\ndefaults.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: \"Russell King\" \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"Andi Kleen\" \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "09fe316a7b10219be592118626850e1dfdfcc1aa",
      "tree": "09542092195cc918f3566102e2b4090936e160b2",
      "parents": [
        "e933b6d6511dc80c63ab36fd584715371ae293c7"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Fri Mar 24 03:16:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] fast ext3_statfs\n\nUnder I/O load it may take up to a dozen seconds to read all group\ndescriptors.  This is what ext3_statfs() does.  At the same time, we already\nmaintain global numbers of free inodes/blocks.  Why don\u0027t we use them instead\nof group reading and summing?\n\nCc: Ravikiran G Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e933b6d6511dc80c63ab36fd584715371ae293c7",
      "tree": "96bc02983930590f4edc938a37ab14006e3d352b",
      "parents": [
        "5b3cf3e0f019fcfe1e0c26aedb4d54b5e5be3a7b"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Fri Mar 24 03:16:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] remove ipmi pm_power_off redefinition\n\nUse the global define of pm_power_off\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b3cf3e0f019fcfe1e0c26aedb4d54b5e5be3a7b",
      "tree": "516fa7597b59dfdd934d7f35bc303a8fe578c420",
      "parents": [
        "53b3531bbbf70ac7551b32d1acc229d94de52658"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Mar 24 03:16:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] isofs: remove unused debugging macros\n\nRemove unused debugging macros from isofs.  The referred debug functions do\nnot exist in the kernel.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53b3531bbbf70ac7551b32d1acc229d94de52658",
      "tree": "644440c93f599bbf64bb0b703c97b03b4dc5d737",
      "parents": [
        "29afd49b72a9b2c26fa8c678bcf3976d0540446b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Mar 24 03:16:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] s/;;/;/g\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": "29afd49b72a9b2c26fa8c678bcf3976d0540446b",
      "tree": "4cc12f5bb3c5c3ee668226990e79115081609265",
      "parents": [
        "b2455396be35383c4eebc6745cc718b1dd9e23df"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] cpuset: remove useless local variable initialization\n\nRemove a useless variable initialization in cpuset __cpuset_zone_allowed().\n The local variable \u0027allowed\u0027 is unconditionally set before use, later on\nin the code, so does not need to be initialized.\n\nNot that it seems to matter to the code generated any, as the compiler\noptimizes out the superfluous assignment anyway.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2455396be35383c4eebc6745cc718b1dd9e23df",
      "tree": "9ed4d43f1ca944c23372fad6554508f1747f5e2d",
      "parents": [
        "151a44202d097ae8b1bbaa6d8d2f97df30e3cd1e"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] cpuset: memory_spread_slab drop useless PF_SPREAD_PAGE check\n\nThe hook in the slab cache allocation path to handle cpuset memory\nspreading for tasks in cpusets with \u0027memory_spread_slab\u0027 enabled has a\nmodest performance bug.  The hook calls into the memory spreading handler\nalternate_node_alloc() if either of \u0027memory_spread_slab\u0027 or\n\u0027memory_spread_page\u0027 is enabled, even though the handler does nothing\n(albeit harmlessly) for the page case\n\nFix - drop PF_SPREAD_PAGE from the set of flag bits that are used to\ntrigger a call to alternate_node_alloc().\n\nThe page case is handled by separate hooks -- see the calls conditioned on\ncpuset_do_page_mem_spread() in mm/filemap.c\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "151a44202d097ae8b1bbaa6d8d2f97df30e3cd1e",
      "tree": "3752bba902e73001443bb75f40495cc3a1d24f54",
      "parents": [
        "8488bc359d674baf710992e4b641513ea5ebd212"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] cpuset: don\u0027t need to mark cpuset_mems_generation atomic\n\nDrop the atomic_t marking on the cpuset static global\ncpuset_mems_generation.  Since all access to it is guarded by the global\nmanage_mutex, there is no need for further serialization of this value.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8488bc359d674baf710992e4b641513ea5ebd212",
      "tree": "28f6558f6b006c5a28a64a1beabec5498d9b77d4",
      "parents": [
        "b0196009d8c3ecf6ea6ec080c63d2ccc146e7ad9"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset: remove unnecessary NULL check\n\nRemove a no longer needed test for NULL cpuset pointer, with a little\ncomment explaining why the test isn\u0027t needed.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0196009d8c3ecf6ea6ec080c63d2ccc146e7ad9",
      "tree": "3fcb06af54faf92fa5d9d82d5659762d2b742e1c",
      "parents": [
        "c61afb181c649754ea221f104e268cbacfc993e3"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache hooks\n\nChange the kmem_cache_create calls for certain slab caches to support cpuset\nmemory spreading.\n\nSee the previous patches, cpuset_mem_spread, for an explanation of cpuset\nmemory spreading, and cpuset_mem_spread_slab_cache for the slab cache support\nfor memory spreading.\n\nThe slab caches marked for now are: dentry_cache, inode_cache, some xfs slab\ncaches, and buffer_head.  This list may change over time.  In particular,\nother file system types that are used extensively on large NUMA systems may\nwant to allow for spreading their directory and inode slab cache entries.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c61afb181c649754ea221f104e268cbacfc993e3",
      "tree": "870917b3f9175cf1663a2620d989856913cfb5f8",
      "parents": [
        "101a50019ae5e370d73984ee05d56dd3b08f330a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache optimizations\n\nThe hooks in the slab cache allocator code path for support of NUMA\nmempolicies and cpuset memory spreading are in an important code path.  Many\nsystems will use neither feature.\n\nThis patch optimizes those hooks down to a single check of some bits in the\ncurrent tasks task_struct flags.  For non NUMA systems, this hook and related\ncode is already ifdef\u0027d out.\n\nThe optimization is done by using another task flag, set if the task is using\na non-default NUMA mempolicy.  Taking this flag bit along with the\nPF_SPREAD_PAGE and PF_SPREAD_SLAB flag bits added earlier in this \u0027cpuset\nmemory spreading\u0027 patch set, one can check for the combination of any of these\nspecial case memory placement mechanisms with a single test of the current\ntasks task_struct flags.\n\nThis patch also tightens up the code, to save a few bytes of kernel text\nspace, and moves some of it out of line.  Due to the nested inlines called\nfrom multiple places, we were ending up with three copies of this code, which\nonce we get off the main code path (for local node allocation) seems a bit\nwasteful of instruction memory.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "101a50019ae5e370d73984ee05d56dd3b08f330a",
      "tree": "f5628837d4bb68a4109dfb8d6601f95b630848c3",
      "parents": [
        "fffb60f93ce5880aade88e01d7133b52a4879710"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache implementation\n\nProvide the slab cache infrastructure to support cpuset memory spreading.\n\nSee the previous patches, cpuset_mem_spread, for an explanation of cpuset\nmemory spreading.\n\nThis patch provides a slab cache SLAB_MEM_SPREAD flag.  If set in the\nkmem_cache_create() call defining a slab cache, then any task marked with the\nprocess state flag PF_MEMSPREAD will spread memory page allocations for that\ncache over all the allowed nodes, instead of preferring the local (faulting)\nnode.\n\nOn systems not configured with CONFIG_NUMA, this results in no change to the\npage allocation code path for slab caches.\n\nOn systems with cpusets configured in the kernel, but the \"memory_spread\"\ncpuset option not enabled for the current tasks cpuset, this adds a call to a\ncpuset routine and failed bit test of the processor state flag PF_SPREAD_SLAB.\n\nFor tasks so marked, a second inline test is done for the slab cache flag\nSLAB_MEM_SPREAD, and if that is set and if the allocation is not\nin_interrupt(), this adds a call to to a cpuset routine that computes which of\nthe tasks mems_allowed nodes should be preferred for this allocation.\n\n\u003d\u003d\u003e This patch adds another hook into the performance critical\n    code path to allocating objects from the slab cache, in the\n    ____cache_alloc() chunk, below.  The next patch optimizes this\n    hook, reducing the impact of the combined mempolicy plus memory\n    spreading hooks on this critical code path to a single check\n    against the tasks task_struct flags word.\n\nThis patch provides the generic slab flags and logic needed to apply memory\nspreading to a particular slab.\n\nA subsequent patch will mark a few specific slab caches for this placement\npolicy.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fffb60f93ce5880aade88e01d7133b52a4879710",
      "tree": "7882f0550af8580c0646306f6d391fe610f7ef8c",
      "parents": [
        "4b6a9316fab51af611dc8671f296734089f6a22a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache format\n\nRewrap the overly long source code lines resulting from the previous\npatch\u0027s addition of the slab cache flag SLAB_MEM_SPREAD.  This patch\ncontains only formatting changes, and no function change.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6a9316fab51af611dc8671f296734089f6a22a",
      "tree": "078f8f0f01a206af529bef137d5b71515c39053d",
      "parents": [
        "44110fe385af23ca5eee8a6ad4ff55d50339097a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache filesystems\n\nMark file system inode and similar slab caches subject to SLAB_MEM_SPREAD\nmemory spreading.\n\nIf a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that\u0027s\nin a cpuset with the \u0027memory_spread_slab\u0027 option enabled goes to allocate\nfrom such a slab cache, the allocations are spread evenly over all the\nmemory nodes (task-\u003emems_allowed) allowed to that task, instead of favoring\nallocation on the node local to the current cpu.\n\nThe following inode and similar caches are marked SLAB_MEM_SPREAD:\n\n    file                               cache\n    \u003d\u003d\u003d\u003d                               \u003d\u003d\u003d\u003d\u003d\n    fs/adfs/super.c                    adfs_inode_cache\n    fs/affs/super.c                    affs_inode_cache\n    fs/befs/linuxvfs.c                 befs_inode_cache\n    fs/bfs/inode.c                     bfs_inode_cache\n    fs/block_dev.c                     bdev_cache\n    fs/cifs/cifsfs.c                   cifs_inode_cache\n    fs/coda/inode.c                    coda_inode_cache\n    fs/dquot.c                         dquot\n    fs/efs/super.c                     efs_inode_cache\n    fs/ext2/super.c                    ext2_inode_cache\n    fs/ext2/xattr.c (fs/mbcache.c)     ext2_xattr\n    fs/ext3/super.c                    ext3_inode_cache\n    fs/ext3/xattr.c (fs/mbcache.c)     ext3_xattr\n    fs/fat/cache.c                     fat_cache\n    fs/fat/inode.c                     fat_inode_cache\n    fs/freevxfs/vxfs_super.c           vxfs_inode\n    fs/hpfs/super.c                    hpfs_inode_cache\n    fs/isofs/inode.c                   isofs_inode_cache\n    fs/jffs/inode-v23.c                jffs_fm\n    fs/jffs2/super.c                   jffs2_i\n    fs/jfs/super.c                     jfs_ip\n    fs/minix/inode.c                   minix_inode_cache\n    fs/ncpfs/inode.c                   ncp_inode_cache\n    fs/nfs/direct.c                    nfs_direct_cache\n    fs/nfs/inode.c                     nfs_inode_cache\n    fs/ntfs/super.c                    ntfs_big_inode_cache_name\n    fs/ntfs/super.c                    ntfs_inode_cache\n    fs/ocfs2/dlm/dlmfs.c               dlmfs_inode_cache\n    fs/ocfs2/super.c                   ocfs2_inode_cache\n    fs/proc/inode.c                    proc_inode_cache\n    fs/qnx4/inode.c                    qnx4_inode_cache\n    fs/reiserfs/super.c                reiser_inode_cache\n    fs/romfs/inode.c                   romfs_inode_cache\n    fs/smbfs/inode.c                   smb_inode_cache\n    fs/sysv/inode.c                    sysv_inode_cache\n    fs/udf/super.c                     udf_inode_cache\n    fs/ufs/super.c                     ufs_inode_cache\n    net/socket.c                       sock_inode_cache\n    net/sunrpc/rpc_pipe.c              rpc_inode_cache\n\nThe choice of which slab caches to so mark was quite simple.  I marked\nthose already marked SLAB_RECLAIM_ACCOUNT, except for fs/xfs, dentry_cache,\ninode_cache, and buffer_head, which were marked in a previous patch.  Even\nthough SLAB_RECLAIM_ACCOUNT is for a different purpose, it marks the same\npotentially large file system i/o related slab caches as we need for memory\nspreading.\n\nGiven that the rule now becomes \"wherever you would have used a\nSLAB_RECLAIM_ACCOUNT slab cache flag before (usually the inode cache), use\nthe SLAB_MEM_SPREAD flag too\", this should be easy enough to maintain.\nFuture file system writers will just copy one of the existing file system\nslab cache setups and tend to get it right without thinking.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44110fe385af23ca5eee8a6ad4ff55d50339097a",
      "tree": "50ed2bfe054b8e35968d8e4a5fbe95c8b3db843b",
      "parents": [
        "825a46af5ac171f9f41f794a0a00165588ba1589"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread page cache implementation and hooks\n\nChange the page cache allocation calls to support cpuset memory spreading.\n\nSee the previous patch, cpuset_mem_spread, for an explanation of cpuset memory\nspreading.\n\nOn systems without cpusets configured in the kernel, this is no change.\n\nOn systems with cpusets configured in the kernel, but the \"memory_spread\"\ncpuset option not enabled for the current tasks cpuset, this adds a call to a\ncpuset routine and failed bit test of the processor state flag PF_SPREAD_PAGE.\n\nOn tasks in cpusets with \"memory_spread\" enabled, this adds a call to a cpuset\nroutine that computes which of the tasks mems_allowed nodes should be\npreferred for this allocation.\n\nIf memory spreading applies to a particular allocation, then any other NUMA\nmempolicy does not apply.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "825a46af5ac171f9f41f794a0a00165588ba1589",
      "tree": "b690fe9d809d7b047f0393097fc79892e1217d98",
      "parents": [
        "8a39cc60bfa5a72f32d975729a354daca124f6de"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread basic implementation\n\nThis patch provides the implementation and cpuset interface for an alternative\nmemory allocation policy that can be applied to certain kinds of memory\nallocations, such as the page cache (file system buffers) and some slab caches\n(such as inode caches).\n\nThe policy is called \"memory spreading.\" If enabled, it spreads out these\nkinds of memory allocations over all the nodes allowed to a task, instead of\npreferring to place them on the node where the task is executing.\n\nAll other kinds of allocations, including anonymous pages for a tasks stack\nand data regions, are not affected by this policy choice, and continue to be\nallocated preferring the node local to execution, as modified by the NUMA\nmempolicy.\n\nThere are two boolean flag files per cpuset that control where the kernel\nallocates pages for the file system buffers and related in kernel data\nstructures.  They are called \u0027memory_spread_page\u0027 and \u0027memory_spread_slab\u0027.\n\nIf the per-cpuset boolean flag file \u0027memory_spread_page\u0027 is set, then the\nkernel will spread the file system buffers (page cache) evenly over all the\nnodes that the faulting task is allowed to use, instead of preferring to put\nthose pages on the node where the task is running.\n\nIf the per-cpuset boolean flag file \u0027memory_spread_slab\u0027 is set, then the\nkernel will spread some file system related slab caches, such as for inodes\nand dentries evenly over all the nodes that the faulting task is allowed to\nuse, instead of preferring to put those pages on the node where the task is\nrunning.\n\nThe implementation is simple.  Setting the cpuset flags \u0027memory_spread_page\u0027\nor \u0027memory_spread_cache\u0027 turns on the per-process flags PF_SPREAD_PAGE or\nPF_SPREAD_SLAB, respectively, for each task that is in the cpuset or\nsubsequently joins that cpuset.  In subsequent patches, the page allocation\ncalls for the affected page cache and slab caches are modified to perform an\ninline check for these flags, and if set, a call to a new routine\ncpuset_mem_spread_node() returns the node to prefer for the allocation.\n\nThe cpuset_mem_spread_node() routine is also simple.  It uses the value of a\nper-task rotor cpuset_mem_spread_rotor to select the next node in the current\ntasks mems_allowed to prefer for the allocation.\n\nThis policy can provide substantial improvements for jobs that need to place\nthread local data on the corresponding node, but that need to access large\nfile system data sets that need to be spread across the several nodes in the\njobs cpuset in order to fit.  Without this patch, especially for jobs that\nmight have one thread reading in the data set, the memory allocation across\nthe nodes in the jobs cpuset can become very uneven.\n\nA couple of Copyright year ranges are updated as well.  And a couple of email\naddresses that can be found in the MAINTAINERS file are removed.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a39cc60bfa5a72f32d975729a354daca124f6de",
      "tree": "c8a364e6fc5186293bca85152c442a4a23df4822",
      "parents": [
        "7b5b9ef0e17d52c188fe73ea78e884fe67079e6c"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpuset use combined atomic_inc_return calls\n\nReplace pairs of calls to \u003catomic_inc, atomic_read\u003e, with a single call\natomic_inc_return, saving a few bytes of source and kernel text.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b5b9ef0e17d52c188fe73ea78e884fe67079e6c",
      "tree": "6f131575486edc261e20bbcdb2f73ec28d159e91",
      "parents": [
        "0b1303fcf23678ee1785841fb0c770a35cd0833c"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpuset cleanup not not operators\n\nSince the test_bit() bit operator is boolean (return 0 or 1), the double not\n\"!!\" operations needed to convert a scalar (zero or not zero) to a boolean are\nnot needed.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b1303fcf23678ee1785841fb0c770a35cd0833c",
      "tree": "78b90c2766f8468b39363bd4525ebaa9b192aa8f",
      "parents": [
        "95c3832272fc77ea3e31f6382f82ba17be985cc7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Mar 24 03:15:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpusets: only wakeup kswapd for zones in the current cpuset\n\nIf we get under some memory pressure in a cpuset (we only scan zones that\nare in the cpuset for memory) then kswapd is woken up for all zones.  This\npatch only wakes up kswapd in zones that are part of the current cpuset.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "95c3832272fc77ea3e31f6382f82ba17be985cc7"
}
