)]}'
{
  "log": [
    {
      "commit": "da3caa204ca40c32dcb751ebead2a6835b83e8d1",
      "tree": "0bf36cf3bd9bee84cc4f93de5e99d6a0832329cb",
      "parents": [
        "8680e22f296e75e5497edb660c59c6b4dcfbbd32"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Tue Jun 21 17:15:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:22 2005 -0700"
      },
      "message": "[PATCH] SELinux: memory leak in selinux_sb_copy_data()\n\nThere is a memory leak during mount when SELinux is active and mount\noptions are specified.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nAcked-by:  Stephen Smalley \u003csds@epoch.ncsc.mil\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8680e22f296e75e5497edb660c59c6b4dcfbbd32",
      "tree": "f86483aa60a21a9396a44249cdb7c5a24e512858",
      "parents": [
        "2894801db1cea527885f7a8679e5a88fb7377d9c"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Tue Jun 21 17:15:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:22 2005 -0700"
      },
      "message": "[PATCH] VFS: memory leak in do_kern_mount()\n\nThere is a memory leak during mount when CONFIG_SECURITY is enabled and\nmount options are specified.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nAcked-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2894801db1cea527885f7a8679e5a88fb7377d9c",
      "tree": "73789d1e0f35c622e397659e57380278a23df362",
      "parents": [
        "0f667ff5c0282f686b4f739e46353779b3cfa2f6"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "coywolf@lovecn.org",
        "time": "Tue Jun 21 17:15:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:22 2005 -0700"
      },
      "message": "[PATCH] kbuild: display compile version\n\nI am always trying to make sure I\u0027ve booted the right kernel after a new\ninstall.  Too paranoid maybe.  But I guess there\u0027re other people like me.\nSo let\u0027s make kbuild display the compile version number at the end to give\nus a hint.  I know we may be booting vmlinux someday, but don\u0027t care about\nit for now.\n\nSigned-off-by: Coywolf Qi Hunt \u003ccoywolf@lovecn.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f667ff5c0282f686b4f739e46353779b3cfa2f6",
      "tree": "9e672587f4032ac1be6fb65998e73d59ad5df9f5",
      "parents": [
        "c0d62219a48bd91ec40fb254c930914dccc77ff1"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 21 17:15:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:22 2005 -0700"
      },
      "message": "[PATCH] 3c59x: remove superfluous vortex_debug test from boomerang_start_xmit()\n\nRemove the superfluous test of \"if (vortex_debug \u003e 3)\" inside the \"if\n(vortex_debug \u003e 6)\" clause early in boomerang_start_xmit.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0d62219a48bd91ec40fb254c930914dccc77ff1",
      "tree": "66049d2eb980b67bd745d19e97ada5a992975c06",
      "parents": [
        "b4955ce3dd0818b56da532a16c9a4a3804a558ee"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Tue Jun 21 17:15:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] Kill stray newline\n\nOOM killer prints a stray newline.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4955ce3dd0818b56da532a16c9a4a3804a558ee",
      "tree": "6e01667181bfc495b56e39748783ad2235a4f56e",
      "parents": [
        "c475a8ab625d567eacf5e30ec35d6d8704558062"
      ],
      "author": {
        "name": "Abhijit Karmarkar",
        "email": "abhijitk@veritas.com",
        "time": "Tue Jun 21 17:15:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] msync: check pte dirty earlier\n\nIt\u0027s common practice to msync a large address range regularly, in which\noften only a few ptes have actually been dirtied since the previous pass.\n\nsync_pte_range then goes much faster if it tests whether pte is dirty\nbefore locating and accessing each struct page cacheline; and it is hardly\nslowed by ptep_clear_flush_dirty repeating that test in the opposite case,\nwhen every pte actually is dirty.\n\nBut beware, s390\u0027s pte_dirty always says false, since its dirty bit is kept\nin the storage key, located via the struct page address.  So skip this\noptimization in its case: use a pte_maybe_dirty macro which just says true\nif page_test_and_clear_dirty is implemented.\n\nSigned-off-by: Abhijit Karmarkar \u003cabhijitk@veritas.com\u003e\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": "c475a8ab625d567eacf5e30ec35d6d8704558062",
      "tree": "0971bef7b876f1b3eb160621fc2b61cb5313827b",
      "parents": [
        "d296e9cd02c92e576ecce5344026a4df4353cdb2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] can_share_swap_page: use page_mapcount\n\nRemember that ironic get_user_pages race?  when the raised page_count on a\npage swapped out led do_wp_page to decide that it had to copy on write, so\nsubstituted a different page into userspace.  2.6.7 onwards have Andrea\u0027s\nsolution, where try_to_unmap_one backs out if it finds page_count raised.\n\nWhich works, but is unsatisfying (rmap.c has no other page_count heuristics),\nand was found a few months ago to hang an intensive page migration test.  A\nyear ago I was hesitant to engage page_mapcount, now it seems the right fix.\n\nSo remove the page_count hack from try_to_unmap_one; and use activate_page in\nunuse_mm when dropping lock, to replace its secondary effect of helping\nswapoff to make progress in that case.\n\nSimplify can_share_swap_page (now called only on anonymous pages) to check\npage_mapcount + page_swapcount \u003d\u003d 1: still needs the page lock to stabilize\ntheir (pessimistic) sum, but does not need swapper_space.tree_lock for that.\n\nIn do_swap_page, move swap_free and unlock_page below page_add_anon_rmap, to\nkeep sum on the high side, and correct when can_share_swap_page called.\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": "d296e9cd02c92e576ecce5344026a4df4353cdb2",
      "tree": "76af62c5d2c16e89672f71f2f4c7a65aa36ff914",
      "parents": [
        "08ef472937e918875a82fd350d3de138aac50414"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] do_wp_page: cannot share file page\n\nA small optimization to do_wp_page\u0027s check for whether to avoid copy by\nreusing the page already mapped.  It can never share a cached file page,\nnor can it share a reserved page (often the empty zero page), so it\u0027s a\nwaste of time to lock and unlock in those cases.  Which nowadays can both\nbe neatly excluded by a preliminary PageAnon test.\n\nChristoph has reported that a preliminary page_count test proved valuable\nfor scalability here, but PageAnon covers more common cases all at once.\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": "08ef472937e918875a82fd350d3de138aac50414",
      "tree": "990a503a711b82f94ad78ea5794a46992db05228",
      "parents": [
        "7c2f3fda5666c280bcd00ac3b86963270b23e796"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:21 2005 -0700"
      },
      "message": "[PATCH] get_user_pages: kill get_page_map\n\nSince its birth, get_user_pages has been calling a misguided get_page_map\nfunction.  follow_page has already returned NULL if the pfn is invalid, we\ncannot reach an invalid pfn from a validated struct page.\n\nRemove get_page_map, and the messy rewind in get_user_pages to cope with\nits failure.  Oh, and could we please call that \"struct page *page\" like\neverywhere else, instead of \"struct page *map\"?\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": "7c2f3fda5666c280bcd00ac3b86963270b23e796",
      "tree": "97404af53d1bb61912e5739690c053f8005bc299",
      "parents": [
        "334795eca421287c41c257992027d29659dc0f97"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:20 2005 -0700"
      },
      "message": "[PATCH] rme96xx: fix PageReserved range\n\nrme96xx busmaster_malloc miscalculates and fails to set PageReserved on any\npage of char *buf; but busmaster_free does it right, so do the same (I\ndon\u0027t have the card, just noticed this while sifting for rmap BUGs).\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": "334795eca421287c41c257992027d29659dc0f97",
      "tree": "c371467bea94f77bd340730c9cac724cca194b20",
      "parents": [
        "45918e1a8bfcabc1cb4570b8df276655020eac45"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] bad_page: clear reclaim and slab\n\nSince free_pages_check complains if PG_reclaim or PG_slab is set, bad_page\nought to clear them to avoid repetitive reports (Nikita noticed this too).\nLet prep_new_page check page_count and PG_slab as free_pages_check does.\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": "45918e1a8bfcabc1cb4570b8df276655020eac45",
      "tree": "4caf6a8b634de389e758d2b4c037208f098b3141",
      "parents": [
        "91612e0df20a52f61db3cac280c153311b36df7a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] dup_mmap: update comment on new vma\n\nRemove part of comment on linking new vma in dup_mmap: since anon_vma rmap\ncame in, try_to_unmap_one knows the vma without needing find_vma.  But add\na comment to note that here vma is inserted without mmap_sem.\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": "91612e0df20a52f61db3cac280c153311b36df7a",
      "tree": "44a19e1d03147aabb842cbaac493a7213b836e4a",
      "parents": [
        "941150a326be88af245034ef4b3e9fa00229aa2d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] mbind: check_range use standard ptwalk\n\nStrict mbind\u0027s check for currently mapped pages being on node has been\nusing a slow loop which re-evaluates pgd, pud, pmd, pte for each entry:\nreplace that by a standard four-level page table walk like others in mm.\nSince mmap_sem is held for writing, page_table_lock can be taken at the\ninner level to limit latency.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.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": "941150a326be88af245034ef4b3e9fa00229aa2d",
      "tree": "03a058776dccd007150a3f57b1f36bf63b8f6a5d",
      "parents": [
        "400e65146c428d2ef677a927786fda2cec545a76"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] mbind: fix verify_pages pte_page\n\nStrict mbind\u0027s check that pages already mapped are on right node has been\nusing pte_page without checking if pfn_valid, and without page_table_lock\nto prevent spurious failures when try_to_unmap_one intervenes between the\npte_present and the pte_page.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.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": "400e65146c428d2ef677a927786fda2cec545a76",
      "tree": "51c94fe3448b63f07886dcb90484ee9e51acb595",
      "parents": [
        "0edd73b33426df61b1d8a0a50d1f2ec097500abb"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Tue Jun 21 17:15:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:19 2005 -0700"
      },
      "message": "[PATCH] ia64: pfn_to_nid() implementation\n\npfn_to_nid is undefined.  We haven\u0027t had this interface on ia64.  The\nsys_mbind patches need it.\n\nOh, the paddr_to_nid call could fail when DISCONTIG+NUMA is configured\nbecause there isn\u0027t any ACPI SRAT NUMA information.\n\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nAcked-by: Tony Luck \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": "0edd73b33426df61b1d8a0a50d1f2ec097500abb",
      "tree": "edbc6d9b53ebd107befaf53fbefaaf1a55244273",
      "parents": [
        "65ed0b337bd2b47097cf6c772f024772513b7b0d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jun 21 17:15:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] shmem: restore superblock info\n\nTo improve shmem scalability, we allowed tmpfs instances which don\u0027t need\ntheir blocks or inodes limited not to count them, and not to allocate any\nsbinfo.  Which was okay when the only use for the sbinfo was accounting\nblocks and inodes; but since then a couple of unrelated projects extending\ntmpfs want to store other data in the sbinfo.  Whether either extension\nreaches mainline is beside the point: I\u0027m guilty of a bad design decision,\nand should restore sbinfo to make any such future extensions easier.\n\nSo, once again allocate a shmem_sb_info for every shmem/tmpfs instance, and\nnow let max_blocks 0 indicate unlimited blocks, and max_inodes 0 unlimited\ninodes.  Brent Casavant verified (many months ago) that this does not\nperceptibly impact the scalability (since the unlimited sbinfo cacheline is\nrepeatedly accessed but only once dirtied).\n\nAnd merge shmem_set_size into its sole caller shmem_remount_fs.\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": "65ed0b337bd2b47097cf6c772f024772513b7b0d",
      "tree": "ade82d2bd373d5f98f84a53f7afc5cec7323e742",
      "parents": [
        "f14f75b81187cdbe10cc53a521bf9fdf97b59f8c"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Tue Jun 21 17:15:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] SN2 XPC build patches\n\nThis patch contains the bits to make the XPC code use the uncached\nallocator rather than calling into the mspec driver.  It also includes the\nmspec.h header which is required to build the XPC modules.\n\nSigned-off-by: Jes Sorensen \u003cjes@wildopensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f14f75b81187cdbe10cc53a521bf9fdf97b59f8c",
      "tree": "5c0d48c8a3338e6f1747e6cd55f699be96ffef1a",
      "parents": [
        "2caaad41e4aa8f5dd999695b4ddeaa0e7f3912a4"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@wildopensource.com",
        "time": "Tue Jun 21 17:15:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] ia64 uncached alloc\n\nThis patch contains the ia64 uncached page allocator and the generic\nallocator (genalloc).  The uncached allocator was formerly part of the SN2\nmspec driver but there are several other users of it so it has been split\noff from the driver.\n\nThe generic allocator can be used by device driver to manage special memory\netc.  The generic allocator is based on the allocator from the sym53c8xx_2\ndriver.\n\nVarious users on ia64 needs uncached memory.  The SGI SN architecture requires\nit for inter-partition communication between partitions within a large NUMA\ncluster.  The specific user for this is the XPC code.  Another application is\nlarge MPI style applications which use it for synchronization, on SN this can\nbe done using special \u0027fetchop\u0027 operations but it also benefits non SN\nhardware which may use regular uncached memory for this purpose.  Performance\nof doing this through uncached vs cached memory is pretty substantial.  This\nis handled by the mspec driver which I will push out in a seperate patch.\n\nRather than creating a specific allocator for just uncached memory I came up\nwith genalloc which is a generic purpose allocator that can be used by device\ndrivers and other subsystems as they please.  For instance to handle onboard\ndevice memory.  It was derived from the sym53c7xx_2 driver\u0027s allocator which\nis also an example of a potential user (I am refraining from modifying sym2\nright now as it seems to have been under fairly heavy development recently).\n\nOn ia64 memory has various properties within a granule, ie.  it isn\u0027t safe to\naccess memory as uncached within the same granule as currently has memory\naccessed in cached mode.  The regular system therefore doesn\u0027t utilize memory\nin the lower granules which is mixed in with device PAL code etc.  The\nuncached driver walks the EFI memmap and pulls out the spill uncached pages\nand sticks them into the uncached pool.  Only after these chunks have been\nutilized, will it start converting regular cached memory into uncached memory.\nHence the reason for the EFI related code additions.\n\nSigned-off-by: Jes Sorensen \u003cjes@wildopensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2caaad41e4aa8f5dd999695b4ddeaa0e7f3912a4",
      "tree": "4ce8426bf3a85d92efc5a0f6c981f54963d472e8",
      "parents": [
        "4ae7c03943fca73f23bc0cdb938070f41b98101f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@graphe.net",
        "time": "Tue Jun 21 17:15:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] Reduce size of huge boot per_cpu_pageset\n\nReduce size of the huge per_cpu_pageset structure in __initdata introduced\ninto mm1 with the pageset localization patchset.  Use one specially\nconfigured pageset per cpu for all zones and nodes during bootup.\n\n- Avoid duplication of pageset initialization code.\n- do the adding to the pageset list before potential free_pages_bulk\n  in free_hot_cold_page (otherwise we would have to hold a page\n  in a pageset during the period that the boot pagesets are in use).\n- remove mistaken __cpuinitdata attribute and revert back to __initdata\n  for the boot pageset. A boot pageset is not necessary for cpu hotplug.\n\nTested for UP SMP NUMA on x86_64 (2.6.12-rc6-mm1): UP SMP NUMA Tested on\nIA64 (2.6.12-rc5-mm2): NUMA (2.6.12-rc6-mm1 broken for IA64 because of\nsparsemem patches)\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": "4ae7c03943fca73f23bc0cdb938070f41b98101f",
      "tree": "d4b3a7369896af7aa7bb58d0d1699be91fc4aa0d",
      "parents": [
        "578c2fd6a7f378434655e5c480e23152a3994404"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Tue Jun 21 17:14:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:18 2005 -0700"
      },
      "message": "[PATCH] Periodically drain non local pagesets\n\nThe pageset array can potentially acquire a huge amount of memory on large\nNUMA systems.  F.e.  on a system with 512 processors and 256 nodes there\nwill be 256*512 pagesets.  If each pageset only holds 5 pages then we are\ntalking about 655360 pages.With a 16K page size on IA64 this results in\npotentially 10 Gigabytes of memory being trapped in pagesets.  The typical\ncases are much less for smaller systems but there is still the potential of\nmemory being trapped in off node pagesets.  Off node memory may be rarely\nused if local memory is available and so we may potentially have memory in\nseldom used pagesets without this patch.\n\nThe slab allocator flushes its per cpu caches every 2 seconds.  The\nfollowing patch flushes the off node pageset caches in the same way by\ntying into the slab flush.\n\nThe patch also changes /proc/zoneinfo to include the number of pages\ncurrently in each pageset.\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": "578c2fd6a7f378434655e5c480e23152a3994404",
      "tree": "3a6408c416e3825cd17e33ac776425a52b743adc",
      "parents": [
        "c2f29ea111e3344ed48257c2a142c3db514e1529"
      ],
      "author": {
        "name": "Janet Morgan",
        "email": "janetmor@us.ibm.com",
        "time": "Tue Jun 21 17:14:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] add OOM debug\n\nThis patch provides more debug info when the system is OOM.  It displays\nmemory stats (basically sysrq-m info) from __alloc_pages() when page\nallocation fails and during OOM kill.\n\nThanks to Dave Jones for coming up with the idea.\n\nSigned-off-by: Janet Morgan \u003cjanetmor@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c2f29ea111e3344ed48257c2a142c3db514e1529",
      "tree": "6750edefb1f08a6be545250fdaca72fa211ef338",
      "parents": [
        "83e5d8f7253cb7b14472385a6d57df1e9f848e8e"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jun 21 17:14:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] __read_page_state(): pass unsigned long instead of unsigned\n\nBy making the offset argument of __read_page_state an unsigned long instead of\nunsigned, we can avoid forcing the compiler to sign extend a usually constant\nargument.  This saves 1 instruction on x86-64.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83e5d8f7253cb7b14472385a6d57df1e9f848e8e",
      "tree": "bafb314103aefbb5699aed2b2b284d8954a888d9",
      "parents": [
        "1ad539b2bd89bf2e129123eb24d5bcc4484a35de"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jun 21 17:14:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] __mod_page_state(): pass unsigned long instead of unsigned\n\nBy making the offset argument of __mod_page_state an unsigned long instead\nof unsigned, we can avoid forcing the compiler to sign extend a usually\nconstant argument.  This saves 1 instruction on x86-64.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ad539b2bd89bf2e129123eb24d5bcc4484a35de",
      "tree": "e416e208cdbd5d9890d39e39384e4ec913c26ef6",
      "parents": [
        "cbe37d093707762fc0abb280781e6a82a9d8d568"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Tue Jun 21 17:14:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] vm: try_to_free_pages unused argument\n\ntry_to_free_pages accepts a third argument, order, but hasn\u0027t used it since\nbefore 2.6.0.  The following patch removes the argument and updates all the\ncalls to try_to_free_pages.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cbe37d093707762fc0abb280781e6a82a9d8d568",
      "tree": "8af4a268765346655291f1ef27df12d11825269c",
      "parents": [
        "73219d178051691a56d57184d8c7f6d0cbe3c5c1"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Tue Jun 21 17:14:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] mm: remove PG_highmem\n\nRemove PG_highmem, to save a page flag.  Use is_highmem() instead.  It\u0027ll\ngenerate a little more code, but we don\u0027t use PageHigheMem() in many places.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73219d178051691a56d57184d8c7f6d0cbe3c5c1",
      "tree": "c527691510f5a2b757eac424c5671704084fc9eb",
      "parents": [
        "1363c3cd8603a913a27e2995dccbd70d5312d8e6"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Tue Jun 21 17:14:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] mmap topdown fix for large stack limit, large allocation\n\nThe topdown changes in 2.6.12-rc1 can cause large allocations with large\nstack limit to fail, despite there being space available.  The\nmmap_base-len is only valid when len \u003e\u003d mmap_base.  However, nothing in\ntopdown allocator checks this.  It\u0027s only (now) caught at higher level,\nwhich will cause allocation to simply fail.  The following change restores\nthe fallback to bottom-up path, which will allow large allocations with\nlarge stack limit to potentially still succeed.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1363c3cd8603a913a27e2995dccbd70d5312d8e6",
      "tree": "405e7fc1ef44678f3ca0a54c536d0457e6e80f45",
      "parents": [
        "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a"
      ],
      "author": {
        "name": "Wolfgang Wander",
        "email": "wwc@rentec.com",
        "time": "Tue Jun 21 17:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] Avoiding mmap fragmentation\n\nIngo recently introduced a great speedup for allocating new mmaps using the\nfree_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and\ncauses huge performance increases in thread creation.\n\nThe downside of this patch is that it does lead to fragmentation in the\nmmap-ed areas (visible via /proc/self/maps), such that some applications\nthat work fine under 2.4 kernels quickly run out of memory on any 2.6\nkernel.\n\nThe problem is twofold:\n\n  1) the free_area_cache is used to continue a search for memory where\n     the last search ended.  Before the change new areas were always\n     searched from the base address on.\n\n     So now new small areas are cluttering holes of all sizes\n     throughout the whole mmap-able region whereas before small holes\n     tended to close holes near the base leaving holes far from the base\n     large and available for larger requests.\n\n  2) the free_area_cache also is set to the location of the last\n     munmap-ed area so in scenarios where we allocate e.g.  five regions of\n     1K each, then free regions 4 2 3 in this order the next request for 1K\n     will be placed in the position of the old region 3, whereas before we\n     appended it to the still active region 1, placing it at the location\n     of the old region 2.  Before we had 1 free region of 2K, now we only\n     get two free regions of 1K -\u003e fragmentation.\n\nThe patch addresses thes issues by introducing yet another cache descriptor\ncached_hole_size that contains the largest known hole size below the\ncurrent free_area_cache.  If a new request comes in the size is compared\nagainst the cached_hole_size and if the request can be filled with a hole\nbelow free_area_cache the search is started from the base instead.\n\nThe results look promising: Whereas 2.6.12-rc4 fragments quickly and my\n(earlier posted) leakme.c test program terminates after 50000+ iterations\nwith 96 distinct and fragmented maps in /proc/self/maps it performs nicely\n(as expected) with thread creation, Ingo\u0027s test_str02 with 20000 threads\nrequires 0.7s system time.\n\nTaking out Ingo\u0027s patch (un-patch available per request) by basically\ndeleting all mentions of free_area_cache from the kernel and starting the\nsearch for new memory always at the respective bases we observe: leakme\nterminates successfully with 11 distinctive hardly fragmented areas in\n/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system\ntime for Ingo\u0027s test_str02 with 20000 threads.\n\nNow - drumroll ;-) the appended patch works fine with leakme: it ends with\nonly 7 distinct areas in /proc/self/maps and also thread creation seems\nsufficiently fast with 0.71s for 20000 threads.\n\nSigned-off-by: Wolfgang Wander \u003cwwc@rentec.com\u003e\nCredit-to: \"Richard Purdie\" \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e (partly)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a",
      "tree": "f04f7b0d08cbc46d2f190a85904a3dd696dc6e88",
      "parents": [
        "63551ae0feaaa23807ebea60de1901564bbef32e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Tue Jun 21 17:14:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] node local per-cpu-pages\n\nThis patch modifies the way pagesets in struct zone are managed.\n\nEach zone has a per-cpu array of pagesets.  So any particular CPU has some\nmemory in each zone structure which belongs to itself.  Even if that CPU is\nnot local to that zone.\n\nSo the patch relocates the pagesets for each cpu to the node that is nearest\nto the cpu instead of allocating the pagesets in the (possibly remote) target\nzone.  This means that the operations to manage pages on remote zone can be\ndone with information available locally.\n\nWe play a macro trick so that non-NUMA pmachines avoid the additional\npointer chase on the page allocator fastpath.\n\nAIM7 benchmark on a 32 CPU SGI Altix\n\nw/o patches:\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      484.68  100       484.6769     12.01      1.97   Fri Mar 25 11:01:42 2005\n  100    27140.46   89       271.4046     21.44    148.71   Fri Mar 25 11:02:04 2005\n  200    30792.02   82       153.9601     37.80    296.72   Fri Mar 25 11:02:42 2005\n  300    32209.27   81       107.3642     54.21    451.34   Fri Mar 25 11:03:37 2005\n  400    34962.83   78        87.4071     66.59    588.97   Fri Mar 25 11:04:44 2005\n  500    31676.92   75        63.3538     91.87    742.71   Fri Mar 25 11:06:16 2005\n  600    36032.69   73        60.0545     96.91    885.44   Fri Mar 25 11:07:54 2005\n  700    35540.43   77        50.7720    114.63   1024.28   Fri Mar 25 11:09:49 2005\n  800    33906.70   74        42.3834    137.32   1181.65   Fri Mar 25 11:12:06 2005\n  900    34120.67   73        37.9119    153.51   1325.26   Fri Mar 25 11:14:41 2005\n 1000    34802.37   74        34.8024    167.23   1465.26   Fri Mar 25 11:17:28 2005\n\nwith slab API changes and pageset patch:\n\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      485.00  100       485.0000     12.00      1.96   Fri Mar 25 11:46:18 2005\n  100    28000.96   89       280.0096     20.79    150.45   Fri Mar 25 11:46:39 2005\n  200    32285.80   79       161.4290     36.05    293.37   Fri Mar 25 11:47:16 2005\n  300    40424.15   84       134.7472     43.19    438.42   Fri Mar 25 11:47:59 2005\n  400    39155.01   79        97.8875     59.46    590.05   Fri Mar 25 11:48:59 2005\n  500    37881.25   82        75.7625     76.82    730.19   Fri Mar 25 11:50:16 2005\n  600    39083.14   78        65.1386     89.35    872.79   Fri Mar 25 11:51:46 2005\n  700    38627.83   77        55.1826    105.47   1022.46   Fri Mar 25 11:53:32 2005\n  800    39631.94   78        49.5399    117.48   1169.94   Fri Mar 25 11:55:30 2005\n  900    36903.70   79        41.0041    141.94   1310.78   Fri Mar 25 11:57:53 2005\n 1000    36201.23   77        36.2012    160.77   1458.31   Fri Mar 25 12:00:34 2005\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Shai Fultheim \u003cShai@Scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63551ae0feaaa23807ebea60de1901564bbef32e",
      "tree": "f6f97f60f83c3e9813bdfcc6039c499997b1ea10",
      "parents": [
        "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Jun 21 17:14:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:15 2005 -0700"
      },
      "message": "[PATCH] Hugepage consolidation\n\nA lot of the code in arch/*/mm/hugetlbpage.c is quite similar.  This patch\nattempts to consolidate a lot of the code across the arch\u0027s, putting the\ncombined version in mm/hugetlb.c.  There are a couple of uglyish hacks in\norder to covert all the hugepage archs, but the result is a very large\nreduction in the total amount of code.  It also means things like hugepage\nlazy allocation could be implemented in one place, instead of six.\n\nTested, at least a little, on ppc64, i386 and x86_64.\n\nNotes:\n\t- this patch changes the meaning of set_huge_pte() to be more\n\t  analagous to set_pte()\n\t- does SH4 need s special huge_ptep_get_and_clear()??\n\nAcked-by: William Lee Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99",
      "tree": "26eb9c483718ca1a0fad23597c0dfd3a69e9f080",
      "parents": [
        "0c35bbadc59f5ed105c34471143eceb4c0dd9c95"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: rate limit early reclaim\n\nWhen early zone reclaim is turned on the LRU is scanned more frequently when a\nzone is low on memory.  This limits when the zone reclaim can be called by\nskipping the scan if another thread (either via kswapd or sync reclaim) is\nalready reclaiming from the zone.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c35bbadc59f5ed105c34471143eceb4c0dd9c95",
      "tree": "d82de388e8c0a38fa4b1d27ad372e84c9f01e013",
      "parents": [
        "753ee728964e5afb80c17659cc6c3a6fd0a42fe0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: add __GFP_NORECLAIM\n\nWhen using the early zone reclaim, it was noticed that allocating new pages\nthat should be spread across the whole system caused eviction of local pages.\n\nThis adds a new GFP flag to prevent early reclaim from happening during\ncertain allocation attempts.  The example that is implemented here is for page\ncache pages.  We want page cache pages to be spread across the whole system,\nand we don\u0027t want page cache pages to evict other pages to get local memory.\n\nSigned-off-by:  Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "753ee728964e5afb80c17659cc6c3a6fd0a42fe0",
      "tree": "41c9a7700d0858c1f77c5bdaba97e5b636f69b06",
      "parents": [
        "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: early zone reclaim\n\nThis is the core of the (much simplified) early reclaim.  The goal of this\npatch is to reclaim some easily-freed pages from a zone before falling back\nonto another zone.\n\nOne of the major uses of this is NUMA machines.  With the default allocator\nbehavior the allocator would look for memory in another zone, which might be\noff-node, before trying to reclaim from the current zone.\n\nThis adds a zone tuneable to enable early zone reclaim.  It is selected on a\nper-zone basis and is turned on/off via syscall.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0",
      "tree": "19d26b575bf0ff1e2b3ec2c8ee12310154fdead5",
      "parents": [
        "295ab93497ec703f7d6eaf0787dd9768b83035fe"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: add may_swap flag to scan_control\n\nHere\u0027s the next round of these patches.  These are totally different in\nan attempt to meet the \"simpler\" request after the last patches.  For\nreference the earlier threads are:\n\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d110839604924587\u0026w\u003d2\nhttp://marc.theaimsgroup.com/?l\u003dlinux-mm\u0026m\u003d111461480721249\u0026w\u003d2\n\nThis set of patches replaces my other vm- patches that are currently in\n-mm.  So they\u0027re against 2.6.12-rc5-mm1 about half way through the -mm\npatchset.\n\nAs I said already this patch is a lot simpler.  The reclaim is turned on\nor off on a per-zone basis using a syscall.  I haven\u0027t tested the x86\nsyscall, so it might be wrong.  It uses the existing reclaim/pageout\ncode with the small addition of a may_swap flag to scan_control\n(patch 1/4).\n\nI also added __GFP_NORECLAIM (patch 3/4) so that certain allocation\ntypes can be flagged to never cause reclaim.  This was a deficiency\nthat was in all of my earlier patch sets.  Previously, doing a big\nbuffered read would fill one zone with page cache and then start to\nreclaim from that same zone, leaving the other zones untouched.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nThis patch:\n\nThis adds an extra switch to the scan_control struct.  It simply lets the\nreclaim code know if its allowed to swap pages out.\n\nThis was required for a simple per-zone reclaimer.  Without this addition\npages would be swapped out as soon as a zone ran out of memory and the early\nreclaim kicked in.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "295ab93497ec703f7d6eaf0787dd9768b83035fe",
      "tree": "e3dce05d4cab0d7d3907a7357d37932c99ffd76d",
      "parents": [
        "05b7438475ddbac47e75506913d44550f0e75938"
      ],
      "author": {
        "name": "Nikita Danilov",
        "email": "nikita@clusterfs.com",
        "time": "Tue Jun 21 17:14:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] mm: add /proc/zoneinfo\n\nAdd /proc/zoneinfo file to display information about memory zones.  Useful\nto analyze VM behaviour.\n\nSigned-off-by: Nikita Danilov \u003cnikita@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05b7438475ddbac47e75506913d44550f0e75938",
      "tree": "3871b9c9c0cfa3699de9581a9283dc9fee608f2c",
      "parents": [
        "e798c6e87b64d9fdbd5e9f757b1c033223763d9f"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "pmeda@akamai.com",
        "time": "Tue Jun 21 17:14:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] madvise: merge the maps\n\nThis attempts to merge back the split maps.  This code is mostly copied\nfrom Chrisw\u0027s mlock merging from post 2.6.11 trees.  The only difference is\nin munmapped_error handling.  Also passed prev to willneed/dontneed,\neventhogh they do not handle it now, since I felt it will be cleaner,\ninstead of handling prev in madvise_vma in some cases and in subfunction in\nsome cases.\n\nSigned-off-by: Prasanna Meda \u003cpmeda@akamai.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e798c6e87b64d9fdbd5e9f757b1c033223763d9f",
      "tree": "da4cdd7c60acff82d2fcc826cdbae43440a6df44",
      "parents": [
        "b15e0905f2b9964fc7426fecab57445e96021b61"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "pmeda@akamai.com",
        "time": "Tue Jun 21 17:14:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] madvise: do not split the maps\n\nThis attempts to avoid splittings when it is not needed, that is when\nvm_flags are same as new flags.  The idea is from the \u003c2.6.11 mlock_fixup\nand others.  This will provide base for the next madvise merging patch.\n\nSigned-off-by: Prasanna Meda \u003cpmeda@akamai.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b15e0905f2b9964fc7426fecab57445e96021b61",
      "tree": "bc1b3606cf282f88cd6598de22190eff6708affa",
      "parents": [
        "39c715b71740c4a78ba4769fb54826929bac03cb"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Tue Jun 21 17:14:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] vmscan: notice slab shrinking\n\nFix a problem identified by Andrea Arcangeli \u003candrea@suse.de\u003e\n\nkswapd will set a zone into all_unreclaimable state if it sees that we\u0027re not\nsuccessfully reclaiming LRU pages.  But that fails to notice that we\u0027re\nsuccessfully reclaiming slab obects, so we can set all_unreclaimable too soon.\n\nSo change shrink_slab() to return a success indication if it actually\nreclaimed some objects, and don\u0027t assume that the zone is all_unreclaimable if\nthat is true.  This means that we won\u0027t enter all_unreclaimable state if we\nare successfully freeing slab objects but we\u0027re not yet actually freeing slab\npages, due to internal fragmentation.\n\n(hm, this has a shortcoming.  We could be successfully freeing ZONE_NORMAL\nslab objects while being really oom on ZONE_DMA.  If that happens then kswapd\nmight burn a lot of CPU.  But given that there might be some slab objects in\nZONE_DMA, perhaps that is appropriate.)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39c715b71740c4a78ba4769fb54826929bac03cb",
      "tree": "94dd679dfc8e6c2db65971739aa8c8c6206f8174",
      "parents": [
        "84929801e14d968caeb84795bfbb88f04283fbd9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 21 17:14:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] smp_processor_id() cleanup\n\nThis patch implements a number of smp_processor_id() cleanup ideas that\nArjan van de Ven and I came up with.\n\nThe previous __smp_processor_id/_smp_processor_id/smp_processor_id API\nspaghetti was hard to follow both on the implementational and on the\nusage side.\n\nSome of the complexity arose from picking wrong names, some of the\ncomplexity comes from the fact that not all architectures defined\n__smp_processor_id.\n\nIn the new code, there are two externally visible symbols:\n\n - smp_processor_id(): debug variant.\n\n - raw_smp_processor_id(): nondebug variant. Replaces all existing\n   uses of _smp_processor_id() and __smp_processor_id(). Defined\n   by every SMP architecture in include/asm-*/smp.h.\n\nThere is one new internal symbol, dependent on DEBUG_PREEMPT:\n\n - debug_smp_processor_id(): internal debug variant, mapped to\n                             smp_processor_id().\n\nAlso, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new\nlib/smp_processor_id.c file.  All related comments got updated and/or\nclarified.\n\nI have build/boot tested the following 8 .config combinations on x86:\n\n {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}\n\nI have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other\narchitectures are untested, but should work just fine.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84929801e14d968caeb84795bfbb88f04283fbd9",
      "tree": "248fa9fd6cfb411a6df3b7f7fb42aa4f9ceca2bf",
      "parents": [
        "589777eab7360894b7ca1c4ba9d252e03b51225b"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jun 21 17:14:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:12 2005 -0700"
      },
      "message": "[PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes\n\nAppended patch will setup compatibility mode TASK_SIZE properly.  This will\nfix atleast three known bugs that can be encountered while running\ncompatibility mode apps.\n\na) A malicious 32bit app can have an elf section at 0xffffe000.  During\n   exec of this app, we will have a memory leak as insert_vm_struct() is\n   not checking for return value in syscall32_setup_pages() and thus not\n   freeing the vma allocated for the vsyscall page.  And instead of exec\n   failing (as it has addresses \u003e TASK_SIZE), we were allowing it to\n   succeed previously.\n\nb) With a 32bit app, hugetlb_get_unmapped_area/arch_get_unmapped_area\n   may return addresses beyond 32bits, ultimately causing corruption\n   because of wrap-around and resulting in SEGFAULT, instead of returning\n   ENOMEM.\n\nc) 32bit app doing this below mmap will now fail.\n\n  mmap((void *)(0xFFFFE000UL), 0x10000UL, PROT_READ|PROT_WRITE,\n\tMAP_FIXED|MAP_PRIVATE|MAP_ANON, 0, 0);\n\nSigned-off-by: Zou Nan hai \u003cnanhai.zou@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.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": "589777eab7360894b7ca1c4ba9d252e03b51225b",
      "tree": "d32b8dadc4dc52e81d2b9ffbd03d100b168b41fa",
      "parents": [
        "3a845099b20e81fb678521f034bbdcd69208da4e"
      ],
      "author": {
        "name": "Zaur Kambarov",
        "email": "kambarov@berkeley.edu",
        "time": "Tue Jun 21 17:14:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:12 2005 -0700"
      },
      "message": "[PATCH] coverity: idr_get_new_above_int() overrun fix\n\nThis patch fixes overrun of array pa:\n92   \t\tstruct idr_layer *pa[MAX_LEVEL];\n\nin\n\n98   \t\tl \u003d idp-\u003elayers;\n99   \t\tpa[l--] \u003d NULL;\n\nby passing idp-\u003elayers, set in\n202  \t\tidp-\u003elayers \u003d layers;\nto function  sub_alloc in\n203  \t\tv \u003d sub_alloc(idp, ptr, \u0026id);\n\nSigned-off-by: Zaur Kambarov \u003czkambarov@coverity.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a845099b20e81fb678521f034bbdcd69208da4e",
      "tree": "99f3a8259c54616a1a0fd30f25e34927c36c3eff",
      "parents": [
        "7f20b6a4792c1b5033583c23b5594887dd3867b9"
      ],
      "author": {
        "name": "Zaur Kambarov",
        "email": "kambarov@berkeley.edu",
        "time": "Tue Jun 21 17:14:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:11 2005 -0700"
      },
      "message": "[PATCH] coverity: ipmi: avoid overrun of ipmi_interfaces[]\n\nFix overrun of static array \"ipmi_interfaces\" of size 4 at position 4 with\nindex variable \"if_num\".\n\nDefinitions involved:\n297  \t#define MAX_IPMI_INTERFACES 4\n298  \tstatic ipmi_smi_t ipmi_interfaces[MAX_IPMI_INTERFACES];\n\nSigned-off-by: Zaur Kambarov \u003czkambarov@coverity.com\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f20b6a4792c1b5033583c23b5594887dd3867b9",
      "tree": "1c5fdb0c3e73306a64a442076d9bd9c4b8d603c5",
      "parents": [
        "9a558cb4ec43ccbe82e2cf899ced37f29ac017df"
      ],
      "author": {
        "name": "bobl",
        "email": "bobl@turbolinux.com",
        "time": "Tue Jun 21 17:14:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:11 2005 -0700"
      },
      "message": "[PATCH] megaraid build fix\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a558cb4ec43ccbe82e2cf899ced37f29ac017df",
      "tree": "360f64dcf8ecdb04371a2fd524fddb2424392564",
      "parents": [
        "9723d95d1076e9ef394ff26162fb0b47531089b0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Jun 21 17:14:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:11 2005 -0700"
      },
      "message": "[PATCH] arm: irqs_disabled() type fix\n\nkernel/sched.c: In function `__might_sleep\u0027:\nkernel/sched.c:5461: warning: int format, long unsigned int arg (arg 3)\n\nWe expect irqs_disabled() to return an int (poor man\u0027s bool).\n\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9723d95d1076e9ef394ff26162fb0b47531089b0",
      "tree": "242504391bf7f373cd5198d32df29868ea2996e2",
      "parents": [
        "4a4f8fdba6f5a34ca90f426021e17491a30202da",
        "7049e6800f40046c384c522a990669024d5f5836"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:19:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:19:10 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n"
    },
    {
      "commit": "7049e6800f40046c384c522a990669024d5f5836",
      "tree": "5e790230b26721a89864fa610bc9d8e53114a881",
      "parents": [
        "8005aba69a6440a535a4cc2aed99ffca580847e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 16:20:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 16:20:28 2005 -0700"
      },
      "message": "[SPARC64]: Add prefetch support.\n\nThe implementation is optimal for UltraSPARC-III and later.\nIt will work, however suboptimally, on UltraSPARC-II and\nbe treated as a NOP on UltraSPARC-I.\n\nIt is not worth code patching this thing as the highest cost\nis the code space, and code patching cannot eliminate that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a4f8fdba6f5a34ca90f426021e17491a30202da",
      "tree": "6eb8be6c9542845321252b1d64394a2c2ea84dd0",
      "parents": [
        "2c6e5a839f92591a4bc6cac4a575d42151645af3",
        "90f66914c89b0be63548d4387d1211280aa7bc8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 15:45:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 15:45:19 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "2c6e5a839f92591a4bc6cac4a575d42151645af3",
      "tree": "e9214a7c5a4de96a76445dbc36262239c8315e20",
      "parents": [
        "9527cc77e25b3a3787569edcbb8e74080b8df54a"
      ],
      "author": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 21 15:24:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 15:41:16 2005 -0700"
      },
      "message": "[PATCH] devfs: remove devfs from Kconfig preventing it from being built\n\nHere\u0027s a much smaller patch to simply disable devfs from the build.  If\nthis goes well, and there are no complaints for a few weeks, I\u0027ll resend\nmy big \"devfs-die-die-die\" series of patches that rip the whole thing\nout of the kernel tree.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8005aba69a6440a535a4cc2aed99ffca580847e0",
      "tree": "d15f836f483ec374751fd9eda4a4f7a8b816eff5",
      "parents": [
        "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 15:39:22 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 15:39:22 2005 -0700"
      },
      "message": "[SPARC64]: Fix cmsg length checks in Solaris emulation layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9527cc77e25b3a3787569edcbb8e74080b8df54a",
      "tree": "f74d109be6176c4e5eb0cc2424b696856eebc0e5",
      "parents": [
        "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e",
        "d039ba24f135147f60a13bcaa768189a5b773b6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 14:49:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 14:49:35 2005 -0700"
      },
      "message": "Merge \u0027for-linus\u0027 branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n"
    },
    {
      "commit": "90f66914c89b0be63548d4387d1211280aa7bc8e",
      "tree": "712c9d3e2e7cb9c45e8442d12727db3e901a1913",
      "parents": [
        "047601bf7c803724bbab9a4fdbad9481cecc12e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:43:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:43:28 2005 -0700"
      },
      "message": "[IPV4]: Fix fib_trie.c\u0027s args to fib_dump_info().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "047601bf7c803724bbab9a4fdbad9481cecc12e0",
      "tree": "0047ba0cb2179cefd93f7a8b1d0075e21a02d872",
      "parents": [
        "2715bcf9efc34063e05009f188eb896c462ae925"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:07:13 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:07:13 2005 -0700"
      },
      "message": "[NETFILTER]: Fix ip6t_LOG sit tunnel logging\n\nSit tunnel logging is currently broken:\n\nMAC\u003d01:23:45:67:89:ab-\u003e01:23:45:47:89:ac TUNNEL\u003d123.123.  0.123-\u003e 12.123.  6.123\n\nApart from the broken IP address, MAC addresses are printed differently\nfor sit tunnels than for everything else.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2715bcf9efc34063e05009f188eb896c462ae925",
      "tree": "57a36042e5774cdc731f9ecfc7a51bb54bdd6619",
      "parents": [
        "6150bacfec95c7042678667561664efcf10d4508"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:06:24 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:06:24 2005 -0700"
      },
      "message": "[NETFILTER]: Drop conntrack reference in ip_call_ra_chain()/ip_mr_input()\n\nDrop reference before handing the packets to raw_rcv()\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6150bacfec95c7042678667561664efcf10d4508",
      "tree": "6a415a742dca3ea44cc035c8e2a7e523df92e4e9",
      "parents": [
        "e3be8ba79294df5de96692411e122506b40c5aa4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:03:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:03:46 2005 -0700"
      },
      "message": "[NETFILTER]: Check TCP checksum in ipt_REJECT\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3be8ba79294df5de96692411e122506b40c5aa4",
      "tree": "85021ea2b3ecc698bc356fa15d873199a40d83d8",
      "parents": [
        "97216c799a6496163be8c81c9ceed297d92956c5"
      ],
      "author": {
        "name": "Keir Fraser",
        "email": "Keir.Fraser@xl.cam.ac.uk",
        "time": "Tue Jun 21 14:03:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:03:23 2005 -0700"
      },
      "message": "[NETFILTER]: Avoid unncessary checksum validation in UDP connection tracking\n\nSigned-off-by: Keir Fraser \u003cKeir.Fraser@xl.cam.ac.uk\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97216c799a6496163be8c81c9ceed297d92956c5",
      "tree": "9bd1d85b486c428ae5d12592997cf7668db63097",
      "parents": [
        "1d3cdb41f52e299f70b66cbb569bff5216f3643a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:03:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:03:01 2005 -0700"
      },
      "message": "[NETFILTER]: Missing owner-field initialization in ip6table_raw\n\nI missed this one when fixing up iptable_raw.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d3cdb41f52e299f70b66cbb569bff5216f3643a",
      "tree": "519f0feab4b0481bbb7c6298a82485071a0acbe4",
      "parents": [
        "e98231858bbfd2aca42f93d55133c2fca6df00f9"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Tue Jun 21 14:02:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:02:42 2005 -0700"
      },
      "message": "[NETFILTER]: expectation timeouts are compulsory\n\nSince expectation timeouts were made compulsory [1], there is no need to\ncheck for them in ip_conntrack_expect_insert.\n\n[1] https://lists.netfilter.org/pipermail/netfilter-devel/2005-January/018143.html\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e98231858bbfd2aca42f93d55133c2fca6df00f9",
      "tree": "e7100bf038e70a840aa0e69afc75d217e210522e",
      "parents": [
        "18b8afc771102b1b6af97962808291a7d27f52af"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:02:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:02:15 2005 -0700"
      },
      "message": "[NETFILTER]: Restore netfilter assumptions in IPv6 multicast\n\nNetfilter assumes that skb-\u003edata \u003d\u003d skb-\u003enh.ipv6h\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b8afc771102b1b6af97962808291a7d27f52af",
      "tree": "4d278a45ab07b5ba81dfa0b737f5174ad9ee7f79",
      "parents": [
        "e45b1be8bcb3643808975a426fa3e201a2588e87"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "message": "[NETFILTER]: Kill nf_debug\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e45b1be8bcb3643808975a426fa3e201a2588e87",
      "tree": "0c461d7bd90d0c2fb462b42e664cf8a099c750ec",
      "parents": [
        "c9e3e8b6958e02230079e6817862ea2968509866"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:01:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:01:30 2005 -0700"
      },
      "message": "[NETFILTER]: Kill lockhelp.h\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9e3e8b6958e02230079e6817862ea2968509866",
      "tree": "296b30b9e208d37b1cdfa6d40ad785abb1487bd9",
      "parents": [
        "0d51aa80a9b1db43920c0770c3bb842dd823c005"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Tue Jun 21 13:58:25 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 13:58:25 2005 -0700"
      },
      "message": "[IPV6]: multicast join and misc\n\nHere is a simplified version of the patch to fix a bug in IPv6\nmulticasting. It:\n\n1) adds existence check \u0026 EADDRINUSE error for regular joins\n2) adds an exception for EADDRINUSE in the source-specific multicast\n        join (where a prior join is ok)\n3) adds a missing/needed read_lock on sock_mc_list; would\u0027ve raced\n        with destroying the socket on interface down without\n4) adds a \"leave group\" in the (INCLUDE, empty) source filter case.\n        This frees unneeded socket buffer memory, but also prevents\n        an inappropriate interaction among the 8 socket options that\n        mess with this. Some would fail as if in the group when you\n        aren\u0027t really.\n\nItem #4 had a locking bug in the last version of this patch; rather than\nremoving the idev-\u003elock read lock only, I\u0027ve simplified it to remove\nall lock state in the path and treat it as a direct \"leave group\" call for\nthe (INCLUDE,empty) case it covers. Tested on an MP machine. :-)\n\nMuch thanks to HoerdtMickael \u003choerdt@clarinet.u-strasbg.fr\u003e who\nreported the original bug.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d51aa80a9b1db43920c0770c3bb842dd823c005",
      "tree": "999b0c5afbbb1f32af07eb2e1cb9e2692f1aa791",
      "parents": [
        "19baf839ff4a8daa1f2a7400897094fc18e4f5e9"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Tue Jun 21 13:51:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 13:51:04 2005 -0700"
      },
      "message": "[IPV6]: V6 route events reported with wrong netlink PID and seq number\n\nEssentially netlink at the moment always reports a pid and sequence of 0\nalways for v6 route activities. \nTo understand the repurcassions of this look at:\nhttp://lists.quagga.net/pipermail/quagga-dev/2005-June/003507.html\n\nWhile fixing this, i took the liberty to resolve the outstanding issue\nof IPV6 routes inserted via ioctls to have the correct pids as well.\n\nThis patch tries to behave as close as possible to the v4 routes i.e\nmaintains whatever PID the socket issuing the command owns as opposed to\nthe process. That made the patch a little bulky.\n\nI have tested against both netlink derived utility to add/del routes as\nwell as ioctl derived one. The Quagga folks have tested against quagga.\nThis fixes the problem and so far hasnt been detected to introduce any\nnew issues.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19baf839ff4a8daa1f2a7400897094fc18e4f5e9",
      "tree": "719e1b64a4fedc4fc028874b5562553c7a524473",
      "parents": [
        "18b504e25fd617bee8830d2cdcaff7fb7b5931bb"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "Robert.Olsson@data.slu.se",
        "time": "Tue Jun 21 12:43:18 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 12:43:18 2005 -0700"
      },
      "message": "[IPV4]: Add LC-Trie FIB lookup algorithm.\n\nSigned-off-by: Robert Olsson \u003cRobert.Olsson@data.slu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b504e25fd617bee8830d2cdcaff7fb7b5931bb",
      "tree": "6e7daab06749832d0e40ffae6572abc297d02d11",
      "parents": [
        "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Tue Jun 21 12:38:48 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 12:38:48 2005 -0700"
      },
      "message": "[NETLINK]: netlink_callback structure needs 5 args not 4\n\nnet/ipv4/tcp_diag.c uses up to -\u003eargs[4]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e",
      "tree": "42a7deda7589edf704fe60dc262046755bd3f6a8",
      "parents": [
        "fb395884576684ebb54b19b1054f4caed589d5f0",
        "87c8a4433b608261a9becdb0ce2d2f2ed4b71d05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 16:00:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 16:00:33 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n"
    },
    {
      "commit": "fb395884576684ebb54b19b1054f4caed589d5f0",
      "tree": "c941073819d504fb967e4d107e382ec92f51ecf0",
      "parents": [
        "91b90475e793e84a57d956af8c52645e292badcb",
        "246955fe4c38bd706ae30e37c64892c94213775d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 15:58:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 15:58:58 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "87c8a4433b608261a9becdb0ce2d2f2ed4b71d05",
      "tree": "c3ddd09b1ad6312fccecc67d26098bd634ea17de",
      "parents": [
        "4893e9d1cfeb614b5155c43eefbb338b4f02cb34"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jun 19 12:21:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:28:51 2005 -0700"
      },
      "message": "[PATCH] PCI: fix show_modalias() function due to attribute change\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4893e9d1cfeb614b5155c43eefbb338b4f02cb34",
      "tree": "4f6637cf3496fa9d6d645d38680d542c21e8b263",
      "parents": [
        "9d9d27fb651a7c95a46f276bacb4329db47470a6"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jun 19 12:21:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:27:35 2005 -0700"
      },
      "message": "[PATCH] USB: fix show_modalias() function due to attribute change\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9d9d27fb651a7c95a46f276bacb4329db47470a6",
      "tree": "cf25134082cb61e860f65af73adc91674ec74258",
      "parents": [
        "42b16c051c3f462095fb8c9bad1bc05b34518cb9"
      ],
      "author": {
        "name": "Jon Smirl",
        "email": "jonsmirl@gmail.com",
        "time": "Tue Jun 14 09:54:54 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:38 2005 -0700"
      },
      "message": "[PATCH] SYSFS: fix PAGE_SIZE check\n\nWithout this change I can\u0027t set an attribute exactly PAGE_SIZE in\nlength. There is no need for zero termination because the interface\nuses lengths.\n\nFrom: Jon Smirl \u003cjonsmirl@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "42b16c051c3f462095fb8c9bad1bc05b34518cb9",
      "tree": "3178bf5b2e3b516b6aea270c757adf728db83836",
      "parents": [
        "8215534ce7d073423bfa9c17405c43ab7636ca03"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue May 31 17:08:49 2005 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:37 2005 -0700"
      },
      "message": "[PATCH] Driver core: Don\u0027t \"lose\" devices on suspend on failure\n\nI think we need this patch or we might \"lose\" devices to the dpm_irq_off\nlist if a failure occurs during the suspend process.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8215534ce7d073423bfa9c17405c43ab7636ca03",
      "tree": "b53aed1111cf10a7d42ef0695308c4a70b820747",
      "parents": [
        "988d186de5b6966a71a8cc52e6cb4895fd2f7799"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Tue May 31 10:39:52 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:37 2005 -0700"
      },
      "message": "[PATCH] sysfs-iattr: set inode attributes\n\no Following patch sets the attributes for newly allocated inodes for sysfs\n  objects. If the object has non-default attributes, inode attributes are\n  set as saved in sysfs_dirent-\u003es_iattr, pointer to struct iattr.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "988d186de5b6966a71a8cc52e6cb4895fd2f7799",
      "tree": "428cb6c29cbe2563eb91f9f2a03512b7eafa9449",
      "parents": [
        "6fa5c828c7fb6beef7035864bd2b18e7386fbdd5"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Tue May 31 10:39:14 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:37 2005 -0700"
      },
      "message": "[PATCH] sysfs-iattr: add sysfs_setattr\n\no This adds -\u003ei_op-\u003esetattr VFS method for sysfs inodes. The changed\n  attribues are saved in the persistent sysfs_dirent structure as a pointer\n  to struct iattr. The struct iattr is allocated only for those sysfs_dirent\u0027s\n  for which default attributes are getting changed. Thanks to Jon Smirl for\n  this suggestion.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6fa5c828c7fb6beef7035864bd2b18e7386fbdd5",
      "tree": "88c7c0a03fe13ad802721dcd54b9b93733e964fe",
      "parents": [
        "050480f12aeab62d39a1a07546606a47217ebefa"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Tue May 31 10:38:12 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:36 2005 -0700"
      },
      "message": "[PATCH] sysfs-iattr: attach sysfs_dirent before new inode\n\no The following patch makes sure to attach sysfs_dirent to the dentry before\n  allocation a new inode through sysfs_create(). This change is done as\n  preparatory work for implementing -\u003ei_op-\u003esetattr() functionality for\n  sysfs objects.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "050480f12aeab62d39a1a07546606a47217ebefa",
      "tree": "ffae2c627f613c6da54599f0752d38039c22a011",
      "parents": [
        "0a3e7eeabc9f76b7496488aad2d11626ff6a2a4f"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Sun Jun 05 10:51:46 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:36 2005 -0700"
      },
      "message": "[PATCH] I2C: drivers/i2c/chips/adm1026.c: use dynamic sysfs callbacks\n\nFinally (phew!) this patch demonstrates how to adapt the adm1026 to\ntake advantage of the new callbacks, and the i2c-sysfs.h defined\nstructure/macros. Most of the other sensor/hwmon drivers could be\nupdated in the same way. The odd few exceptions (bmcsensors for\nexample) however might be better off with their own custom attribute\nstructure.\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0a3e7eeabc9f76b7496488aad2d11626ff6a2a4f",
      "tree": "0cab827910fe12199d666b84919d88fb881fb82d",
      "parents": [
        "f2d03e1b3f00f1c5971463ab0101bef0c521ad3b"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 22:59:05 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:36 2005 -0700"
      },
      "message": "[PATCH] I2C: add i2c sensor_device_attribute and macros\n\nThis patch creates a new header with a potential standard i2c sensor\nattribute type (which simply includes an int representing the sensor\nnumber/index) and the associated macros, SENSOR_DEVICE_ATTR to define\na static attribute and to_sensor_dev_attr to get a\nsensor_device_attribute reference from an embedded device_attribute\nreference.\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\n"
    },
    {
      "commit": "f2d03e1b3f00f1c5971463ab0101bef0c521ad3b",
      "tree": "44b0daa72e356e830066d0027f128106d7476ddb",
      "parents": [
        "060b8845e6bea938d65ad6f89e83507e5ff4fec4"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:44:59 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:35 2005 -0700"
      },
      "message": "[PATCH] Driver Core: include: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "060b8845e6bea938d65ad6f89e83507e5ff4fec4",
      "tree": "ba82ce7d7a532b045f02e29788ece53d6be693e6",
      "parents": [
        "10523b3b82456e416cbaffcc24ea2246980aa746"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:44:04 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:35 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/usb/input/aiptek.c - drivers/zorro/zorro-sysfs.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "10523b3b82456e416cbaffcc24ea2246980aa746",
      "tree": "fab3ac16bffb04cc25683e83a583b1cae3f0d450",
      "parents": [
        "3fd3c0a5f53a0f9d8987b90acbd84f7dd8ef606e"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:43:37 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:35 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/s390/net/qeth_sys.c - drivers/usb/gadget/pxa2xx_udc.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3fd3c0a5f53a0f9d8987b90acbd84f7dd8ef606e",
      "tree": "46a9050abe4c11375a78b51f07e524682722bf70",
      "parents": [
        "e404e274f62665f3333d6a539d0d3701f678a598"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:43:27 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:34 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/char/raw3270.c - drivers/net/netiucv.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e404e274f62665f3333d6a539d0d3701f678a598",
      "tree": "ef6618291524edaab45c4123274730c7d57ae852",
      "parents": [
        "a5099cfc2e82240b0a3e72ad79a5969d5af1a7dc"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:42:58 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:34 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/w83781d.c - drivers/s390/block/dcssblk.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a5099cfc2e82240b0a3e72ad79a5969d5af1a7dc",
      "tree": "aca3273e927a4d65f8f5fdf4cf5d8283969a3b43",
      "parents": [
        "8627f9ba531269d8850919c62af1b017438e2e79"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:42:25 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:33 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/pc87360.c - w83627hf.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8627f9ba531269d8850919c62af1b017438e2e79",
      "tree": "ed560594954e5e2303c98bbc8fb83ec7e0dec661",
      "parents": [
        "30f74292e50d6c4ae438dbee5cb45d77bf774351"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:42:03 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:33 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/lm77.c - max1619.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "30f74292e50d6c4ae438dbee5cb45d77bf774351",
      "tree": "4bfa1b6715ecd597e196a9f448c825ef0c12d8e3",
      "parents": [
        "74880c063b06efd103c924abfe19d9d8fa4864c4"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:41:35 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:33 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/adm1031.c - lm75.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74880c063b06efd103c924abfe19d9d8fa4864c4",
      "tree": "7d0995426cec1f3577a5f8e5f61ada43a0df9813",
      "parents": [
        "ff381d2223a30ee70752791fd9c3588d8f1cab77"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:41:12 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:32 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/base - drivers/i2c/chips/adm1026.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ff381d2223a30ee70752791fd9c3588d8f1cab77",
      "tree": "124dab1e725ad0d16f1122696a67f1657ea97a8f",
      "parents": [
        "3eb8c7836eb074b61d63597be3e4f085814ac4c0"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:40:51 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:32 2005 -0700"
      },
      "message": "[PATCH] Driver Core: arch: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3eb8c7836eb074b61d63597be3e4f085814ac4c0",
      "tree": "41256899f1451a7e4fe0c764e15195c967e988ca",
      "parents": [
        "54b6f35c99974e99e64c05c2895718355123c55f"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:40:28 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:32 2005 -0700"
      },
      "message": "[PATCH] Driver core: Documentation: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "54b6f35c99974e99e64c05c2895718355123c55f",
      "tree": "321d08c397bc26b49c706ca5b86de7003c2329c0",
      "parents": [
        "ca2b94ba12f3c36fd3d6ed9d38b3798d4dad0d8b"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:39:34 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:31 2005 -0700"
      },
      "message": "[PATCH] Driver core: change device_attribute callbacks\n\nThis patch adds the device_attribute paramerter to the\ndevice_attribute store and show sysfs callback functions, and passes a\nreference to the attribute when the callbacks are called.\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ca2b94ba12f3c36fd3d6ed9d38b3798d4dad0d8b",
      "tree": "d9b85e0f423d1cd0a9ad1c72cec7464bcf50c126",
      "parents": [
        "acaefc25d21f850e47ecc5098d1e0bc442c526be"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Wed May 18 10:42:23 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:31 2005 -0700"
      },
      "message": "[PATCH] driver core: fix error handling in bus_add_device\n\nThe error handling in bus_add_device() and device_attach() is simply\nnon-existing. This patch propagates any error from device_attach to\nthe upper layers to allow for a proper recovery.\n\nFrom: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "acaefc25d21f850e47ecc5098d1e0bc442c526be",
      "tree": "fbc7aa605c71667507b54d3b3320f9a999458dd4",
      "parents": [
        "4109aca06cb7b042ea791d0f9d3c9615bc3bf5cd"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed May 18 14:40:59 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:30 2005 -0700"
      },
      "message": "[PATCH] libfs: add simple attribute files\n\nBased on the discussion about spufs attributes, this is my suggestion\nfor a more generic attribute file support that can be used by both\ndebugfs and spufs.\n\nSimple attribute files behave similarly to sequential files from\na kernel programmers perspective in that a standard set of file\noperations is provided and only an open operation needs to\nbe written that registers file specific get() and set() functions.\n\nThese operations are defined as\n\nvoid foo_set(void *data, u64 val); and\nu64 foo_get(void *data);\n\nwhere data is the inode-\u003eu.generic_ip pointer of the file and the\noperations just need to make send of that pointer. The infrastructure\nmakes sure this works correctly with concurrent access and partial\nread calls.\n\nA macro named DEFINE_SIMPLE_ATTRIBUTE is provided to further simplify\nusing the attributes.\n\nThis patch already contains the changes for debugfs to use attributes\nfor its internal file operations.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4109aca06cb7b042ea791d0f9d3c9615bc3bf5cd",
      "tree": "36312d5fe016d507ec0682de914e1ac6b66c3246",
      "parents": [
        "4b45099b75832434c5113b9aed1499f8a69d13d5"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon May 16 17:19:55 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:29 2005 -0700"
      },
      "message": "[PATCH] Driver Core: driver model doc update\n\nThis updates some driver data documentation:\n\n - removes references to some fields that haven\u0027t been there for a\n   long time now, e.g. pre-kobject or even older;\n\n - giving more information about the probe() method;\n\n - adding an example of how platform_data is used\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4b45099b75832434c5113b9aed1499f8a69d13d5",
      "tree": "dbb6cf4a3937120be0cfd6f4699926fa4689ac8d",
      "parents": [
        "f409661877a25d11c2495bcd879807f17c286684"
      ],
      "author": {
        "name": "Keiichiro Tokunaga",
        "email": "tokunaga.keiich@jp.fujitsu.com",
        "time": "Sun May 08 21:28:53 2005 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:29 2005 -0700"
      },
      "message": "[PATCH] Driver core: unregister_node() for hotplug use\n\nThis adds a generic function \u0027unregister_node()\u0027.\nIt is used to remove objects of a node going away\nfor hotplug.  All the devices on the node must be\nunregistered before calling this function.\n\nSigned-off-by: Keiichiro Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -puN drivers/base/node.c~numa_hp_base drivers/base/node.c\n"
    },
    {
      "commit": "f409661877a25d11c2495bcd879807f17c286684",
      "tree": "ce14b7c16191af662d087c9be4a3fcbe642a63af",
      "parents": [
        "c95a6b057b108c2b7add35cba1354f9af921349e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 06 15:41:08 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:29 2005 -0700"
      },
      "message": "[PATCH] usbcore: Don\u0027t call device_release_driver recursively\n\nThis patch fixes usb_driver_release_interface() to make it avoid calling\ndevice_release_driver() recursively, i.e., when invoked from within the\ndisconnect routine for the same device.  The patch applies to your\n\"driver\" tree.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c95a6b057b108c2b7add35cba1354f9af921349e",
      "tree": "5a312f634b0aec295201a93020ba025d840e5f21",
      "parents": [
        "6623415687eaffef49429292ab062bb046ee3311"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 06 15:38:33 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "message": "[PATCH] driver core: Fix races in driver_detach()\n\nThis patch is intended for your \"driver\" tree.  It fixes several subtle\nraces in driver_detach() and device_release_driver() in the driver-model\ncore.\n\nThe major change is to use klist_remove() rather than klist_del() when\ntaking a device off its driver\u0027s list.  There\u0027s no other way to guarantee\nthat the list pointers will be updated before some other driver binds to\nthe device.  For this to work driver_detach() can\u0027t use a klist iterator,\nso the loop over the devices must be written out in full.  In addition the\npatch protects against the possibility that, when a driver and a device\nare unregistered at the same time, one may be unloaded from memory before\nthe other is finished using it.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6623415687eaffef49429292ab062bb046ee3311",
      "tree": "f969c9683cf152a2709ca00b558b2cc65b36f7dc",
      "parents": [
        "273971bade8a6d37c1b162146de1a53965cdc245"
      ],
      "author": {
        "name": "Patrick Mochel",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Apr 28 17:11:52 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "message": "[PATCH] sn: fixes due to driver core changes\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "273971bade8a6d37c1b162146de1a53965cdc245",
      "tree": "ef78c4a7c1b8ab39c9b6f47fef82278d5145e74d",
      "parents": [
        "12eac738e5889a10da5b391c02eeb61229c796dc"
      ],
      "author": {
        "name": "Patrick Mochel",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "message": "[PATCH] usb: klist_node_attached() fix\n\nThe original code looks like this:\n\n        /* if interface was already added, bind now; else let\n         * the future device_add() bind it, bypassing probe()\n         */\n        if (!list_empty (\u0026dev-\u003ebus_list))\n                device_bind_driver(dev);\n\nIOW, it\u0027s checking to see if the device is attached to the bus or not\nand binding the driver if it is. It\u0027s checking the device\u0027s bus list,\nwhich will only appear empty when the device has been initialized, but\nnot added. It depends way too much on the driver model internals, but it\nseems to be the only way to do the weird crap they want to do with\ninterfaces.\n\nWhen I converted it to use klists, I accidentally inverted the logic,\nwhich led to bad things happening. This patch returns the check to its\norginal value.\n\nFrom: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/drivers/usb/core/usb.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "12eac738e5889a10da5b391c02eeb61229c796dc",
      "tree": "f571bf26898e816d91f0a830a45a0dc6f781fc6e",
      "parents": [
        "0d3e5a2e39b6ba2974e9e7c2a429018c45de8e76"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "jasonuhl@sgi.com",
        "time": "Wed Mar 30 13:19:54 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Fix typo in scdrv_init()\n\nFix a typo in scdrv_init() which was breaking the build for SGI sn2.\n\nSigned-off-by: Jason Uhlenkott \u003cjasonuhl@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0d3e5a2e39b6ba2974e9e7c2a429018c45de8e76",
      "tree": "30e584b73c356adce49dcc9df75332abaef95470",
      "parents": [
        "b86c1df1f98d16c999423a3907eb40a9423f481e"
      ],
      "author": {
        "name": "Patrick Mochel",
        "email": "mochel@digitalimplant.org",
        "time": "Tue Apr 05 23:46:33 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Driver Core: fix bk-driver-core kills ppc64\n\nThere\u0027s no check to see if the device is already bound to a driver, which\ncould do bad things.  The first thing to go wrong is that it will try to match\na driver with a device already bound to one.  In some cases (it appears with\nUSB with drivers/usb/core/usb.c::usb_match_id()), some drivers will match a\ndevice based on the class type, so it would be common (especially for HID\ndevices) to match a device that is already bound.\n\nThe fun comes when -\u003eprobe() is called, it fails, then\ndriver_probe_device() does this:\n\n\tdev-\u003edriver \u003d NULL;\n\nLater on, that pointer could be be dereferenced without checking and cause\nhell to break loose.\n\nThis problem could be nasty. It\u0027s very hardware dependent, since some\ndevices could have a different set of matching qualifiers than others.\n\nNow, I don\u0027t quite see exactly where/how you were getting that crash.\nYou\u0027re dereferencing bad memory, but I\u0027m not sure which pointer was bad\nand where it came from, but it could have come from a couple of different\nplaces.\n\nThe patch below will hopefully fix it all up for you. It\u0027s against\n2.6.12-rc2-mm1, and does the following:\n\n- Move logic to driver_probe_device() and comments uncommon returns:\n  1 - If device is bound\n  0 - If device not bound, and no error\n  error - If there was an error.\n\n- Move locking to caller of that function, since we want to lock a\n  device for the entire time we\u0027re trying to bind it to a driver (to\n  prevent against a driver being loaded at the same time).\n\n- Update __device_attach() and __driver_attach() to do that locking.\n\n- Check if device is already bound in __driver_attach()\n\n- Update the converse device_release_driver() so it locks the device\n  around all of the operations.\n\n- Mark driver_probe_device() as static and remove export. It\u0027s an\n  internal function, it should stay that way, and there are no other\n  callers. If there is ever a need to export it, we can audit it as\n  necessary.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "b86c1df1f98d16c999423a3907eb40a9423f481e",
      "tree": "02cf0b54f3c1d9b987268f2d4737af1a67dd4056",
      "parents": [
        "d0e2b4a0a9dd3eed71b56c47268bf4e40cff6d0f"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 31 12:53:00 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Driver core: Fix up the driver and device iterators to be quieter\n\nAlso stops looping over the lists when a match is found.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\n"
    },
    {
      "commit": "d0e2b4a0a9dd3eed71b56c47268bf4e40cff6d0f",
      "tree": "567d849ed870807599d439e459e1bbe3cfec2877",
      "parents": [
        "64360322ab3330d4881166380ad43a1eec2f123d"
      ],
      "author": {
        "name": "long",
        "email": "tlnguyen@snoqualmie.dp.intel.com",
        "time": "Tue Mar 29 13:36:43 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:26 2005 -0700"
      },
      "message": "[PATCH] use device_for_each_child() to properly access child devices.\n\nOn Friday, March 25, 2005 8:47 PM Greg KH wrote:\n\u003eHere\u0027s a fix for pci express.  For some reason I don\u0027t think they are\n\u003eusing the driver model properly here, but I could be wrong...\n\nThanks for making the changes. However, changes in functions:\nvoid pcie_port_device_remove(struct pci_dev *dev) and\nstatic int remove_iter(struct device *dev, void *data)\nare not correct. Please use the patch, which is based on kernel\n2.6.12-rc1, below for a fix for these.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "64360322ab3330d4881166380ad43a1eec2f123d",
      "tree": "cfb876990acbe4669e9ba45d6252c75538288f24",
      "parents": [
        "ff710710eae73990dd484ea8e37dba636452502b"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 25 11:45:31 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:26 2005 -0700"
      },
      "message": "[PATCH] Use device_for_each_child() to unregister devices in nodemgr_remove_host_dev()\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c\n"
    },
    {
      "commit": "ff710710eae73990dd484ea8e37dba636452502b",
      "tree": "c764773894a10b5650f81b32e86751b97e54706e",
      "parents": [
        "126eddfbf8cae8a20c22708192bffcbd77c8a889"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 24 00:44:28 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:26 2005 -0700"
      },
      "message": "[PATCH] USB: fix build warning in usb core as pointed out by Andrew.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/drivers/usb/core/usb.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    }
  ],
  "next": "126eddfbf8cae8a20c22708192bffcbd77c8a889"
}
