)]}'
{
  "log": [
    {
      "commit": "f79e2abb9bd452d97295f34376dedbec9686b986",
      "tree": "56b9998caa11983556e842fb9a8143d86d765fa3",
      "parents": [
        "d6dfd1310d3562698fd7c3c086f6c239f96394ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] sys_sync_file_range()\n\nRemove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT\nfadvise() additions, do it in a new sys_sync_file_range() syscall instead.\nReasons:\n\n- It\u0027s more flexible.  Things which would require two or three syscalls with\n  fadvise() can be done in a single syscall.\n\n- Using fadvise() in this manner is something not covered by POSIX.\n\nThe patch wires up the syscall for x86.\n\nThe sycall is implemented in the new fs/sync.c.  The intention is that we can\nmove sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later.\n\nDocumentation for the syscall is in fs/sync.c.\n\nA test app (sync_file_range.c) is in\nhttp://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz.\n\nThe available-to-GPL-modules do_sync_file_range() is for knfsd: \"A COMMIT can\nsay NFS_DATA_SYNC or NFS_FILE_SYNC.  I can skip the -\u003efsync call for\nNFS_DATA_SYNC which is hopefully the more common.\"\n\nNote: the `async\u0027 writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if\nthe queue is congested.  This is trivial to fix: add a new flag bit, set\nwbc-\u003enonblocking.  But I\u0027m not sure that we want to expose implementation\ndetails down to that level.\n\nNote: it\u0027s notable that we can sync an fd which wasn\u0027t opened for writing.\nSame with fsync() and fdatasync()).\n\nNote: the code takes some care to handle attempts to sync file contents\noutside the 16TB offset on 32-bit machines.  It makes such attempts appear to\nsucceed, for best 32-bit/64-bit compatibility.  Perhaps it should make such\nrequests fail...\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b41046cd0ee0a57f849d6e1363f7933e363cca9",
      "tree": "246820e9493770e071cb92a48e7f72d8b9c90a98",
      "parents": [
        "68eef3b4791572ecb70249c7fb145bb3742dd899"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Mar 31 02:30:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Don\u0027t pass boot parameters to argv_init[]\n\nThe boot cmdline is parsed in parse_early_param() and\nparse_args(,unknown_bootoption).\n\nAnd __setup() is used in obsolete_checksetup().\n\n\tstart_kernel()\n\t\t-\u003e parse_args()\n\t\t\t-\u003e unknown_bootoption()\n\t\t\t\t-\u003e obsolete_checksetup()\n\nIf __setup()\u0027s callback (-\u003esetup_func()) returns 1 in\nobsolete_checksetup(), obsolete_checksetup() thinks a parameter was\nhandled.\n\nIf -\u003esetup_func() returns 0, obsolete_checksetup() tries other\n-\u003esetup_func().  If all -\u003esetup_func() that matched a parameter returns 0,\na parameter is seted to argv_init[].\n\nThen, when runing /sbin/init or init\u003dapp, argv_init[] is passed to the app.\nIf the app doesn\u0027t ignore those arguments, it will warning and exit.\n\nThis patch fixes a wrong usage of it, however fixes obvious one only.\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": "78c997a4be7d1ed3ff4c27f23d30a0185d39bcbf",
      "tree": "6ca625d590c7ec2e31acca3f2a1d28dce2e96332",
      "parents": [
        "d6692183ac1d8f4a4e4015f9ce9acc2514618e0b"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Fri Mar 31 02:30:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:50 2006 -0800"
      },
      "message": "[PATCH] hugetlb: don\u0027t allow free hugetlb count fall below reserved count\n\nWith strict page reservation, I think kernel should enforce number of free\nhugetlb page don\u0027t fall below reserved count.  Currently it is possible in\nthe sysctl path.  Add proper check in sysctl to disallow that.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6692183ac1d8f4a4e4015f9ce9acc2514618e0b",
      "tree": "15d930c84cc93df5bc53ed29290abd46c3135272",
      "parents": [
        "93fac7041f082297b93655a0e49f659cd7520e40"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Fri Mar 31 02:29:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] fix extra page ref count in follow_hugetlb_page\n\ngit-commit: d5d4b0aa4e1430d73050babba999365593bdb9d2\n\"[PATCH] optimize follow_hugetlb_page\" breaks mlock on hugepage areas.\n\nI mis-interpret pages argument and made get_page() unconditional.  It\nshould only get a ref count when \"pages\" argument is non-null.\n\nCredit goes to Adam Litke who spotted the bug.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93fac7041f082297b93655a0e49f659cd7520e40",
      "tree": "2d8f295087377d4ac0ceea49dd67bb682b04c749",
      "parents": [
        "9bf9e89c3d147ca8cf9622d2d053684fba77a464"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] mm: schedule find_trylock_page() removal\n\nfind_trylock_page() is an odd interface in that it doesn\u0027t take a reference\nlike the others.  Now that XFS no longer uses it, and its last remaining\ncaller actually wants an elevated refcount, opencode that callsite and\nschedule find_trylock_page() for removal.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f927fcc2fd1575d01efb4b76665975007945690",
      "tree": "fbb84689600ea512d7b52f9fc46db2d7d8d7c1fd",
      "parents": [
        "ded23ac62776b4360d88e9b0330792d2c57fdfdf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 28 01:56:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:08 2006 -0800"
      },
      "message": "[PATCH] Typo fixes\n\nFix a lot of typos.  Eyeballed by jmc@ in OpenBSD.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a945022778f100115d0cb6234eb28fc1b15ccaf",
      "tree": "85df4b5f7dd8bf59557091379c59b23b09115bf6",
      "parents": [
        "631d6747e1d877a4baa924cb373b8b9511a53e5e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: fixes for generic part\n\nreplaces for_each_cpu with for_each_possible_cpu().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95144c788dc01b6a0ff2c9c2222e37ffdab358b8",
      "tree": "9f7f186575bb717de39cedaf42bf02a94c11b664",
      "parents": [
        "ae0f15fb91274e67d78836d38c99ec363df33073"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:16:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] uninline zone helpers\n\nHelper functions for for_each_online_pgdat/for_each_zone look too big to be\ninlined.  Speed of these helper macro itself is not very important.  (inner\nloops are tend to do more work than this)\n\nThis patch make helper function to be out-of-lined.\n\n\tinline\t\tout-of-line\n.text   005c0680        005bf6a0\n\n005c0680 - 005bf6a0 \u003d FE0 \u003d 4Kbytes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae0f15fb91274e67d78836d38c99ec363df33073",
      "tree": "bfaa065faf772c42e1875c9e5f4b000cf4b1d241",
      "parents": [
        "3571761fe49d960bb720c2308ffb9401f0a5e161"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:16:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: remove pgdat_list\n\nBy using for_each_online_pgdat(), pgdat_list is not necessary now.  This patch\nremoves it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ec936fc563715a9e2b2e363eb060655b49529325",
      "tree": "72e77aefeeda3c6ff396f080a5c6a82f25d52bf0",
      "parents": [
        "679bc9fbb508a0aac9539b2de747eb5849feb428"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: renaming for_each_pgdat\n\nReplace for_each_pgdat() with for_each_online_pgdat().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "679bc9fbb508a0aac9539b2de747eb5849feb428",
      "tree": "350b9d7d01eeb7e2401b5ade156ead1a635a4bba",
      "parents": [
        "8357f8695d58b50fbf2bd507b4b0fc2cd1e43bd6"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: for_each_bootmem\n\nAdd a list_head to bootmem_data_t and make bootmems use it.  bootmem list is\nsorted by node_boot_start.\n\nOnly nodes against which init_bootmem() is called are linked to the list.\n(i386 allocates bootmem only from one node(0) not from all online nodes.)\n\nA summary:\n 1. for_each_online_pgdat() traverses all *online* nodes.\n 2. alloc_bootmem() allocates memory only from initialized-for-bootmem nodes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a0140c1d85637ee5f4ea7c78f066e3611a6a79dc",
      "tree": "7a52892e57ff7a97a3aabf920891b68ca8bf578a",
      "parents": [
        "0ecd702bcb924d5fb7f687e09986f688336ac896"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] remove zone_mem_map\n\nThis patch removes zone_mem_map.\n\npfn_to_page uses pgdat, page_to_pfn uses zone.  page_to_pfn can use pgdat\ninstead of zone, which is only one user of zone_mem_map.  By modifing it,\nwe can remove zone_mem_map.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a117e66ed45ac0569c039ea60bd7a9a61e031858",
      "tree": "292367ab930f83c418c34d4c46f95717e5e6394e",
      "parents": [
        "b06be912a3ad68c69dba0ed6e92723140020e392"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:44 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: generic functions\n\nThere are 3 memory models, FLATMEM, DISCONTIGMEM, SPARSEMEM.\nEach arch has its own page_to_pfn(), pfn_to_page() for each models.\nBut most of them can use the same arithmetic.\n\nThis patch adds asm-generic/memory_model.h, which includes generic\npage_to_pfn(), pfn_to_page() definitions for each memory model.\n\nWhen CONFIG_OUT_OF_LINE_PFN_TO_PAGE\u003dy, out-of-line functions are\nused instead of macro. This is enabled by some archs and  reduces\ntext size.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ae21d1bb376436285cd5346d3e4b3655d6dd1b9",
      "tree": "8f889770fae721da63bd378c1834a87e2eb1cfb5",
      "parents": [
        "f9b4192923fa6e38331e88214b1fe5fc21583fcc",
        "e9415777b1cd0eaf4d1d3d61772f0e6d5c2551ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  drivers/char/ftape/lowlevel/fdc-io.c: Correct a comment\n  Kconfig help: MTD_JEDECPROBE already supports Intel\n  Remove ugly debugging stuff\n  do_mounts.c: Minor ROOT_DEV comment cleanup\n  BUG_ON() Conversion in drivers/s390/block/dasd_devmap.c\n  BUG_ON() Conversion in mm/mempool.c\n  BUG_ON() Conversion in mm/memory.c\n  BUG_ON() Conversion in kernel/fork.c\n  BUG_ON() Conversion in ipc/sem.c\n  BUG_ON() Conversion in fs/ext2/\n  BUG_ON() Conversion in fs/hfs/\n  BUG_ON() Conversion in fs/dcache.c\n  BUG_ON() Conversion in fs/buffer.c\n  BUG_ON() Conversion in input/serio/hp_sdc_mlc.c\n  BUG_ON() Conversion in md/dm-table.c\n  BUG_ON() Conversion in md/dm-path-selector.c\n  BUG_ON() Conversion in drivers/isdn\n  BUG_ON() Conversion in drivers/char\n  BUG_ON() Conversion in drivers/mtd/\n"
    },
    {
      "commit": "f183323d3822dee4d7b3147a59b6e8987fe201e0",
      "tree": "f1cec982da7ae954af52584630c273976fd43127",
      "parents": [
        "0eaae62abaa1ad1f231932b6cdd9fb1b91df6651"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add kzalloc allocator\n\nAdd another allocator to the common mempool code: a kzalloc/kfree allocator\n\nThis will be used by the next patch in the series to replace a mempool-backed\nkzalloc allocator.  It is also very likely that there will be more users in\nthe future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53184082b070dfb077218828fdf839826102ed96",
      "tree": "77aad868cb43b78195e7ca657c1e30a6934fac44",
      "parents": [
        "a19b27ce3847c3a5d4ea6b6c91b6f7154759af23"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add kmalloc allocator\n\nAdd another allocator to the common mempool code: a kmalloc/kfree allocator\n\nThis will be used by the next patch in the series to replace duplicate\nmempool-backed kmalloc allocators in several places in the kernel.  It is also\nvery likely that there will be more users in the future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a19b27ce3847c3a5d4ea6b6c91b6f7154759af23",
      "tree": "794dc69869408bee9154b3e9d9852327e5219f4c",
      "parents": [
        "6e0678f394c7bd21bfa5d252b071a09e10e7a749"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: use common mempool page allocator\n\nConvert two mempool users that currently use their own mempool-backed page\nallocators to use the generic mempool page allocator.\n\nAlso included are 2 trivial whitespace fixes.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e0678f394c7bd21bfa5d252b071a09e10e7a749",
      "tree": "45e9729c67b867821748414667dada0d36a8bd34",
      "parents": [
        "8219dd5710c1daec2d7a086eeeee5187decfde60"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: add page allocator\n\nThis will be used by the next patch in the series to replace duplicate\nmempool-backed page allocators in 2 places in the kernel.  It is also likely\nthat there will be more users in the future.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "03beb07664d768db97bf454ae5c9581cd4737bb4",
      "tree": "b906c4db3a70627a58363193f3f843e7e2132ca1",
      "parents": [
        "64a07bd82ed526d813b64b0957543eef55bdf9c0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Sun Mar 26 01:36:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:53 2006 -0800"
      },
      "message": "[PATCH] Add API for flushing Anon pages\n\nCurrently, get_user_pages() returns fully coherent pages to the kernel for\nanything other than anonymous pages.  This is a problem for things like\nfuse and the SCSI generic ioctl SG_IO which can potentially wish to do DMA\nto anonymous pages passed in by users.\n\nThe fix is to add a new memory management API: flush_anon_page() which\nis used in get_user_pages() to make anonymous pages coherent.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f02e1fafb534459522a8c46bc46b32820684623e",
      "tree": "4a4fe770d02fc83b71bcfc6d32eb609c80a5aa95",
      "parents": [
        "5bcb28b139cffc736177ceb775d1c8b5c5a411e2"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 18:31:56 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Mar 26 18:31:56 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/mempool.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5bcb28b139cffc736177ceb775d1c8b5c5a411e2",
      "tree": "5a5e5624994c3a15dc4bd3beae07a2f891ba84dc",
      "parents": [
        "910dea7fdda22f0ee83d26d459e460c79ed94557"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 18:30:52 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Mar 26 18:30:52 2006 +0200"
      },
      "message": "BUG_ON() Conversion in mm/memory.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "267b48014a5c0c2ae90b04dad5d95ceb903365a6",
      "tree": "95f5475b7b7f6e5b4fd023f51fb2fa826d95a754",
      "parents": [
        "bd6633476922b7b51227f7f704c2546e763ae5ed"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:10 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:56 2006 -0800"
      },
      "message": "[PATCH] x86_64: Try to allocate node memmap near the end of node\n\nThis fixes problems with very large nodes (over 128GB) filling up all of\nthe first 4GB with their mem_map and not leaving enough space for the\nswiotlb.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "315ab19a6d12d6af7b6957090822f3057ab7e80f",
      "tree": "7d6d51cfbd0f5e3182d4490c077e1d3139eeb9a7",
      "parents": [
        "f081a529f808ed450c22553de7b3275e0ffde9a0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Mar 25 16:20:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:43:45 2006 -0800"
      },
      "message": "[PATCH] mm: restore vm_normal_page check\n\nHugh is rightly concerned that the CONFIG_DEBUG_VM coverage has gone too\nfar in vm_normal_page, considering that we expect production kernels to be\nshipped with the option turned off, and that the code has been under some\nlarge changes recently.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e8c573933fd7975679766850252ad08667e5ca4",
      "tree": "9600d0c7ee5ea8925f3c4dc30680c819e0363805",
      "parents": [
        "d71eecf3b8e893757cc3dec560c96a32ac090890",
        "232443e2c90cc2930624dec89df327615b002c55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:41:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:41:09 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (21 commits)\n  BUG_ON() Conversion in drivers/video/\n  BUG_ON() Conversion in drivers/parisc/\n  BUG_ON() Conversion in drivers/block/\n  BUG_ON() Conversion in sound/sparc/cs4231.c\n  BUG_ON() Conversion in drivers/s390/block/dasd.c\n  BUG_ON() Conversion in lib/swiotlb.c\n  BUG_ON() Conversion in kernel/cpu.c\n  BUG_ON() Conversion in ipc/msg.c\n  BUG_ON() Conversion in block/elevator.c\n  BUG_ON() Conversion in fs/coda/\n  BUG_ON() Conversion in fs/binfmt_elf_fdpic.c\n  BUG_ON() Conversion in input/serio/hil_mlc.c\n  BUG_ON() Conversion in md/dm-hw-handler.c\n  BUG_ON() Conversion in md/bitmap.c\n  The comment describing how MS_ASYNC works in msync.c is confusing\n  rcu: undeclared variable used in documentation\n  fix typos \"wich\" -\u003e \"which\"\n  typo patch for fs/ufs/super.c\n  Fix simple typos\n  tabify drivers/char/Makefile\n  ...\n"
    },
    {
      "commit": "6e692ed37a507e18d8afe8e5faebd8c4722c5f12",
      "tree": "9178f07eb643123d20a95e4ec08477f2c85bd9ea",
      "parents": [
        "962749af67b145c57917bfbff3c303ebd7d5988c"
      ],
      "author": {
        "name": "John Hawkes",
        "email": "hawkes@sgi.com",
        "time": "Sat Mar 25 03:08:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:58 2006 -0800"
      },
      "message": "[PATCH] fix alloc_large_system_hash() roundup\n\nThe \"rounded up to nearest power of 2 in size\" algorithm in\nalloc_large_system_hash is not correct.  As coded, it takes an otherwise\nacceptable power-of-2 value and doubles it.  For example, we see the error\nif we boot with thash_entries\u003d2097152 which produces a hash table with\n4194304 entries.\n\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05eeae208d08a05a6980cf2ff61f02843c0955fd",
      "tree": "be6c6c4e16cfac07edf437a1f74ef027ada8ccc7",
      "parents": [
        "c1f5a1944657ba6abe375e3bb2a3238a46849f70"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:07:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:57 2006 -0800"
      },
      "message": "[PATCH] find_task_by_pid() needs tasklist_lock\n\nA couple of places are forgetting to take it.\n\nThe kswapd case is probably unimportant.  keventd_create_kthread() was racy.\n\nThe whole thing is a bit flakey: you start a kernel thread, get its pid from\nkernel_thread() then look up its task_struct.\n\na) It assumes that pid recycling takes a \"long\" time.\n\nb) We get a task_struct but no reference was taken on it.  The owner of the\n   kswapd and kthread task_struct*\u0027s must assume that the new thread won\u0027t\n   exit unexpectedly.  Because if it does, they\u0027re left holding dead memory\n   and any attempt to control or stop that task will crash.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5335c0f1bcba16907972b66b905f62402433e23",
      "tree": "9db1cf38a34b3dc9559e785d910e95d7002c91e2",
      "parents": [
        "d784124cfe9377c1a24d8efba31401f81c7c11f9"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sat Mar 25 03:06:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] quieten zone_pcp_init\n\nIn zone_pcp_init we print out all zones even if they are empty:\n\nOn node 0 totalpages: 245760\n  DMA zone: 245760 pages, LIFO batch:31\n  DMA32 zone: 0 pages, LIFO batch:0\n  Normal zone: 0 pages, LIFO batch:0\n  HighMem zone: 0 pages, LIFO batch:0\n\nTo conserve dmesg space why not print only the non zero zones.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d784124cfe9377c1a24d8efba31401f81c7c11f9",
      "tree": "d4d46868e79dcab59fc589b11d4f0207b41f63b0",
      "parents": [
        "0718dc2a82c865ca75975acabaf984057f9fd488"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] mm: make page migration dependent on swap and NUMA\n\nThe page migration code could function without NUMA but we currently have\nno users for the non-NUMA case.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0718dc2a82c865ca75975acabaf984057f9fd488",
      "tree": "0f7e8ed22ea26c79e17712c417593bdce04e7888",
      "parents": [
        "cafeb02e098ecd58fb0bd797b2c9fbba3edf54f8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] slab: fix memory leak in alloc_kmemlist\n\nWe have had this memory leak for a while now.  The situation is complicated\nby the use of alloc_kmemlist() as a function to resize various caches by\ndo_tune_cpucache().\n\nWhat we do here is first of all make sure that we deallocate properly in\nthe loop over all the nodes.\n\nIf we are just resizing caches then we can simply return with -ENOMEM if an\nallocation fails.\n\nIf the cache is new then we need to rollback and remove all earlier\nallocations.\n\nWe detect that a cache is new by checking if the link to the global cache\nchain has been setup.  This is a bit hackish ....\n\n(also fix up too overlong lines that I added in the last patch...)\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cafeb02e098ecd58fb0bd797b2c9fbba3edf54f8",
      "tree": "f4d03a748184e24cb0ff4c9a56ba6b0eaefd78d3",
      "parents": [
        "e00946fe2351307eb3eda7a3343530f6d2d1af2e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] alloc_kmemlist: Some cleanup in preparation for a real memory leak fix\n\nInspired by Jesper Juhl\u0027s patch from today\n\n1. Get rid of err\n\tWe do not set it to anything else but zero.\n\n2. Drop the CONFIG_NUMA stuff.\n\tThere are definitions for alloc_alien_cache and free_alien_cache()\n\tthat do the right thing for the non NUMA case.\n\n3. Better naming of variables.\n\n4. Remove redundant cachep-\u003enodelists[node] expressions.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e00946fe2351307eb3eda7a3343530f6d2d1af2e",
      "tree": "1567b4abe0ed56fbd960943da2c52278ea196c02",
      "parents": [
        "3ded175a4b7a4548f3358dcf5f3ad65f63cdb4ed"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: Bypass free lists for __drain_alien_cache()\n\n__drain_alien_cache() currently drains objects by freeing them to the\n(remote) freelists of the original node.  However, each node also has a\nshared list containing objects to be used on any processor of that node.\nWe can avoid a number of remote node accesses by copying the pointers to\nthe free objects directly into the remote shared array.\n\nAnd while we are at it: Skip alien draining if the alien cache spinlock is\nalready taken.\n\nKiran reported that this is a performance benefit.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ded175a4b7a4548f3358dcf5f3ad65f63cdb4ed",
      "tree": "c27a3da70d638bcf32f75c28d1da3f1eb18cb617",
      "parents": [
        "c5e3b83e97be4e09961c0af101644643e5d03d17"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Mar 25 03:06:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: add transfer_objects() function\n\nslabr_objects() can be used to transfer objects between various object\ncaches of the slab allocator.  It is currently only used during\n__cache_alloc() to retrieve elements from the shared array.  We will be\nusing it soon to transfer elements from the alien caches to the remote\nshared array.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c5e3b83e97be4e09961c0af101644643e5d03d17",
      "tree": "29863b7ff7452d10f0af51c3ff7ef72235e81c90",
      "parents": [
        "40c07ae8daa659b8feb149c84731629386873c16"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] mm: use kmem_cache_zalloc\n\nConvert mm/ to use the new kmem_cache_zalloc allocator.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40c07ae8daa659b8feb149c84731629386873c16",
      "tree": "77d9e7572135de30f184103cc6dd36f9c0f8dfbf",
      "parents": [
        "a8c0f9a41f88da703ade33f9c1626a55c786e8bb"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: optimize constant-size kzalloc calls\n\nAs suggested by Eric Dumazet, optimize kzalloc() calls that pass a\ncompile-time constant size.  Please note that the patch increases kernel\ntext slightly (~200 bytes for defconfig on x86).\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8c0f9a41f88da703ade33f9c1626a55c786e8bb",
      "tree": "8c2904597c61b873bfd85eed4ac196dd66e6f125",
      "parents": [
        "871751e25d956ad24f129ca972b7851feaa61d53"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sat Mar 25 03:06:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: introduce kmem_cache_zalloc allocator\n\nIntroduce a memory-zeroing variant of kmem_cache_alloc.  The allocator\nalready exits in XFS and there are potential users for it so this patch\nmakes the allocator available for the general public.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "871751e25d956ad24f129ca972b7851feaa61d53",
      "tree": "c3213a17481f601339ce0c81a22eebca0946c2c7",
      "parents": [
        "f52ac8fec8a13e207f675b0c16e0d5f800c1c204"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 25 03:06:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:49 2006 -0800"
      },
      "message": "[PATCH] slab: implement /proc/slab_allocators\n\nImplement /proc/slab_allocators.   It produces output like:\n\nidr_layer_cache: 80 idr_pre_get+0x33/0x4e\nbuffer_head: 2555 alloc_buffer_head+0x20/0x75\nmm_struct: 9 mm_alloc+0x1e/0x42\nmm_struct: 20 dup_mm+0x36/0x370\nvm_area_struct: 384 dup_mm+0x18f/0x370\nvm_area_struct: 151 do_mmap_pgoff+0x2e0/0x7c3\nvm_area_struct: 1 split_vma+0x5a/0x10e\nvm_area_struct: 11 do_brk+0x206/0x2e2\nvm_area_struct: 2 copy_vma+0xda/0x142\nvm_area_struct: 9 setup_arg_pages+0x99/0x214\nfs_cache: 8 copy_fs_struct+0x21/0x133\nfs_cache: 29 copy_process+0xf38/0x10e3\nfiles_cache: 30 alloc_files+0x1b/0xcf\nsignal_cache: 81 copy_process+0xbaa/0x10e3\nsighand_cache: 77 copy_process+0xe65/0x10e3\nsighand_cache: 1 de_thread+0x4d/0x5f8\nanon_vma: 241 anon_vma_prepare+0xd9/0xf3\nsize-2048: 1 add_sect_attrs+0x5f/0x145\nsize-2048: 2 journal_init_revoke+0x99/0x302\nsize-2048: 2 journal_init_revoke+0x137/0x302\nsize-2048: 2 journal_init_inode+0xf9/0x1c4\n\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nDESC\nslab-leaks3-locking-fix\nEDESC\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nUpdate for slab-remove-cachep-spinlock.patch\n\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Alexander Nyberg \u003calexn@telia.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16538c40776b8be6b0f23966e08fdc7b8fff823f",
      "tree": "77646f8bf17f0ef78ea9c50415ab639a734dc870",
      "parents": [
        "de0dfcdf550e6339e9f373587da62cffb5b559f8"
      ],
      "author": {
        "name": "Amos Waterland",
        "email": "apw@us.ibm.com",
        "time": "Fri Mar 24 18:30:53 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 18:30:53 2006 +0100"
      },
      "message": "The comment describing how MS_ASYNC works in msync.c is confusing\nbecause of a typo.  This patch just changes \"my\" to \"by\", which I\nbelieve was the original intent.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "96840aa00a031069a136ec4c55d0bdd09ac6d3a7",
      "tree": "f93592ca47f2412aa0cce3ce4c116d1678a42239",
      "parents": [
        "6687a97d4041f996f725902d2990e5de6ef5cbe5"
      ],
      "author": {
        "name": "Davi Arnaut",
        "email": "davi.arnaut@gmail.com",
        "time": "Fri Mar 24 03:18:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:31 2006 -0800"
      },
      "message": "[PATCH] strndup_user()\n\nThis patch series creates a strndup_user() function to easy copying C strings\nfrom userspace.  Also we avoid common pitfalls like userspace modifying the\nfinal \\0 after the strlen_user().\n\nSigned-off-by: Davi Arnaut \u003cdavi.arnaut@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f2e9f157a94f444dad974b088b853ac40785b02",
      "tree": "a8a3b2413ffb2a4a6f84762f052f0f6b4699ef9a",
      "parents": [
        "18e79b40ed9c5223b88771f805c69f5993fc131b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] msync(): use do_fsync()\n\nNo need to duplicate all that code.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "676758bdb7bfca8413a85203921746f446e237be",
      "tree": "23c731f429652e16f2cdba98cd503eaa059f929b",
      "parents": [
        "707c21c848deeb0200ba3f07e4ba90e6dc419c2f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync: fix return value\n\nmsync() does a strange thing.  Essentially:\n\n\tvma \u003d find_vma();\n\tfor ( ; ; ) {\n\t\tif (!vma)\n\t\t\treturn -ENOMEM;\n\t\t...\n\t\tvma \u003d vma-\u003evm_next;\n\t}\n\nso an msync() request which starts within or before a valid VMA and which ends\nwithin or beyond the final VMA will incorrectly return -ENOMEM.\n\nFix.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "707c21c848deeb0200ba3f07e4ba90e6dc419c2f",
      "tree": "d8e8f32916ac1f04e45e42595ddd0ef771ddb1ad",
      "parents": [
        "9c50823eebf7c256b92b4e0f02b5fb30e97788c2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync(MS_SYNC): don\u0027t hold mmap_sem while syncing\n\nIt seems bad to hold mmap_sem while performing synchronous disk I/O.  Alter\nthe msync(MS_SYNC) code so that the lock is released while we sync the file.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c50823eebf7c256b92b4e0f02b5fb30e97788c2",
      "tree": "241b754698c3501355d1061c828ab6d894dba617",
      "parents": [
        "4741c9fd36b3bcadd37238321c469049da94a4b9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] msync(): perform dirty page levelling\n\nIt seems sensible to perform dirty page throttling in msync: as the application\ndirties pages we can kick off pdflush early, or even force the msync() caller\nto perform writeout, or even throttle the msync() caller.\n\nThe main effect of this is to start disk writeback earlier if we\u0027ve just\ndiscovered that a large amount of pagecache has been dirtied.  (Otherwise it\nwouldn\u0027t happen for up to five seconds, next time pdflush wakes up).\n\nIt also will cause the page-dirtying process to get panalised for dirtying\nthose pages rather than whacking someone else with the problem.\n\nWe should do this for munmap() and possibly even exit(), too.\n\nWe drop the mmap_sem while performing the dirty page balancing.  It doesn\u0027t\nseem right to hold mmap_sem for that long.\n\nNote that this patch only affects MS_ASYNC.  MS_SYNC will be syncing all the\ndirty pages anyway.\n\nWe note that msync(MS_SYNC) does a full-file-sync inside mmap_sem, and always\nhas.  We can fix that up...\n\nThe patch also tightens up the mmap_sem coverage in sys_msync(): no point in\ntaking it while we perform the incoming arg checking.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4741c9fd36b3bcadd37238321c469049da94a4b9",
      "tree": "4b3031b04cdbf2d3c5a4fcc1965ed857f1cf0ce4",
      "parents": [
        "fa5a734e406b53761fcc5ee22366006f71112c2d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] set_page_dirty() return value fixes\n\nWe need set_page_dirty() to return true if it actually transitioned the page\nfrom a clean to dirty state.  This wasn\u0027t right in a couple of places.  Do a\nkernel-wide audit, fix things up.\n\nThis leaves open the possibility of returning a negative errno from\nset_page_dirty() sometime in the future.  But we don\u0027t do that at present.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa5a734e406b53761fcc5ee22366006f71112c2d",
      "tree": "003a238b9207e38f747bfb119a30fb52f1cd5ae9",
      "parents": [
        "8a14342683b1e3adcf5f78660a42fcbd95b44a35"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] balance_dirty_pages_ratelimited: take nr_pages arg\n\nModify balance_dirty_pages_ratelimited() so that it can take a\nnumber-of-pages-which-I-just-dirtied argument.  For msync().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebcf28e1c7a295f3321249dd235ad2e45938fdd9",
      "tree": "fdd2e131e627af55d3741a7fafad0edaa61410c1",
      "parents": [
        "469eb4d03878b676418f853011ebfb54ccf83a5e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] fadvise(): write commands\n\nAdd two new linux-specific fadvise extensions():\n\nLINUX_FADV_ASYNC_WRITE: start async writeout of any dirty pages between file\noffsets `offset\u0027 and `offset+len\u0027.  Any pages which are currently under\nwriteout are skipped, whether or not they are dirty.\n\nLINUX_FADV_WRITE_WAIT: wait upon writeout of any dirty pages between file\noffsets `offset\u0027 and `offset+len\u0027.\n\nBy combining these two operations the application may do several things:\n\nLINUX_FADV_ASYNC_WRITE: push some or all of the dirty pages at the disk.\n\nLINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE: push all of the currently dirty\npages at the disk.\n\nLINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE, LINUX_FADV_WRITE_WAIT: push all\nof the currently dirty pages at the disk, wait until they have been written.\n\nIt should be noted that none of these operations write out the file\u0027s\nmetadata.  So unless the application is strictly performing overwrites of\nalready-instantiated disk blocks, there are no guarantees here that the data\nwill be available after a crash.\n\nTo complete this suite of operations I guess we should have a \"sync file\nmetadata only\" operation.  This gives applications access to all the building\nblocks needed for all sorts of sync operations.  But sync-metadata doesn\u0027t fit\nwell with the fadvise() interface.  Probably it should be a new syscall:\nsys_fmetadatasync().\n\nThe patch also diddles with the meaning of `endbyte\u0027 in sys_fadvise64_64().\nIt is made to represent that last affected byte in the file (ie: it is\ninclusive).  Generally, all these byterange and pagerange functions are\ninclusive so we can easily represent EOF with -1.\n\nAs Ulrich notes, these two functions are somewhat abusive of the fadvise()\nconcept, which appears to be \"set the future policy for this fd\".\n\nBut these commands are a perfect fit with the fadvise() impementation, and\nseveral of the existing fadvise() commands are synchronous and don\u0027t affect\nfuture policy either.   I think we can live with the slight incongruity.\n\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "469eb4d03878b676418f853011ebfb54ccf83a5e",
      "tree": "38b10385c6241778ca88c6015ded3ba68d39a23c",
      "parents": [
        "604bf5a216e7f2d97cdf62614ca1281921531040"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:17:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:25 2006 -0800"
      },
      "message": "[PATCH] filemap_fdatawrite_range() api: clarify -end parameter\n\nI had trouble understanding working out whether filemap_fdatawrite_range()\u0027s\n`end\u0027 parameter describes the last-byte-to-be-written or the last-plus-one.\nClarify that in comments.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2455396be35383c4eebc6745cc718b1dd9e23df",
      "tree": "9ed4d43f1ca944c23372fad6554508f1747f5e2d",
      "parents": [
        "151a44202d097ae8b1bbaa6d8d2f97df30e3cd1e"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:24 2006 -0800"
      },
      "message": "[PATCH] cpuset: memory_spread_slab drop useless PF_SPREAD_PAGE check\n\nThe hook in the slab cache allocation path to handle cpuset memory\nspreading for tasks in cpusets with \u0027memory_spread_slab\u0027 enabled has a\nmodest performance bug.  The hook calls into the memory spreading handler\nalternate_node_alloc() if either of \u0027memory_spread_slab\u0027 or\n\u0027memory_spread_page\u0027 is enabled, even though the handler does nothing\n(albeit harmlessly) for the page case\n\nFix - drop PF_SPREAD_PAGE from the set of flag bits that are used to\ntrigger a call to alternate_node_alloc().\n\nThe page case is handled by separate hooks -- see the calls conditioned on\ncpuset_do_page_mem_spread() in mm/filemap.c\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c61afb181c649754ea221f104e268cbacfc993e3",
      "tree": "870917b3f9175cf1663a2620d989856913cfb5f8",
      "parents": [
        "101a50019ae5e370d73984ee05d56dd3b08f330a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache optimizations\n\nThe hooks in the slab cache allocator code path for support of NUMA\nmempolicies and cpuset memory spreading are in an important code path.  Many\nsystems will use neither feature.\n\nThis patch optimizes those hooks down to a single check of some bits in the\ncurrent tasks task_struct flags.  For non NUMA systems, this hook and related\ncode is already ifdef\u0027d out.\n\nThe optimization is done by using another task flag, set if the task is using\na non-default NUMA mempolicy.  Taking this flag bit along with the\nPF_SPREAD_PAGE and PF_SPREAD_SLAB flag bits added earlier in this \u0027cpuset\nmemory spreading\u0027 patch set, one can check for the combination of any of these\nspecial case memory placement mechanisms with a single test of the current\ntasks task_struct flags.\n\nThis patch also tightens up the code, to save a few bytes of kernel text\nspace, and moves some of it out of line.  Due to the nested inlines called\nfrom multiple places, we were ending up with three copies of this code, which\nonce we get off the main code path (for local node allocation) seems a bit\nwasteful of instruction memory.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "101a50019ae5e370d73984ee05d56dd3b08f330a",
      "tree": "f5628837d4bb68a4109dfb8d6601f95b630848c3",
      "parents": [
        "fffb60f93ce5880aade88e01d7133b52a4879710"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache implementation\n\nProvide the slab cache infrastructure to support cpuset memory spreading.\n\nSee the previous patches, cpuset_mem_spread, for an explanation of cpuset\nmemory spreading.\n\nThis patch provides a slab cache SLAB_MEM_SPREAD flag.  If set in the\nkmem_cache_create() call defining a slab cache, then any task marked with the\nprocess state flag PF_MEMSPREAD will spread memory page allocations for that\ncache over all the allowed nodes, instead of preferring the local (faulting)\nnode.\n\nOn systems not configured with CONFIG_NUMA, this results in no change to the\npage allocation code path for slab caches.\n\nOn systems with cpusets configured in the kernel, but the \"memory_spread\"\ncpuset option not enabled for the current tasks cpuset, this adds a call to a\ncpuset routine and failed bit test of the processor state flag PF_SPREAD_SLAB.\n\nFor tasks so marked, a second inline test is done for the slab cache flag\nSLAB_MEM_SPREAD, and if that is set and if the allocation is not\nin_interrupt(), this adds a call to to a cpuset routine that computes which of\nthe tasks mems_allowed nodes should be preferred for this allocation.\n\n\u003d\u003d\u003e This patch adds another hook into the performance critical\n    code path to allocating objects from the slab cache, in the\n    ____cache_alloc() chunk, below.  The next patch optimizes this\n    hook, reducing the impact of the combined mempolicy plus memory\n    spreading hooks on this critical code path to a single check\n    against the tasks task_struct flags word.\n\nThis patch provides the generic slab flags and logic needed to apply memory\nspreading to a particular slab.\n\nA subsequent patch will mark a few specific slab caches for this placement\npolicy.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44110fe385af23ca5eee8a6ad4ff55d50339097a",
      "tree": "50ed2bfe054b8e35968d8e4a5fbe95c8b3db843b",
      "parents": [
        "825a46af5ac171f9f41f794a0a00165588ba1589"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread page cache implementation and hooks\n\nChange the page cache allocation calls to support cpuset memory spreading.\n\nSee the previous patch, cpuset_mem_spread, for an explanation of cpuset memory\nspreading.\n\nOn systems without cpusets configured in the kernel, this is no change.\n\nOn systems with cpusets configured in the kernel, but the \"memory_spread\"\ncpuset option not enabled for the current tasks cpuset, this adds a call to a\ncpuset routine and failed bit test of the processor state flag PF_SPREAD_PAGE.\n\nOn tasks in cpusets with \"memory_spread\" enabled, this adds a call to a cpuset\nroutine that computes which of the tasks mems_allowed nodes should be\npreferred for this allocation.\n\nIf memory spreading applies to a particular allocation, then any other NUMA\nmempolicy does not apply.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b1303fcf23678ee1785841fb0c770a35cd0833c",
      "tree": "78b90c2766f8468b39363bd4525ebaa9b192aa8f",
      "parents": [
        "95c3832272fc77ea3e31f6382f82ba17be985cc7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Mar 24 03:15:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:22 2006 -0800"
      },
      "message": "[PATCH] cpusets: only wakeup kswapd for zones in the current cpuset\n\nIf we get under some memory pressure in a cpuset (we only scan zones that\nare in the cpuset for memory) then kswapd is woken up for all zones.  This\npatch only wakes up kswapd in zones that are part of the current cpuset.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed5b43f15a8e86e3ae939b98bc161ee973ecedf2",
      "tree": "dcd5bc0b5817d6452b0897a08293317f470f4db9",
      "parents": [
        "f6ef943813ac3085ece7252ea101d663581219f6"
      ],
      "author": {
        "name": "Bart Samwel",
        "email": "bart@samwel.tk",
        "time": "Fri Mar 24 03:15:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:20 2006 -0800"
      },
      "message": "[PATCH] Represent laptop_mode as jiffies internally\n\nMake that the internal value for /proc/sys/vm/laptop_mode is stored as\njiffies instead of seconds.  Let the sysctl interface do the conversions,\ninstead of doing on-the-fly conversions every time the value is used.\n\nAdd a description of the fact that laptop_mode doubles as a flag and a\ntimeout to the comment above the laptop_mode variable.\n\nSigned-off-by: Bart Samwel \u003cbart@samwel.tk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6ef943813ac3085ece7252ea101d663581219f6",
      "tree": "e32d3e57ba6ae235ec1f510b16d77fe9bfa8f96e",
      "parents": [
        "36f574135e36b86bb6ae794bf1d0fce3efa5601f"
      ],
      "author": {
        "name": "Bart Samwel",
        "email": "bart@samwel.tk",
        "time": "Fri Mar 24 03:15:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:20 2006 -0800"
      },
      "message": "[PATCH] Represent dirty_*_centisecs as jiffies internally\n\nMake that the internal values for:\n\n/proc/sys/vm/dirty_writeback_centisecs\n/proc/sys/vm/dirty_expire_centisecs\n\nare stored as jiffies instead of centiseconds.  Let the sysctl interface do\nthe conversions with full precision using clock_t_to_jiffies, instead of\ndoing overflow-sensitive on-the-fly conversions every time the values are\nused.\n\nCons: apparent precision loss if HZ is not a multiple of 100, because of\nconversion back and forth.  This is a common problem for all sysctl values\nthat use proc_dointvec_userhz_jiffies.  (There is only one other in-tree\nuse, in net/core/neighbour.c.)\n\nSigned-off-by: Bart Samwel \u003cbart@samwel.tk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4",
      "tree": "d4fe59a7ca0c110690937085548936a4535c39db",
      "parents": [
        "6dac40a7ce2483a47b54af07afebeb84131c7228"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "message": "[PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "d8733c2956968a01394a4d2a9e97a8b431a78776",
      "tree": "9743c9020eb5193efa4a0f102b3a7eb1d999c4fd",
      "parents": [
        "b8e31edc10d160a8bf2159541d9d12f2079a0887"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:00:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:09 2006 -0800"
      },
      "message": "[PATCH] ext3_readdir: use generic readahead\n\nLinus points out that ext3_readdir\u0027s readahead only cuts in when\next3_readdir() is operating at the very start of the directory.  So for large\ndirectories we end up performing no readahead at all and we suck.\n\nSo take it all out and use the core VM\u0027s page_cache_readahead().  This means\nthat ext3 directory reads will use all of readahead\u0027s dynamic sizing goop.\n\nNote that we\u0027re using the directory\u0027s filp-\u003ef_ra to hold the readahead state,\nbut readahead is actually being performed against the underlying blockdev\u0027s\naddress_space.  Fortunately the readahead code is all set up to handle this.\n\nTested with printk.  It works.  I was struggling to find a real workload which\nactually cared.\n\n(The patch also exports page_cache_readahead() to GPL modules)\n\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e1819d615f24ce0726a7d0bd3dd0152d7b21654",
      "tree": "abc68747446e8241a1a7103882b9f6b6e24fa274",
      "parents": [
        "543cc27d09643640cbc34189c03a40beb8227aef"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 23 03:00:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:07 2006 -0800"
      },
      "message": "[PATCH] swsusp: userland interface\n\nThis patch introduces a user space interface for swsusp.\n\nThe interface is based on a special character device, called the snapshot\ndevice, that allows user space processes to perform suspend and resume-related\noperations with the help of some ioctls and the read()/write() functions.\n Additionally it allows these processes to allocate free swap pages from a\nselected swap partition, called the resume partition, so that they know which\nsectors of the resume partition are available to them.\n\nThe interface uses the same low-level system memory snapshot-handling\nfunctions that are used by the built-it swap-writing/reading code of swsusp.\n\nThe interface documentation is included in the patch.\n\nThe patch assumes that the major and minor numbers of the snapshot device will\nbe 10 (ie.  misc device) and 231, the registration of which has already been\nrequested.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f577eb30afdc68233f25d4d82b04102129262365",
      "tree": "25d3c2fa8dfbf42fd0d4776a36166736fcc1446a",
      "parents": [
        "2b322ce210aec74ae0d02938d3a01e29fe079469"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 23 02:59:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:07 2006 -0800"
      },
      "message": "[PATCH] swsusp: low level interface\n\nIntroduce the low level interface that can be used for handling the\nsnapshot of the system memory by the in-kernel swap-writing/reading code of\nswsusp and the userland interface code (to be introduced shortly).\n\nAlso change the way in which swsusp records the allocated swap pages and,\nconsequently, simplifies the in-kernel swap-writing/reading code (this is\nnecessary for the userland interface too).  To this end, it introduces two\nhelper functions in mm/swapfile.c, so that the swsusp code does not refer\ndirectly to the swap internals.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b20a35035f983f4ac7e29c4a68f30e43510007e0",
      "tree": "fdf090ddddbcc275349f62f71adc98649e2c683b",
      "parents": [
        "442295c94bf650221af3ef20fc68fa3e93876818"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Mar 22 00:09:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] page migration reorg\n\nCentralize the page migration functions in anticipation of additional\ntinkering.  Creates a new file mm/migrate.c\n\n1. Extract buffer_migrate_page() from fs/buffer.c\n\n2. Extract central migration code from vmscan.c\n\n3. Extract some components from mempolicy.c\n\n4. Export pageout() and remove_from_swap() from vmscan.c\n\n5. Make it possible to configure NUMA systems without page migration\n   and non-NUMA systems with page migration.\n\nI had to so some #ifdeffing in mempolicy.c that may need a cleanup.\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": "442295c94bf650221af3ef20fc68fa3e93876818",
      "tree": "32d5cae69596ec7729172901487cc08a357448f1",
      "parents": [
        "fdb7cc59084ba7eef935e4e40aaaf538ee34c625"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Wed Mar 22 00:09:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] mm: slab cache interleave rotor fix\n\nThe alien cache rotor in mm/slab.c assumes that the first online node is\nnode 0.  Eventually for some archs, especially with hotplug, this will no\nlonger be true.\n\nFix the interleave rotor to handle the general case of node numbering.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fdb7cc59084ba7eef935e4e40aaaf538ee34c625",
      "tree": "d31bd847f2d9ea3f5b2a632c718b53797172af88",
      "parents": [
        "9b65ef59d42a56fa1358958ede77aaa5bac385a8"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Wed Mar 22 00:09:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] mm: hugetlb alloc_fresh_huge_page bogus node loop fix\n\nFix bogus node loop in hugetlb.c alloc_fresh_huge_page(), which was\nassuming that nodes are numbered contiguously from 0 to num_online_nodes().\nOnce the hotplug folks get this far, that will be false.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-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": "9b65ef59d42a56fa1358958ede77aaa5bac385a8",
      "tree": "c6f83951e399cf52784f6d200c9588e4c41d6461",
      "parents": [
        "879336c3930ae9273ea1c45214cb8adae0ce494a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Wed Mar 22 00:09:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] fix swap cluster offset\n\nWhen we\u0027ve allocated SWAPFILE_CLUSTER pages, -\u003ecluster_next should be the\nfirst index of swap cluster.  But current code probably sets it wrong offset.\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "879336c3930ae9273ea1c45214cb8adae0ce494a",
      "tree": "24fbb8aff19f6747b6cc40cb05cbe9f4c21f85e3",
      "parents": [
        "b18e7e654d7af741d2bf34a90dc34128d0217fea"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Mar 22 00:09:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] drain_node_pages: interrupt latency reduction / optimization\n\n1. Only disable interrupts if there is actually something to free\n\n2. Only dirty the pcp cacheline if we actually freed something.\n\n3. Disable interrupts for each single pcp and not for cleaning\n  all the pcps in all zones of a node.\n\ndrain_node_pages is called every 2 seconds from cache_reap. This\nfix should avoid most disabling of interrupts.\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": "b18e7e654d7af741d2bf34a90dc34128d0217fea",
      "tree": "04cbc067da970b8b24c8b5d48a1e7d9520f92b06",
      "parents": [
        "1b55253a7f95adc82eb20937b57b3e3e32ba65df"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] slab: fix drain_array() so that it works correctly with the shared_array\n\nThe list_lock also protects the shared array and we call drain_array() with\nthe shared array.  Therefore we cannot go as far as I wanted to but have to\ntake the lock in a way so that it also protects the array_cache in\ndrain_pages.\n\n(Note: maybe we should make the array_cache locking more consistent?  I.e.\nalways take the array cache lock for shared arrays and disable interrupts\nfor the per cpu arrays?)\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": "1b55253a7f95adc82eb20937b57b3e3e32ba65df",
      "tree": "5ab3f9e6efa5e2ed2a39843b95dcf95ddb89592a",
      "parents": [
        "aab2207cf8d9c343b6b5f0e4d27e1732f8618d14"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] slab: remove drain_array_locked\n\nRemove drain_array_locked and use that opportunity to limit the time the l3\nlock is taken further.\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": "aab2207cf8d9c343b6b5f0e4d27e1732f8618d14",
      "tree": "deb851a556ac7d2339a5bc83985a33fe126321ee",
      "parents": [
        "35386e3b0f876bf194982f48f027af0c216499ce"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] slab: make drain_array more universal by adding more parameters\n\nAnd a parameter to drain_array to control the freeing of all objects and\nthen use drain_array() to replace instances of drain_array_locked with\ndrain_array.  Doing so will avoid taking locks in those locations if the\narrays are empty.\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": "35386e3b0f876bf194982f48f027af0c216499ce",
      "tree": "9fb79545f6797422f5cf666b0e65a4bb1882ee1d",
      "parents": [
        "248a0301e703cbf781aa02a91bcfc6da75870dd7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:09:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] slab: cache_reap(): further reduction in interrupt holdoff\n\ncache_reap takes the l3-\u003elist_lock (disabling interrupts) unconditionally\nand then does a few checks and maybe does some cleanup.  This patch makes\ncache_reap() only take the lock if there is work to do and then the lock is\ntaken and released for each cleaning action.\n\nThe checking of when to do the next reaping is done without any locking and\nbecomes racy.  Should not matter since reaping can also be skipped if the\nslab mutex cannot be acquired.\n\nThe same is true for the touched processing.  If we get this wrong once in\nawhile then we will mistakenly clean or not clean the shared cache.  This\nwill impact performance slightly.\n\nNote that the additional drain_array() function introduced here will fall\nout in a subsequent patch since array cleaning will now be very similar\nfrom all callers.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: 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": "248a0301e703cbf781aa02a91bcfc6da75870dd7",
      "tree": "74168da24983ec948fb25f92c2b3a1b9d76a5f13",
      "parents": [
        "d5d4b0aa4e1430d73050babba999365593bdb9d2"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 22 00:09:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:05 2006 -0800"
      },
      "message": "[PATCH] mm: make shrink_all_memory try harder\n\nMake shrink_all_memory() repeat the attempts to free more memory if there\nseems to be no pages to free.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5d4b0aa4e1430d73050babba999365593bdb9d2",
      "tree": "67199d156f61217f9493d31aa4a9bfbb9c97412e",
      "parents": [
        "bba1e9b2111b14625f670bd07e57fd7ed57ce804"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Wed Mar 22 00:09:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:04 2006 -0800"
      },
      "message": "[PATCH] optimize follow_hugetlb_page\n\nfollow_hugetlb_page() walks a range of user virtual address and then fills\nin list of struct page * into an array that is passed from the argument\nlist.  It also gets a reference count via get_page().  For compound page,\nget_page() actually traverse back to head page via page_private() macro and\nthen adds a reference count to the head page.  Since we are doing a virt to\npte look up, kernel already has a struct page pointer into the head page.\nSo instead of traverse into the small unit page struct and then follow a\nlink back to the head page, optimize that with incrementing the reference\ncount directly on the head page.\n\nThe benefit is that we don\u0027t take a cache miss on accessing page struct for\nthe corresponding user address and more importantly, not to pollute the\ncache with a \"not very useful\" round trip of pointer chasing.  This adds a\nmoderate performance gain on an I/O intensive database transaction\nworkload.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4866920b93fd7d5b520278c3c76e6f4d5a352d81",
      "tree": "c4b8642c83e11af6d8e57ab35dc479f2c1a651d0",
      "parents": [
        "9da61aef0fd5b17dd4bf4baf33db12c470def774"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:04 2006 -0800"
      },
      "message": "[PATCH] hugepage: Fix hugepage logic in free_pgtables() harder\n\nTurns out the hugepage logic in free_pgtables() was doubly broken.  The\nloop coalescing multiple normal page VMAs into one call to free_pgd_range()\nhad an off by one error, which could mean it would coalesce one hugepage\nVMA into the same bundle (checking \u0027vma\u0027 not \u0027next\u0027 in the loop).  I\ntransferred this bug into the new is_vm_hugetlb_page() based version.\nHere\u0027s the fix.\n\nThis one didn\u0027t bite on powerpc previously for the same reason the\nis_hugepage_only_range() problem didn\u0027t: powerpc\u0027s hugetlb_free_pgd_range()\nis identical to free_pgd_range().  It didn\u0027t bite on ia64 because the\nhugepage region is distant enough from any other region that the separated\nPMD_SIZE distance test would always prevent coalescing the two together.\n\nNo libhugetlbfs testsuite regressions (ppc64, POWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9da61aef0fd5b17dd4bf4baf33db12c470def774",
      "tree": "cb4bb0b63c36a0b303ceadc0cec0fae00c49ecf3",
      "parents": [
        "27a85ef1b81300cfff06b4c8037e9914dfb09acc"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Fix hugepage logic in free_pgtables()\n\nfree_pgtables() has special logic to call hugetlb_free_pgd_range() instead\nof the normal free_pgd_range() on hugepage VMAs.  However, the test it uses\nto do so is incorrect: it calls is_hugepage_only_range on a hugepage sized\nrange at the start of the vma.  is_hugepage_only_range() will return true\nif the given range has any intersection with a hugepage address region, and\nin this case the given region need not be hugepage aligned.  So, for\nexample, this test can return true if called on, say, a 4k VMA immediately\npreceding a (nicely aligned) hugepage VMA.\n\nAt present we get away with this because the powerpc version of\nhugetlb_free_pgd_range() is just a call to free_pgd_range().  On ia64 (the\nonly other arch with a non-trivial is_hugepage_only_range()) we get away\nwith it for a different reason; the hugepage area is not contiguous with\nthe rest of the user address space, and VMAs are not permitted in between,\nso the test can\u0027t return a false positive there.\n\nNonetheless this should be fixed.  We do that in the patch below by\nreplacing the is_hugepage_only_range() test with an explicit test of the\nVMA using is_vm_hugetlb_page().\n\nThis in turn changes behaviour for platforms where is_hugepage_only_range()\nreturns false always (everything except powerpc and ia64).  We address this\nby ensuring that hugetlb_free_pgd_range() is defined to be identical to\nfree_pgd_range() (instead of a no-op) on everything except ia64.  Even so,\nit will prevent some otherwise possible coalescing of calls down to\nfree_pgd_range().  Since this only happens for hugepage VMAs, removing this\nsmall optimization seems unlikely to cause any trouble.\n\nThis patch causes no regressions on the libhugetlbfs testsuite - ppc64\nPOWER5 (8-way), ppc64 G5 (2-way) and i386 Pentium M (UP).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27a85ef1b81300cfff06b4c8037e9914dfb09acc",
      "tree": "1a8d9bc4c5611542273e57fc2606c12905906a57",
      "parents": [
        "b45b5bd65f668a665db40d093e4e1fe563533608"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Make {alloc,free}_huge_page() local\n\nOriginally, mm/hugetlb.c just handled the hugepage physical allocation path\nand its {alloc,free}_huge_page() functions were used from the arch specific\nhugepage code.  These days those functions are only used with mm/hugetlb.c\nitself.  Therefore, this patch makes them static and removes their\nprototypes from hugetlb.h.  This requires a small rearrangement of code in\nmm/hugetlb.c to avoid a forward declaration.\n\nThis patch causes no regressions on the libhugetlbfs testsuite (ppc64,\nPOWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b45b5bd65f668a665db40d093e4e1fe563533608",
      "tree": "aa3806bd87fd7aa719b561e4d468c779f6adb31b",
      "parents": [
        "3935baa9bcda3ccaee4f7849f5157d316e34412e"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Strict page reservation for hugepage inodes\n\nThese days, hugepages are demand-allocated at first fault time.  There\u0027s a\nsomewhat dubious (and racy) heuristic when making a new mmap() to check if\nthere are enough available hugepages to fully satisfy that mapping.\n\nA particularly obvious case where the heuristic breaks down is where a\nprocess maps its hugepages not as a single chunk, but as a bunch of\nindividually mmap()ed (or shmat()ed) blocks without touching and\ninstantiating the pages in between allocations.  In this case the size of\neach block is compared against the total number of available hugepages.\nIt\u0027s thus easy for the process to become overcommitted, because each block\nmapping will succeed, although the total number of hugepages required by\nall blocks exceeds the number available.  In particular, this defeats such\na program which will detect a mapping failure and adjust its hugepage usage\ndownward accordingly.\n\nThe patch below addresses this problem, by strictly reserving a number of\nphysical hugepages for hugepage inodes which have been mapped, but not\ninstatiated.  MAP_SHARED mappings are thus \"safe\" - they will fail on\nmmap(), not later with an OOM SIGKILL.  MAP_PRIVATE mappings can still\ntrigger an OOM.  (Actually SHARED mappings can technically still OOM, but\nonly if the sysadmin explicitly reduces the hugepage pool between mapping\nand instantiation)\n\nThis patch appears to address the problem at hand - it allows DB2 to start\ncorrectly, for instance, which previously suffered the failure described\nabove.\n\nThis patch causes no regressions on the libhugetblfs testsuite, and makes a\ntest (designed to catch this problem) pass which previously failed (ppc64,\nPOWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3935baa9bcda3ccaee4f7849f5157d316e34412e",
      "tree": "45f6d064693a91171c57159acac43822cae6e129",
      "parents": [
        "79ac6ba40eb8d70f0d204e98ae9b63280ad1018c"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: serialize hugepage allocation and instantiation\n\nCurrently, no lock or mutex is held between allocating a hugepage and\ninserting it into the pagetables / page cache.  When we do go to insert the\npage into pagetables or page cache, we recheck and may free the newly\nallocated hugepage.  However, since the number of hugepages in the system\nis strictly limited, and it\u0027s usualy to want to use all of them, this can\nstill lead to spurious allocation failures.\n\nFor example, suppose two processes are both mapping (MAP_SHARED) the same\nhugepage file, large enough to consume the entire available hugepage pool.\nIf they race instantiating the last page in the mapping, they will both\nattempt to allocate the last available hugepage.  One will fail, of course,\nreturning OOM from the fault and thus causing the process to be killed,\ndespite the fact that the entire mapping can, in fact, be instantiated.\n\nThe patch fixes this race by the simple method of adding a (sleeping) mutex\nto serialize the hugepage fault path between allocation and insertion into\npagetables and/or page cache.  It would be possible to avoid the\nserialization by catching the allocation failures, waiting on some\ncondition, then rechecking to see if someone else has instantiated the page\nfor us.  Given the likely frequency of hugepage instantiations, it seems\nvery doubtful it\u0027s worth the extra complexity.\n\nThis patch causes no regression on the libhugetlbfs testsuite, and one\ntest, which can trigger this race now passes where it previously failed.\n\nActually, the test still sometimes fails, though less often and only as a\nshmat() failure, rather processes getting OOM killed by the VM.  The dodgy\nheuristic tests in fs/hugetlbfs/inode.c for whether there\u0027s enough hugepage\nspace aren\u0027t protected by the new mutex, and would be ugly to do so, so\nthere\u0027s still a race there.  Another patch to replace those tests with\nsomething saner for this reason as well as others coming...\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79ac6ba40eb8d70f0d204e98ae9b63280ad1018c",
      "tree": "522d835dbdc6b6efe6b834f3f1f9a21a8ba161e5",
      "parents": [
        "8f860591ffb29738cf5539b6fbf27f50dcdeb380"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:08:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] hugepage: Small fixes to hugepage clear/copy path\n\nMove the loops used in mm/hugetlb.c to clear and copy hugepages to their\nown functions for clarity.  As we do so, we add some checks of need_resched\n- we are, after all copying megabytes of memory here.  We also add\nmight_sleep() accordingly.  We generally dropped locks around the clear and\ncopy, already but not everyone has PREEMPT enabled, so we should still be\nchecking explicitly.\n\nFor this to work, we need to remove the clear_huge_page() from\nalloc_huge_page(), which is called with the page_table_lock held in the COW\npath.  We move the clear_huge_page() to just after the alloc_huge_page() in\nthe hugepage no-page path.  In the COW path, the new page is about to be\ncopied over, so clearing it was just a waste of time anyway.  So as a side\neffect we also fix the fact that we held the page_table_lock for far too\nlong in this path by calling alloc_huge_page() under it.\n\nIt causes no regressions on the libhugetlbfs testsuite (ppc64, POWER5).\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f860591ffb29738cf5539b6fbf27f50dcdeb380",
      "tree": "4265e45c4a79d86a16cd5175a836e8c531be8117",
      "parents": [
        "aed75ff3caafce404d9be7f0c088716375be5279"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Wed Mar 22 00:08:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] Enable mprotect on huge pages\n\n2.6.16-rc3 uses hugetlb on-demand paging, but it doesn_t support hugetlb\nmprotect.\n\nFrom: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n  Remove a test from the mprotect() path which checks that the mprotect()ed\n  range on a hugepage VMA is hugepage aligned (yes, really, the sense of\n  is_aligned_hugepage_range() is the opposite of what you\u0027d guess :-/).\n\n  In fact, we don\u0027t need this test.  If the given addresses match the\n  beginning/end of a hugepage VMA they must already be suitably aligned.  If\n  they don\u0027t, then mprotect_fixup() will attempt to split the VMA.  The very\n  first test in split_vma() will check for a badly aligned address on a\n  hugepage VMA and return -EINVAL if necessary.\n\nFrom: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\n\n  On i386 and x86-64, pte flag _PAGE_PSE collides with _PAGE_PROTNONE.  The\n  identify of hugetlb pte is lost when changing page protection via mprotect.\n  A page fault occurs later will trigger a bug check in huge_pte_alloc().\n\n  The fix is to always make new pte a hugetlb pte and also to clean up\n  legacy code where _PAGE_PRESENT is forced on in the pre-faulting day.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.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": "aed75ff3caafce404d9be7f0c088716375be5279",
      "tree": "15e7165969ff533b73e29a4ee0d4b7c889ef1d29",
      "parents": [
        "a564da3964db3256069190c2ae95069143ac37fb"
      ],
      "author": {
        "name": "Steven Pratt",
        "email": "slpratt@austin.ibm.com",
        "time": "Wed Mar 22 00:08:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] readahead: fix initial window size calculation\n\nThe current current get_init_ra_size is not optimal across different IO\nsizes and max_readahead values.  Here is a quick summary of sizes computed\nunder current design and under the attached patch.  All of these assume 1st\nIO at offset 0, or 1st detected sequential IO.\n\n\t32k max, 4k request\n\n\told         new\n\t-----------------\n\t 8k        8k\n\t16k       16k\n\t32k       32k\n\n\t128k max, 4k request\n\told         new\n\t-----------------\n\t32k         16k\n\t64k         32k\n\t128k        64k\n\t128k       128k\n\n\t128k max, 32k request\n\told         new\n\t-----------------\n\t32k         64k    \u003c-----\n\t64k        128k\n\t128k       128k\n\n\t512k max, 4k request\n\told         new\n\t-----------------\n\t4k         32k     \u003c----\n\t16k        64k\n\t64k       128k\n\t128k      256k\n\t512k      512k\n\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a564da3964db3256069190c2ae95069143ac37fb",
      "tree": "b7b9d66c1d6dde82db23222b16b0296013b1c3db",
      "parents": [
        "d15c023b44e5d323f1f4130b85d29f08e43433b1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Mar 22 00:08:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:03 2006 -0800"
      },
      "message": "[PATCH] readahead: -\u003eprev_page can overrun the ahead window\n\nIf get_next_ra_size() does not grow fast enough, -\u003eprev_page can overrun\nthe ahead window.  This means the caller will read the pages from\n-\u003eahead_start + -\u003eahead_size to -\u003eprev_page synchronously.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d15c023b44e5d323f1f4130b85d29f08e43433b1",
      "tree": "f7153643b876b25f66e6e33ab2bbc670ba05a7f7",
      "parents": [
        "6e5ef1a96e6e3b123da56292bc35017c8c401491"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Mar 22 00:08:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] shmem: inline to avoid warning\n\nshmem.c was named and shamed in Jesper\u0027s \"Building 100 kernels\" warnings:\nshmem_parse_mpol is only used when CONFIG_TMPFS parses mount options; and\nonly called from that one site, so mark it inline like its non-NUMA stub.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e5ef1a96e6e3b123da56292bc35017c8c401491",
      "tree": "db9532c53013bccd7ac9d186784bbc6fd343bca4",
      "parents": [
        "a7290ee08e434399660ace34427c17696e47c562"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:08:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] vmscan: emove obsolete checks from shrink_list() and fix unlikely in refill_inactive_zone()\n\nAs suggested by Marcelo:\n\n1. The optimization introduced recently for not calling\n   page_referenced() during zone reclaim makes two additional checks in\n   shrink_list unnecessary.\n\n2. The if (unlikely(sc-\u003emay_swap)) in refill_inactive_zone is optimized\n   for the zone_reclaim case.  However, most peoples system only does swap.\n   Undo that.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Marcelo Tosatti \u003cmarcelo.tosatti@cyclades.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b7ab795b7bec9997d4fde39f249d52823d36d98d",
      "tree": "8b8825a0718ec38b5b0840fe06efa9a92a0e30c7",
      "parents": [
        "6626c5d53bc45c59798628677ba5606f02e371f3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] mm: more CONFIG_DEBUG_VM\n\nPut a few more checks under CONFIG_DEBUG_VM\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6626c5d53bc45c59798628677ba5606f02e371f3",
      "tree": "7be40e7709b1887648a649fd6b5c036638c4608b",
      "parents": [
        "17cf44064ae744f081309108fa67f0e942b10167"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] mm: prep_zero_page() in irq is a bug\n\nprep_zero_page() uses KM_USER0 and hence may not be used from IRQ context, at\nleast for highmem pages.\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "17cf44064ae744f081309108fa67f0e942b10167",
      "tree": "9073ac7498b559f5d0d36843e305a39eecc6436b",
      "parents": [
        "7835e98b2e3c66dba79cb0ff8ebb90a2fe030c29"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] mm: cleanup prep_ stuff\n\nMove the prep_ stuff into prep_new_page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7835e98b2e3c66dba79cb0ff8ebb90a2fe030c29",
      "tree": "405a96eade34845dabe2f125b6c5eb095846869d",
      "parents": [
        "70dc991d66cac40fdb07346dba2b5d862d732c34"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] remove set_page_count() outside mm/\n\nset_page_count usage outside mm/ is limited to setting the refcount to 1.\nRemove set_page_count from outside mm/, and replace those users with\ninit_page_count() and set_page_refcounted().\n\nThis allows more debug checking, and tighter control on how code is allowed\nto play around with page-\u003e_count.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84097518d1ecd2330f9488e4c2d09953a3340e74",
      "tree": "50981fe0584c456a1a86e6d7f611eec223b5f536",
      "parents": [
        "0f8053a509ceba4a077a50ea7b77039b5559b428"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:01 2006 -0800"
      },
      "message": "[PATCH] mm: nommu use compound pages\n\nNow that compound page handling is properly fixed in the VM, move nommu\nover to using compound pages rather than rolling their own refcounting.\n\nnommu vm page refcounting is broken anyway, but there is no need to have\ndivergent code in the core VM now, nor when it gets fixed.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n\n(Needs testing, please).\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f8053a509ceba4a077a50ea7b77039b5559b428",
      "tree": "5a66021540395e20256f38a3a45174617428a832",
      "parents": [
        "4fa4f53bf92139595cae6f1a3d972fc0a3451d29"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:01 2006 -0800"
      },
      "message": "[PATCH] mm: make __put_page internal\n\nRemove __put_page from outside the core mm/.  It is dangerous because it does\nnot handle compound pages nicely, and misses 1-\u003e0 transitions.  If a user\nlater appears that really needs the extra speed we can reevaluate.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a6f563db09c54c80d80e9013182dc512a5e53d0f",
      "tree": "7fa43d6a7d83a30042356f06a9cc6b09472a70e7",
      "parents": [
        "fb8d14e172a29ba5ac69a73b61196be86fdfc3e1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Mar 22 00:08:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:01 2006 -0800"
      },
      "message": "[PATCH] remove VM_DONTCOPY bogosities\n\nNow that it\u0027s madvisable, remove two pieces of VM_DONTCOPY bogosity:\n\n1. There was and is no logical reason why VM_DONTCOPY should be in the\n   list of flags which forbid vma merging (and those drivers which set\n   it are also setting VM_IO, which itself forbids the merge).\n\n2. It\u0027s hard to understand the purpose of the VM_HUGETLB, VM_DONTCOPY\n   block in vm_stat_account: but never mind, it\u0027s under CONFIG_HUGETLB,\n   which (unlike CONFIG_HUGETLB_PAGE or CONFIG_HUGETLBFS) has never been\n   defined.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb8d14e172a29ba5ac69a73b61196be86fdfc3e1",
      "tree": "5b31eac00f8fc5860170d7f8b2e7e961dbda0ddf",
      "parents": [
        "c9b02d970c385a253edb36c87643b0df706b50b4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Wed Mar 22 00:08:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] mm: shrink_inactive_lis() nr_scan accounting fix\n\nIn shrink_inactive_list(), nr_scan is not accounted when nr_taken is 0.\nBut 0 pages taken does not mean 0 pages scanned.\n\nMove the goto statement below the accounting code to fix it.\n\nSigned-off-by: Wu Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9b02d970c385a253edb36c87643b0df706b50b4",
      "tree": "0e1990c1ced842a923221b36ee1546bf9aac8509",
      "parents": [
        "7fb2d46d396b2491818f8e43b01049b3234e6c07"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Wed Mar 22 00:08:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] mm: isolate_lru_pages() scan count fix\n\nIn isolate_lru_pages(), *scanned reports one more scan because the scan\ncounter is increased one more time on exit of the while-loop.\n\nChange the while-loop to for-loop to fix it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Wu Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7fb2d46d396b2491818f8e43b01049b3234e6c07",
      "tree": "d5826a4d1c3b1853be20c6049311eb52f1a98360",
      "parents": [
        "1742f19fa920cdd6905f0db5898524dde22ab2a4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:08:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] zone_reclaim: additional comments and cleanup\n\nAdd some comments to explain how zone reclaim works.  And it fixes the\nfollowing issues:\n\n- PF_SWAPWRITE needs to be set for RECLAIM_SWAP to be able to write\n  out pages to swap. Currently RECLAIM_SWAP may not do that.\n\n- remove setting nr_reclaimed pages after slab reclaim since the slab shrinking\n  code does not use that and the nr_reclaimed pages is just right for the\n  intended follow up action.\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": "1742f19fa920cdd6905f0db5898524dde22ab2a4",
      "tree": "90a490795f29f96e89503ead5affb4c8f99e5e75",
      "parents": [
        "05ff51376f01fd8837946a4f8144a84f6cc71c19"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] vmscan: rename functions\n\nWe have:\n\n\ttry_to_free_pages\n\t-\u003eshrink_caches(struct zone **zones, ..)\n\t  -\u003eshrink_zone(struct zone *, ...)\n\t    -\u003eshrink_cache(struct zone *, ...)\n\t      -\u003eshrink_list(struct list_head *, ...)\n\t    -\u003erefill_inactive_list((struct zone *, ...)\n\nwhich is fairly irrational.\n\nRename things so that we have\n\n \ttry_to_free_pages\n \t-\u003eshrink_zones(struct zone **zones, ..)\n \t  -\u003eshrink_zone(struct zone *, ...)\n \t    -\u003eshrink_inactive_list(struct zone *, ...)\n \t      -\u003eshrink_page_list(struct list_head *, ...)\n\t    -\u003eshrink_active_list(struct zone *, ...)\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "05ff51376f01fd8837946a4f8144a84f6cc71c19",
      "tree": "ca91bcabe6b4bfa71801a39e2921a44ec0bb1003",
      "parents": [
        "69e05944af39fc6c97b09380c8721e38433bd828"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] vmscan return nr_reclaimed\n\nChange all the vmscan functions to retunr the number-of-reclaimed pages and\nremove scan_conrtol.nr_reclaimed.\n\nSaves ten-odd bytes of text and makes things clearer and more consistent.\n\nThe patch also changes the behaviour of zone_reclaim() when it falls back to slab shrinking.  Christoph says\n\n  \"Setting this to one means that we will rescan and shrink the slab for\n  each allocation if we are out of zone memory and RECLAIM_SLAB is set.  Plus\n  if we do an order 0 allocation we do not go off node as intended.\n\n  \"We better set this to zero.  This means the allocation will go offnode\n  despite us having potentially freed lots of memory on the zone.  Future\n  allocations can then again be done from this zone.\"\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "69e05944af39fc6c97b09380c8721e38433bd828",
      "tree": "165e594ed5cd34c3a2b2ec236f75ac5b192ade7a",
      "parents": [
        "179e96395b1f01e95ebe1ff5ef306b810dbbd147"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] vmscan: use unsigned longs\n\nTurn basically everything in vmscan.c into `unsigned long\u0027.  This is to avoid\nthe possibility that some piece of code in there might decide to operate upon\nmore than 4G (or even 2G) of pages in one hit.\n\nThis might be silly, but we\u0027ll need it one day.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "179e96395b1f01e95ebe1ff5ef306b810dbbd147",
      "tree": "c21157905aa04dc37b531a1deaacd022932fa48e",
      "parents": [
        "8695949a1d7c99e039595db00af8e0fe4722307d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:00 2006 -0800"
      },
      "message": "[PATCH] vmscan: scan_control cleanup\n\nInitialise as much of scan_control as possible at the declaration site.  This\ntidies things up a bit and assures us that all unmentioned fields are zeroed\nout.\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": "8695949a1d7c99e039595db00af8e0fe4722307d",
      "tree": "ac845804aeabdeb19963b5907df921cb9ba8839e",
      "parents": [
        "a07fa3944bf924881450884224cbb2f1269cb9fa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:08:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:59 2006 -0800"
      },
      "message": "[PATCH] Thin out scan_control: remove nr_to_scan and priority\n\nMake nr_to_scan and priority a parameter instead of putting it into scan\ncontrol.  This allows various small optimizations and IMHO makes the code\neasier to read.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a07fa3944bf924881450884224cbb2f1269cb9fa",
      "tree": "1a418f44586da209b7a05d0e08e6c2b2bc5fe420",
      "parents": [
        "78eef01b0fae087c5fadbd85dd4fe2918c3a015f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:59 2006 -0800"
      },
      "message": "[PATCH] slab: use on_each_cpu()\n\nSlab duplicates on_each_cpu().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac2b898ca6fb06196a26869c23b66afe7944e52e",
      "tree": "e82e7bebd89b02813ce23f76fec4aeb5626da655",
      "parents": [
        "911851e6ee6ac4e26f07be342a89632f78494fef"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Wed Mar 22 00:08:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:59 2006 -0800"
      },
      "message": "[PATCH] slab: Remove SLAB_NO_REAP option\n\nSLAB_NO_REAP is documented as an option that will cause this slab not to be\nreaped under memory pressure.  However, that is not what happens.  The only\nthing that SLAB_NO_REAP controls at the moment is the reclaim of the unused\nslab elements that were allocated in batch in cache_reap().  Cache_reap()\nis run every few seconds independently of memory pressure.\n\nCould we remove the whole thing?  Its only used by three slabs anyways and\nI cannot find a reason for having this option.\n\nThere is an additional problem with SLAB_NO_REAP.  If set then the recovery\nof objects from alien caches is switched off.  Objects not freed on the\nsame node where they were initially allocated will only be reused if a\ncertain amount of objects accumulates from one alien node (not very likely)\nor if the cache is explicitly shrunk.  (Strangely __cache_shrink does not\ncheck for SLAB_NO_REAP)\n\nGetting rid of SLAB_NO_REAP fixes the problems with alien cache freeing.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "911851e6ee6ac4e26f07be342a89632f78494fef",
      "tree": "898e7150d996eae1800183a5380791270f59263d",
      "parents": [
        "fcc234f888ba2365c44ba0507eb8a18eebf1f594"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Mar 22 00:08:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:59 2006 -0800"
      },
      "message": "[PATCH] slab: fix kernel-doc warnings\n\nFix kernel-doc warnings in mm/slab.c.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fcc234f888ba2365c44ba0507eb8a18eebf1f594",
      "tree": "afc0d6f5a6191a94d8285f0b21ecec5a9b911df9",
      "parents": [
        "b5d8ca7c50826c0b456b4a646875dc573adfde2b"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Mar 22 00:08:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:58 2006 -0800"
      },
      "message": "[PATCH] mm: kill kmem_cache_t usage\n\nWe have struct kmem_cache now so use it instead of the old typedef.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b5d8ca7c50826c0b456b4a646875dc573adfde2b",
      "tree": "dc04800243ac331c862c1cdbeebd82bf369602d1",
      "parents": [
        "a737b3e2fcf96f576fa3e2e382236d9ee94f383f"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Wed Mar 22 00:08:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:58 2006 -0800"
      },
      "message": "[PATCH] slab: remove cachep-\u003espinlock\n\nRemove cachep-\u003espinlock.  Locking has moved to the kmem_list3 and most of\nthe structures protected earlier by cachep-\u003espinlock is now protected by\nthe l3-\u003elist_lock.  slab cache tunables like batchcount are accessed always\nwith the cache_chain_mutex held.\n\nPatch tested on SMP and NUMA kernels with dbench processes running,\nconstant onlining/offlining, and constant cache tuning, all at the same\ntime.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: 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": "a737b3e2fcf96f576fa3e2e382236d9ee94f383f",
      "tree": "8bc2a5e4f0f12ae01c6cb718ada98bc092daecbf",
      "parents": [
        "f30cf7d13eee420f5249b4d7709b46570098ab92"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:58 2006 -0800"
      },
      "message": "[PATCH] slab cleanup\n\nslab.c has become a bit revolting again.  Try to repair it.\n\n- Coding style fixes\n\n- Don\u0027t do assignments-in-if-statements.\n\n- Don\u0027t typecast assignments to/from void*\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "f30cf7d13eee420f5249b4d7709b46570098ab92"
}
