)]}'
{
  "log": [
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4",
      "tree": "23a31763887d9505e62e9d7cc8ec2fa4b86bd380",
      "parents": [
        "13214adf738abc92b0a00c0763fd3be79eebaa7c"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Feb 08 04:22:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "CONFIG_HIGHPTE vs. sub-page page tables.\n\nBackground: I\u0027ve implemented 1K/2K page tables for s390.  These sub-page\npage tables are required to properly support the s390 virtualization\ninstruction with KVM.  The SIE instruction requires that the page tables\nhave 256 page table entries (pte) followed by 256 page status table entries\n(pgste).  The pgstes are only required if the process is using the SIE\ninstruction.  The pgstes are updated by the hardware and by the hypervisor\nfor a number of reasons, one of them is dirty and reference bit tracking.\nTo avoid wasting memory the standard pte table allocation should return\n1K/2K (31/64 bit) and 2K/4K if the process is using SIE.\n\nProblem: Page size on s390 is 4K, page table size is 1K or 2K.  That means\nthe s390 version for pte_alloc_one cannot return a pointer to a struct\npage.  Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one\ncannot return a pointer to a pte either, since that would require more than\n32 bit for the return value of pte_alloc_one (and the pte * would not be\naccessible since its not kmapped).\n\nSolution: The only solution I found to this dilemma is a new typedef: a\npgtable_t.  For s390 pgtable_t will be a (pte *) - to be introduced with a\nlater patch.  For everybody else it will be a (struct page *).  The\nadditional problem with the initialization of the ptl lock and the\nNR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and\na destructor pgtable_page_dtor.  The page table allocation and free\nfunctions need to call these two whenever a page table page is allocated or\nfreed.  pmd_populate will get a pgtable_t instead of a struct page pointer.\n To get the pgtable_t back from a pmd entry that has been installed with\npmd_populate a new function pmd_pgtable is added.  It replaces the pmd_page\ncall in free_pte_range and apply_to_pte_range.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "516c25a86f6bdad77ded01a43c52c5569c8d690c",
      "tree": "e7404e73fd103f70958ccb1bc1c74ff1c7ff48bf",
      "parents": [
        "c1445db9f72db0537c43a2eab6e1b0f6741162f5"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed\n\nasm/elf.h, asm/page.h and asm/user.h don\u0027t export to userspace now, so we can\ndrop #ifdef __KERNEL__ for them.\n\n[k.shutemov@gmail.com: remove #ifdef __KERNEL_]\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "769848c03895b63e5662eb7e4ec8c4866f7d0183",
      "tree": "8911c7c312c8b8b172795fa2874c8162e1d3d15a",
      "parents": [
        "a32ea1e1f925399e0d81ca3f7394a44a6dafa12c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jul 17 04:03:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:22:59 2007 -0700"
      },
      "message": "Add __GFP_MOVABLE for callers to flag allocations from high memory that may be migrated\n\nIt is often known at allocation time whether a page may be migrated or not.\nThis patch adds a flag called __GFP_MOVABLE and a new mask called\nGFP_HIGH_MOVABLE.  Allocations using the __GFP_MOVABLE can be either migrated\nusing the page migration mechanism or reclaimed by syncing with backing\nstorage and discarding.\n\nAn API function very similar to alloc_zeroed_user_highpage() is added for\n__GFP_MOVABLE allocations called alloc_zeroed_user_highpage_movable().  The\nflags used by alloc_zeroed_user_highpage() are not changed because it would\nchange the semantics of an existing API.  After this patch is applied there\nare no in-kernel users of alloc_zeroed_user_highpage() so it probably should\nbe marked deprecated if this patch is merged.\n\nNote that this patch includes a minor cleanup to the use of __GFP_ZERO in\nshmem.c to keep all flag modifications to inode-\u003emapping in the\nshmem_dir_alloc() helper function.  This clean-up suggestion is courtesy of\nHugh Dickens.\n\nAdditional credit goes to Christoph Lameter and Linus Torvalds for shaping the\nconcept.  Credit to Hugh Dickens for catching issues with shmem swap vector\nand ramfs allocations.\n\n[akpm@linux-foundation.org: build fix]\n[hugh@veritas.com: __GFP_ZERO cleanup]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fabb626ad6a3744b9f0eaae215a2418d521c1e14",
      "tree": "9779db4be185ae054ae0753d79e1fae602726f9c",
      "parents": [
        "3d60f849341ac00e3dc47a3af94aaf9ba46d00fb"
      ],
      "author": {
        "name": "Hirokazu Takata",
        "email": "takata@linux-m32r.org",
        "time": "Sat Feb 10 01:43:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:20 2007 -0800"
      },
      "message": "[PATCH] m32r: cosmetic updates and trivial fixes\n\nCosmetic updates and trivial fixes of m32r arch-dependent files.\n- Remove RCS ID strings and trailing white lines\n- Other misc. cosmetic updates\n\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47dbec79d1b9ce9e80bed932f345adc92049f05d",
      "tree": "b03f432ff18e1356c5901776040a94c83978f412",
      "parents": [
        "029669da25efa18ee4b8911e694fdcf4a11c8cbe"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Sep 17 08:39:39 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Sep 21 08:41:35 2006 +0100"
      },
      "message": "Fix \u0027make headers_check\u0027 on m32r\n\n\u003e asm-m32r/page.h requires asm-generic/memory_model.h, which does not exist\n\u003e asm-m32r/ptrace.h requires asm/m32r.h, which does not exist\n\u003e asm-m32r/signal.h requires linux/linkage.h, which does not exist\n\u003e asm-m32r/unistd.h requires asm/syscall.h, which does not exist\n\u003e asm-m32r/user.h requires asm/processor.h, which does not exist\n\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "7126cffe74f0dbcd015aaabab01069f422526535",
      "tree": "2afae8c0ad021ac99b21b38c79988d5e6a208da1",
      "parents": [
        "dd6cc7631cf2a63b3d6c32619054e017479e72ca"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:45 2006 -0800"
      },
      "message": "[PATCH] unify pfn_to_page: m32r pfn_to_page\n\nm32r can use generic funcs.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd4fd5aac1282825195c6816ed40a2a6d42db5bf",
      "tree": "5908cf4c88a7c9d69ea7bdc1c354d51b6ff47f86",
      "parents": [
        "28ae55c98e4d16eac9a05a8a259d7763ef3aeb18"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sat Sep 03 15:54:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:39 2005 -0700"
      },
      "message": "[PATCH] mm: consolidate get_order\n\nSomeone mentioned that almost all the architectures used basically the same\nimplementation of get_order.  This patch consolidates them into\nasm-generic/page.h and includes that in the appropriate places.  The\nexceptions are ia64 and ppc which have their own (presumably optimised)\nversions.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
