)]}'
{
  "log": [
    {
      "commit": "64ca9004b819ab87648dbfc78f3ef49ee491343e",
      "tree": "9b5daef5280800a0006343a17f63072658d91a1d",
      "parents": [
        "708e9a794cf8822b760edaccd9053edb07c34d19"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun Jan 08 01:05:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:11 2006 -0800"
      },
      "message": "[PATCH] Make vm86 support optional\n\nThis adds an option to remove vm86 support under CONFIG_EMBEDDED.  Saves\nabout 5k.\n\nThis version eliminates most of the #ifdefs of the previous version and\ninstead uses function stubs in vm86.h.  Also, release_vm86_irqs is moved\nfrom asm-i386/irq.h to a more appropriate home in vm86.h so that the stubs\ncan live together.\n\n$ size vmlinux-baseline vmlinux-novm86\n   text    data     bss     dec     hex filename\n2920821  523232  190652 3634705  377611 vmlinux-baseline\n2916268  523100  190492 3629860  376324 vmlinux-novm86\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a12dea7af93ae83bd868c0dc09367090ead7cc1e",
      "tree": "90220072dddc951f75ecbcb9b442b8b8a9b774f7",
      "parents": [
        "eb46996f90a0826921f1a0d81535537a9c7f91b0"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun Jan 08 01:04:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:04 2006 -0800"
      },
      "message": "[PATCH] PTRACE_SYSEMU is only for i386 and clashes with other ptrace codes of other archs\n\nPTRACE_SYSEMU{,_SINGLESTEP} is actually arch specific, for now, and the\ncurrent allocated number clashes with a ptrace code of frv, i.e.\nPTRACE_GETFDPIC.  I should have submitted this much earlier, anyway we get no\nbreakage for this.\n\nCC: Daniel Jacobowitz \u003cdan@debian.org\u003e\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fd73c6b6737b7e6eacac1b00dac16e7540c3cb1",
      "tree": "e66dbe34118b289c6f89a23764e355ea62fa2c62",
      "parents": [
        "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:39 2006 -0800"
      },
      "message": "[PATCH] Kill L1_CACHE_SHIFT_MAX\n\nKill L1_CACHE_SHIFT from all arches.  Since L1_CACHE_SHIFT_MAX is not used\nanymore with the introduction of INTERNODE_CACHE, kill L1_CACHE_SHIFT_MAX.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39743889aaf76725152f16aa90ca3c45f6d52da3",
      "tree": "2a6f658d03dbbd9428934c5e030230a4acb6d5e0",
      "parents": [
        "dc9aa5b9d65fd11b1f5246b46ec610ee8b83c6dd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun Jan 08 01:00:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:42 2006 -0800"
      },
      "message": "[PATCH] Swap Migration V5: sys_migrate_pages interface\n\nsys_migrate_pages implementation using swap based page migration\n\nThis is the original API proposed by Ray Bryant in his posts during the first\nhalf of 2005 on linux-mm@kvack.org and linux-kernel@vger.kernel.org.\n\nThe intent of sys_migrate is to migrate memory of a process.  A process may\nhave migrated to another node.  Memory was allocated optimally for the prior\ncontext.  sys_migrate_pages allows to shift the memory to the new node.\n\nsys_migrate_pages is also useful if the processes available memory nodes have\nchanged through cpuset operations to manually move the processes memory.  Paul\nJackson is working on an automated mechanism that will allow an automatic\nmigration if the cpuset of a process is changed.  However, a user may decide\nto manually control the migration.\n\nThis implementation is put into the policy layer since it uses concepts and\nfunctions that are also needed for mbind and friends.  The patch also provides\na do_migrate_pages function that may be useful for cpusets to automatically\nmove memory.  sys_migrate_pages does not modify policies in contrast to Ray\u0027s\nimplementation.\n\nThe current code here is based on the swap based page migration capability and\nthus is not able to preserve the physical layout relative to it containing\nnodeset (which may be a cpuset).  When direct page migration becomes available\nthen the implementation needs to be changed to do a isomorphic move of pages\nbetween different nodesets.  The current implementation simply evicts all\npages in source nodeset that are not in the target nodeset.\n\nPatch supports ia64, i386 and x86_64.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19d534842cc39df1b568722c18f96ae24fb0e136",
      "tree": "bf4a0deac286079540f849dff8f8c030e2eba097",
      "parents": [
        "bcf0f0d233fc76e7c59c7f731caad555428d0e8d"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "bgerst@didntduck.org",
        "time": "Fri Jan 06 00:12:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:39 2006 -0800"
      },
      "message": "[PATCH] mpspec: remove unneeded packed attribute\n\nGCC 4.1 gives the following warning: include/asm/mpspec.h:79: warning:\n`packed\u0027 attribute ignored for field of type `unsigned char\u0027\n\nThe packed attribute isn\u0027t really necessary anyways so just remove it.\n\nSigned-off-by: Brian Gerst \u003cbgerst@didntduck.org\u003e\nAcked-by: Dave Jones \u003cdavej@codemonkey.org.uk\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": "f90b8116032f4216d260e31f966a3585319387ac",
      "tree": "c7234671ff0ee152e40dc0175fe46a0d7147641d",
      "parents": [
        "6b7f430ee0a269464aa29159eb464e647ca313d3"
      ],
      "author": {
        "name": "Jordan Crouse",
        "email": "jordan.crouse@amd.com",
        "time": "Fri Jan 06 00:12:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:38 2006 -0800"
      },
      "message": "[PATCH] Base support for AMD Geode GX/LX processors\n\nProvide basic support for the AMD Geode GX and LX processors.\n\nSigned-off-by: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d832245d7cc16d50b29c1b708ccbe9c75ac376a3",
      "tree": "2fc22b6337fc433a6b392e9b008339d8031e8e1c",
      "parents": [
        "e31b88ba49460653bab87423287bb68743f5de5c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Jan 06 00:12:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:38 2006 -0800"
      },
      "message": "[PATCH] x86: fls() in asm\n\nThere is a single instruction on i386 to find largest set bit; so it makes\nsense to use it (like we use bfs for ffs()).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1855a2c4ce708b823b8b824f8b12937b45f5462a",
      "tree": "2aeed2e32d792652e43ae086d2522210715c9992",
      "parents": [
        "c898ec16e83331abde39118e22e9e38335bbb950"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Fri Jan 06 00:12:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:37 2006 -0800"
      },
      "message": "[PATCH] x86: convert bigsmp to use flat physical mode\n\nWhen we bring up a new CPU via INIT/startup IPI messages, the CPU that\u0027s\ncoming up sends a xTPR message to the chipset.  Intel chipsets (at least)\ndon\u0027t provide any architectural guarantee on what the chipset will do with\nthis message.  For example, the E850x chipsets uses this xTPR message to\ninterpret the interrupt operating mode of the platform.  When the CPU\ncoming online sends this message, it always indicates that it is in logical\nflat mode.  For the CPU hotplug case, the platform may already be\nfunctioning in cluster APIC mode at this time, the chipset can get confused\nand mishandle I/O device and IPI interrupt routing.\n\nThe situation eventually gets corrected when the new CPU sends another xTPR\nupdate when we switch it to cluster mode, but there\u0027s a window during which\nthe chipset may be in an inconsistent state.  This patch avoids this\nproblem by using the flat physical interrupt delivery mode instead of\ncluster mode for bigsmp (\u003e8 cpu) support.\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@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": "63aaf3086baea7b94c218053af8237f9dbac5d05",
      "tree": "dc32bf8878d01a25a321eb6412f27bce7ec7c5b7",
      "parents": [
        "37b73c828185731f6236a6387c02d7b08c150810"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Fri Jan 06 00:12:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:36 2006 -0800"
      },
      "message": "[PATCH] x86/x86_64: mark rodata section read only: x86 parts\n\nx86 specific parts to make the .rodata section read only\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "d89c145c0344fe2180336af6a309a59a8bc8c1c0",
      "tree": "3b124a740d14ef298117b4ad0732e075ed970e4b",
      "parents": [
        "2684927c6b938ec7a679891e0ec1fa0709c521bd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 06 00:11:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:36 2006 -0800"
      },
      "message": "[PATCH] x86: handle -Wsign-compare in bitops\n\nMake i386\u0027s find_first_bit() use an unsigned integer as a counter to avoid\ngetting warnings when -Wsign-compare is given.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fe9fe3c6f9a1ae7aa224bb7a66eb9aad9e4abef",
      "tree": "ec120ce6e72700fe49720127bc76228c51bd406b",
      "parents": [
        "3fae1c37eea98097de34ba665796fea93b29f4aa"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Fri Jan 06 00:11:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:35 2006 -0800"
      },
      "message": "[PATCH] x86: Pnp byte granularity\n\nThe one remaining caller of set_limit, the PnP BIOS code, calls into the PnP\nBIOS, passing kernel parameters in and out.  These parameteres may be passed\nfrom arbitrary kernel virtual memory, so they deserve strict protection to\nstop a bad BIOS from smashing beyond the object size.\n\nUnfortunately, the use of set_limit was badly botching this by setting the\nlimit in terms of pages, when it really should have byte granularity.\n\nWhen doing this, I discovered my BIOS had the buggy code during the \"get\nsystem device node\" call:\n\n mov ax, es:[bx]\n\nWhich is harmless, but has a trivial workaround.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nCc: 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": "3fae1c37eea98097de34ba665796fea93b29f4aa",
      "tree": "bc31e7e6a3b88f422a70c1d936a806625dcab137",
      "parents": [
        "99022c4695d3f45fcf7f3827aa46dd2d9e53e365"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Fri Jan 06 00:11:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:35 2006 -0800"
      },
      "message": "[PATCH] x86: Deprecate obsolete ldt accessors\n\nOld accessors to fetch LDT descriptors are unused and outdated and in the\nwrong header file.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nCc: 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": "5702d0f742b2f462267bca147334f77a255bcc74",
      "tree": "de14f41bc9305aa48a19ce95443b0b9ca5ca2350",
      "parents": [
        "ff6e8c0d5e47f0ceeebde86ec2f5919dbd5beb67"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Fri Jan 06 00:11:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:34 2006 -0800"
      },
      "message": "[PATCH] x86: Pnp segments in segment h\n\nMove PnP BIOS segment definitions into segment.h; the segments are reserved\nhere, so they might as well be defined here as well.\n\nNote I didn\u0027t do this for APM BIOS, as Macintosh and other systems use those\nvalues to emulate APM in some scary way I don\u0027t want to understand.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nAcked-by: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nCc: 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": "ff6e8c0d5e47f0ceeebde86ec2f5919dbd5beb67",
      "tree": "f7e50b5962b7b38ca025c0bf9ee48b618424cc6b",
      "parents": [
        "eb05c3249a8e8a675e79d221f4a0874dc10ec903"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Fri Jan 06 00:11:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:34 2006 -0800"
      },
      "message": "[PATCH] x86: Cr4 is valid on some 486s\n\nSo some 486 processors do have CR4 register.  Allow them to present it in\nregister dumps by using the old fault technique rather than testing processor\nfamily.\n\nThanks to Maciej for noticing this.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nCc: 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": "d43c6e8083ac8baeb1a167510aea34fcef396e33",
      "tree": "45feb3824511d67330bb5d2e5451fa5f66dd7542",
      "parents": [
        "e43d674f44dc885a2476cab3537e639d9eaa31a9"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Jan 06 00:11:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:34 2006 -0800"
      },
      "message": "[PATCH] i386: move SIMD initialization\n\nMove some code unrelated to any dealing with hardware bugs from i386\u0027s\nbugs.h to a more logical place.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c4cb60e5b97677424e95baee9c29df54b26e6ba",
      "tree": "a2ad6e6104e153d15bc4bfbb67f74b0e05fea03c",
      "parents": [
        "599a6e8ca4ff7f453f847217ecc2718d68e3b0f6"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Fri Jan 06 00:11:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:33 2006 -0800"
      },
      "message": "[PATCH] x86: GDT alignment fix\n\nMake GDT page aligned and page padded to support running inside of a\nhypervisor.  This prevents false sharing of the GDT page with other hot\ndata, which is not allowed in Xen, and causes performance problems in\nVMware.\n\nRather than go back to the old method of statically allocating the GDT\n(which wastes unneded space for non-present CPUs), the GDT for APs is\nallocated dynamically.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3cb487149bd706aa6aeb02042332a450978dc1c",
      "tree": "69051e0f9853314cf275e4e800faad950e3053c3",
      "parents": [
        "070f80326a215d8e6c4fd6f175e28eb446c492bc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Fri Jan 06 00:11:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:29 2006 -0800"
      },
      "message": "[PATCH] atomic_long_t \u0026 include/asm-generic/atomic.h V2\n\nSeveral counters already have the need to use 64 atomic variables on 64 bit\nplatforms (see mm_counter_t in sched.h).  We have to do ugly ifdefs to fall\nback to 32 bit atomic on 32 bit platforms.\n\nThe VM statistics patch that I am working on will also make more extensive\nuse of atomic64.\n\nThis patch introduces a new type atomic_long_t by providing definitions in\nasm-generic/atomic.h that works similar to the c \"long\" type.  Its 32 bits\non 32 bit platforms and 64 bits on 64 bit platforms.\n\nAlso cleans up the determination of the mm_counter_t in sched.h.\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": "7756b9e4e321c3c83c7aa5b9532d3e7fd7ddeb4a",
      "tree": "fe59fcd970e97e3878a743a5b476420501f99f00",
      "parents": [
        "bbfbb7cec9dd7266534b2b4b9c8be2fa425bbfc9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jan 06 00:11:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] kill last zone_reclaim() bits\n\nRemove the last bits of Martin\u0027s ill-fated sys_set_zone_reclaim().\n\nCc: Martin Hicks \u003cmort@wildopensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9f3fd602aef96c2a490e3bfd669d06475aeba8d8",
      "tree": "3f16d0d4ff7cbb8943c37391a0ea5fa9e3424dbb",
      "parents": [
        "6bda666a03f063968833760c5bb5c13062ab9291"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Fri Jan 06 00:10:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:23 2006 -0800"
      },
      "message": "[PATCH] mm: kvaddr_to_nid not used in common code\n\nkvaddr_to_nid() isn\u0027t used in common code nor in i386 code.  Remove these\ndefinitions.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6b3ec238d12c8cc6cc71490c6e3127988460349",
      "tree": "b395c1054802760b0e938199231a9de9ac2f358a",
      "parents": [
        "d7339071f6a8b50101d7ba327926b770f22d5d8b"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Fri Jan 06 00:10:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:22 2006 -0800"
      },
      "message": "[PATCH] madvise(MADV_REMOVE): remove pages from tmpfs shm backing store\n\nHere is the patch to implement madvise(MADV_REMOVE) - which frees up a\ngiven range of pages \u0026 its associated backing store.  Current\nimplementation supports only shmfs/tmpfs and other filesystems return\n-ENOSYS.\n\n\"Some app allocates large tmpfs files, then when some task quits and some\nclient disconnect, some memory can be released.  However the only way to\nrelease tmpfs-swap is to MADV_REMOVE\". - Andrea Arcangeli\n\nDatabases want to use this feature to drop a section of their bufferpool\n(shared memory segments) - without writing back to disk/swap space.\n\nThis feature is also useful for supporting hot-plug memory on UML.\n\nConcerns raised by Andrew Morton:\n\n- \"We have no plan for holepunching!  If we _do_ have such a plan (or\n  might in the future) then what would the API look like?  I think\n  sys_holepunch(fd, start, len), so we should start out with that.\"\n\n- Using madvise is very weird, because people will ask \"why do I need to\n  mmap my file before I can stick a hole in it?\"\n\n- None of the other madvise operations call into the filesystem in this\n  manner.  A broad question is: is this capability an MM operation or a\n  filesytem operation?  truncate, for example, is a filesystem operation\n  which sometimes has MM side-effects.  madvise is an mm operation and with\n  this patch, it gains FS side-effects, only they\u0027re really, really\n  significant ones.\"\n\nComments:\n\n- Andrea suggested the fs operation too but then it\u0027s more efficient to\n  have it as a mm operation with fs side effects, because they don\u0027t\n  immediatly know fd and physical offset of the range.  It\u0027s possible to\n  fixup in userland and to use the fs operation but it\u0027s more expensive,\n  the vmas are already in the kernel and we can use them.\n\nShort term plan \u0026  Future Direction:\n\n- We seem to need this interface only for shmfs/tmpfs files in the short\n  term.  We have to add hooks into the filesystem for correctness and\n  completeness.  This is what this patch does.\n\n- In the future, plan is to support both fs and mmap apis also.  This\n  also involves (other) filesystem specific functions to be implemented.\n\n- Current patch doesn\u0027t support VM_NONLINEAR - which can be addressed in\n  the future.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andrea Arcangeli \u003candrea@suse.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3821af2fe13700cab6fd67367128fa180e43f8b8",
      "tree": "a70f63c24bd7d2ac8b25e3e4ee0ef6a50847aa67",
      "parents": [
        "c865e5d99e25a171e8262fc0f7ba608568633c64"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Wed Dec 21 19:30:53 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:06 2006 -0800"
      },
      "message": "[FLS64]: generic version\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abe842eb98c45e2b77c5868ef106616ca828a3e4",
      "tree": "f0d89e7d946a7ed9b57bb29e93bae4ce25d2cbc2",
      "parents": [
        "f12f4d90308a22396ac87f6c3a7b2620589614c3"
      ],
      "author": {
        "name": "Dag-Erling Smørgrav",
        "email": "des@linpro.no",
        "time": "Mon Jan 02 15:57:06 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 02 08:38:38 2006 -0800"
      },
      "message": "[PATCH] Avoid namespace pollution in \u003casm/param.h\u003e\n\nIn commit 3D59121003721a8fad11ee72e646fd9d3076b5679c, the x86 and x86-64\n\u003casm/param.h\u003e was changed to include \u003clinux/config.h\u003e for the\nconfigurable timer frequency.\n\nHowever, asm/param.h is sometimes used in userland (it is included\nindirectly from \u003csys/param.h\u003e), so your commit pollutes the userland\nnamespace with tons of CONFIG_FOO macros.  This greatly confuses\nsoftware packages (such as BusyBox) which use CONFIG_FOO macros\nthemselves to control the inclusion of optional features.\n\nAfter a short exchange, Christoph approved this patch\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd02e27b1514a27b2a8ab59755ae6d23d4d8a10f",
      "tree": "75f624b82ab95446661a6322f644dae01dced710",
      "parents": [
        "6027994423e12a3c0b22d3dbf9ac87364ca4e0ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Nov 17 10:04:31 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Nov 17 10:04:31 2005 -0800"
      },
      "message": "x86: Fix silly typo in recent \u003casm/signal.h\u003e fixes\n\nThe second __const_sigaddset() should have been a sigdelset..  Compile\ntrouble noted by Greg K-H.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b7fd1edd2c0c225afa96af92d4adecb91e7d439d",
      "tree": "5e8d4cbc6d16eb318bc7df102b39a09056981817",
      "parents": [
        "3b26b1100e26811e54770abaa221eae140ba840d"
      ],
      "author": {
        "name": "Constantine Gavrilov",
        "email": "constg@qlusters.com",
        "time": "Thu Nov 17 11:40:43 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Nov 17 08:42:26 2005 -0800"
      },
      "message": "[PATCH] x86: fix sigaddset() inline asm memory constraint\n\nDue to incomplete memory constraints, gcc would miscompile code with\nsigaddset on i386 if sig arg was const.\n\nA quote form Jakub to make the issue clear:\n\n \"You need either\n\t__asm__(\"btsl %1,%0\" : \"+m\"(*set) : \"Ir\"(_sig-1) : \"cc\");\n  or\n\t__asm__(\"btsl %1,%0\" : \"\u003dm\"(*set) : \"Ir\"(_sig-1), \"m\"(*set) : \"cc\");\n  because the btsl instruction doesn\u0027t just set the memory to some\n  value, but needs to read its previous content as well.  If you don\u0027t\n  tell that fact to GCC, GCC is of course free to optimize as if the asm\n  was just setting the value and not depended on the previous value.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4060994c3e337b40e0f6fa8ce2cc178e021baf3d",
      "tree": "980297c1747ca89354bc879cc5d17903eacb19e2",
      "parents": [
        "0174f72f848dfe7dc7488799776303c81b181b16",
        "d3ee871e63d0a0c70413dc0aa5534b8d6cd6ec37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:56:02 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:56:02 2005 -0800"
      },
      "message": "Merge x86-64 update from Andi\n"
    },
    {
      "commit": "a6f5deb2be4c82f24fefadcbf7e448f540c05ae6",
      "tree": "f138057dbbd6bf08d52404e758f3db8502af1c29",
      "parents": [
        "2b0918758dd68d6b8d01318a5200b65b9209760d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Nov 05 17:25:54 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:55:16 2005 -0800"
      },
      "message": "[PATCH] x86_64: Reduce number of retries for reset through keyboard controller\n\nOld code could retry for 10 seconds worst time. Only try it\nfor one second now.\n\nSuggested by Yinghai Lu\n\nCc: Yinghai.Lu@amd.com\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "94605eff572b727aaad9b4b29bc358b919096503",
      "tree": "657a848d8ef34d2f94bbad3aa4e5458d2d3f2d2b",
      "parents": [
        "e90f22edf432512219cc2952f5811961abbd164f"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Sat Nov 05 17:25:54 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 14 19:55:16 2005 -0800"
      },
      "message": "[PATCH] x86-64/i386: Intel HT, Multi core detection fixes\n\nFields obtained through cpuid vector 0x1(ebx[16:23]) and\nvector 0x4(eax[14:25], eax[26:31]) indicate the maximum values and might not\nalways be the same as what is available and what OS sees.  So make sure\n\"siblings\" and \"cpu cores\" values in /proc/cpuinfo reflect the values as seen\nby OS instead of what cpuid instruction says. This will also fix the buggy BIOS\ncases (for example where cpuid on a single core cpu says there are \"2\" siblings,\neven when HT is disabled in the BIOS.\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d4359)\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8426e1f6af0fd7f44d040af7263750c5a52f3cc3",
      "tree": "827bd2588c2b73d11cea6869de8ff42dba134375",
      "parents": [
        "4a6dae6d382e9edf3ff440b819e554ed706359bc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Nov 13 16:07:25 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:16 2005 -0800"
      },
      "message": "[PATCH] atomic: inc_not_zero\n\nIntroduce an atomic_inc_not_zero operation.  Make this a special case of\natomic_add_unless because lockless pagecache actually wants\natomic_inc_not_negativeone due to its offset refcount.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4a6dae6d382e9edf3ff440b819e554ed706359bc",
      "tree": "2945a5095973e2ecf05b503d6deb859083045b8e",
      "parents": [
        "53e86b91b7ae66d4c2757195cbd42e00d9199cf2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Nov 13 16:07:24 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:16 2005 -0800"
      },
      "message": "[PATCH] atomic: cmpxchg\n\nIntroduce an atomic_cmpxchg operation.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53e86b91b7ae66d4c2757195cbd42e00d9199cf2",
      "tree": "80c44aeb046ac91a5bc7465da91a7b2519c53096",
      "parents": [
        "dbdf65b1b7f8ec48bda1604cfea7ac09ce583d6b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sun Nov 13 16:07:23 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:15 2005 -0800"
      },
      "message": "[PATCH] i386: generic cmpxchg\n\n- Make cmpxchg generally available on the i386 platform.\n\n- Provide emulation of cmpxchg suitable for uniprocessor if built and run on\n  386.\n\nFrom: Christoph Lameter \u003cclameter@sgi.com\u003e\n\n- Cut down patch and small style changes.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4033c1715cb5aa1dcb1a25bdaf71fea908bb3f1",
      "tree": "cf9ba9ae7999573a507df301faf34170ab08e2c3",
      "parents": [
        "48b19148733b4826eeedfd8be9f19b61c8d010b1"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Tue Nov 08 21:42:33 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 10 16:09:18 2005 -0800"
      },
      "message": "[PATCH] PCI: Change MSI to use physical delivery mode always\n\nMSI hardcoded delivery mode to use logical delivery mode. Recently\nx86_64 moved to use physical mode addressing to support physflat mode.\nWith this mode enabled noticed that my eth with MSI werent working.\n\nmsi_address_init()  was hardcoded to use logical mode for i386 and x86_64.\nSo when we switch to use physical mode, things stopped working.\n\nSince anyway we dont use lowest priority delivery with MSI, its always\ndirected to just a single CPU. Its safe  and simpler to use\nphysical mode always, even when we use logical delivery mode for IPI\u0027s\nor other ioapic RTE\u0027s.\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "25000c2c8a6cbf9bba2de6560370ee222b4c613d",
      "tree": "70a0029139c8fd8198f1ae694d124779202efecd",
      "parents": [
        "f5b2d8b4b5146fa2d70fec7d514fa0bd64636958"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Thu Nov 10 00:10:37 2005 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Nov 10 00:10:37 2005 +0100"
      },
      "message": "[PATCH] ide: explain the PCI bus test we do in \u003casm-i386/ide.h\u003e\n\nMatthew Wilcox asked that this got a comment explaining why it is done\nso here it is.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e"
    },
    {
      "commit": "9a0e3a86837ac7542e601c18346102c9d9e65fa5",
      "tree": "0e58782bfe2be7c1dd82e254df9d4d0fea6781bd",
      "parents": [
        "e65845235c8120be63001fc1a4ac00c819194bbe"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Mon Nov 07 01:00:08 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:45 2005 -0800"
      },
      "message": "[PATCH] Kprobes: Track kprobe on a per_cpu basis - i386 changes\n\nI386 changes to track kprobe execution on a per-cpu basis.  We now track the\nkprobe state machine independently on each cpu, using an arch specific kprobe\ncontrol block.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c65b4a60450590e79a28e9717ceffa9e4debb3f",
      "tree": "e0e42b5faee0a1c44746a36d9df7a8fbb2a2c24c",
      "parents": [
        "6fdcc2162285a8fc96ab12ff85086c37bceaa494"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Mon Nov 07 00:59:43 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:41 2005 -0800"
      },
      "message": "[PATCH] fix remaining missing includes\n\nFix more include file problems that surfaced since I submitted the previous\nfix-missing-includes.patch.  This should now allow not to include sched.h\nfrom module.h, which is done by a followup patch.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31ab269a0307d8725737dfbbdeb5dcde7b41bc36",
      "tree": "15bfdaddcb3831d30e6d34caa54356b63adc61ae",
      "parents": [
        "47b90ffe5c10ab9b5cfd14087b28b13109673ee5"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Nov 07 00:58:42 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:30 2005 -0800"
      },
      "message": "[PATCH] x86: add MCE resume\n\nIt\u0027s widely seen a MCE non-fatal error reported after resume.  It seems MCE\nresume is lacked under ia32.  This patch tries to fix the gap.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e4c85f97fe26fbd70da12148b3992c0e00361fd",
      "tree": "cd938308f7a151bf294a2af26019c73218225c9f",
      "parents": [
        "d83c671fb7023f69a9582e622d01525054f23b66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 31 19:16:17 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 31 19:16:17 2005 -0800"
      },
      "message": "Revert \"i386: move apic init in init_IRQs\"\n\nCommit f2b36db692b7ff6972320ad9839ae656a3b0ee3e causes a bootup hang on\nat least one machine.  Revert for now until we understand why.  The old\ncode may be ugly, but it works.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "727a53bd535fe3bde644ac346db27456ad964083",
      "tree": "5dddcea38f3dd417311b1bcbf5692ad2aebe8c7e",
      "parents": [
        "d269cdd0e22ef22f7f597ea917b1e8bdc6999fcb"
      ],
      "author": {
        "name": "Arthur Othieno",
        "email": "a.othieno@bluewin.ch",
        "time": "Sun Oct 30 15:03:14 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:27 2005 -0800"
      },
      "message": "[PATCH] semaphore: Remove __MUTEX_INITIALIZER()\n\n__MUTEX_INITIALIZER() has no users, and equates to the more commonly used\nDECLARE_MUTEX(), thus making it pretty much redundant.  Remove it for good.\n\nSigned-off-by: Arthur Othieno \u003ca.othieno@bluewin.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1426d7a81dea8e9d85f9d69de85ab04ba37018ab",
      "tree": "f2a7bbe0e60437cf73199b6003da677ee8ff0424",
      "parents": [
        "c7e9dd4dd0b8dd75c410011b3c8f9980112fd0f8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Oct 30 15:02:42 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:22 2005 -0800"
      },
      "message": "[PATCH] vm: remove unused/broken page_pte[_prot] macros\n\nThis patch removes page_pte_prot and page_pte macros from all\narchitectures.  Some architectures define both, some only page_pte (broken)\nand others none.  These macros are not used anywhere.\n\npage_pte_prot(page, prot) is identical to mk_pte(page, prot) and\npage_pte(page) is identical to page_pte_prot(page, __pgprot(0)).\n\n* The following architectures define both page_pte_prot and page_pte\n\n  arm, arm26, ia64, sh64, sparc, sparc64\n\n* The following architectures define only page_pte (broken)\n\n  frv, i386, m32r, mips, sh, x86-64\n\n* All other architectures define neither\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dfb7dac3af623a68262536437af008ed6aba4d88",
      "tree": "fdc8a61c73257dcf8866cf7b9213ce78d2422e7f",
      "parents": [
        "7024a9b884ed7657fb873e655cd124d85ae792a4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 30 15:02:22 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:20 2005 -0800"
      },
      "message": "[PATCH] unify sys_ptrace prototype\n\nMake sure we always return, as all syscalls should.  Also move the common\nprototype to \u003clinux/syscalls.h\u003e\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2b36db692b7ff6972320ad9839ae656a3b0ee3e",
      "tree": "110387d2557a156d6b9453ea0c45d392b47796c2",
      "parents": [
        "29b70081f7cb094513d5189e82d3478b50777a28"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Oct 30 14:59:41 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:13 2005 -0800"
      },
      "message": "[PATCH] i386: move apic init in init_IRQs\n\nAll kinds of ugliness exists because we don\u0027t initialize\nthe apics during init_IRQs.\n- We calibrate jiffies in non apic mode even when we are using apics.\n- We have to have special code to initialize the apics when non-smp.\n- The legacy i8259 must exist and be setup correctly, even\n  when we won\u0027t use it past initialization.\n- The kexec on panic code must restore the state of the io_apics.\n- init/main.c needs a special case for !smp smp_init on x86\n\nIn addition to pure code movement I needed a couple\nof non-obvious changes:\n- Move setup_boot_APIC_clock into APIC_late_time_init for\n  simplicity.\n- Use cpu_khz to generate a better approximation of loops_per_jiffies\n  so I can verify the timer interrupt is working.\n- Call setup_apic_nmi_watchdog again after cpu_khz is initialized on\n  the boot cpu.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9338316c9323682d32270d83b106472a50ab6da4",
      "tree": "372f32101f2ed04ca03335638998905930d23e55",
      "parents": [
        "30037f66ce63b6b7ca1fbfb06605b831f4a60df6"
      ],
      "author": {
        "name": "Natalie.Protasevich@unisys.com",
        "email": "Natalie.Protasevich@unisys.com",
        "time": "Sun Oct 30 14:59:38 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:12 2005 -0800"
      },
      "message": "[PATCH] ES7000 platform update\n\nThis is platform code update for ES7000: disables IRQ overrides for the\nrecent ES7000 (Rascal/Zorro), cleans up the compile warning.  The patch\nonly affects the ES7000 subarch.\n\nSigned-off-by: \u003cNatalie.Protasevich@unisys.com\u003e\nAcked-by: Zwane Mwaikambo \u003czwane@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": "251e6912df43df54570ed68aade703b329c6cd5b",
      "tree": "28695a0c9a468281613a6b8ef8c79596e2764001",
      "parents": [
        "72e12b76fe48d99d1deb417f177b10a9d99b2e74"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sun Oct 30 14:59:34 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:12 2005 -0800"
      },
      "message": "[PATCH] x86: add an accessor function for getting the per-CPU gdt\n\nAdd an accessor function for getting the per-CPU gdt.  Callee must already\nhave the CPU.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ca140fdadbe4c031a20a970f46163908d09a116b",
      "tree": "5dff340fd0bb88751604d7d7ffdcb0fe55144005",
      "parents": [
        "d16aafff2570abb557a5cb18c98027aabd602e22"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun Oct 30 14:59:31 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:12 2005 -0800"
      },
      "message": "[PATCH] i386: little pgtable.h consolidation vs 2/3level\n\nJoin together some common functions (pmd_page{,_kernel}) over 2level and\n3level pages.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8896fab35e62aa748a5ce62ac773508e51f10be1",
      "tree": "bb8f2dce7b5d0aa6ffe68aa6b97920d2ce32e164",
      "parents": [
        "dacb16b1a034fa7a0b868ee30758119fbfd90bc1"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Sun Oct 30 14:59:27 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:11 2005 -0800"
      },
      "message": "[PATCH] x86: cmpxchg improvements\n\nThis adjusts i386\u0027s cmpxchg patterns so that\n\n- for word and long cmpxchg-es the compiler can utilize all possible\n  registers\n\n- cmpxchg8b gets disabled when the minimum specified hardware architectur\n  doesn\u0027t support it (like was already happening for the byte, word, and\n  long ones).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2774812f417db562f0d659d2c1b5755ba35d2770",
      "tree": "b277d15f7165753539fe141df44c7805e1227d4d",
      "parents": [
        "1a44e149084d772a1bcf4cdbdde8a013a8a1cfde"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Oct 29 18:16:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:44 2005 -0700"
      },
      "message": "[PATCH] memory hotplug prep: kill local_mapnr\n\nThe following series implements memory hot-add for ppc64 and i386.  There are\nx86_64 and ia64 implementations that will be submitted shortly as well,\nthrough the normal maintainers.\n\nThis patch:\n\nlocal_mapnr is unused, except for in an alpha header.  Keep the alpha one,\nkill the rest.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "705e87c0c3c38424f7f30556c85bc20e808d2f59",
      "tree": "7a237e6266f4801385e1226cc497b47e3a2458bd",
      "parents": [
        "8f4e2101fd7df9031a754eedb82e2060b51f8c45"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: pte_offset_map_lock loops\n\nConvert those common loops using page_table_lock on the outside and\npte_offset_map within to use just pte_offset_map_lock within instead.\n\nThese all hold mmap_sem (some exclusively, some not), so at no level can a\npage table be whipped away from beneath them.  But whereas pte_alloc loops\ntested with the \"atomic\" pmd_present, these loops are testing with pmd_none,\nwhich on i386 PAE tests both lower and upper halves.\n\nThat\u0027s now unsafe, so add a cast into pmd_none to test only the vital lower\nhalf: we lose a little sensitivity to a corrupt middle directory, but not\nenough to worry about.  It appears that i386 and UML were the only\narchitectures vulnerable in this way, and pgd and pud no problem.\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": "eb92f4ef320b738e41ad43476a5d05c8a20d5cc7",
      "tree": "f9a6bb78a0561587f142b2b1208819f6cffe9835",
      "parents": [
        "63f324cf0792ed69089b79d6921ba3aaea97af50"
      ],
      "author": {
        "name": "Rik Van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 29 18:15:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:35 2005 -0700"
      },
      "message": "[PATCH] add sem_is_read/write_locked()\n\nAdd sem_is_read/write_locked functions to the read/write semaphores, along the\nsame lines of the *_is_locked spinlock functions.  The swap token tuning patch\nuses sem_is_read_locked; sem_is_write_locked is added for completeness.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "478a3bab8c87a9ba4a4ba338314e32bb0c378e62",
      "tree": "37e07a18952706e76b36c782ac095c17b0bc8e11",
      "parents": [
        "46f116eab81b21c6ae8c4f169498c632b1f94bf1"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 19 12:52:02 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 16:47:49 2005 -0700"
      },
      "message": "[PATCH] USB: Always do usb-handoff\n\nThis revised patch (as586b) makes usb-handoff permanently true and no\nlonger a kernel boot parameter.  It also removes the piix3_usb quirk code;\nthat was nothing more than an early version of the USB handoff code\n(written at a time when Intel\u0027s PIIX3 was about the only motherboard with\nUSB support).  And it adds identifiers for the three PCI USB controller\nclasses to pci_ids.h.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d96c4e7bb039ae16c9b7e6809feb4fcfc45fcc87",
      "tree": "d3a822b5758f97f6a629b84dc0e5c362f042d8fc",
      "parents": [
        "353fb07e2043d2df12dddf4e2c39552d0ab9b026"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Sep 30 11:58:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 30 12:41:17 2005 -0700"
      },
      "message": "[PATCH] x86: hw_irq.h warning fix\n\ninclude/asm/hw_irq.h:70: warning: `struct hw_interrupt_type\u0027 declared inside parameter list\ninclude/asm/hw_irq.h:70: warning: its scope is only this definition or declaration, which is probably not what you want\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c51179fb0c77ad91df5825f8f7eb670da97e137e",
      "tree": "e1f4b8abef1caf0be32a6d777074fd84a80ef165",
      "parents": [
        "f62378fcfc9c13a57b0b69dbd43336a4df8155a5"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Sep 21 18:37:14 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 21 16:16:29 2005 -0700"
      },
      "message": "[PATCH] uml: adapt asm/futex.h to our arch\n\nFollow up to 4732efbeb997189d9f9b04708dc26bf8613ed721 - uml must just reuse\nas-is the backing architecture support. There is a micro-fixup is needed for the\nincluded file, which won\u0027t affect i386 behaviour at all.\n\nI\u0027ve not tested compilation on x86_64, only on x86, but the code is almost the\nsame except the culprit test, so everything should be ok on x86_64 too.\n\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33bf56106d9be272696b73d9179da4e56b277472",
      "tree": "905fe909edf96831a988de8fd35d22ee96ab4db0",
      "parents": [
        "82006d084109bb4118f1de0dc5855abe5ccae430"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Sep 13 01:25:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 08:22:33 2005 -0700"
      },
      "message": "[PATCH] feature removal of io_remap_page_range()\n\nAs written in Documentation/feature-removal-schedule.txt, remove the\nio_remap_page_range() kernel API.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66759a01adbfe8828dd063e32cf5ed3f46696181",
      "tree": "9d34afafa1e4e5371a0e732a3f949ef8ac533ab5",
      "parents": [
        "049cdefe19f95b67b06b70915cd8e4ae7173337a"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Mon Sep 12 18:49:25 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 12 10:50:58 2005 -0700"
      },
      "message": "[PATCH] x86-64: i386/x86-64: Fix time going twice as fast problem on ATI Xpress chipsets\n\nOriginal patch from Bertro Simul\n\nThis is probably still not quite correct, but seems to be\nthe best solution so far.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e44f12ba64a58f25f8e6f35aa4c175f613001be",
      "tree": "d5fc4176f19d75389e652812a9becec4e551d171",
      "parents": [
        "e92343cc8e9ca4bc0db4b007dd37d33a207ef637"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Sep 12 18:49:24 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 12 10:50:55 2005 -0700"
      },
      "message": "[PATCH] i386: add memory clobbers to syscall macros\n\nAs noted by matz@suse.de\n\nThe problem is, that on i386 the syscallN\nmacro is defined like so:\n\n  long __res; \\\n  __asm__ volatile (\"int $0x80\" \\\n        : \"\u003da\" (__res) \\\n        : \"0\" (__NR_##name),\"b\" ((long)(arg1)),\"c\" ((long)(arg2)), \\\n          \"d\" ((long)(arg3)),\"S\" ((long)(arg4)),\"D\" ((long)(arg5))); \\\n\nIf one of the arguments (in the _llseek syscall it\u0027s the arg4) is a pointer\nwhich the syscall is expected to write to (to the memory pointed to by this\nptr), then this side-effect is not captured in the asm.\n\nIf anyone uses this macro to define it\u0027s own version of the syscall\n(sometimes necessary when not using glibc) and it\u0027s inlined, then GCC\ndoesn\u0027t know that this asm write to \"*dest\", when called like so for instance:\n\n  out \u003d 1;\n  llseek (fd, bla, blubb, \u0026out, trara)\n  use (out);\n\nHere nobody tells GCC that \"out\" actually is written to (just a pointer to it\nis passed to the asm).  Hence GCC might (and in the above bug did)\ncopy-propagate \"1\" into the second use of \"out\".\n\nThe easiest solution would be to add a \"memory\" clobber to the definition\nof this syscall macro.  As this is a syscall, it shouldn\u0027t inhibit too many\noptimizations.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69e1a33f62eff9b228a8cc2c3e4429dbee8966c9",
      "tree": "985f088d05f2d936cfafa5dd0232aa59391dc663",
      "parents": [
        "413588c7cb8113c03d0044f1d41b832ad7201c29"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Sep 12 18:49:24 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 12 10:49:57 2005 -0700"
      },
      "message": "[PATCH] x86-64: Use ACPI PXM to parse PCI\u003c-\u003enode assignments\n\nSince this is shared code I had to implement it for i386 too\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e2afe67453e5b1499459ee3596b1e7924a5208f5",
      "tree": "a5de215c0df3ecff145d829cfe350b96eb643720",
      "parents": [
        "ea0e0a4f53a75ed9d0812352c0410f6fc2a0b62a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Sep 10 00:27:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:34 2005 -0700"
      },
      "message": "[PATCH] include/asm-i386/: \"extern inline\" -\u003e \"static inline\"\n\n\"extern inline\" doesn\u0027t make much sense.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb1c8f93d869b34cacb8b8932e2b83d96a19d720",
      "tree": "a006d078aa02e421a7dc4793c335308204859d36",
      "parents": [
        "4327edf6b8a7ac7dce144313947995538842d8fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:21 2005 -0700"
      },
      "message": "[PATCH] spinlock consolidation\n\nThis patch (written by me and also containing many suggestions of Arjan van\nde Ven) does a major cleanup of the spinlock code.  It does the following\nthings:\n\n - consolidates and enhances the spinlock/rwlock debugging code\n\n - simplifies the asm/spinlock.h files\n\n - encapsulates the raw spinlock type and moves generic spinlock\n   features (such as -\u003ebreak_lock) into the generic code.\n\n - cleans up the spinlock code hierarchy to get rid of the spaghetti.\n\nMost notably there\u0027s now only a single variant of the debugging code,\nlocated in lib/spinlock_debug.c.  (previously we had one SMP debugging\nvariant per architecture, plus a separate generic one for UP builds)\n\nAlso, i\u0027ve enhanced the rwlock debugging facility, it will now track\nwrite-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.\nAll locks have lockup detection now, which will work for both soft and hard\nspin/rwlock lockups.\n\nThe arch-level include files now only contain the minimally necessary\nsubset of the spinlock code - all the rest that can be generalized now\nlives in the generic headers:\n\n include/asm-i386/spinlock_types.h       |   16\n include/asm-x86_64/spinlock_types.h     |   16\n\nI have also split up the various spinlock variants into separate files,\nmaking it easier to see which does what. The new layout is:\n\n   SMP                         |  UP\n   ----------------------------|-----------------------------------\n   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h\n   linux/spinlock_types.h      |  linux/spinlock_types.h\n   asm/spinlock_smp.h          |  linux/spinlock_up.h\n   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h\n   linux/spinlock.h            |  linux/spinlock.h\n\n/*\n * here\u0027s the role of the various spinlock/rwlock related include files:\n *\n * on SMP builds:\n *\n *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the\n *                        initializers\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel\n *                        implementations, mostly inline assembly code\n *\n *   (also included on UP-debug builds:)\n *\n *  linux/spinlock_api_smp.h:\n *                        contains the prototypes for the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n *\n * on UP builds:\n *\n *  linux/spinlock_type_up.h:\n *                        contains the generic, simplified UP spinlock type.\n *                        (which is an empty structure on non-debug builds)\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  linux/spinlock_up.h:\n *                        contains the __raw_spin_*()/etc. version of UP\n *                        builds. (which are NOPs on non-debug, non-preempt\n *                        builds)\n *\n *   (included on UP-non-debug builds:)\n *\n *  linux/spinlock_api_up.h:\n *                        builds the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n */\n\nAll SMP and UP architectures are converted by this patch.\n\narm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via\ncrosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should\nbe mostly fine.\n\nFrom: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\n\n  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).\n  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build\n  non-SMP kernels.  That should be trivial to fix up later if necessary.\n\n  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids\n  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks\n  are well tested and contained entirely inside arch specific code.  I do NOT\n  expect any new issues to arise with them.\n\n If someone does ever need to use debug/metrics with them, then they will\n  need to unravel this hairball between spinlocks, atomic ops, and bit ops\n  that exist only because parisc has exactly one atomic instruction: LDCW\n  (load and clear word).\n\nFrom: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\n\n   ia64 fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Mikael Pettersson \u003cmikpe@csd.uu.se\u003e\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "486a153f0e294f7cc735838edcb6b32e623cbe52",
      "tree": "f16a31eb3526968dd08aa93c12cbb211f31f2084",
      "parents": [
        "9c8550ee25e26d14a8f0fe1b761a676e23fe3cf0",
        "f64a227b6b5cc1f8cc7f6ef9cc3351343636bac9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 15:46:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 15:46:49 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild \n"
    },
    {
      "commit": "59f4e7d572980a521b7bdba74ab71b21f5995538",
      "tree": "65004b9875c8fa830de2879229ecf871de5525f4",
      "parents": [
        "6e8dcee3e63f5a2cba4affff4bbb6e228f4b258a"
      ],
      "author": {
        "name": "Truxton Fulton",
        "email": "trux@truxton.com",
        "time": "Fri Sep 09 13:02:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:35 2005 -0700"
      },
      "message": "[PATCH] fix reboot via keyboard controller reset\n\nI have a system (Biostar IDEQ210M mini-pc with a VIA chipset) which will\nnot reboot unless a keyboard is plugged in to it.  I have tried all\ncombinations of the kernel \"reboot\u003dx,y\" flags to no avail.  Rebooting by\nany method will leave the system in a wedged state (at the \"Restarting\nsystem\" message).\n\nI finally tracked the problem down to the machine\u0027s refusal to fully reboot\nunless the keyboard controller status register had bit 2 set.  This is the\n\"System flag\" which when set, indicates successful completion of the\nkeyboard controller self-test (Basic Assurance Test, BAT).\n\nI suppose that something is trying to protect against sporadic reboots\nunless the keyboard controller is in a good state (a keyboard is present),\nbut I need this machine to be headless.\n\nI found that setting the system flag (via the command byte) before giving\nthe \"pulse reset line\" command will allow the reboot to proceed.  The patch\nis simple, and I think it should be fine for everybody whether they have\nthis type of machine or not.  This affects the \"hard\" reboot (as done when\nthe kernel boot flags \"reboot\u003dc,h\" are used).\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abda24528ac3045511fb59291a2d6ccbddf30eda",
      "tree": "ea92749d6601f57ae5836307c9c2b58a4d88ff5e",
      "parents": [
        "4b5d37ac02954572e80e09255bb5737277aaee8e"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus@valinux.co.jp",
        "time": "Fri Sep 09 13:01:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:56:44 2005 -0700"
      },
      "message": "[PATCH] i386: CONFIG_ACPI_SRAT typo fix\n\nFix a typo involving CONFIG_ACPI_SRAT.\n\nSigned-off-by: Magnus Damm \u003cmagnus@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86feeaa8120bb1b0ab21efed49e9754039395ef1",
      "tree": "548ab411f20c74b6aebb839e01b6bc938ffa41f6",
      "parents": [
        "8920e8f94c44e31a73bdf923b04721e26e88cadd"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.(none)",
        "time": "Fri Sep 09 19:28:28 2005 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.(none)",
        "time": "Fri Sep 09 19:28:28 2005 +0200"
      },
      "message": "kbuild: full dependency check on asm-offsets.h\n\nBuilding asm-offsets.h has been moved to a seperate Kbuild file\nlocated in the top-level directory. This allow us to share the\nfunctionality across the architectures.\n\nThe old rules in architecture specific Makefiles will die\nin subsequent patches.\n\nFurhtermore the usual kbuild dependency tracking is now used\nwhen deciding to rebuild asm-offsets.s. So we no longer risk\nto fail a rebuild caused by asm-offsets.c dependencies being touched.\n\nWith this common rule-set we now force the same name across\nall architectures. Following patches will fix the rest.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "64e47488c913ac704d465a6af86a26786d1412a5",
      "tree": "d3b0148592963dcde26e4bb35ddfec8b1eaf8e23",
      "parents": [
        "4a35a46bf1cda4737c428380d1db5d15e2590d18",
        "caf39e87cc1182f7dae84eefc43ca14d54c78ef9"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Sep 08 01:45:47 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Sep 08 01:45:47 2005 -0400"
      },
      "message": "Merge linux-2.6 with linux-acpi-2.6\n"
    },
    {
      "commit": "8d286aa5eaf951bf53d4a0f64576d4b377c435ba",
      "tree": "c2304e6fc3af25b6a09f974fa09db753f6bd8cea",
      "parents": [
        "5ac353f9baf7169298ebb7de86b2d697b25bca44"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:18:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:38 2005 -0700"
      },
      "message": "[PATCH] Clean up struct flock64 definitions\n\nThis patch gathers all the struct flock64 definitions (and the operations),\nputs them under !CONFIG_64BIT and cleans up the arch files.\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": "5ac353f9baf7169298ebb7de86b2d697b25bca44",
      "tree": "2591e241e07c96d19db85d418ff6623ec394f984",
      "parents": [
        "1abf62afb6e9cdc1b2618b69067a186b94281587"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:18:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:38 2005 -0700"
      },
      "message": "[PATCH] Clean up struct flock definitions\n\nThis patch just gathers together all the struct flock definitions except\nxtensa into asm-generic/fcntl.h.\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": "1abf62afb6e9cdc1b2618b69067a186b94281587",
      "tree": "a3e3266a23d8d75bf6c302763327b60b7372a41c",
      "parents": [
        "e64ca97fd80a129e538ca42d0b12c379746b83db"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:17:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:38 2005 -0700"
      },
      "message": "[PATCH] Clean up the fcntl operations\n\nThis patch puts the most popular of each fcntl operation/flag into\nasm-generic/fcntl.h and cleans up the arch files.\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": "e64ca97fd80a129e538ca42d0b12c379746b83db",
      "tree": "196c445874941ffbcca785be713338f647b42d5b",
      "parents": [
        "2b2fa38e5f3f17a5e1ef3fe29a9869d93197ebfd"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:17:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:38 2005 -0700"
      },
      "message": "[PATCH] Clean up the open flags\n\nThis patch puts the most popular of each open flag into asm-generic/fcntl.h\nand cleans up the arch files.\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": "9317259ead88fe6c05120ae1e3ace99738e2c698",
      "tree": "b899748ca57a96d59003945f97ceae01b5fdc48c",
      "parents": [
        "5ba4d46dc44c5399bc4e7a39239de5a1690848a4"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Sep 06 15:17:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:37 2005 -0700"
      },
      "message": "[PATCH] Create asm-generic/fcntl.h\n\nThis set of patches creates asm-generic/fcntl.h and consolidates as much as\npossible from the asm-*/fcntl.h files into it.\n\nThis patch just gathers all the identical bits of the asm-*/fcntl.h files into\nasm-generic/fcntl.h.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Yoichi Yuasa \u003cyuasa@hh.iij4u.or.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97de50c0add1e8f3b4e764c66a13c07235fee631",
      "tree": "161be1faee50800677bd01e1ca907cd135ffe0a0",
      "parents": [
        "5e5d7a22292613e55da8e91d75bcc062fd861f41"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Sep 06 15:17:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:35 2005 -0700"
      },
      "message": "[PATCH] remove verify_area(): remove verify_area() from various uaccess.h headers\n\nRemove the deprecated (and unused) verify_area() from various uaccess.h\nheaders.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8d127418d78aaeeb1a417ef7453dc09c9118146",
      "tree": "6d227f4604b3f13566cd5e93d04773e1ee5e42da",
      "parents": [
        "96d0821cacd095e25a39dfff5232a45b63ed18dd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Sep 06 15:17:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:30 2005 -0700"
      },
      "message": "[PATCH] remove asm-*/hdreg.h\n\nunused and useless..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36d57ac4a818cb4aa3edbdf63ad2ebc31106f925",
      "tree": "445eda00ee5974a65e21152cd240fb604c6d112d",
      "parents": [
        "32605a18152b246df483fadc1c23854addde8755"
      ],
      "author": {
        "name": "H. J. Lu",
        "email": "hjl@lucon.org",
        "time": "Tue Sep 06 15:16:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:21 2005 -0700"
      },
      "message": "[PATCH] auxiliary vector cleanups\n\nThe size of auxiliary vector is fixed at 42 in linux/sched.h.  But it isn\u0027t\nvery obvious when looking at linux/elf.h.  This patch adds AT_VECTOR_SIZE\nso that we can change it if necessary when a new vector is added.\n\nBecause of include file ordering problems, doing this necessitated the\nextraction of the AT_* symbols into a standalone header file.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4732efbeb997189d9f9b04708dc26bf8613ed721",
      "tree": "885308bb2b521e52e13aaa8a67c78b2ab3c18cd8",
      "parents": [
        "5b039e681b8c5f30aac9cc04385cc94be45d0823"
      ],
      "author": {
        "name": "Jakub Jelinek",
        "email": "jakub@redhat.com",
        "time": "Tue Sep 06 15:16:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:17 2005 -0700"
      },
      "message": "[PATCH] FUTEX_WAKE_OP: pthread_cond_signal() speedup\n\nATM pthread_cond_signal is unnecessarily slow, because it wakes one waiter\n(which at least on UP usually means an immediate context switch to one of\nthe waiter threads).  This waiter wakes up and after a few instructions it\nattempts to acquire the cv internal lock, but that lock is still held by\nthe thread calling pthread_cond_signal.  So it goes to sleep and eventually\nthe signalling thread is scheduled in, unlocks the internal lock and wakes\nthe waiter again.\n\nNow, before 2003-09-21 NPTL was using FUTEX_REQUEUE in pthread_cond_signal\nto avoid this performance issue, but it was removed when locks were\nredesigned to the 3 state scheme (unlocked, locked uncontended, locked\ncontended).\n\nFollowing scenario shows why simply using FUTEX_REQUEUE in\npthread_cond_signal together with using lll_mutex_unlock_force in place of\nlll_mutex_unlock is not enough and probably why it has been disabled at\nthat time:\n\nThe number is value in cv-\u003e__data.__lock.\n        thr1            thr2            thr3\n0       pthread_cond_wait\n1       lll_mutex_lock (cv-\u003e__data.__lock)\n0       lll_mutex_unlock (cv-\u003e__data.__lock)\n0       lll_futex_wait (\u0026cv-\u003e__data.__futex, futexval)\n0                       pthread_cond_signal\n1                       lll_mutex_lock (cv-\u003e__data.__lock)\n1                                       pthread_cond_signal\n2                                       lll_mutex_lock (cv-\u003e__data.__lock)\n2                                         lll_futex_wait (\u0026cv-\u003e__data.__lock, 2)\n2                       lll_futex_requeue (\u0026cv-\u003e__data.__futex, 0, 1, \u0026cv-\u003e__data.__lock)\n                          # FUTEX_REQUEUE, not FUTEX_CMP_REQUEUE\n2                       lll_mutex_unlock_force (cv-\u003e__data.__lock)\n0                         cv-\u003e__data.__lock \u003d 0\n0                         lll_futex_wake (\u0026cv-\u003e__data.__lock, 1)\n1       lll_mutex_lock (cv-\u003e__data.__lock)\n0       lll_mutex_unlock (cv-\u003e__data.__lock)\n          # Here, lll_mutex_unlock doesn\u0027t know there are threads waiting\n          # on the internal cv\u0027s lock\n\nNow, I believe it is possible to use FUTEX_REQUEUE in pthread_cond_signal,\nbut it will cost us not one, but 2 extra syscalls and, what\u0027s worse, one of\nthese extra syscalls will be done for every single waiting loop in\npthread_cond_*wait.\n\nWe would need to use lll_mutex_unlock_force in pthread_cond_signal after\nrequeue and lll_mutex_cond_lock in pthread_cond_*wait after lll_futex_wait.\n\nAnother alternative is to do the unlocking pthread_cond_signal needs to do\n(the lock can\u0027t be unlocked before lll_futex_wake, as that is racy) in the\nkernel.\n\nI have implemented both variants, futex-requeue-glibc.patch is the first\none and futex-wake_op{,-glibc}.patch is the unlocking inside of the kernel.\n The kernel interface allows userland to specify how exactly an unlocking\noperation should look like (some atomic arithmetic operation with optional\nconstant argument and comparison of the previous futex value with another\nconstant).\n\nIt has been implemented just for ppc*, x86_64 and i?86, for other\narchitectures I\u0027m including just a stub header which can be used as a\nstarting point by maintainers to write support for their arches and ATM\nwill just return -ENOSYS for FUTEX_WAKE_OP.  The requeue patch has been\n(lightly) tested just on x86_64, the wake_op patch on ppc64 kernel running\n32-bit and 64-bit NPTL and x86_64 kernel running 32-bit and 64-bit NPTL.\n\nWith the following benchmark on UP x86-64 I get:\n\nfor i in nptl-orig nptl-requeue nptl-wake_op; do echo time elf/ld.so --library-path .:$i /tmp/bench; \\\nfor j in 1 2; do echo ( time elf/ld.so --library-path .:$i /tmp/bench ) 2\u003e\u00261; done; done\ntime elf/ld.so --library-path .:nptl-orig /tmp/bench\nreal 0m0.655s user 0m0.253s sys 0m0.403s\nreal 0m0.657s user 0m0.269s sys 0m0.388s\ntime elf/ld.so --library-path .:nptl-requeue /tmp/bench\nreal 0m0.496s user 0m0.225s sys 0m0.271s\nreal 0m0.531s user 0m0.242s sys 0m0.288s\ntime elf/ld.so --library-path .:nptl-wake_op /tmp/bench\nreal 0m0.380s user 0m0.176s sys 0m0.204s\nreal 0m0.382s user 0m0.175s sys 0m0.207s\n\nThe benchmark is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00001.txt\nOlder futex-requeue-glibc.patch version is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00002.txt\nOlder futex-wake_op-glibc.patch version is at:\nhttp://sourceware.org/ml/libc-alpha/2005-03/txt00003.txt\nWill post a new version (just x86-64 fixes so that the patch\napplies against pthread_cond_signal.S) to libc-hacker ml soon.\n\nAttached is the kernel FUTEX_WAKE_OP patch as well as a simple-minded\ntestcase that will not test the atomicity of the operation, but at least\ncheck if the threads that should have been woken up are woken up and\nwhether the arithmetic operation in the kernel gave the expected results.\n\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Jamie Lokier \u003cjamie@shareable.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Yoichi Yuasa \u003cyuasa@hh.iij4u.or.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed75e8d58010fdc06e2c3a81bfbebae92314c7e3",
      "tree": "3f6f8dc5a34c9e03f613d4b907e02802ab075a9e",
      "parents": [
        "94c80b2598dbd2b8a6fe5f5c2c3af1beb37f66c7"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "LaurentVivier@wanadoo.fr",
        "time": "Sat Sep 03 15:57:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:20 2005 -0700"
      },
      "message": "[PATCH] UML Support - Ptrace: adds the host SYSEMU support, for UML and general usage\n\n      Jeff Dike \u003cjdike@addtoit.com\u003e,\n      Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade_spam@yahoo.it\u003e,\n      Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\n\nAdds a new ptrace(2) mode, called PTRACE_SYSEMU, resembling PTRACE_SYSCALL\nexcept that the kernel does not execute the requested syscall; this is useful\nto improve performance for virtual environments, like UML, which want to run\nthe syscall on their own.\n\nIn fact, using PTRACE_SYSCALL means stopping child execution twice, on entry\nand on exit, and each time you also have two context switches; with SYSEMU you\navoid the 2nd stop and so save two context switches per syscall.\n\nAlso, some architectures don\u0027t have support in the host for changing the\nsyscall number via ptrace(), which is currently needed to skip syscall\nexecution (UML turns any syscall into getpid() to avoid it being executed on\nthe host).  Fixing that is hard, while SYSEMU is easier to implement.\n\n* This version of the patch includes some suggestions of Jeff Dike to avoid\n  adding any instructions to the syscall fast path, plus some other little\n  changes, by myself, to make it work even when the syscall is executed with\n  SYSENTER (but I\u0027m unsure about them). It has been widely tested for quite a\n  lot of time.\n\n* Various fixed were included to handle the various switches between\n  various states, i.e. when for instance a syscall entry is traced with one of\n  PT_SYSCALL / _SYSEMU / _SINGLESTEP and another one is used on exit.\n  Basically, this is done by remembering which one of them was used even after\n  the call to ptrace_notify().\n\n* We\u0027re combining TIF_SYSCALL_EMU with TIF_SYSCALL_TRACE or TIF_SINGLESTEP\n  to make do_syscall_trace() notice that the current syscall was started with\n  SYSEMU on entry, so that no notification ought to be done in the exit path;\n  this is a bit of a hack, so this problem is solved in another way in next\n  patches.\n\n* Also, the effects of the patch:\n\"Ptrace - i386: fix Syscall Audit interaction with singlestep\"\nare cancelled; they are restored back in the last patch of this series.\n\nDetailed descriptions of the patches doing this kind of processing follow (but\nI\u0027ve already summed everything up).\n\n* Fix behaviour when changing interception kind #1.\n\n  In do_syscall_trace(), we check the status of the TIF_SYSCALL_EMU flag\n  only after doing the debugger notification; but the debugger might have\n  changed the status of this flag because he continued execution with\n  PTRACE_SYSCALL, so this is wrong.  This patch fixes it by saving the flag\n  status before calling ptrace_notify().\n\n* Fix behaviour when changing interception kind #2:\n  avoid intercepting syscall on return when using SYSCALL again.\n\n  A guest process switching from using PTRACE_SYSEMU to PTRACE_SYSCALL\n  crashes.\n\n  The problem is in arch/i386/kernel/entry.S.  The current SYSEMU patch\n  inhibits the syscall-handler to be called, but does not prevent\n  do_syscall_trace() to be called after this for syscall completion\n  interception.\n\n  The appended patch fixes this.  It reuses the flag TIF_SYSCALL_EMU to\n  remember \"we come from PTRACE_SYSEMU and now are in PTRACE_SYSCALL\", since\n  the flag is unused in the depicted situation.\n\n* Fix behaviour when changing interception kind #3:\n  avoid intercepting syscall on return when using SINGLESTEP.\n\n  When testing 2.6.9 and the skas3.v6 patch, with my latest patch and had\n  problems with singlestepping on UML in SKAS with SYSEMU.  It looped\n  receiving SIGTRAPs without moving forward.  EIP of the traced process was\n  the same for all SIGTRAPs.\n\nWhat\u0027s missing is to handle switching from PTRACE_SYSCALL_EMU to\nPTRACE_SINGLESTEP in a way very similar to what is done for the change from\nPTRACE_SYSCALL_EMU to PTRACE_SYSCALL_TRACE.\n\nI.e., after calling ptrace(PTRACE_SYSEMU), on the return path, the debugger is\nnotified and then wake ups the process; the syscall is executed (or skipped,\nwhen do_syscall_trace() returns 0, i.e.  when using PTRACE_SYSEMU), and\ndo_syscall_trace() is called again.  Since we are on the return path of a\nSYSEMU\u0027d syscall, if the wake up is performed through ptrace(PTRACE_SYSCALL),\nwe must still avoid notifying the parent of the syscall exit.  Now, this\nbehaviour is extended even to resuming with PTRACE_SINGLESTEP.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3c433e4f33afe255389ba3b1a003dc8deb3de9a",
      "tree": "071304e15e21e0a93c17050000a682f4ae1a98c1",
      "parents": [
        "57c4ce3cbfba1bb0da7f37b9328a713cbd5d0919"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Sat Sep 03 15:57:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:18 2005 -0700"
      },
      "message": "[PATCH] add suspend/resume for timer\n\nThe timers lack .suspend/.resume methods.  Because of this, jiffies got a\nbig compensation after a S3 resume.  And then softlockup watchdog reports\nan oops.  This occured with HPET enabled, but it\u0027s also possible for other\ntimers.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ad8d38342430f8b52f7a8458dce90caf8c8ca64",
      "tree": "090c471fdb44d8fe88c52e95be0e8e43e31fcd5a",
      "parents": [
        "d7271b14b2e9e5905aba0fbf5c4dc4f8980c0cb2"
      ],
      "author": {
        "name": "Zwane Mwaikambo",
        "email": "zwane@arm.linux.org.uk",
        "time": "Sat Sep 03 15:56:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:13 2005 -0700"
      },
      "message": "[PATCH] i386 boottime for_each_cpu broken\n\nfor_each_cpu walks through all processors in cpu_possible_map, which is\ndefined as cpu_callout_map on i386 and isn\u0027t initialised until all\nprocessors have been booted. This breaks things which do for_each_cpu\niterations early during boot. So, define cpu_possible_map as a bitmap with\nNR_CPUS bits populated. This was triggered by a patch i\u0027m working on which\ndoes alloc_percpu before bringing up secondary processors.\n\nFrom: Alexander Nyberg \u003calexn@telia.com\u003e\n\ni386-boottime-for_each_cpu-broken.patch\ni386-boottime-for_each_cpu-broken-fix.patch\n\nThe SMP version of __alloc_percpu checks the cpu_possible_map before\nallocating memory for a certain cpu.  With the above patches the BSP cpuid\nis never set in cpu_possible_map which breaks CONFIG_SMP on uniprocessor\nmachines (as soon as someone tries to dereference something allocated via\n__alloc_percpu, which in fact is never allocated since the cpu is not set\nin cpu_possible_map).\n\nSigned-off-by: Zwane Mwaikambo \u003czwane@arm.linux.org.uk\u003e\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d7271b14b2e9e5905aba0fbf5c4dc4f8980c0cb2",
      "tree": "2e8bb68bb2501be464a4eda66c323978c2d9bb70",
      "parents": [
        "748f2edb52712aa3d926470a888608dc500d17e8"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:13 2005 -0700"
      },
      "message": "[PATCH] i386: encapsulate copying of pgd entries\n\nAdd a clone operation for pgd updates.\n\nThis helps complete the encapsulation of updates to page tables (or pages\nabout to become page tables) into accessor functions rather than using\nmemcpy() to duplicate them.  This is both generally good for consistency\nand also necessary for running in a hypervisor which requires explicit\nupdates to page table entries.\n\nThe new function is:\n\nclone_pgd_range(pgd_t *dst, pgd_t *src, int count);\n\n   dst - pointer to pgd range anwhere on a pgd page\n   src - \"\"\n   count - the number of pgds to copy.\n\n   dst and src can be on the same page, but the range must not overlap\n   and must not cross a page boundary.\n\nNote that I ommitted using this call to copy pgd entries into the\nsoftware suspend page root, since this is not technically a live paging\nstructure, rather it is used on resume from suspend.  CC\u0027ing Pavel in case\nhe has any feedback on this.\n\nThanks to Chris Wright for noticing that this could be more optimal in\nPAE compiles by eliminating the memset.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "748f2edb52712aa3d926470a888608dc500d17e8",
      "tree": "9fb37795934642e11bad0d747d1271df393a993d",
      "parents": [
        "f2f30ebca6c0c95e987cb9a1fd1495770a75432e"
      ],
      "author": {
        "name": "George Anzinger",
        "email": "george@mvista.com",
        "time": "Sat Sep 03 15:56:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:13 2005 -0700"
      },
      "message": "[PATCH] x86 NMI: better support for debuggers\n\nThis patch adds a notify to the die_nmi notify that the system is about to\nbe taken down.  If the notify is handled with a NOTIFY_STOP return, the\nsystem is given a new lease on life.\n\nWe also change the nmi watchdog to carry on if die_nmi returns.\n\nThis give debug code a chance to a) catch watchdog timeouts and b) possibly\nallow the system to continue, realizing that the time out may be due to\ndebugger activities such as single stepping which is usually done with\n\"other\" cpus held.\n\nSigned-off-by: George Anzinger\u003cgeorge@mvista.com\u003e\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nSigned-off-by: George Anzinger \u003cgeorge@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2f30ebca6c0c95e987cb9a1fd1495770a75432e",
      "tree": "ea7b1763aa0e0d36b52fa245449c79338fe735b3",
      "parents": [
        "e9f86e351fda5b3c40192fc3990453613f160779"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:13 2005 -0700"
      },
      "message": "[PATCH] x86: introduce a write acessor for updating the current LDT\n\nIntroduce a write acessor for updating the current LDT.  This is required\nfor hypervisors like Xen that do not allow LDT pages to be directly\nwritten.\n\nTesting - here\u0027s a fun little LDT test that can be trivially modified to\ntest limits as well.\n\n/*\n * Copyright (c) 2005, Zachary Amsden (zach@vmware.com)\n * This is licensed under the GPL.\n */\n\n#include \u003cstdio.h\u003e\n#include \u003csignal.h\u003e\n#include \u003casm/ldt.h\u003e\n#include \u003casm/segment.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/mman.h\u003e\n#define __KERNEL__\n#include \u003casm/page.h\u003e\n\nvoid main(void)\n{\n        struct user_desc desc;\n        char *code;\n        unsigned long long tsc;\n\n        code \u003d (char *)mmap(0, 8192, PROT_EXEC|PROT_READ|PROT_WRITE,\n                                 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n        desc.entry_number \u003d 0;\n        desc.base_addr \u003d code;\n        desc.limit \u003d 1;\n        desc.seg_32bit \u003d 1;\n        desc.contents \u003d MODIFY_LDT_CONTENTS_CODE;\n        desc.read_exec_only \u003d 0;\n        desc.limit_in_pages \u003d 1;\n        desc.seg_not_present \u003d 0;\n        desc.useable \u003d 1;\n        if (modify_ldt(1, \u0026desc, sizeof(desc)) !\u003d 0) {\n                perror(\"modify_ldt\");\n        }\n        printf(\"code base is 0x%08x\\n\", (unsigned)code);\n        code[0x0ffe] \u003d 0x0f;  /* rdtsc */\n        code[0x0fff] \u003d 0x31;\n        code[0x1000] \u003d 0xcb;  /* lret */\n        __asm__ __volatile(\"lcall $7,$0xffe\" : \"\u003dA\" (tsc));\n        printf(\"TSC is 0x%016llx\\n\", tsc);\n}\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a5201129307f414890f9a4410e38da205f5d7359",
      "tree": "ad70c5f1d3b336ef5665a7fd5ad8707aaec23847",
      "parents": [
        "0998e4228aca046fbd747c3fed909791d52e88eb"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:12 2005 -0700"
      },
      "message": "[PATCH] x86: make IOPL explicit\n\nThe pushf/popf in switch_to are ONLY used to switch IOPL.  Making this\nexplicit in C code is more clear.  This pushf/popf pair was added as a\nbugfix for leaking IOPL to unprivileged processes when using\nsysenter/sysexit based system calls (sysexit does not restore flags).\n\nWhen requesting an IOPL change in sys_iopl(), it is just as easy to change\nthe current flags and the flags in the stack image (in case an IRET is\nrequired), but there is no reason to force an IRET if we came in from the\nSYSENTER path.\n\nThis change is the minimal solution for supporting a paravirtualized Linux\nkernel that allows user processes to run with I/O privilege.  Other\nsolutions require radical rewrites of part of the low level fault / system\ncall handling code, or do not fully support sysenter based system calls.\n\nUnfortunately, this added one field to the thread_struct.  But as a bonus,\non P4, the fastest time measured for switch_to() went from 312 to 260\ncycles, a win of about 17% in the fast case through this performance\ncritical path.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0998e4228aca046fbd747c3fed909791d52e88eb",
      "tree": "314cb04a6223100bf468cc420985bfe7e3680d44",
      "parents": [
        "f2ab4461249df85b20930a7a57b54f39c5ae291a"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:12 2005 -0700"
      },
      "message": "[PATCH] x86: privilege cleanup\n\nPrivilege checking cleanup.  Originally, these diffs were much greater, but\nrecent cleanups in Linux have already done much of the cleanup.  I added\nsome explanatory comments in places where the reasoning behind certain\ntests is rather subtle.\n\nAlso, in traps.c, we can skip the user_mode check in handle_BUG().  The\nreason is, there are only two call chains - one via die_if_kernel() and one\nvia do_page_fault(), both entering from die().  Both of these paths already\nensure that a kernel mode failure has happened.  Also, the original check\nhere, if (user_mode(regs)) was insufficient anyways, since it would not\nrule out BUG faults from V8086 mode execution.\n\nSaving the %ss segment in show_regs() rather than assuming a fixed value\nalso gives better information about the current kernel state in the\nregister dump.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2ab4461249df85b20930a7a57b54f39c5ae291a",
      "tree": "17fbe46fdc6e95bf24faccb6001d89c989442f6f",
      "parents": [
        "4f0cb8d978ab4b6e3b40147f619f48316d9d7f63"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:12 2005 -0700"
      },
      "message": "[PATCH] x86: more asm cleanups\n\nSome more assembler cleanups I noticed along the way.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4f0cb8d978ab4b6e3b40147f619f48316d9d7f63",
      "tree": "61be59b09245235862d3f1d932a06b0a28ecbf59",
      "parents": [
        "c9b02a24130e3ff14a553d966a79f46cf806b037"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 03 15:56:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:12 2005 -0700"
      },
      "message": "[PATCH] i386: fix incorrect TSS entry for LDT\n\nNoticed by Chuck Ebbert: the .ldt entry of the TSS was set up incorrectly.\nIt never mattered since this was a leftover from old times, so remove it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9b02a24130e3ff14a553d966a79f46cf806b037",
      "tree": "1c496ef13e8d2d991f5197ec1c1eb34282beddf0",
      "parents": [
        "e7a2ff593c0e48b130434dee4d2fd3452a850e6f"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:12 2005 -0700"
      },
      "message": "[PATCH] i386: use set_pte macros in a couple places where they were missing\n\nAlso, setting PDPEs in PAE mode does not require atomic operations, since the\nPDPEs are cached by the processor, and only reloaded on an explicit or\nimplicit reload of CR3.\n\nSince the four PDPEs must always be present in an active root, and the kernel\nPDPE is never updated, we are safe even from SMIs and interrupts / NMIs using\ntask gates (which reload CR3).  Actually, much of this is moot, since the user\nPDPEs are never updated either, and the only usage of task gates is by the\ndoublefault handler.  It appears the only place PGDs get updated in PAE mode\nis in init_low_mappings() / zap_low_mapping() for initial page table creation\nand recovery from ACPI sleep state, and these sites are safe by inspection.\nGetting rid of the cmpxchg8b saves code space and 720 cycles in pgd_alloc on\nP4.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f2984eb4afb2a4298e3186cb49cc7e88dd6d929",
      "tree": "213dfa4726dd010b226fbfffac9da0fbe140b3fe",
      "parents": [
        "4d37e7e3fd851428dede4d05d3e69d03795a744a"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:11 2005 -0700"
      },
      "message": "[PATCH] i386: generate better code around descriptor update and access functions\n\nGCC can generate better code around descriptor update and access functions\nwhen there is not an explicit \"eax\" register constraint.\n\nTesting: You won\u0027t boot if this is messed up, since the TSS descriptor will be\ncorrupted.  Verified the assembler and booted.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d37e7e3fd851428dede4d05d3e69d03795a744a",
      "tree": "f830928a0baf81f462bc9176dacbaad2dac2bb65",
      "parents": [
        "245067d1674d451855692fcd4647daf9fd47f82d"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:11 2005 -0700"
      },
      "message": "[PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management\n\ni386 inline assembler cleanup.\n\nThis change encapsulates descriptor and task register management.  Also,\nit is possible to improve assembler generation in two cases; savesegment\nmay store the value in a register instead of a memory location, which\nallows GCC to optimize stack variables into registers, and MOV MEM, SEG\nis always a 16-bit write to memory, making the casting in math-emu\nunnecessary.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "245067d1674d451855692fcd4647daf9fd47f82d",
      "tree": "9e82ee9ce5c1899e0da06622716dffda02e94b15",
      "parents": [
        "4bb0d3ec3e5b1e9e2399cdc641b3b6521ac9cdaa"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:11 2005 -0700"
      },
      "message": "[PATCH] i386: cleanup serialize msr\n\ni386 arch cleanup.  Introduce the serialize macro to serialize processor\nstate.  Why the microcode update needs it I am not quite sure, since wrmsr()\nis already a serializing instruction, but it is a microcode update, so I will\nkeep the semantic the same, since this could be a timing workaround.  As far\nas I can tell, this has always been there since the original microcode update\nsource.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4bb0d3ec3e5b1e9e2399cdc641b3b6521ac9cdaa",
      "tree": "5e8d7646f5c6a2cec990b6d591f230d496b20664",
      "parents": [
        "2a0694d15d55d0deed928786a6393d5e45e37d76"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:56:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:11 2005 -0700"
      },
      "message": "[PATCH] i386: inline asm cleanup\n\ni386 Inline asm cleanup.  Use cr/dr accessor functions.\n\nAlso, a potential bugfix.  Also, some CR accessors really should be volatile.\nReads from CR0 (numeric state may change in an exception handler), writes to\nCR4 (flipping CR4.TSD) and reads from CR2 (page fault) prevent instruction\nre-ordering.  I did not add memory clobber to CR3 / CR4 / CR0 updates, as it\nwas not there to begin with, and in no case should kernel memory be clobbered,\nexcept when doing a TLB flush, which already has memory clobber.\n\nI noticed that page invalidation does not have a memory clobber.  I can\u0027t find\na bug as a result, but there is definitely a potential for a bug here:\n\n#define __flush_tlb_single(addr) \\\n\t__asm__ __volatile__(\"invlpg %0\": :\"m\" (*(char *) addr))\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "56f1d5d52a21b93bc2984c920b17e0d80df5d1b2",
      "tree": "c745389db3c5eda219dc6dadcb096377dc4be2cf",
      "parents": [
        "a1740913cae231fb8e485306fb09671ed9a6e550"
      ],
      "author": {
        "name": "Natalie.Protasevich@unisys.com",
        "email": "Natalie.Protasevich@unisys.com",
        "time": "Sat Sep 03 15:56:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:10 2005 -0700"
      },
      "message": "[PATCH] ES7000 platform update (i386)\n\nThis is subarch update for ES7000.  I\u0027ve modified platform check code and\nremoved unnecessary OEM table parsing for newer systems that don\u0027t use OEM\ninformation during boot.  Parsing the table in fact is causing problems,\nand the platform doesn\u0027t get recognized.  The patch only affects the ES7000\nsubach.\n\nSigned-off-by: \u003cNatalie.Protasevich@unisys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "911a62d42365076209e2c327e7688db296e35d62",
      "tree": "51e6d8525cd3547ea43129b5dd20339655674d57",
      "parents": [
        "484b90c4b965d54037ff99b198d84cdf144f8a35"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Sat Sep 03 15:56:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:10 2005 -0700"
      },
      "message": "[PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs\n\ni386 generic subarchitecture requires explicit dmi strings or command line\nto enable bigsmp mode.  The patch below removes that restriction, and uses\nbigsmp as soon as it finds more than 8 logical CPUs, Intel processors and\nxAPIC support.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ae65fd334232468a9d6b523a4fc141cd6ec5ea4",
      "tree": "cbc63abb55033d88f9a631741603a2a379bebee2",
      "parents": [
        "4116c527ea9517623369a5b3b037aedde280d672"
      ],
      "author": {
        "name": "Matt Tolentino",
        "email": "metolent@snoqualmie.dp.intel.com",
        "time": "Sat Sep 03 15:56:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:09 2005 -0700"
      },
      "message": "[PATCH] x86: fix EFI memory map parsing\n\nThe memory descriptors that comprise the EFI memory map are not fixed in\nstone such that the size could change in the future.  This uses the memory\ndescriptor size obtained from EFI to iterate over the memory map entries\nduring boot.  This enables the removal of an x86 specific pad (and ifdef)\nin the EFI header.  I also couldn\u0027t stomach the broken up nature of the\nfunction to put EFI runtime calls into virtual mode any longer so I fixed\nthat up a bit as well.\n\nFor reference, this patch only impacts x86.\n\nSigned-off-by: Matt Tolentino \u003cmatthew.e.tolentino@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a600388d28419305aad3c4c0af52c223cf6fa0af",
      "tree": "c70d3d80275f189c49311183472367f45d1a1ef2",
      "parents": [
        "fa5b08d5f818063d18433194f20359ef2ae50254"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat Sep 03 15:55:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:48 2005 -0700"
      },
      "message": "[PATCH] x86: ptep_clear optimization\n\nAdd a new accessor for PTEs, which passes the full hint from the mmu_gather\nstruct; this allows architectures with hardware pagetables to optimize away\natomic PTE operations when destroying an address space.  Removing the\nlocked operation should allow better pipelining of memory access in this\nloop.  I measured an average savings of 30-35 cycles per zap_pte_range on\nthe first 500 destructions on Pentium-M, but I believe the optimization\nwould win more on older processors which still assert the bus lock on xchg\nfor an exclusive cacheline.\n\nUpdate: I made some new measurements, and this saves exactly 26 cycles over\nptep_get_and_clear on Pentium M.  On P4, with a PAE kernel, this saves 180\ncycles per ptep_get_and_clear, for a whopping 92160 cycles savings for a\nfull address space destruction.\n\npte_clear_full is not yet used, but is provided for future optimizations\n(in particular, when running inside of a hypervisor that queues page table\nupdates, the full hint allows us to avoid queueing unnecessary page table\nupdate for an address space in the process of being destroyed.\n\nThis is not a huge win, but it does help a bit, and sets the stage for\nfurther hypervisor optimization of the mm layer on all architectures.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Christoph Lameter \u003cchristoph@lameter.com\u003e\nCc: \u003clinux-mm@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa5b08d5f818063d18433194f20359ef2ae50254",
      "tree": "f2b2bc88347a618f0c4b535d57d2a5271a5eb98e",
      "parents": [
        "0e5c9f39f64d8a55c5db37a5ea43e37d3422fd92"
      ],
      "author": {
        "name": "Kyle Moffett",
        "email": "mrmacman_g4@mac.com",
        "time": "Sat Sep 03 15:55:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:48 2005 -0700"
      },
      "message": "[PATCH] sab: consolidate kmem_bufctl_t\n\nThis is used only in slab.c and each architecture gets to define whcih\nunderlying type is to be used.\n\nSeems a bit silly - move it to slab.c and use the same type for all\narchitectures: unsigned int.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e5c9f39f64d8a55c5db37a5ea43e37d3422fd92",
      "tree": "2b7da9a3813f1ce475d276d55243b2675b90349b",
      "parents": [
        "02b0ccef903e85673ead74ddb7c431f2f7ce183d"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Sat Sep 03 15:55:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:46 2005 -0700"
      },
      "message": "[PATCH] remove hugetlb_clean_stale_pgtable() and fix huge_pte_alloc()\n\nI don\u0027t think we need to call hugetlb_clean_stale_pgtable() anymore\nin 2.6.13 because of the rework with free_pgtables().  It now collect\nall the pte page at the time of munmap.  It used to only collect page\ntable pages when entire one pgd can be freed and left with staled pte\npages.  Not anymore with 2.6.13.  This function will never be called\nand We should turn it into a BUG_ON.\n\nI also spotted two problems here, not Adam\u0027s fault :-)\n(1) in huge_pte_alloc(), it looks like a bug to me that pud is not\n    checked before calling pmd_alloc()\n(2) in hugetlb_clean_stale_pgtable(), it also missed a call to\n    pmd_free_tlb.  I think a tlb flush is required to flush the mapping\n    for the page table itself when we clear out the pmd pointing to a\n    pte page.  However, since hugetlb_clean_stale_pgtable() is never\n    called, so it won\u0027t trigger the bug.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "32e51a8c976fc72c3e9bcece9767d9908816bf8e",
      "tree": "480c62a4839b6c9553689da76f49fc208c6ac7f5",
      "parents": [
        "fd195c49fb17a21e232f50bddb2267150053cf34"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Sat Sep 03 15:54:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:46 2005 -0700"
      },
      "message": "[PATCH] hugetlb: add pte_huge() macro\n\nThis patch adds a macro pte_huge(pte) for i386/x86_64 which is needed by a\npatch later in the series.  Instead of repeating (_PAGE_PRESENT |\n_PAGE_PSE), I\u0027ve added __LARGE_PTE to i386 to match x86_64.\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: \u003clinux-mm@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b4ee40ebbbaf3f8c775b023d89ceedda1167d79",
      "tree": "e227c96cf51beaa942fefa64277618e5cfc71217",
      "parents": [
        "4944e76d81801b8e60ed3e7789443f210c16ed65"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Sep 03 15:54:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:45 2005 -0700"
      },
      "message": "[PATCH] mm: correct _PAGE_FILE comment\n\n_PAGE_FILE does not indicate whether a file is in page / swap cache, it is\nset just for non-linear PTE\u0027s.  Correct the comment for i386, x86_64, UML.\nAlso clearify _PAGE_NONE.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: 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": "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": "129521dcc94f781890f8f668219ab79f0073ff9f",
      "tree": "9f70707c88da65577f38814fe37b24c4b4957d64",
      "parents": [
        "824b558bbe2c298b165cdb54c33718994dda30bb",
        "f505380ba7b98ec97bf25300c2a58aeae903530b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Sep 03 02:44:09 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Sep 03 02:44:09 2005 -0400"
      },
      "message": "Merge linux-2.6 into linux-acpi-2.6 test\n"
    },
    {
      "commit": "2c656491e9ce77e12337073973794c4be467a489",
      "tree": "141e5506fdca8c0ba79f0f4cf13bbd0ba25d04e2",
      "parents": [
        "a6f9a70578b981321b63786ac8015f17cca4fcbd"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Aug 20 17:24:25 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:02:48 2005 -0700"
      },
      "message": "[NET]: Fix ipl\u003d\u003eihl typo in ip_fast_csum\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0573dea1fb32ebc72ffa05980fd840df1d80860",
      "tree": "ae10ad849dce6dbeec1b281fbd51214030f21902",
      "parents": [
        "f9e815b376dc19e6afc551cd755ac64e9e42d81f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 19:30:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:35 2005 -0700"
      },
      "message": "[NET]: Introduce SO_{SND,RCV}BUFFORCE socket options\n\nAllows overriding of sysctl_{wmem,rmrm}_max\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6153df7b2f4d27c8bde054db1b947369a6f64d83",
      "tree": "2e30598ad48d05d0ea956b6097e0943a178d6299",
      "parents": [
        "07fefe4ca93b3e45b2bea32871a4496067888852"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Aug 25 12:27:09 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Aug 25 12:40:44 2005 -0400"
      },
      "message": "[ACPI] delete CONFIG_ACPI_PCI\n\nDelete the ability to build an ACPI kernel that does\nnot include PCI support.  When such a machine is created\nand it requires a tuned kernel, send a patch.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d1364\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "888ba6c62bc61a995d283977eb3a6cbafd6f4ac6",
      "tree": "2a1614a7c63460e98f55ac5905f3a4be679138f1",
      "parents": [
        "84ffa747520edd4556b136bdfc9df9eb1673ce12"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 24 12:07:20 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 24 12:08:54 2005 -0400"
      },
      "message": "[ACPI] delete CONFIG_ACPI_BOOT\n\nit has been a synonym for CONFIG_ACPI since 2.6.12\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    }
  ],
  "next": "12aaa0855b39b5464db953fedf399fa91ee365ed"
}
