)]}'
{
  "log": [
    {
      "commit": "e6c08367b8fc6dce6dfd1106f53f6ef28215b313",
      "tree": "fa5bb7071fdcd61d3296e5d0be224d864cb1d166",
      "parents": [
        "03d78d11d92b5ed688bb18167b05d9d01493e175"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Sun Jan 08 01:02:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:50 2006 -0800"
      },
      "message": "[PATCH] relayfs: add support for global relay buffers\n\nThis patch adds the optional is_global outparam to the create_buf_file()\ncallback.  This can be used by clients to create a single global relayfs\nbuffer instead of the default per-cpu buffers.  This was suggested as being\nuseful for certain debugging applications where it\u0027s more convenient to be\nable to get all the data from a single channel without having to go to the\nbother of dealing with per-cpu files.\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "08c541a7ade230883c48225f4ea406a0117e7c2f",
      "tree": "23288deb876a8bdd07569d1eb8eacd38585c2932",
      "parents": [
        "925ac8a2b637466ba0ad8dfaf7b49aa9a362502f"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Sun Jan 08 01:02:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:50 2006 -0800"
      },
      "message": "[PATCH] relayfs: add support for relay files in other filesystems\n\nThis patch adds a couple of callback functions that allow a client to hook\ninto relay_open()/close() and supply the files that will be used to represent\nthe channel buffers; the default implementation if no callbacks are defined is\nto create the files in relayfs.  This is to support the creation and use of\nrelay files in other filesystems such as debugfs, as implied by the fact that\nrelayfs_file_operations are exported.\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aaea25d7a68a7f72e167dc1698b66a15edc71883",
      "tree": "2aef3767e751099aa05203fa5e255a639d430f94",
      "parents": [
        "51008f9f95a4c3158151a75f88fb03fb0f646aba"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Sun Jan 08 01:02:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:50 2006 -0800"
      },
      "message": "[PATCH] relayfs: remove unused alloc/destroy_inode()\n\nSince we\u0027re no longer using relayfs_inode_info, remove relayfs_alloc_inode()\nand relayfs_destroy_inode() along with the relayfs inode cache.\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7431733791feb0b19453d8047b0723c744667040",
      "tree": "9521c656ba72bac4de8e29a8f1c22881c3b3d1ad",
      "parents": [
        "907f2c77d1653ce235e8e1fd6ce5c46005814e78"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Sun Jan 08 01:02:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:49 2006 -0800"
      },
      "message": "[PATCH] relayfs: add relayfs_remove_file()\n\nThis patch adds and exports relayfs_remove_file(), for API symmetry (with\nrelayfs_create_file()).\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "907f2c77d1653ce235e8e1fd6ce5c46005814e78",
      "tree": "dddb1fb14c4be54b066585235c97a36460e8faff",
      "parents": [
        "6625b861f8f0e429902b8671b3e70792cd99074e"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Sun Jan 08 01:02:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:49 2006 -0800"
      },
      "message": "[PATCH] relayfs: export relayfs_create_file() with fileops param\n\nThis patch adds a mandatory fileops param to relayfs_create_file() and exports\nthat function so that clients can use it to create files defined by their own\nset of file operations, in relayfs.  The purpose is to allow relayfs\napplications to create their own set of \u0027control\u0027 files alongside their relay\nfiles in relayfs rather than having to create them in /proc or debugfs for\ninstance.  relayfs_create_file() is also used by relay_open_buf() to create\nthe relay files for a channel.  In this case, a pointer to\nrelayfs_file_operations is passed in, along with a pointer to the buffer\nassociated with the file.\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b3f3d6141f8636f627bf19fd44eaf59a52637ac8",
      "tree": "849950ee2e5f3adefeec45d09c8bcf78e1c3e66a",
      "parents": [
        "095975da26dba21698582e91e96be10f7417333f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Jan 08 01:02:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:49 2006 -0800"
      },
      "message": "[PATCH] ELF: symbol table type additions\n\nNeeded for the Novell kernel debugger and perhaps some per-cpu data on x86_64\nin the future.\n\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": "095975da26dba21698582e91e96be10f7417333f",
      "tree": "ce1ffac556d394ef56a18faa97d38f79b07f31e2",
      "parents": [
        "a57004e1afb6ee03c509f1b1ec74a000682ab93b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Jan 08 01:02:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:48 2006 -0800"
      },
      "message": "[PATCH] rcu file: use atomic primitives\n\nUse atomic_inc_not_zero for rcu files instead of special case rcuref.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2a10e0b28b196051ae71829e5b989cba00513289",
      "tree": "52dfa9a64cfb3dd01fa1ee1150d589481e54e28e",
      "parents": [
        "28fd129827b00e12829d48a5290f46277600619b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jan 08 01:02:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:47 2006 -0800"
      },
      "message": "[PATCH] move rtc_interrupt() prototype to rtc.h\n\nThis patch moves the rtc_interrupt() prototype to rtc.h and removes the\nprototypes from C files.\n\nIt also renames static rtc_interrupt() functions in\narch/arm/mach-integrator/time.c and arch/sh64/kernel/time.c to avoid compile\nproblems.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Paul Gortmaker \u003cp_gortmaker@yahoo.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05eb0b51fb46430050d5873458612f53e0234f2e",
      "tree": "88b9398079f53f29dff7533fb27487ae725983b1",
      "parents": [
        "268fc16e343b4f8e249468747db2e658da46a814"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jan 08 01:02:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:47 2006 -0800"
      },
      "message": "[PATCH] fat: support a truncate() for expanding size (generic_cont_expand)\n\nThis patch changes generic_cont_expand(), in order to share the code\nwith fatfs.\n\n  - Use vmtruncate() if -\u003eprepare_write() returns a error.\n\nEven if -\u003eprepare_write() returns an error, it may already have added some\nblocks.  So, this truncates blocks outside of -\u003ei_size by vmtruncate().\n\n  - Add generic_cont_expand_simple().\n\nThe generic_cont_expand_simple() assumes that -\u003eprepare_write() can handle\nthe block boundary.  With this, we don\u0027t need to care the extra byte.\n\nAnd for expanding a file size by truncate(), fatfs uses the\nadded generic_cont_expand_simple().\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "268fc16e343b4f8e249468747db2e658da46a814",
      "tree": "871a1b1ad8250d1f5b0e4585fe32d00f90443bd3",
      "parents": [
        "e5174baaea7585760f02eef23b225847d209a8db"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jan 08 01:02:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:47 2006 -0800"
      },
      "message": "[PATCH] export/change sync_page_range/_nolock()\n\nThis exports/changes the sync_page_range/_nolock().  The fatfs needs\nsync_page_range/_nolock() for expanding truncate, and changes \"size_t count\"\nto \"loff_t count\".\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5174baaea7585760f02eef23b225847d209a8db",
      "tree": "34198b0f205a91670104abc800ec560e14296db3",
      "parents": [
        "7c709d00d614d0f2b6a80895b2a1aedbe04e8478"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jan 08 01:02:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:46 2006 -0800"
      },
      "message": "[PATCH] fat: support -\u003edirect_IO()\n\nThis patch add to support of -\u003edirect_IO() for mostly read.\n\nThe user of this seems to want to use for streaming read.  So, current direct\nI/O has limitation, it can only overwrite.  (For write operation, mainly we\nneed to handle the hole etc..)\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ded96f24c3a5fcbef954e88c443385a1af37eb9",
      "tree": "49f43337e2b8d63a5a28402a15d99fe27d8d2a1c",
      "parents": [
        "705b6c7b34f2621f95f606d0e683daa10cdb8eb9"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Sun Jan 08 01:02:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:46 2006 -0800"
      },
      "message": "[PATCH] IRQ type flags\n\nSome ARM platforms have the ability to program the interrupt controller to\ndetect various interrupt edges and/or levels.  For some platforms, this is\ncritical to setup correctly, particularly those which the setting is dependent\non the device.\n\nCurrently, ARM drivers do (eg) the following:\n\n\terr \u003d request_irq(irq, ...);\n\n\tset_irq_type(irq, IRQT_RISING);\n\nHowever, if the interrupt has previously been programmed to be level sensitive\n(for whatever reason) then this will cause an interrupt storm.\n\nHence, if we combine set_irq_type() with request_irq(), we can then safely set\nthe type prior to unmasking the interrupt.  The unfortunate problem is that in\norder to support this, these flags need to be visible outside of the ARM\narchitecture - drivers such as smc91x need these flags and they\u0027re\ncross-architecture.\n\nFinally, the SA_TRIGGER_* flag passed to request_irq() should reflect the\nproperty that the device would like.  The IRQ controller code should do its\nbest to select the most appropriate supported mode.\n\nSigned-off-by: Russell King \u003crmk+kernel@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": "705b6c7b34f2621f95f606d0e683daa10cdb8eb9",
      "tree": "70c93fddc9534f5c9e8b22b79d07ea70747725b3",
      "parents": [
        "de25968cc87cc5b76d09de8b4cbddc8f24fcf5f7"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Sun Jan 08 01:02:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:45 2006 -0800"
      },
      "message": "[PATCH] new driver synclink_gt\n\nNew character device driver for the SyncLink GT and SyncLink AC families of\nsynchronous and asynchronous serial adapters\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de25968cc87cc5b76d09de8b4cbddc8f24fcf5f7",
      "tree": "1435a31f422039999b728ab326145a2bd5912d4e",
      "parents": [
        "03a285f58064b8e0af08383e082e383753d9c33e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Sun Jan 08 01:02:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:45 2006 -0800"
      },
      "message": "[PATCH] fix more missing includes\n\nInclude fixes for 2.6.14-git11.  Should allow to remove sched.h from\nmodule.h on i386, x86_64, arm, ia64, ppc, ppc64, and s390.  Probably more\nto come since I haven\u0027t yet checked the other archs.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c417f0242ebe578924a30d4e53d35b5059fed4e7",
      "tree": "3058c7c79aedb11e7013f5faca34eb07e9a761bd",
      "parents": [
        "04c19fa6f16047abff2288ddbc1f0798ede5a849"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:02:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:44 2006 -0800"
      },
      "message": "[PATCH] cpuset: remove test for null cpuset from alloc code path\n\nRemove a couple of more lines of code from the cpuset hooks in the page\nallocation code path.\n\nThere was a check for a NULL cpuset pointer in the routine\ncpuset_update_task_memory_state() that was only needed during system boot,\nafter the memory subsystem was initialized, before the cpuset subsystem was\ninitialized, to catch a NULL task-\u003ecpuset pointer.\n\nAdd a cpuset_init_early() routine, just before the mem_init() call in\ninit/main.c, that sets up just enough of the init tasks cpuset structure to\nrender cpuset_update_task_memory_state() calls harmless.\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": "4225399a66b315d4d1fb1cb61b75dda201c832e3",
      "tree": "c8bd976bc6590c5fe859c6129abb93072d99cfa8",
      "parents": [
        "202f72d5d1b5c2c084f63ef996c736d208b447b5"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:01:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:44 2006 -0800"
      },
      "message": "[PATCH] cpuset: rebind vma mempolicies fix\n\nFix more of longstanding bug in cpuset/mempolicy interaction.\n\nNUMA mempolicies (mm/mempolicy.c) are constrained by the current tasks cpuset\nto just the Memory Nodes allowed by that cpuset.  The kernel maintains\ninternal state for each mempolicy, tracking what nodes are used for the\nMPOL_INTERLEAVE, MPOL_BIND or MPOL_PREFERRED policies.\n\nWhen a tasks cpuset memory placement changes, whether because the cpuset\nchanged, or because the task was attached to a different cpuset, then the\ntasks mempolicies have to be rebound to the new cpuset placement, so as to\npreserve the cpuset-relative numbering of the nodes in that policy.\n\nAn earlier fix handled such mempolicy rebinding for mempolicies attached to a\ntask.\n\nThis fix rebinds mempolicies attached to vma\u0027s (address ranges in a tasks\naddress space.) Due to the need to hold the task-\u003emm-\u003emmap_sem semaphore while\nupdating vma\u0027s, the rebinding of vma mempolicies has to be done when the\ncpuset memory placement is changed, at which time mmap_sem can be safely\nacquired.  The tasks mempolicy is rebound later, when the task next attempts\nto allocate memory and notices that its task-\u003ecpuset_mems_generation is\nout-of-date with its cpusets mems_generation.\n\nBecause walking the tasklist to find all tasks attached to a changing cpuset\nrequires holding tasklist_lock, a spinlock, one cannot update the vma\u0027s of the\naffected tasks while doing the tasklist scan.  In general, one cannot acquire\na semaphore (which can sleep) while already holding a spinlock (such as\ntasklist_lock).  So a list of mm references has to be built up during the\ntasklist scan, then the tasklist lock dropped, then for each mm, its mmap_sem\nacquired, and the vma\u0027s in that mm rebound.\n\nOnce the tasklist lock is dropped, affected tasks may fork new tasks, before\ntheir mm\u0027s are rebound.  A kernel global \u0027cpuset_being_rebound\u0027 is set to\npoint to the cpuset being rebound (there can only be one; cpuset modifications\nare done under a global \u0027manage_sem\u0027 semaphore), and the mpol_copy code that\nis used to copy a tasks mempolicies during fork catches such forking tasks,\nand ensures their children are also rebound.\n\nWhen a task is moved to a different cpuset, it is easier, as there is only one\ntask involved.  It\u0027s mm-\u003evma\u0027s are scanned, using the same\nmpol_rebind_policy() as used above.\n\nIt may happen that both the mpol_copy hook and the update done via the\ntasklist scan update the same mm twice.  This is ok, as the mempolicies of\neach vma in an mm keep track of what mems_allowed they are relative to, and\nsafely no-op a second request to rebind to the same nodes.\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": "202f72d5d1b5c2c084f63ef996c736d208b447b5",
      "tree": "f50551f9588f9090fee17130614e17a2dd64c656",
      "parents": [
        "74cb21553f4bf244185b9bec4c26e4e3169ad55e"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:01:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:44 2006 -0800"
      },
      "message": "[PATCH] cpuset: number_of_cpusets optimization\n\nEasy little optimization hack to avoid actually having to call\ncpuset_zone_allowed() and check mems_allowed, in the main page allocation\nroutine, __alloc_pages().  This saves several CPU cycles per page allocation\non systems not using cpusets.\n\nA counter is updated each time a cpuset is created or removed, and whenever\nthere is only one cpuset in the system, it must be the root cpuset, which\ncontains all CPUs and all Memory Nodes.  In that case, when the counter is\none, all allocations are allowed.\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": "74cb21553f4bf244185b9bec4c26e4e3169ad55e",
      "tree": "3f8f13e8dacc8f0876b01f62765a123ce1722b17",
      "parents": [
        "909d75a3b77bdd8baa9429bad3b69a654d2954ce"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:01:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:44 2006 -0800"
      },
      "message": "[PATCH] cpuset: numa_policy_rebind cleanup\n\nCleanup, reorganize and make more robust the mempolicy.c code to rebind\nmempolicies relative to the containing cpuset after a tasks memory placement\nchanges.\n\nThe real motivator for this cleanup patch is to lay more groundwork for the\nupcoming patch to correctly rebind NUMA mempolicies that are attached to vma\u0027s\nafter the containing cpuset memory placement changes.\n\nNUMA mempolicies are constrained by the cpuset their task is a member of.\nWhen either (1) a task is moved to a different cpuset, or (2) the \u0027mems\u0027\nmems_allowed of a cpuset is changed, then the NUMA mempolicies have embedded\nnode numbers (for MPOL_BIND, MPOL_INTERLEAVE and MPOL_PREFERRED) that need to\nbe recalculated, relative to their new cpuset placement.\n\nThe old code used an unreliable method of determining what was the old\nmems_allowed constraining the mempolicy.  It just looked at the tasks\nmems_allowed value.  This sort of worked with the present code, that just\nrebinds the -task- mempolicy, and leaves any -vma- mempolicies broken,\nreferring to the old nodes.  But in an upcoming patch, the vma mempolicies\nwill be rebound as well.  Then the order in which the various task and vma\nmempolicies are updated will no longer be deterministic, and one can no longer\ncount on the task-\u003emems_allowed holding the old value for as long as needed.\nIt\u0027s not even clear if the current code was guaranteed to work reliably for\ntask mempolicies.\n\nSo I added a mems_allowed field to each mempolicy, stating exactly what\nmems_allowed the policy is relative to, and updated synchronously and reliably\nanytime that the mempolicy is rebound.\n\nAlso removed a useless wrapper routine, numa_policy_rebind(), and had its\ncaller, cpuset_update_task_memory_state(), call directly to the rewritten\npolicy_rebind() routine, and made that rebind routine extern instead of\nstatic, and added a \"mpol_\" prefix to its name, making it\nmpol_rebind_policy().\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": "909d75a3b77bdd8baa9429bad3b69a654d2954ce",
      "tree": "f9955ff697b7569fc75e5b8683d886315f34ac49",
      "parents": [
        "cf2a473c4089aa41c26f653200673f5a4cc25047"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:01:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:44 2006 -0800"
      },
      "message": "[PATCH] cpuset: implement cpuset_mems_allowed\n\nProvide a cpuset_mems_allowed() method, which the sys_migrate_pages() code\nneeded, to obtain the mems_allowed vector of a cpuset, and replaced the\nworkaround in sys_migrate_pages() to call this new method.\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": "cf2a473c4089aa41c26f653200673f5a4cc25047",
      "tree": "0bce21f4684a382b13e93ba5b85409cf5eab1c2c",
      "parents": [
        "b4b2641843db124637fa3d2cb2101982035dcc82"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:01:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:43 2006 -0800"
      },
      "message": "[PATCH] cpuset: combine refresh_mems and update_mems\n\nThe important code paths through alloc_pages_current() and alloc_page_vma(),\nby which most kernel page allocations go, both called\ncpuset_update_current_mems_allowed(), which in turn called refresh_mems().\n-Both- of these latter two routines did a tasklock, got the tasks cpuset\npointer, and checked for out of date cpuset-\u003emems_generation.\n\nThat was a silly duplication of code and waste of CPU cycles on an important\ncode path.\n\nConsolidated those two routines into a single routine, called\ncpuset_update_task_memory_state(), since it updates more than just\nmems_allowed.\n\nChanged all callers of either routine to call the new consolidated routine.\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": "3e0d98b9f1eb757fc98efc84e74e54a08308aa73",
      "tree": "7cf1c75994f734ede7ec89373de640c4a58b237a",
      "parents": [
        "5966514db662fb24c9bb43226a80106bcffd51f8"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:01:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:42 2006 -0800"
      },
      "message": "[PATCH] cpuset: memory pressure meter\n\nProvide a simple per-cpuset metric of memory pressure, tracking the -rate-\nthat the tasks in a cpuset call try_to_free_pages(), the synchronous\n(direct) memory reclaim code.\n\nThis enables batch managers monitoring jobs running in dedicated cpusets to\nefficiently detect what level of memory pressure that job is causing.\n\nThis is useful both on tightly managed systems running a wide mix of\nsubmitted jobs, which may choose to terminate or reprioritize jobs that are\ntrying to use more memory than allowed on the nodes assigned them, and with\ntightly coupled, long running, massively parallel scientific computing jobs\nthat will dramatically fail to meet required performance goals if they\nstart to use more memory than allowed to them.\n\nThis patch just provides a very economical way for the batch manager to\nmonitor a cpuset for signs of memory pressure.  It\u0027s up to the batch\nmanager or other user code to decide what to do about it and take action.\n\n\u003d\u003d\u003e Unless this feature is enabled by writing \"1\" to the special file\n    /dev/cpuset/memory_pressure_enabled, the hook in the rebalance\n    code of __alloc_pages() for this metric reduces to simply noticing\n    that the cpuset_memory_pressure_enabled flag is zero.  So only\n    systems that enable this feature will compute the metric.\n\nWhy a per-cpuset, running average:\n\n    Because this meter is per-cpuset, rather than per-task or mm, the\n    system load imposed by a batch scheduler monitoring this metric is\n    sharply reduced on large systems, because a scan of the tasklist can be\n    avoided on each set of queries.\n\n    Because this meter is a running average, instead of an accumulating\n    counter, a batch scheduler can detect memory pressure with a single\n    read, instead of having to read and accumulate results for a period of\n    time.\n\n    Because this meter is per-cpuset rather than per-task or mm, the\n    batch scheduler can obtain the key information, memory pressure in a\n    cpuset, with a single read, rather than having to query and accumulate\n    results over all the (dynamically changing) set of tasks in the cpuset.\n\nA per-cpuset simple digital filter (requires a spinlock and 3 words of data\nper-cpuset) is kept, and updated by any task attached to that cpuset, if it\nenters the synchronous (direct) page reclaim code.\n\nA per-cpuset file provides an integer number representing the recent\n(half-life of 10 seconds) rate of direct page reclaims caused by the tasks\nin the cpuset, in units of reclaims attempted per second, times 1000.\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": "5966514db662fb24c9bb43226a80106bcffd51f8",
      "tree": "9c6d8f4f6fee0d6574de7e225141d37b28811dc3",
      "parents": [
        "96b7f34143c2c823a6a750fcb758fc66c44945d2"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:01:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:42 2006 -0800"
      },
      "message": "[PATCH] cpuset: mempolicy one more nodemask conversion\n\nFinish converting mm/mempolicy.c from bitmaps to nodemasks.  The previous\nconversion had left one routine using bitmaps, since it involved a\ncorresponding change to kernel/cpuset.c\n\nFix that interface by replacing with a simple macro that calls nodes_subset(),\nor if !CONFIG_CPUSET, returns (1).\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "10cef6029502915bdb3cf0821d425cf9dc30c817",
      "tree": "2c9dfef95d58b64dcf4cdf3c32b18164928b438e",
      "parents": [
        "30992c97ae9d01b17374fbfab76a869fb4bba500"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun Jan 08 01:01:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:41 2006 -0800"
      },
      "message": "[PATCH] slob: introduce the SLOB allocator\n\nconfigurable replacement for slab allocator\n\nThis adds a CONFIG_SLAB option under CONFIG_EMBEDDED.  When CONFIG_SLAB is\ndisabled, the kernel falls back to using the \u0027SLOB\u0027 allocator.\n\nSLOB is a traditional K\u0026R/UNIX allocator with a SLAB emulation layer,\nsimilar to the original Linux kmalloc allocator that SLAB replaced.  It\u0027s\nsignicantly smaller code and is more memory efficient.  But like all\nsimilar allocators, it scales poorly and suffers from fragmentation more\nthan SLAB, so it\u0027s only appropriate for small systems.\n\nIt\u0027s been tested extensively in the Linux-tiny tree.  I\u0027ve also\nstress-tested it with make -j 8 compiles on a 3G SMP+PREEMPT box (not\nrecommended).\n\nHere\u0027s a comparison for otherwise identical builds, showing SLOB saving\nnearly half a megabyte of RAM:\n\n$ size vmlinux*\n   text    data     bss     dec     hex filename\n3336372  529360  190812 4056544  3de5e0 vmlinux-slab\n3323208  527948  190684 4041840  3dac70 vmlinux-slob\n\n$ size mm/{slab,slob}.o\n   text    data     bss     dec     hex filename\n  13221     752      48   14021    36c5 mm/slab.o\n   1896      52       8    1956     7a4 mm/slob.o\n\n/proc/meminfo:\n                  SLAB          SLOB      delta\nMemTotal:        27964 kB      27980 kB     +16 kB\nMemFree:         24596 kB      25092 kB    +496 kB\nBuffers:            36 kB         36 kB       0 kB\nCached:           1188 kB       1188 kB       0 kB\nSwapCached:          0 kB          0 kB       0 kB\nActive:            608 kB        600 kB      -8 kB\nInactive:          808 kB        812 kB      +4 kB\nHighTotal:           0 kB          0 kB       0 kB\nHighFree:            0 kB          0 kB       0 kB\nLowTotal:        27964 kB      27980 kB     +16 kB\nLowFree:         24596 kB      25092 kB    +496 kB\nSwapTotal:           0 kB          0 kB       0 kB\nSwapFree:            0 kB          0 kB       0 kB\nDirty:               4 kB         12 kB      +8 kB\nWriteback:           0 kB          0 kB       0 kB\nMapped:            560 kB        556 kB      -4 kB\nSlab:             1756 kB          0 kB   -1756 kB\nCommitLimit:     13980 kB      13988 kB      +8 kB\nCommitted_AS:     4208 kB       4208 kB       0 kB\nPageTables:         28 kB         28 kB       0 kB\nVmallocTotal:  1007312 kB    1007312 kB       0 kB\nVmallocUsed:        48 kB         48 kB       0 kB\nVmallocChunk:  1007264 kB    1007264 kB       0 kB\n\n(this work has been sponsored in part by CELF)\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n   Fix 32-bitness bugs in mm/slob.c.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\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": "d4829cd5b4bd1ea58ba1bebad44d562f4027c290",
      "tree": "c60f85fdb0233d7a8574b203aeac96d7570c583f",
      "parents": [
        "2d89c929078588aa9b9c674ef03ee9aa816b59b8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun Jan 08 01:01:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:40 2006 -0800"
      },
      "message": "[PATCH] remove get_task_struct_rcu()\n\nThe latest set of signal-RCU patches does not use get_task_struct_rcu().\nAttached is a patch that removes it.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e56d090310d7625ecb43a1eeebd479f04affb48b",
      "tree": "2f479215dff4a2d8f3a9ed85200a5bc4f51534be",
      "parents": [
        "4369ef3c3e9d3bd9b879580678778f558d481e90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 08 01:01:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:40 2006 -0800"
      },
      "message": "[PATCH] RCU signal handling\n\nRCU tasklist_lock and RCU signal handling: send signals RCU-read-locked\ninstead of tasklist_lock read-locked.  This is a scalability improvement on\nSMP and a preemption-latency improvement under PREEMPT_RCU.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: William Irwin \u003cwli@holomorphy.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8aaeacec159f2d9003872781fa4d49659e347fb",
      "tree": "f59dc7ae8fccc41e2ded098182a146086c6e2239",
      "parents": [
        "c66fdd5e324392584c6f11de65cfe24b0e2d9303"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jan 08 01:01:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:39 2006 -0800"
      },
      "message": "[PATCH] consolidate asm/futex.h\n\nMost of the architectures have the same asm/futex.h.  This consolidates them\ninto asm-generic, with the arches including it from their own asm/futex.h.\n\nIn the case of UML, this reverts the old broken futex.h and goes back to using\nthe same one as almost everyone else.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fd73c6b6737b7e6eacac1b00dac16e7540c3cb1",
      "tree": "e66dbe34118b289c6f89a23764e355ea62fa2c62",
      "parents": [
        "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:39 2006 -0800"
      },
      "message": "[PATCH] Kill L1_CACHE_SHIFT_MAX\n\nKill L1_CACHE_SHIFT from all arches.  Since L1_CACHE_SHIFT_MAX is not used\nanymore with the introduction of INTERNODE_CACHE, kill L1_CACHE_SHIFT_MAX.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05",
      "tree": "3887dc6f1eeb658d773be037971b98d6f5fb3dd7",
      "parents": [
        "6d524aed1f50b2b1d5b4ad5a4e2fe3f38106d0a6"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros\n\n____cacheline_maxaligned_in_smp is currently used to align critical structures\nand avoid false sharing.  It uses per-arch L1_CACHE_SHIFT_MAX and people find\nL1_CACHE_SHIFT_MAX useless.\n\nHowever, we have been using ____cacheline_maxaligned_in_smp to align\nstructures on the internode cacheline size.  As per Andi\u0027s suggestion,\nfollowing patch kills ____cacheline_maxaligned_in_smp and introduces\nINTERNODE_CACHE_SHIFT, which defaults to L1_CACHE_SHIFT for all arches.\nArches needing L3/Internode cacheline alignment can define\nINTERNODE_CACHE_SHIFT in the arch asm/cache.h.  Patch replaces\n____cacheline_maxaligned_in_smp with ____cacheline_internodealigned_in_smp\n\nWith this patch, L1_CACHE_SHIFT_MAX can be killed\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "41be6aef38c08f1f85ac1c4bd8191b0d1ec61b4c",
      "tree": "50c3cca13c3c069fb2061bcf324ff553128c6700",
      "parents": [
        "5c15d41bab185431a9a28982b5aaac251dde4556"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] frv: miscellaneous changes\n\nFix a number of miscellanous items:\n\n (1) Declare lock sections in the linker script.\n\n (2) Recurse in the correct manner in the arch makefile.\n\n (3) asm/bug.h requires asm/linkage.h to be included first. One C file puts\n     asm/bug.h first.\n\n (4) Add an empty RTC header file to avoid missing header file errors.\n\n (5) sg_dma_address() should use the dma_address member of a scatter list.\n\n (6) Add trivial pci_unmap support.\n\n (7) Add pgprot_noncached()\n\n (8) Discard u_quad_t.\n\n (9) Use ~0UL rather than ULONG_MAX in unistd.h in case the latter isn\u0027t\n     declared.\n\n(10) Add an empty VGA header file to avoid missing header file errors.\n\n(11) Add an XOR header file to use the generic XOR stuff.\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": "5c15d41bab185431a9a28982b5aaac251dde4556",
      "tree": "5cc009ca5a0822f32f73961556a0a4401a38e8c9",
      "parents": [
        "f8aec7573b87d2bc09cafab459476953353d2efa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] frv: make get_user macro cast pointers\n\nMake the get_user macro cast the source pointer to an appropriate type for the\nspecified size.\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": "00d76710c253341b1e84795923e59ccdb099628f",
      "tree": "0865a6f51fc6034a40dc7e35fad882b7e181e0a1",
      "parents": [
        "a90a72c85fb202d0b172da27d8df2579b6591783"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:37 2006 -0800"
      },
      "message": "[PATCH] frv: add module support stubs\n\nAdd stubs for FRV module support.\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": "a90a72c85fb202d0b172da27d8df2579b6591783",
      "tree": "6876226fe257b0f191031492d83714f000a78d25",
      "parents": [
        "018b8d12bc85f8fb332239b11d919ea0724c49a4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:36 2006 -0800"
      },
      "message": "[PATCH] frv: supply various missing I/O access primitives\n\nSupply various I/O access primitives that are missing for the FRV arch:\n\n (*) mmiowb()\n\n (*) read*_relaxed()\n\n (*) ioport_*map()\n\n (*) ioread*(), iowrite*(), ioread*_rep() and iowrite*_rep()\n\n (*) pci_io*map()\n\n (*) check_signature()\n\nThe patch also makes __is_PCI_addr() more efficient.\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": "2fa9e7e2dce6aafecc1890461bdc00d78897be8b",
      "tree": "ea17c2801b5f9b59027641cb1aebc87d83397363",
      "parents": [
        "2919b51075b3906c2f476e5a932244af1947bf80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:36 2006 -0800"
      },
      "message": "[PATCH] frv: drop 8/16-bit xchg and cmpxchg\n\nDrop support for 8-bit and 16-bit xchg and cmpxchg emulation and implements\n32-bit xchg with the SWAP/SWAPI instruction.\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": "48fce3429df84a94766fbbc845fa8450d0715b48",
      "tree": "4458b95a0ef8a1896049415a0e3fc8a0e89d340a",
      "parents": [
        "132beacf9785d2e6e8aecb59aa078f3ca5668fa6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:01:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:44 2006 -0800"
      },
      "message": "[PATCH] mempolicies: unexport get_vma_policy()\n\nSince the numa_maps functionality is now in mempolicy.c we no longer need to\nexport get_vma_policy().\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "152194aaa6266d71dfee57882a23def339ef17a4",
      "tree": "9af269a9f4c14e549c719207b0856da32ddec746",
      "parents": [
        "aea47ff363c15b0be5fc27ed991b1fdee338f0a7"
      ],
      "author": {
        "name": "Avishay Traeger",
        "email": "atraeger@cs.sunysb.edu",
        "time": "Sun Jan 08 01:00:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:43 2006 -0800"
      },
      "message": "[PATCH] set_page_count() macro safety\n\nFix set_page_count() macro to handle complex arguments.\n\nSigned-off-by: Avishay Traeger \u003catraeger@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45b07ef31d1182d2cfde7711327e3afb268bb1ac",
      "tree": "3bf820531f920b43d4ed963643b1f565c82bcaa4",
      "parents": [
        "d0d963281ccb22e6f339bfdd75c6b2e31351929f"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sun Jan 08 01:00:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:43 2006 -0800"
      },
      "message": "[PATCH] cpusets: swap migration interface\n\nAdd a boolean \"memory_migrate\" to each cpuset, represented by a file\ncontaining \"0\" or \"1\" in each directory below /dev/cpuset.\n\nIt defaults to false (file contains \"0\").  It can be set true by writing\n\"1\" to the file.\n\nIf true, then anytime that a task is attached to the cpuset so marked, the\npages of that task will be moved to that cpuset, preserving, to the extent\npractical, the cpuset-relative placement of the pages.\n\nAlso anytime that a cpuset so marked has its memory placement changed (by\nwriting to its \"mems\" file), the tasks in that cpuset will have their pages\nmoved to the cpusets new nodes, preserving, to the extent practical, the\ncpuset-relative placement of the moved pages.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d498471133ff1f9586a06820beaeebc575fe2814",
      "tree": "c7cde93441692e3b32d83dfbf85858ab2d85e481",
      "parents": [
        "ee27497df36823f2793212cad0997c044eb0e1eb"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] SwapMig: Extend parameters for migrate_pages()\n\nExtend the parameters of migrate_pages() to allow the caller control over the\nfate of successfully migrated or impossible to migrate pages.\n\nSwap migration and direct migration will have the same interface after this\npatch so that patches can be independently applied to the policy layer and the\ncore migration code.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1480a540c98525640174a7eadd712378fcd6fd63",
      "tree": "28f2cc0aa819ff0aed30dd85bb16177d4a73002b",
      "parents": [
        "8419c3181086c86664e8246bc997afc2e4ffba4f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] SwapMig: add_to_swap() avoid atomic allocations\n\nAdd gfp_mask to add_to_swap\n\nadd_to_swap does allocations with GFP_ATOMIC in order not to interfere with\nswapping.  During migration we may have use add_to_swap extensively which may\nlead to out of memory errors.\n\nThis patch makes add_to_swap take a parameter that specifies the gfp mask.\nThe page migration code can then make add_to_swap use GFP_KERNEL.\n\nSigned-off-by: Hirokazu Takahashi \u003ctaka@valinux.co.jp\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8419c3181086c86664e8246bc997afc2e4ffba4f",
      "tree": "25938e6f99bdaaffe8f6d357582eca56692b091c",
      "parents": [
        "39743889aaf76725152f16aa90ca3c45f6d52da3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] SwapMig: CONFIG_MIGRATION fixes\n\nMove move_to_lru, putback_lru_pages and isolate_lru in section surrounded by\nCONFIG_MIGRATION saving some codesize for single processor kernels.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39743889aaf76725152f16aa90ca3c45f6d52da3",
      "tree": "2a6f658d03dbbd9428934c5e030230a4acb6d5e0",
      "parents": [
        "dc9aa5b9d65fd11b1f5246b46ec610ee8b83c6dd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: sys_migrate_pages interface\n\nsys_migrate_pages implementation using swap based page migration\n\nThis is the original API proposed by Ray Bryant in his posts during the first\nhalf of 2005 on linux-mm@kvack.org and linux-kernel@vger.kernel.org.\n\nThe intent of sys_migrate is to migrate memory of a process.  A process may\nhave migrated to another node.  Memory was allocated optimally for the prior\ncontext.  sys_migrate_pages allows to shift the memory to the new node.\n\nsys_migrate_pages is also useful if the processes available memory nodes have\nchanged through cpuset operations to manually move the processes memory.  Paul\nJackson is working on an automated mechanism that will allow an automatic\nmigration if the cpuset of a process is changed.  However, a user may decide\nto manually control the migration.\n\nThis implementation is put into the policy layer since it uses concepts and\nfunctions that are also needed for mbind and friends.  The patch also provides\na do_migrate_pages function that may be useful for cpusets to automatically\nmove memory.  sys_migrate_pages does not modify policies in contrast to Ray\u0027s\nimplementation.\n\nThe current code here is based on the swap based page migration capability and\nthus is not able to preserve the physical layout relative to it containing\nnodeset (which may be a cpuset).  When direct page migration becomes available\nthen the implementation needs to be changed to do a isomorphic move of pages\nbetween different nodesets.  The current implementation simply evicts all\npages in source nodeset that are not in the target nodeset.\n\nPatch supports ia64, i386 and x86_64.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dc9aa5b9d65fd11b1f5246b46ec610ee8b83c6dd",
      "tree": "808da06f0bc8ab5189f1c315a2b99c85a33ed74c",
      "parents": [
        "7cbe34cf86c673503b177ff47cfa2c7030dabb50"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: MPOL_MF_MOVE interface\n\nAdd page migration support via swap to the NUMA policy layer\n\nThis patch adds page migration support to the NUMA policy layer.  An\nadditional flag MPOL_MF_MOVE is introduced for mbind.  If MPOL_MF_MOVE is\nspecified then pages that do not conform to the memory policy will be evicted\nfrom memory.  When they get pages back in new pages will be allocated\nfollowing the numa policy.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7cbe34cf86c673503b177ff47cfa2c7030dabb50",
      "tree": "9b39d7e8f11fed68242d1cb1f0c85dfcf96e3250",
      "parents": [
        "49d2e9cc4544369635cd6f4ef6d5bb0f757079a7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun Jan 08 01:00:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: Add CONFIG_MIGRATION for page migration support\n\nInclude page migration if the system is NUMA or having a memory model that\nallows distinct areas of memory (SPARSEMEM, DISCONTIGMEM).\n\nAnd:\n- Only include lru_add_drain_per_cpu if building for an SMP system.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "49d2e9cc4544369635cd6f4ef6d5bb0f757079a7",
      "tree": "d8c76c5224b05b812f96424a18b1e9205d90feae",
      "parents": [
        "930d915252edda7042c944ed3c30194a2f9fe163"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: migrate_pages() function\n\nThis adds the basic page migration function with a minimal implementation that\nonly allows the eviction of pages to swap space.\n\nPage eviction and migration may be useful to migrate pages, to suspend\nprograms or for remapping single pages (useful for faulty pages or pages with\nsoft ECC failures)\n\nThe process is as follows:\n\nThe function wanting to migrate pages must first build a list of pages to be\nmigrated or evicted and take them off the lru lists via isolate_lru_page().\nisolate_lru_page determines that a page is freeable based on the LRU bit set.\n\nThen the actual migration or swapout can happen by calling migrate_pages().\n\nmigrate_pages does its best to migrate or swapout the pages and does multiple\npasses over the list.  Some pages may only be swappable if they are not dirty.\n migrate_pages may start writing out dirty pages in the initial passes over\nthe pages.  However, migrate_pages may not be able to migrate or evict all\npages for a variety of reasons.\n\nThe remaining pages may be returned to the LRU lists using putback_lru_pages().\n\nChangelog V4-\u003eV5:\n- Use the lru caches to return pages to the LRU\n\nChangelog V3-\u003eV4:\n- Restructure code so that applying patches to support full migration does\n  require minimal changes. Rename swapout_pages() to migrate_pages().\n\nChangelog V2-\u003eV3:\n- Extract common code from shrink_list() and swapout_pages()\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Michael Kerrisk\" \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "930d915252edda7042c944ed3c30194a2f9fe163",
      "tree": "620452f11a9949943765b7a28e5b919f40f32b12",
      "parents": [
        "21eac81f252fe31c3cf64b805a1e8652192f3a3b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: PF_SWAPWRITE to allow writing to swap\n\nAdd PF_SWAPWRITE to control a processes permission to write to swap.\n\n- Use PF_SWAPWRITE in may_write_to_queue() instead of checking for kswapd\n  and pdflush\n\n- Set PF_SWAPWRITE flag for kswapd and pdflush\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "21eac81f252fe31c3cf64b805a1e8652192f3a3b",
      "tree": "255662bda67f54ffde484046fd9ab9b0900ab409",
      "parents": [
        "15316ba81aee6775d6079fb46c66c801989e7d10"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:41 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: LRU operations\n\nThis is the start of the `swap migration\u0027 patch series.\n\nSwap migration allows the moving of the physical location of pages between\nnodes in a numa system while the process is running.  This means that the\nvirtual addresses that the process sees do not change.  However, the system\nrearranges the physical location of those pages.\n\nThe main intent of page migration patches here is to reduce the latency of\nmemory access by moving pages near to the processor where the process\naccessing that memory is running.\n\nThe patchset allows a process to manually relocate the node on which its\npages are located through the MF_MOVE and MF_MOVE_ALL options while\nsetting a new memory policy.\n\nThe pages of process can also be relocated from another process using the\nsys_migrate_pages() function call.  Requires CAP_SYS_ADMIN.  The migrate_pages\nfunction call takes two sets of nodes and moves pages of a process that are\nlocated on the from nodes to the destination nodes.\n\nManual migration is very useful if for example the scheduler has relocated a\nprocess to a processor on a distant node.  A batch scheduler or an\nadministrator can detect the situation and move the pages of the process\nnearer to the new processor.\n\nsys_migrate_pages() could be used on non-numa machines as well, to force all\nof a particualr process\u0027s pages out to swap, if someone thinks that\u0027s useful.\n\nLarger installations usually partition the system using cpusets into sections\nof nodes.  Paul has equipped cpusets with the ability to move pages when a\ntask is moved to another cpuset.  This allows automatic control over locality\nof a process.  If a task is moved to a new cpuset then also all its pages are\nmoved with it so that the performance of the process does not sink\ndramatically (as is the case today).\n\nSwap migration works by simply evicting the page.  The pages must be faulted\nback in.  The pages are then typically reallocated by the system near the node\nwhere the process is executing.\n\nFor swap migration the destination of the move is controlled by the allocation\npolicy.  Cpusets set the allocation policy before calling sys_migrate_pages()\nin order to move the pages as intended.\n\nNo allocation policy changes are performed for sys_migrate_pages().  This\nmeans that the pages may not faulted in to the specified nodes if no\nallocation policy was set by other means.  The pages will just end up near the\nnode where the fault occurred.\n\nThere\u0027s another patch series in the pipeline which implements \"direct\nmigration\".\n\nThe direct migration patchset extends the migration functionality to avoid\ngoing through swap.  The destination node of the relation is controllable\nduring the actual moving of pages.  The crutch of using the allocation policy\nto relocate is not necessary and the pages are moved directly to the target.\nIts also faster since swap is not used.\n\nAnd sys_migrate_pages() can then move pages directly to the specified node.\nImplement functions to isolate pages from the LRU and put them back later.\n\nThis patch:\n\nAn earlier implementation was provided by Hirokazu Takahashi\n\u003ctaka@valinux.co.jp\u003e and IWAMOTO Toshihiro \u003ciwamoto@valinux.co.jp\u003e for the\nmemory hotplug project.\n\nFrom: Magnus\n\nThis breaks out isolate_lru_page() and putpack_lru_page().  Needed for swap\nmigration.\n\nSigned-off-by: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15316ba81aee6775d6079fb46c66c801989e7d10",
      "tree": "c6190bdcc6e15fd8b5657a5932313e296b475577",
      "parents": [
        "48db57f8ff10eb09ab887ccb6150b0da0c7be24e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun Jan 08 01:00:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] add schedule_on_each_cpu()\n\nswap migration\u0027s isolate_lru_page() currently uses an IPI to notify other\nprocessors that the lru caches need to be drained if the page cannot be\nfound on the LRU.  The IPI interrupt may interrupt a processor that is just\nprocessing lru requests and cause a race condition.\n\nThis patch introduces a new function run_on_each_cpu() that uses the\nkeventd() to run the LRU draining on each processor.  Processors disable\npreemption when dealing the LRU caches (these are per processor) and thus\nexecuting LRU draining from another process is safe.\n\nThanks to Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e for finding this race\ncondition.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ad4b1fb8205340dba16b63467bb23efc27264d6",
      "tree": "9f5c237ead93976e5454c5da5d3bba350a2419c5",
      "parents": [
        "9d0243bca345d5ce25d3f4b74b7facb3a6df1232"
      ],
      "author": {
        "name": "Rohit Seth",
        "email": "rohit.seth@intel.com",
        "time": "Sun Jan 08 01:00:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] Make high and batch sizes of per_cpu_pagelists configurable\n\nAs recently there has been lot of traffic on the right values for batch and\nhigh water marks for per_cpu_pagelists.  This patch makes these two\nvariables configurable through /proc interface.\n\nA new tunable /proc/sys/vm/percpu_pagelist_fraction is added.  This entry\ncontrols the fraction of pages at most in each zone that are allocated for\neach per cpu page list.  The min value for this is 8.  It means that we\ndon\u0027t allow more than 1/8th of pages in each zone to be allocated in any\nsingle per_cpu_pagelist.\n\nThe batch value of each per cpu pagelist is also updated as a result.  It\nis set to pcp-\u003ehigh/4.  The upper limit of batch is (PAGE_SHIFT * 8)\n\nSigned-off-by: Rohit Seth \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9d0243bca345d5ce25d3f4b74b7facb3a6df1232",
      "tree": "a3a0a763bf83a483282dc1c3caab587941a98fc2",
      "parents": [
        "bec6b0c89b234090681a4516e20ac5debe3e7c59"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:00:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] drop-pagecache\n\nAdd /proc/sys/vm/drop_caches.  When written to, this will cause the kernel to\ndiscard as much pagecache and/or reclaimable slab objects as it can.  THis\noperation requires root permissions.\n\nIt won\u0027t drop dirty data, so the user should run `sync\u0027 first.\n\nCaveats:\n\na) Holds inode_lock for exorbitant amounts of time.\n\nb) Needs to be taught about NUMA nodes: propagate these all the way through\n   so the discarding can be controlled on a per-node basis.\n\nThis is a debugging feature: useful for getting consistent results between\nfilesystem benchmarks.  We could possibly put it under a config option, but\nit\u0027s less than 300 bytes.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f9f7500521b25dbf1aba476b81230489ad8e2c4b",
      "tree": "f2bf2f64023c4968ac8d08da54b8aaef86354591",
      "parents": [
        "b792de39d892e06b18ddea85be076bae123d6bf6"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Jan 08 01:00:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:39 2006 -0800"
      },
      "message": "[PATCH] slab: remove unused align parameter from alloc_percpu\n\n__alloc_percpu and alloc_percpu both take an \u0027align\u0027 argument which is\ncompletely ignored.  snmp6_mib_init() in net/ipv6/af_inet6.c attempts to use\nit, but it will be ignored.  Therefore, remove the \u0027align\u0027 argument and fixup\nthe lone caller.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nAcked-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b792de39d892e06b18ddea85be076bae123d6bf6",
      "tree": "6604e19464fa0cce997bdb600074756ab1266fa8",
      "parents": [
        "4dab06fa7b6d07ee95c8bba5ddd0840633069159"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Sun Jan 08 01:00:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:39 2006 -0800"
      },
      "message": "[PATCH] Fix compilation with CONFIG_MEMORY_HOTPLUG\u003dy and gcc41.\n\nFix compilation with CONFIG_MEMORY_HOTPLUG\u003dy and gcc41.\nAlso remove unneeded declations, add a public function.\n\ndrivers/base/memory.c:53: error: static declaration of \u0027register_memory_notifier\u0027 follows non-static declaration\ninclude/linux/memory.h:85: error: previous declaration of \u0027register_memory_notifier\u0027 was here\ndrivers/base/memory.c:58: error: static declaration of \u0027unregister_memory_notifier\u0027 follows non-static declaration\ninclude/linux/memory.h:86: error: previous declaration of \u0027unregister_memory_notifier\u0027 was here\ndrivers/base/memory.c:68: error: static declaration of \u0027register_memory\u0027 follows non-static declaration\ninclude/linux/memory.h:73: error: previous declaration of \u0027register_memory\u0027 was here\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5998bf1ddb5fb236597190b2274d357add63fd7e",
      "tree": "ca05dbc0d17957e9d0adcf50f7868eb25cef3921",
      "parents": [
        "84c2008af01132c4ca257ed9b595693c611df15d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:00:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:38 2006 -0800"
      },
      "message": "[PATCH] asm-generic/atomic.h needs types.h\n\nFor BITS_PER_LONG\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97dc627fb3471664c72d0933790a90ba3f91e131",
      "tree": "89ca7c0856da17268c6f1c0a3d45fb07e4058741",
      "parents": [
        "f53b61d8c385140fe7f09e0c9187ae813ee9f330"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jan 07 13:23:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 07 13:23:39 2006 -0800"
      },
      "message": "[IPV4]: make ip_fragment() static\n\nSince there\u0027s no longer any external user of ip_fragment() we can make \nit static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f53b61d8c385140fe7f09e0c9187ae813ee9f330",
      "tree": "effe543a90c814b1b07aeeac7b1fc027b295669d",
      "parents": [
        "da7bc6ee8ee3976696fc740065362ca442eb61c9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:50:27 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:42 2006 -0800"
      },
      "message": "[NETFILTER]: Add dummy nf_hook{_thresh}() when NETFILTER is disabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e16a8f0b8c53312beb1d8b52e463aae79aa809c7",
      "tree": "2f8e8747261db640e3cc4a5ededb2bcd6a47dedf",
      "parents": [
        "eb9c7ebe6980c41cf6ae889e301c3b49f473ee9f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:06:48 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:38 2006 -0800"
      },
      "message": "[NETFILTER]: Add ipt_policy/ip6t_policy matches\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb9c7ebe6980c41cf6ae889e301c3b49f473ee9f",
      "tree": "419103d15b9de9c26c8400c698625231df55da91",
      "parents": [
        "b59c270104f03960069596722fea70340579244d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:06:30 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:37 2006 -0800"
      },
      "message": "[NETFILTER]: Handle NAT in IPsec policy checks\n\nHandle NAT of decapsulated IPsec packets by reconstructing the struct flowi\nof the original packet from the conntrack information for IPsec policy\nchecks.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c901daaea3be0d900b3ae1fc9b5f64ff94e4f02",
      "tree": "7532b280d892bab7fd9af98b02a3f81929ddca5d",
      "parents": [
        "4e8e9de7c25315669e2d5565acc50ec379522c28"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:05:36 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:35 2006 -0800"
      },
      "message": "[NETFILTER]: Redo policy lookups after NAT when neccessary\n\nWhen NAT changes the key used for the xfrm lookup it needs to be done\nagain. If a new policy is returned in POST_ROUTING the packet needs\nto be passed to xfrm4_output_one manually after all hooks were called\nbecause POST_ROUTING is called with fixed okfn (ip_finish_output).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e3850e989c5d2eb1aab6f0fd9257759f0f4cbc6",
      "tree": "fa05d1de4767bc30e77442ffbacfe8bd8dd2213d",
      "parents": [
        "8cdfab8a43bb4b3da686ea503a702cb6f9f6a803"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:04:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:33 2006 -0800"
      },
      "message": "[NETFILTER]: Fix xfrm lookup in ip_route_me_harder/ip6_route_me_harder\n\nip_route_me_harder doesn\u0027t use the port numbers of the xfrm lookup and\nuses ip_route_input for non-local addresses which doesn\u0027t do a xfrm\nlookup, ip6_route_me_harder doesn\u0027t do a xfrm lookup at all.\n\nUse xfrm_decode_session and do the lookup manually, make sure both\nonly do the lookup if the packet hasn\u0027t been transformed already.\n\nMakeing sure the lookup only happens once needs a new field in the\nIP6CB, which exceeds the size of skb-\u003ecb. The size of skb-\u003ecb is\nincreased to 48b. Apparently the IPv6 mobile extensions need some\nmore room anyway.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8cdfab8a43bb4b3da686ea503a702cb6f9f6a803",
      "tree": "9c4f42ff23f0e227e705aa5aae4f74e45297f3cb",
      "parents": [
        "b05e106698d9966de524e78d9da1bf6407fe0c32"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:04:01 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:32 2006 -0800"
      },
      "message": "[IPV4]: reset IPCB flags when neccessary\n\nReset IPSKB_XFRM_TUNNEL_SIZE flags in ipip and ip_gre hard_start_xmit\nfunction before the packet reenters IP. This is neccessary so the\nencapsulated packets are checked not to be oversized in xfrm4_output.c\nagain. Reset all flags in sit when a packet changes its address family.\n\nAlso remove some obsolete IPSKB flags.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b05e106698d9966de524e78d9da1bf6407fe0c32",
      "tree": "8a7c253b7249451941674805cccdaaba299dff6f",
      "parents": [
        "951dbc8ac714b04c36296b8b5c36c8e036ce433f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:03:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:31 2006 -0800"
      },
      "message": "[IPV4/6]: Netfilter IPsec input hooks\n\nWhen the innermost transform uses transport mode the decapsulated packet\nis not visible to netfilter. Pass the packet through the PRE_ROUTING and\nLOCAL_IN hooks again before handing it to upper layer protocols to make\nnetfilter-visibility symetrical to the output path.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "951dbc8ac714b04c36296b8b5c36c8e036ce433f",
      "tree": "7f3599987f6b6db765f66c65d5c1cefe1457ea6a",
      "parents": [
        "16a6677fdf1d1194f688f8291b06fbaff248c353"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:02:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:29 2006 -0800"
      },
      "message": "[IPV6]: Move nextheader offset to the IP6CB\n\nMove nextheader offset to the IP6CB to make it possible to pass a\npacket to ip6_input_finish multiple times and have it skip already\nparsed headers. As a nice side effect this gets rid of the manual\nhopopts skipping in ip6_input_finish.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16a6677fdf1d1194f688f8291b06fbaff248c353",
      "tree": "61badedc44ed88eb8f39e082d1abf114252cc686",
      "parents": [
        "ee2e6841b934d76cb944a3390bbea84da777d4fa"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:01:48 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:28 2006 -0800"
      },
      "message": "[XFRM]: Netfilter IPsec output hooks\n\nCall netfilter hooks before IPsec transforms. Packets visit the\nFORWARD/LOCAL_OUT and POST_ROUTING hook before the first encapsulation\nand the LOCAL_OUT and POST_ROUTING hook before each following tunnel mode\ntransform.\n\nPatch from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e:\n\nMove the loop from dst_output into xfrm4_output/xfrm6_output since they\u0027re\nthe only ones who need to it. xfrm{4,6}_output_one() processes the first SA\nall subsequent transport mode SAs and is called in a loop that calls the\nnetfilter hooks between each two calls.\n\nIn order to avoid the tail call issue, I\u0027ve added the inline function\nnf_hook which is nf_hook_slow plus the empty list check.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8995b161eb142b843094dd614b80e4cce1d66352",
      "tree": "ffd9988879441d5ec45ab96b2e06f4fcb1210158",
      "parents": [
        "cc918c7ab7da017bfaf9661420bb5c462e057cfb",
        "fe5dd7c73d328b255286b6b65ca19dd34447f709"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:45:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:45:22 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n"
    },
    {
      "commit": "cc918c7ab7da017bfaf9661420bb5c462e057cfb",
      "tree": "36198fe17267200131ec6c3df7c046a857f76b8d",
      "parents": [
        "f9c5d0451b406a6bd0d0bf1fdd63c7777af6ebc6",
        "dd68e88c72ac9ad25052065c4a443326eda6a052"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:44:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:44:22 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-serial\n"
    },
    {
      "commit": "f9c5d0451b406a6bd0d0bf1fdd63c7777af6ebc6",
      "tree": "717e9fc0044e9d94dd363670cacc2dff9d5b4407",
      "parents": [
        "d354d9afe923eb08f7ee89128b38ddb6415de01d",
        "f3e2628bed0d5a88ced8239b35f1534557f9631c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:43:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 07 10:43:40 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-mmc\n"
    },
    {
      "commit": "fe5dd7c73d328b255286b6b65ca19dd34447f709",
      "tree": "5b93364d88c1f214053003c75bdb0c94b7cdb0df",
      "parents": [
        "f8ce25476d5f12ffa29b885e49c38cd95053437e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 16:55:50 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 16:55:50 2006 +0000"
      },
      "message": "[ARM] byteorder.h needs linux/compiler.h\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "f8ce25476d5f12ffa29b885e49c38cd95053437e",
      "tree": "640fbdaacbf375f13feaf0eee49306d90b778b8a",
      "parents": [
        "de1d815fccee1f4766a7e56054ab0ec3f6f3a7db"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 16:15:52 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 16:15:52 2006 +0000"
      },
      "message": "[ARM] Move asm/hardware/clock.h to linux/clk.h\n\nThis is needs to be visible to other architectures using the AMBA\nbus and peripherals.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "123656d4cc8c946f578ebd18c2050f5251720428",
      "tree": "3d5432eff034a3b9cfdc98b37e245abe5695342d",
      "parents": [
        "a62c80e559809e6c7851ec04d30575e85ad6f6ed",
        "0aec63e67c69545ca757a73a66f5dcf05fa484bf"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 14:40:05 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 14:40:05 2006 +0000"
      },
      "message": "Merge with Linus\u0027 kernel.\n"
    },
    {
      "commit": "a62c80e559809e6c7851ec04d30575e85ad6f6ed",
      "tree": "7d91fd1f5186ad0d95498f65acfa5a10942133d6",
      "parents": [
        "6351610d6906aacbf9176cbdd045dd3876eec4c0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Jan 07 13:52:45 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 13:52:45 2006 +0000"
      },
      "message": "[ARM] Move AMBA include files to include/linux/amba/\n\nSince the ARM AMBA bus is used on MIPS as well as ARM, we need\nto make the bus available for other architectures to use.  Move\nthe AMBA include files from include/asm-arm/hardware/ to\ninclude/linux/amba/\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "6351610d6906aacbf9176cbdd045dd3876eec4c0",
      "tree": "af6219c7a958f91c4d62fd1622954ed91ed1a9e7",
      "parents": [
        "2c041f4b9be5cecbd0a042ecd9122a9db6f50416"
      ],
      "author": {
        "name": "Andre McCurdy",
        "email": "armcc2000@yahoo.com",
        "time": "Sat Jan 07 11:39:20 2006 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 07 11:39:20 2006 +0000"
      },
      "message": "[ARM] 3239/1: Add ARM optimised swab32\n\nPatch from Andre McCurdy\n\nReplaces generic swab32 routine with a more ARM friendly version.\nReduces kernel text size by approx 1200 bytes when compiled with\n3.4.4 and approx 2400 bytes with 4.0.2\n\nProbably some performance benefit as well.\n\nSigned-off-by: Andre McCurdy \u003carmccurdy@yahoo.co.uk\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "0feb9bfcfa3f9bf67a4a1e3f2608700ad73f92ed",
      "tree": "22c71657387b42787bc070502899a881ed909f39",
      "parents": [
        "d8d8f6a4fd635dcc9e4f946394c1fbde85eeab66",
        "ccf18968b1bbc2fb117190a1984ac2a826dac228"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:25:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:25:08 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6\n"
    },
    {
      "commit": "d8d8f6a4fd635dcc9e4f946394c1fbde85eeab66",
      "tree": "0a1bc8ff40c12bb30066467e11ae9153f89514e7",
      "parents": [
        "57d1c91fa6d9146b309b7511f6432dea2a24858b",
        "a2167dc62e9142b9a4bfb20f7e001c0f0a26fd8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:24:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:24:28 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "57d1c91fa6d9146b309b7511f6432dea2a24858b",
      "tree": "d7958dd87eb950cc3eeaf8b32fc372c0e7ff6702",
      "parents": [
        "47853e7fa588bef826c9799a87b33904b32bd905",
        "37193147991a53b2e9f573d0ec47f63a2d4de8dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:23:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:23:56 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n"
    },
    {
      "commit": "a2167dc62e9142b9a4bfb20f7e001c0f0a26fd8c",
      "tree": "c6f2a4206952e51f765f3e7ef84892746579501c",
      "parents": [
        "76ab608d86cf1ef5c5c46819b5733eb9f9f964f8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 06 13:24:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:24:54 2006 -0800"
      },
      "message": "[NET]: Endian-annotate in_aton()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76ab608d86cf1ef5c5c46819b5733eb9f9f964f8",
      "tree": "aa8d9947a722459a0ae0e54c9391a8de7c59aeee",
      "parents": [
        "5f8ac64b15172c7ced7d7990eb28342092bc751b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "message": "[NET]: Endian-annotate struct iphdr\n\nAnd fix trivial warnings that emerged.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bad4dc919573dbe9a5b41dd9edff279e99822d7",
      "tree": "530b791512cfd2f310c5806d109242bccf090fd7",
      "parents": [
        "dbbc0988288d9643044e8bd8c7e7de70016ecd23"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@ispwest.com",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "message": "[NET]: Change sk_run_filter()\u0027s return type in net/core/filter.c\n\nIt should return an unsigned value, and fix sk_filter() as well.\n\nSigned-off-by: Kris Katterjohn \u003ckjak@ispwest.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccf18968b1bbc2fb117190a1984ac2a826dac228",
      "tree": "7bc8fbf5722aecf1e84fa50c31c657864cba1daa",
      "parents": [
        "e91c021c487110386a07facd0396e6c3b7cf9c1f",
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 12:59:59 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 12:59:59 2006 -0800"
      },
      "message": "Merge ../torvalds-2.6/\n"
    },
    {
      "commit": "367cb704212cd0c9273ba2b1e62523139210563b",
      "tree": "cda6402ea19e2b706ad8ac9a186f1e391ab3c6ea",
      "parents": [
        "20ede2741551d4a1d24313292beb0da915a55911"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "message": "kbuild: un-stringnify KBUILD_MODNAME\n\nNow when kbuild passes KBUILD_MODNAME with \"\" do not __stringify it when\nused. Remove __stringnify for all users.\nThis also fixes the output of:\n\n$ ls -l /sys/module/\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia_core\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"processor\"\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"psmouse\"\n\nThe quoting of the module names will be gone again.\nThanks to GregKH + Kay Sievers for reproting this.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997",
      "tree": "49066f9b5321e09cf9696e5b69d454bf1e393eb0",
      "parents": [
        "26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:00 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Update the spkm3 code to use the make_checksum interface\n\n Also update the tokenlen calculations to accomodate g_token_size().\n\n Signed-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58df095b732529ade8f4051b41d7c29731afecd6",
      "tree": "917819b96bac91e5daea7a31eb6eba66268952d9",
      "parents": [
        "0065db328533c390fbfb0fe0c46bcf9a278fb99e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:57 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:58 2006 -0500"
      },
      "message": "NFSv4: Allow entries in the idmap cache to expire\n\n If someone changes the uid/gid mapping in userland, then we do eventually\n want those changes to be propagated to the kernel. Currently the kernel\n assumes that it may cache entries forever.\n\n Add an expiration time + garbage collector for idmap entries.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35f5a422ce1af836007f811b613c440d0e348e06",
      "tree": "25aac5cccce27a6ed5ebb4e161f813af2adbaf56",
      "parents": [
        "02107148349f31eee7c0fb06fd7a880df73dbd20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:50 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: new interface to force an RPC rebind\n\n We\u0027d like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.\n Start by creating an API to force RPC rebind, replacing logic that simply\n sets cl_port to zero.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64a318ee2af9000df482d7a125c3b3e1f1007404",
      "tree": "7b39e558cccce484635dc847a016bbcb5e83abdb",
      "parents": [
        "2c5acd2e1a73cad59203a1bace21e6b03f2920a9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:46 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: Further cancel fixes\n\n If the server receives an NLM cancel call and finds no waiting lock to\n cancel, then chances are the lock has already been applied, and the client\n just hadn\u0027t yet processed the NLM granted callback before it sent the\n cancel.\n\n The Open Group text, for example, perimts a server to return either success\n (LCK_GRANTED) or failure (LCK_DENIED) in this case.  But returning an error\n seems more helpful; the client may be able to use it to recognize that a\n race has occurred and to recover from the race.\n\n So, modify the relevant functions to return an error in this case.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb459f45f7c7689714023d41b3dca999bb90a5d3",
      "tree": "5352bfb2157ad3edfd617e721a3c32e8617b4757",
      "parents": [
        "a72b44222d222749d54b3e370d825094352e389f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "SUNRPC: net/sunrpc/xdr.c: remove xdr_decode_string()\n\n This patch removes ths unused function xdr_decode_string().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Charles Lever \u003cCharles.Lever@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a72b44222d222749d54b3e370d825094352e389f",
      "tree": "d64815b696d207927a4154a2cbc649552708c6f2",
      "parents": [
        "a895b4a198dd06f8353328867e4f6cfd28b63081"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:52 2006 -0500"
      },
      "message": "NFSv4: Allow user to set the port used by the NFSv4 callback channel\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fa178f29c0f8a0dce748181a5351f4a92fd4f455",
      "tree": "07de5ced8d16d832ebed98c58a2c0498affa12db",
      "parents": [
        "beb2a5ec386e5ce6891ebd1c06b913da04354b40"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:38 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:51 2006 -0500"
      },
      "message": "NFSv4: Ensure DELEGRETURN returns attributes\n\n Upon return of a write delegation, the server will almost always bump the\n change attribute. Ensure that we pick up that change so that we don\u0027t\n invalidate our data cache unnecessarily.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "70b9ecbdb9c5fdc731f8780bffd45d9519020c4a",
      "tree": "4678182bd417945cd424a652396510bc53eff8b7",
      "parents": [
        "24174119c73983d5217da8f56a12c79a9b57e056"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:34 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:50 2006 -0500"
      },
      "message": "NFS: Make stat() return updated mtimes after a write()\n\n The SuS states that a call to write() will cause mtime to be updated on\n the file. In order to satisfy that requirement, we need to flush out\n any cached writes in nfs_getattr().\n Speed things up slightly by not committing the writes.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40859d7ee64ed6bfad8a4e93f9bb5c1074afadff",
      "tree": "ed4069423c3d6551035d5b6116f50452cdac4103",
      "parents": [
        "325cfed9ae901320e9234b18c21434b783dbe342"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:09:02 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:49 2006 -0500"
      },
      "message": "NFS: support large reads and writes on the wire\n\n Most NFS server implementations allow up to 64KB reads and writes on the\n wire.  The Solaris NFS server allows up to a megabyte, for instance.\n\n Now the Linux NFS client supports transfer sizes up to 1MB, too.  This will\n help reduce protocol and context switch overhead on read/write intensive NFS\n workloads, and support larger atomic read and write operations on servers\n that support them.\n\n Test-plan:\n Connectathon and iozone on mount point with wsize\u003drsize\u003e32768 over TCP.\n Tests with NFS over UDP to verify the maximum RPC payload size cap.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a911fd9a6046200e439b4af172e8379c0942eec3",
      "tree": "f67582f100edef03085705fc919b4b068775d57a",
      "parents": [
        "6b59a75460eb9527145d7bd55068e5d32bee8a44"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:08:59 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:48 2006 -0500"
      },
      "message": "NFS: simplify inlined bit ops in nfs_page.h\n\n Minor cleanup:  inlined bit ops in nfs_page.h can be simpler.\n\n Test plan:\n Write-intensive workload against a server that requires COMMITs.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "911d1aaf26fc4d771174d98fcab710a44e2a5fa0",
      "tree": "e16df0f68093d2dc0abd5f55c2d46ff7705fffb8",
      "parents": [
        "864472e9b8fa76ffaad17dfcb84d79e16df6828c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:16 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:44 2006 -0500"
      },
      "message": "NFSv4: locking XDR cleanup\n\n Get rid of some unnecessary intermediate structures\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cdd4e68b5f0ed12c64b3e2be83655d2a47588a74",
      "tree": "c31565c36e0550655207d2edcabaa6ea1f3217f7",
      "parents": [
        "24ac23ab88df5b21b5b2df8cde748bf99b289099"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:12 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "NFSv4: Make open_confirm() asynchronous too\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
      "tree": "d4239fe37529b4799e85443f803db754ef66f874",
      "parents": [
        "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:06 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f",
      "tree": "9bc9ffc691679a4423a6b8724a27607c9ad7ea2c",
      "parents": [
        "963d8fe53339128ee46a7701f2e36305f0ccff8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:05 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "SUNRPC: Further cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abbcf28f23d53e8ec56a91f3528743913fa2694a",
      "tree": "97dafc3840e4660ac0fcf99bbdc7eddc2fecd08a",
      "parents": [
        "abd3e641d5ef9f836ab2f2b04d80b8619b051531"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:03 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "SUNRPC: Yet more RPC cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "22905f775dd6a8b73be99826dcad07ceec00244b",
      "tree": "960c0ad3d10fa208a31b78256788f332e5ebdd48",
      "parents": [
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Nov 16 15:07:01 2005 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:38 2006 -0500"
      },
      "message": "identify multipage -\u003ewritepages() calls\n\n NFS needs to be able to distinguish between single-page -\u003ewritepage() calls and\n multipage -\u003ewritepages() calls.\n\n For the single-page writepage calls NFS can kick off the I/O within the\n context of -\u003ewritepage().\n\n For multipage -\u003ewritepages calls, nfs_writepage() will leave the I/O pending\n and nfs_writepages() will kick off the I/O when it all has been queued up\n within NFS.\n\n Cc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d99cf9d679a520d67f81d805b7cb91c68e1847f0",
      "tree": "415aefe6d168df27c006fcc53b1ea5242eabaaea",
      "parents": [
        "7ed40918a386afc2e14a6d3da563ea6d13686c25",
        "e650c305ec3178818b317dad37a6d9c7fa8ba28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "message": "Merge branch \u0027post-2.6.15\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for merge with Jens\u0027 \"Suspend support for libata\", commit\nID 9b847548663ef1039dd49f0eb4463d001e596bc3.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b847548663ef1039dd49f0eb4463d001e596bc3",
      "tree": "105a0eece522b1347bea57f609f6c04ed673fdb3",
      "parents": [
        "88202a0c84e1951d6630d1d557d4801a8cc5b5ef"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:28:07 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:36:09 2006 -0800"
      },
      "message": "[PATCH] Suspend support for libata\n\nThis patch adds suspend patch to libata, and ata_piix in particular. For\nmost low level drivers, they should just need to add the 4 hooks to\nwork. As I can only test ata_piix, I didn\u0027t enable it for more\nthough.\n\nSuspend support is the single most important feature on a notebook, and\nmost new notebooks have sata drives. It\u0027s quite embarrassing that we\n_still_ do not support this. Right now, it\u0027s perfectly possible to\nsuspend the drive in mid-transfer.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "88202a0c84e1951d6630d1d557d4801a8cc5b5ef"
}
