)]}'
{
  "log": [
    {
      "commit": "b8cd9d056bbc5f2630ab1787dbf76f83bbb517c0",
      "tree": "a49c776b88db5346eaef6082c271f5d79319654f",
      "parents": [
        "fec6ed1d1f9b78a6acb4a3eb2c46c812ac2e96f0",
        "1503af661947b7a4a09355cc2ae6aa0d43f16776"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 16:15:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 16:15:57 2008 +0200"
      },
      "message": "Merge branch \u0027x86/header-guards\u0027 into x86-v28-for-linus-phase1\n\nConflicts:\n\tinclude/asm-x86/dma-mapping.h\n\tinclude/asm-x86/gpio.h\n\tinclude/asm-x86/idle.h\n\tinclude/asm-x86/kvm_host.h\n\tinclude/asm-x86/namei.h\n\tinclude/asm-x86/uaccess.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8174c430e445a93016ef18f717fe570214fa38bf",
      "tree": "f1b4426eae7401425e9102c7b3e141be86f0930c",
      "parents": [
        "21cc199baa815d7b3f1ace4be20b9558cbddc00f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jul 25 19:45:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:06 2008 -0700"
      },
      "message": "x86: lockless get_user_pages_fast()\n\nImplement get_user_pages_fast without locking in the fastpath on x86.\n\nDo an optimistic lockless pagetable walk, without taking mmap_sem or any\npage table locks or even mmap_sem.  Page table existence is guaranteed by\nturning interrupts off (combined with the fact that we\u0027re always looking\nup the current mm, means we can do the lockless page table walk within the\nconstraints of the TLB shootdown design).  Basically we can do this\nlockless pagetable walk in a similar manner to the way the CPU\u0027s pagetable\nwalker does not have to take any locks to find present ptes.\n\nThis patch (combined with the subsequent ones to convert direct IO to use\nit) was found to give about 10% performance improvement on a 2 socket 8\ncore Intel Xeon system running an OLTP workload on DB2 v9.5\n\n \"To test the effects of the patch, an OLTP workload was run on an IBM\n  x3850 M2 server with 2 processors (quad-core Intel Xeon processors at\n  2.93 GHz) using IBM DB2 v9.5 running Linux 2.6.24rc7 kernel.  Comparing\n  runs with and without the patch resulted in an overall performance\n  benefit of ~9.8%.  Correspondingly, oprofiles showed that samples from\n  __up_read and __down_read routines that is seen during thread contention\n  for system resources was reduced from 2.8% down to .05%.  Monitoring the\n  /proc/vmstat output from the patched run showed that the counter for\n  fast_gup contained a very high number while the fast_gup_slow value was\n  zero.\"\n\n(fast_gup is the old name for get_user_pages_fast, fast_gup_slow is a\ncounter we had for the number of times the slowpath was invoked).\n\nThe main reason for the improvement is that DB2 has multiple threads each\nissuing direct-IO.  Direct-IO uses get_user_pages, and thus the threads\ncontend the mmap_sem cacheline, and can also contend on page table locks.\n\nI would anticipate larger performance gains on larger systems, however I\nthink DB2 uses an adaptive mix of threads and processes, so it could be\nthat thread contention remains pretty constant as machine size increases.\nIn which case, we stuck with \"only\" a 10% gain.\n\nThe downside of using get_user_pages_fast is that if there is not a pte\nwith the correct permissions for the access, we end up falling back to\nget_user_pages and so the get_user_pages_fast is a bit of extra work.\nHowever this should not be the common case in most performance critical\ncode.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: Kconfig fix]\n[akpm@linux-foundation.org: Makefile fix/cleanup]\n[akpm@linux-foundation.org: warning fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReviewed-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ef50a522717fa040636ee1017179ceba12ff62",
      "tree": "57b082ad5b314605d5d9dab50068737f324cae60",
      "parents": [
        "a656c8efb40a8700046df20da2195f8aa39ce38a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed Jun 18 17:08:48 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Jul 22 21:31:34 2008 +0200"
      },
      "message": "x86: consolidate header guards\n\nThis patch is the result of an automatic script that consolidates the\nformat of all the headers in include/asm-x86/.\n\nThe format:\n\n1. No leading underscore. Names with leading underscores are reserved.\n2. Pathname components are separated by two underscores. So we can\n   distinguish between mm_types.h and mm/types.h.\n3. Everything except letters and numbers are turned into single\n   underscores.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "22cac1670786108ccd4caa0656c39fa4ba69fa7d",
      "tree": "78ee156fca08987686199c7b330c413ff2a35ac5",
      "parents": [
        "8bc7de0c5dc0a5d3bcdc04bac6de0c799f91c5e4"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 14:56:53 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:29 2008 +0200"
      },
      "message": "x86: define architectural characteristics in uaccess.h.\n\nRemove them from the arch-specific file.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bc7de0c5dc0a5d3bcdc04bac6de0c799f91c5e4",
      "tree": "c1f8dfbe35c408f41d89d345a0f8bf03d2af5dd9",
      "parents": [
        "8cb834e99f44bd56409b794504ae2b170675fc92"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 14:53:41 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:28 2008 +0200"
      },
      "message": "x86: put movsl_mask into uaccess.h.\n\nx86_64 does not need it, but it won\u0027t have X86_INTEL_USERCOPY\ndefined either.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8cb834e99f44bd56409b794504ae2b170675fc92",
      "tree": "32cacbbad4c5948d55068cc948ed4d7c8d27d722",
      "parents": [
        "e30a44fdbf11c7ca3a0096d71790f176a4a09e03"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 14:43:30 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:27 2008 +0200"
      },
      "message": "x86: move __get_user and __put_user into uaccess.h.\n\nWe also carry the unaligned version with us. Only x86_64 uses\nit, but there\u0027s no problem in defining it.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e30a44fdbf11c7ca3a0096d71790f176a4a09e03",
      "tree": "21d173ba08e47cb539c965dfb5119ff9f3b28d04",
      "parents": [
        "ec840956d269e2beefe3a1c0fd7c1c70a199087f"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 13:17:43 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:26 2008 +0200"
      },
      "message": "x86: merge put_user.\n\nMove both versions, which are highly similar, to uaccess.h.\nNote that, for x86_64, X86_WP_WORKS_OK is always defined.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f168221167ca7a844fde3bf58e1c7ca0bf9741e",
      "tree": "ca51b618a7319488049b151d9e03d899170106df",
      "parents": [
        "6fd4725d75c5049641640ce23fa5896501dfbd42"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 12:48:47 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:24 2008 +0200"
      },
      "message": "x86: merge __get_user_asm and its users.\n\nMove __get_user_asm and __get_user_size and __get_user_nocheck\nto uaccess.h. This requires us to define a macro at __get_user_size\nfor the 64-bit access case.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc70ddf4098de043ac52f623c7573a11f2ae3d09",
      "tree": "0641f33c243a7d1feec051670cdced9ffec36535",
      "parents": [
        "d42e6af613375be7a9a431628ecd742e87230554"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 11:48:29 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:22 2008 +0200"
      },
      "message": "x86: merge __put_user_asm and its user.\n\nMove both __put_user_asm and __put_user_size to\nuaccess.h. i386 already had a special function for 64-bit access,\nso for x86_64, we just define a macro with the same name.\nNote that for X86_64, CONFIG_X86_WP_WORKS_OK will always\nbe defined, so the #else part will never be even compiled in.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "002ca1690c3d0a495e6aedd608281aeb01ce6385",
      "tree": "b44eacf9cb730b3a3f47e0f3848fac43f68af97e",
      "parents": [
        "865e5b76505cdade261773bde32f785b3ce579f1"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 11:08:51 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:19 2008 +0200"
      },
      "message": "x86: move __addr_ok to uaccess.h.\n\nTake it out of uaccess_32.h. Since it seems that no users\nof the x86_64 exists, we simply pick the i386 version.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "865e5b76505cdade261773bde32f785b3ce579f1",
      "tree": "3ac122f2b95162b286b1a136ec4460f422b0d8b9",
      "parents": [
        "ca23386216b9d4fc3bb211101205077d2b2916ae"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jun 25 11:05:11 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:18 2008 +0200"
      },
      "message": "x86: merge getuser.\n\nMerge versions of getuser from uaccess_32.h and uaccess_64.h into\nuaccess.h. There is a part which is 64-bit only (for now), and for\nthat, we use a __get_user_8 macro.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca23386216b9d4fc3bb211101205077d2b2916ae",
      "tree": "258a4239a07f42da5c6b7d468b75eedcd962cba2",
      "parents": [
        "be9d06bfd48934fbd56ccb7476eabccfa31b4afe"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Jun 13 14:39:25 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:18 2008 +0200"
      },
      "message": "x86: merge common parts of uaccess.\n\nCommon parts of uaccess_32.h and uaccess_64.h\nare put in uaccess.h. Bits in uaccess_32.h and\nuaccess_64.h that come to this file are equal\nexcept for comments and whitespaces differences.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42",
      "tree": "d947a467aa2da3140279617bc4b9b101640d7bf4",
      "parents": [
        "27bd0c955648646abf2a353a8371d28c37bcd982"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "message": "i386/x86_64: move headers to include/asm-x86\n\nMove the headers to include/asm-x86 and fixup the\nheader install make rules\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
