)]}'
{
  "log": [
    {
      "commit": "a989705c4cf6e6c1a339c95f9daf658b4ba88ca8",
      "tree": "d1925b831ec9fbae65db1b193dbad1869c43a9bc",
      "parents": [
        "2d56d3c43cc97ae48586745556f5a5b564d61582",
        "d29182534c5f39ff899763d1e0982d8f33791d6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:57 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] update memory attribute aliasing documentation \u0026 test cases\n  [IA64] fail mmaps that span areas with incompatible attributes\n  [IA64] allow WB /sys/.../legacy_mem mmaps\n  [IA64] make ioremap avoid unsupported attributes\n  [IA64] rename ioremap variables to match i386\n  [IA64] relax per-cpu TLB requirement to DTC\n  [IA64] remove per-cpu ia64_phys_stacked_size_p8\n  [IA64] Fix example error injection program\n  [IA64] Itanium MC Error Injection Tool: pal_mc_error_inject() interface\n  [IA64] Itanium MC Error Injection Tool: Makefile changes\n  [IA64] Itanium MC Error Injection Tool: Driver sysfs interface\n  [IA64] Itanium MC Error Injection Tool: Doc and sample application\n  [IA64] Itanium MC Error Injection Tool: Kernel configuration\n"
    },
    {
      "commit": "2d56d3c43cc97ae48586745556f5a5b564d61582",
      "tree": "28f2edc1e69b79e94d99023041dd0358861b6956",
      "parents": [
        "0f9008ef38d5a6305d94bbdd8f20d68fc75c63b6",
        "586759f03e2e9031ac5589912a51a909ed53c30a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:24 2007 -0700"
      },
      "message": "Merge branch \u0027server-cluster-locking-api\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027server-cluster-locking-api\u0027 of git://linux-nfs.org/~bfields/linux:\n  gfs2: nfs lock support for gfs2\n  lockd: add code to handle deferred lock requests\n  lockd: always preallocate block in nlmsvc_lock()\n  lockd: handle test_lock deferrals\n  lockd: pass cookie in nlmsvc_testlock\n  lockd: handle fl_grant callbacks\n  lockd: save lock state on deferral\n  locks: add fl_grant callback for asynchronous lock return\n  nfsd4: Convert NFSv4 to new lock interface\n  locks: add lock cancel command\n  locks: allow {vfs,posix}_lock_file to return conflicting lock\n  locks: factor out generic/filesystem switch from setlock code\n  locks: factor out generic/filesystem switch from test_lock\n  locks: give posix_test_lock same interface as -\u003elock\n  locks: make -\u003elock release private data before returning in GETLK case\n  locks: create posix-to-flock helper functions\n  locks: trivial removal of unnecessary parentheses\n"
    },
    {
      "commit": "5cefcab3db2b13093480f2a42bf081574dd72d3d",
      "tree": "c3755a241553436a1b84d65ad3c00f77ce6d02ad",
      "parents": [
        "5f757f91e70a97eda8f0cc13bddc853209b2d173",
        "37fde8ca6c60ea61f5e9d7cb877c25ac60e74167"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:26:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:26:27 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (34 commits)\n  [GFS2] Uncomment sprintf_symbol calling code\n  [DLM] lowcomms style\n  [GFS2] printk warning fixes\n  [GFS2] Patch to fix mmap of stuffed files\n  [GFS2] use lib/parser for parsing mount options\n  [DLM] Lowcomms nodeid range \u0026 initialisation fixes\n  [DLM] Fix dlm_lowcoms_stop hang\n  [DLM] fix mode munging\n  [GFS2] lockdump improvements\n  [GFS2] Patch to detect corrupt number of dir entries in leaf and/or inode blocks\n  [GFS2] bz 236008: Kernel gpf doing cat /debugfs/gfs2/xxx (lock dump)\n  [DLM] fs/dlm/ast.c should #include \"ast.h\"\n  [DLM] Consolidate transport protocols\n  [DLM] Remove redundant assignment\n  [GFS2] Fix bz 234168 (ignoring rgrp flags)\n  [DLM] change lkid format\n  [DLM] interface for purge (2/2)\n  [DLM] add orphan purging code (1/2)\n  [DLM] split create_message function\n  [GFS2] Set drop_count to 0 (off) by default\n  ...\n"
    },
    {
      "commit": "9fa0853a85a3a4067e4ad0aaa5d90984c2dd21b5",
      "tree": "ac90f6535bc053b3859dc050cbbd577a0a1ef95b",
      "parents": [
        "ef93127e4c7b4b8d46421045641048397eaac43d",
        "cf4328cd949c2086091c62c5685f1580fe9b55e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:23:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:23:31 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NET]: rfkill: add support for input key to control wireless radio\n  [NET] net/core: Fix error handling\n  [TG3]: Update version and reldate.\n  [TG3]: Eliminate spurious interrupts.\n  [TG3]: Add ASPM workaround.\n  [Bluetooth] Correct SCO buffer for another Broadcom based dongle\n  [Bluetooth] Add support for Targus ACB10US USB dongle\n  [Bluetooth] Disconnect L2CAP connection after last RFCOMM DLC\n  [Bluetooth] Check that device is in rfcomm_dev_list before deleting\n  [Bluetooth] Use in-kernel sockets API\n  [Bluetooth] Attach host adapters to the Bluetooth bus\n  [Bluetooth] Fix L2CAP and HCI setsockopt() information leaks\n"
    },
    {
      "commit": "ef93127e4c7b4b8d46421045641048397eaac43d",
      "tree": "fbddc8f52e10d8d6eb45e08e02fecbc2ba023eea",
      "parents": [
        "972d45fb43f0f0793fa275c4a22998106760cd61",
        "90a660a4546d6ba5ca5f3a23d5cc599db2b41e08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:22:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:22:48 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SERIAL] sunsu: Fix section mismatch warnings.\n  [SPARC64]: pgtable_cache_init() should be __init.\n  [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/prom.c\n  [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/pci.c\n  [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/console.c\n  [MM]: sparse_init() should be __init.\n  [SPARC64]: Update defconfig.\n  [VIDEO]: Add Sun XVR-2500 framebuffer driver.\n  [VIDEO]: Add Sun XVR-500 framebuffer driver.\n  [SPARC64]: SUN4U PCI-E controller support.\n  [SPARC]: Fix comment typo in smp4m_blackbox_current().\n  [SCSI] SUNESP: sun_esp.c needs linux/delay.h\n\nFix up conflict in arch/sparc64/mm/init.c manually due to removal of\npgtable_cache_init() through the -mm patches (even though that patch was\nalso by David ;)\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "972d45fb43f0f0793fa275c4a22998106760cd61",
      "tree": "f80ac6698044b179bf3fb9d686bd33083033ccb5",
      "parents": [
        "5b6b54982258c330247957a8d877b9851ac69d53",
        "8d1cc86a6278687efbab7b8c294ab01efe4d4231"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:18:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:18:21 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:\n  IPoIB: Convert to NAPI\n  IB: Return \"maybe missed event\" hint from ib_req_notify_cq()\n  IB: Add CQ comp_vector support\n  IB/ipath: Fix a race condition when generating ACKs\n  IB/ipath: Fix two more spin lock problems\n  IB/fmr_pool: Add prefix to all printks\n  IB/srp: Set proc_name\n  IB/srp: Add orig_dgid sysfs attribute to scsi_host\n  IPoIB/cm: Don\u0027t crash if remote side uses one QP for both directions\n  RDMA/cxgb3: Support for new abort logic\n  RDMA/cxgb3: Initialize cpu_idx field in cpl_close_listserv_req message\n  RDMA/cxgb3: Fail qp creation if the requested max_inline is too large\n  RDMA/cxgb3: Fix TERM codes\n  IPoIB/cm: Fix error handling in ipoib_cm_dev_open()\n  IB/ipath: Don\u0027t corrupt pending mmap list when unmapped objects are freed\n  IB/mthca: Work around kernel QP starvation\n  IB/ipath: Don\u0027t put QP in timeout queue if waiting to send\n  IB/ipath: Don\u0027t call spin_lock_irq() from interrupt context\n"
    },
    {
      "commit": "5b6b54982258c330247957a8d877b9851ac69d53",
      "tree": "567e4b3391e0c6689cf511789fb512ef7385c16f",
      "parents": [
        "35c74823cb382c610be908f1b92f980b84e7c37c",
        "39374aadcd0159b4744ab456f4efa100bea84bd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:17:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:17:40 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (38 commits)\n  sh: R7785RP board updates.\n  sh: Update r7780rp defconfig.\n  sh: Add die chain notifiers.\n  sh: Fix APM emulation on hp6xx.\n  sh: Wire up more IRQs for SH7709.\n  sh: Solution Engine 7722 board support.\n  sh: Fix r7780rp build.\n  sh: kdump support.\n  sh: Move clock reporting to its own proc entry.\n  sh: Solution Engine SH7705 board and CPU updates.\n  serial: sh-sci: Fix module clock refcount for serial console.\n  serial: sh-sci: Fix module clock refcounting.\n  sh: SH7722 clock framework support.\n  sh: hp6xx pata_platform support.\n  sh: Obey CONFIG_HZ for HZ definition.\n  sh: Fix fstatat64() syscall.\n  sh: se7780 PCI support.\n  sh: SH7780 Solution Engine board support.\n  sh: Add a dummy SH-4 PCIC fixup.\n  sh: Tidy up L-BOX area5 addresses.\n  ...\n"
    },
    {
      "commit": "16dd07bc6404c8da0bdfeb7a5cde4e4a63991c00",
      "tree": "de8401aeebfe1bbdaecaff3b81d92196c50c85d7",
      "parents": [
        "3ec704e6660aa58505110a50102e57cdb9daa044"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:04 2007 -0700"
      },
      "message": "uml: more page fault path trimming\n\nMore trimming of the page fault path.\n\nPermissions are passed around in a single int rather than one bit per\nint.  The permission values are copied from libc so that they can be\npassed to mmap and mprotect without any further conversion.\n\nThe register sets used by do_syscall_stub and copy_context_skas0 are\ninitialized once, at boot time, rather than once per call.\n\nwait_stub_done checks whether it is getting the signals it expects by\ncomparing the wait status to a mask containing bits for the signals of\ninterest rather than comparing individually to the signal numbers.  It\nalso has one check for a wait failure instead of two.  The caller is\nexpected to do the initial continue of the stub.  This gets rid of an\nargument and some logic.  The fname argument is gone, as that can be\nhad from a stack trace.\n\nuser_signal() is collapsed into userspace() as it is basically one or\ntwo lines of code afterwards.\n\nThe physical memory remapping stuff is gone, as it is unused.\n\nflush_tlb_page is inlined.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e024715f5f6250179a31716a898800a48cf23b39",
      "tree": "2cba9702be41ff8263d1fb50825f6f17c9f40171",
      "parents": [
        "85ee2ce8ae7d6716beffc84451dd65cd217dbf7a"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun May 06 14:51:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:02 2007 -0700"
      },
      "message": "uml: improve checking and diagnostics of ethernet MACs\n\nImprove checking and diagnostics for broadcast and multicast Ethernet MAC\naddresses, and distinguish between those cases in output; also make sure the\ndevice is assigned a MAC address valid only locally to avoid collisions.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5e631cf65f4d6875efcd571275436f2964a8b48",
      "tree": "1aee9d61560ee369b4a2f077a79e37ab868a4b2d",
      "parents": [
        "f34d9d2dcb7f17b64124841345b23adc0843e7a5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun May 06 14:51:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "ARRAY_SIZE: check for type\n\nWe can use a gcc extension to ensure that ARRAY_SIZE() is handed an array,\nnot a pointer.  This is especially important when code is changed from a\nfixed array to a pointer.  I assume the Intel compiler doesn\u0027t support\n__builtin_types_compatible_p.\n\n[jdike@addtoit.com: uml: update UML definition of ARRAY_SIZE]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56f99bcb52d64d70078b41cc176dd8b6f5763108",
      "tree": "4383e31e46975ae1c1f6c7833bed0766f762f6d5",
      "parents": [
        "9b95e43763cfdfebc1318d27e55712e7b6bfe098"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 06 14:50:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "swsusp: free more memory\n\nMove the definition of PAGES_FOR_IO to kernel/power/power.h and introduce\nSPARE_PAGES representing the number of pages that should be freed by the\nswsusp\u0027s memory shrinker in addition to PAGES_FOR_IO so that device drivers\ncan allocate some memory (up to 1 MB total) in their .suspend() routines\nwithout causing the suspend to fail.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab3bfca7abf3fd0fe41d26d839610a787aa7e587",
      "tree": "e62e58beaf9d22d4156b27d4523c3728bf5769bc",
      "parents": [
        "b1296cc48b39355241470ef934a5e2270e3f23bd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun May 06 14:50:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "remove software_suspend()\n\nRemove software_suspend() and all its users since\npm_suspend(PM_SUSPEND_DISK) should be equivalent and there\u0027s no point in\nhaving two interfaces for the same thing.\n\nThe patch also changes the valid_state function to return 0 (false) for\nPM_SUSPEND_DISK when SOFTWARE_SUSPEND is not configured instead of\naccepting it and having the whole thing fail later.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04293355ac9dbe81bd01b89ca2adb58be34c2c60",
      "tree": "fa5d893fee14e27056cac71dd3e3fed9fe2167a9",
      "parents": [
        "74dfd666de861c97d47bdbd892f6d21b801d0247"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 06 14:50:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "mm: remove unused page flags\n\nRemove the two page flags that were previously used by swsusp and are no\nlonger needed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74dfd666de861c97d47bdbd892f6d21b801d0247",
      "tree": "7200946212cf546f4e5fac31db3dc97dbb144300",
      "parents": [
        "7be9823491ecbaf9700d7d3502cb4b4dd0ed868a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 06 14:50:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:59 2007 -0700"
      },
      "message": "swsusp: do not use page flags\n\nMake swsusp use memory bitmaps instead of page flags for marking \u0027nosave\u0027 and\nfree pages.  This allows us to \u0027recycle\u0027 two page flags that can be used for\nother purposes.  Also, the memory needed to store the bitmaps is allocated\nwhen necessary (ie.  before the suspend) and freed after the resume which is\nmore reasonable.\n\nThe patch is designed to minimize the amount of changes and there are some\nnice simplifications and optimizations possible on top of it.  I am going to\nimplement them separately in the future.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7be9823491ecbaf9700d7d3502cb4b4dd0ed868a",
      "tree": "10f606c59837d851376823dae5d8faf50a51bde8",
      "parents": [
        "433ecb4ab312f873870b67ee374502e84f6dcf92"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 06 14:50:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:58 2007 -0700"
      },
      "message": "swsusp: use inline functions for changing page flags\n\nReplace direct invocations of SetPageNosave(), SetPageNosaveFree() etc.  with\ncalls to inline functions that can be changed in subsequent patches without\nmodifying the code calling them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed58a593dcf6bb9853f711e56f8618f84b7b8cb2",
      "tree": "d05b03882c94f009dc388102082e1842f7a08d35",
      "parents": [
        "eb2bce7f5e7ac1ca6da434461217fadf3c688d2c"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sun May 06 14:50:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:58 2007 -0700"
      },
      "message": "ALPHA: \"prctl\" macros\n\nFiles:\n\ninclude/asm-alpha/thread_info.h\n\n\tProvide \"prctl\" macros for ALPHA.\n\nSigned-off-by: Jay Estabrook \u003cjay.estabrook@hp.com\u003e\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c728d60455e8e8722ee08312a75f38dd7a866b5e",
      "tree": "c848cbddc7557fa1cf00993245e562007465dadb",
      "parents": [
        "aeecf3142d82414d511135cc85f86caddfb58338"
      ],
      "author": {
        "name": "Yoshinori Sato",
        "email": "ysato@users.sourceforge.jp",
        "time": "Sun May 06 14:50:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:58 2007 -0700"
      },
      "message": "h8300 generic irq\n\nh8300 using generic irq handler patch.\n\nSigned-off-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "194de5612777a9ff4f96dae1932f77a5a89e5f0a",
      "tree": "2def94b88b7ce3348ecd216032490754cc7a31a0",
      "parents": [
        "1394f03221790a988afc3e4b3cb79f2e477246a9"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun May 06 14:50:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:58 2007 -0700"
      },
      "message": "blackfin: serial driver\n\nThis patch implements the driver necessary use the Analog Devices Blackfin\nprocessor\u0027s Serial Port.\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Russell King \u003crmk+lkml@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1394f03221790a988afc3e4b3cb79f2e477246a9",
      "tree": "2c1963c9a4f2d84a5e021307fde240c5d567cf70",
      "parents": [
        "73243284463a761e04d69d22c7516b2be7de096c"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun May 06 14:50:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:58 2007 -0700"
      },
      "message": "blackfin architecture\n\nThis adds support for the Analog Devices Blackfin processor architecture, and\ncurrently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561\n(Dual Core) devices, with a variety of development platforms including those\navaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP,\nBF561-EZKIT), and Bluetechnix!  Tinyboards.\n\nThe Blackfin architecture was jointly developed by Intel and Analog Devices\nInc.  (ADI) as the Micro Signal Architecture (MSA) core and introduced it in\nDecember of 2000.  Since then ADI has put this core into its Blackfin\nprocessor family of devices.  The Blackfin core has the advantages of a clean,\northogonal,RISC-like microprocessor instruction set.  It combines a dual-MAC\n(Multiply/Accumulate), state-of-the-art signal processing engine and\nsingle-instruction, multiple-data (SIMD) multimedia capabilities into a single\ninstruction-set architecture.\n\nThe Blackfin architecture, including the instruction set, is described by the\nADSP-BF53x/BF56x Blackfin Processor Programming Reference\nhttp://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdf\n\nThe Blackfin processor is already supported by major releases of gcc, and\nthere are binary and source rpms/tarballs for many architectures at:\nhttp://blackfin.uclinux.org/gf/project/toolchain/frs There is complete\ndocumentation, including \"getting started\" guides available at:\nhttp://docs.blackfin.uclinux.org/ which provides links to the sources and\npatches you will need in order to set up a cross-compiling environment for\nbfin-linux-uclibc\n\nThis patch, as well as the other patches (toolchain, distribution,\nuClibc) are actively supported by Analog Devices Inc, at:\nhttp://blackfin.uclinux.org/\n\nWe have tested this on LTP, and our test plan (including pass/fails) can\nbe found at:\nhttp://docs.blackfin.uclinux.org/doku.php?id\u003dtesting_the_linux_kernel\n\n[m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files]\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Aubrey Li \u003caubrey.li@analog.com\u003e\nSigned-off-by: Jie Zhang \u003cjie.zhang@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "906e0be197232c219197d058ef5095baa7764cd4",
      "tree": "0b2401f5448ddb1b856da8c080e71e0080183c41",
      "parents": [
        "4ab688c51226188f2d4ad4f789032c107944ef89"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "page migration: Only migrate pages if allocation in the highest zone is possible\n\nAddress spaces contain an allocation flag that specifies restriction on the\nzone for pages placed in the mapping.  I.e.  some device may require pages\nto be allocated from a DMA zone.  Block devices may not be able to use\npages from HIGHMEM.\n\nMemory policies and the common use of page migration works only on the\nhighest zone.  If the address space does not allow allocation from the\nhighest zone then the pages in the address space are not migratable simply\nbecause we can only allocate memory for a specified node if we allow\nallocation for the highest zone on each node.\n\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfce66047f1893cb7d3abb0d53e65cbbd8d605f0",
      "tree": "b6e533a6b3deee686c42abf6c9117154548c0aaf",
      "parents": [
        "4f104934591ed98534b3a4c3d17d972b790e9c42"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "Slab allocators: remove useless __GFP_NO_GROW flag\n\nThere is no user remaining and I have never seen any use of that flag.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f104934591ed98534b3a4c3d17d972b790e9c42",
      "tree": "149d7ba5ab6b9b7f8a82eb3ce41cb36f28bccaf9",
      "parents": [
        "50953fe9e00ebbeffa032a565ab2f08312d51a87"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_CTOR_ATOMIC\n\nSLAB_CTOR atomic is never used which is no surprise since I cannot imagine\nthat one would want to do something serious in a constructor or destructor.\n In particular given that the slab allocators run with interrupts disabled.\n Actions in constructors and destructors are by their nature very limited\nand usually do not go beyond initializing variables and list operations.\n\n(The i386 pgd ctor and dtors do take a spinlock in constructor and\ndestructor.....  I think that is the furthest we go at this point.)\n\nThere is no flag passed to the destructor so removing SLAB_CTOR_ATOMIC also\nestablishes a certain symmetry.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a31bd5f2bbb6473ef9d24f0063ca91cfa678b64",
      "tree": "a945e829bf6bf7a93bf844b2ee9f2a3a2fa17c5d",
      "parents": [
        "5af60839909b8e3b28ca7cd7912fa0b23475617f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "KMEM_CACHE(): simplify slab cache creation\n\nThis patch provides a new macro\n\nKMEM_CACHE(\u003cstruct\u003e, \u003cflags\u003e)\n\nto simplify slab creation. KMEM_CACHE creates a slab with the name of the\nstruct, with the size of the struct and with the alignment of the struct.\nAdditional slab flags may be specified if necessary.\n\nExample\n\nstruct test_slab {\n\tint a,b,c;\n\tstruct list_head;\n} __cacheline_aligned_in_smp;\n\ntest_slab_cache \u003d KMEM_CACHE(test_slab, SLAB_PANIC)\n\nwill create a new slab named \"test_slab\" of the size sizeof(struct\ntest_slab) and aligned to the alignment of test slab.  If it fails then we\npanic.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af60839909b8e3b28ca7cd7912fa0b23475617f",
      "tree": "774b068673ad7bb6fc67d29339c9a07bf12a7789",
      "parents": [
        "96018fdacbfcaf6a0694d066b525f67c24025688"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "slab allocators: Remove obsolete SLAB_MUST_HWCACHE_ALIGN\n\nThis patch was recently posted to lkml and acked by Pekka.\n\nThe flag SLAB_MUST_HWCACHE_ALIGN is\n\n1. Never checked by SLAB at all.\n\n2. A duplicate of SLAB_HWCACHE_ALIGN for SLUB\n\n3. Fulfills the role of SLAB_HWCACHE_ALIGN for SLOB.\n\nThe only remaining use is in sparc64 and ppc64 and their use there\nreflects some earlier role that the slab flag once may have had. If\nits specified then SLAB_HWCACHE_ALIGN is also specified.\n\nThe flag is confusing, inconsistent and has no purpose.\n\nRemove it.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9a14399aea13830d8af6798a53207bb0a900945",
      "tree": "b2501f1ce1d2a4564cd9a29c55705e524f594ad1",
      "parents": [
        "f98393a64ca1392130724c3acb4e3f325801d2b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 06 14:49:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "mm: optimize kill_bdev()\n\nRemove duplicate work in kill_bdev().\n\nIt currently invalidates and then truncates the bdev\u0027s mapping.\ninvalidate_mapping_pages() will opportunistically remove pages from the\nmapping.  And truncate_inode_pages() will forcefully remove all pages.\n\nThe only thing truncate doesn\u0027t do is flush the bh lrus.  So do that\nexplicitly.  This avoids (very unlikely) but possible invalid lookup\nresults if the same bdev is quickly re-issued.\n\nIt also will prevent extreme kernel latencies which are observed when\nblockdevs which have a large amount of pagecache are unmounted, by avoiding\ninvalidate_mapping_pages() on that path.  invalidate_mapping_pages() has no\ncond_resched (it can be called under spinlock), whereas truncate_inode_pages()\nhas one.\n\n[akpm@linux-foundation.org: restore nrpages\u003d\u003d0 optimisation]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f98393a64ca1392130724c3acb4e3f325801d2b6",
      "tree": "b02838bdf84156ac923bb37b6cf5f5ed6aaa3d48",
      "parents": [
        "0a27a14a62921b438bb6f33772690d345a089be6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 06 14:49:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "mm: remove destroy_dirty_buffers from invalidate_bdev()\n\nRemove the destroy_dirty_buffers argument from invalidate_bdev(), it hasn\u0027t\nbeen used in 6 years (so akpm says).\n\nfind * -name \\*.[ch] | xargs grep -l invalidate_bdev |\nwhile read file; do\n\tquilt add $file;\n\tsed -ie \u0027s/invalidate_bdev(\\([^,]*\\),[^)]*)/invalidate_bdev(\\1)/g\u0027 $file;\ndone\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a2cba993b0a04f258ab75e15cf3f08ada268dbd",
      "tree": "7f20f6cad40c1efe18dcf5eadfb8abbc3353f9aa",
      "parents": [
        "6225e93735acaa09865bce746958f1046c2e0bc3"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 06 14:49:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "Quicklist support for sparc64\n\nI ported this to sparc64 as per the patch below, tested on UP SunBlade1500 and\n24 cpu Niagara T1000.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6225e93735acaa09865bce746958f1046c2e0bc3",
      "tree": "c741862fbd9f6a1fa350b08debfcfb159bb8bf71",
      "parents": [
        "c09d87517298fd01543739ba26987645deb4e6a9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "Quicklists for page table pages\n\nOn x86_64 this cuts allocation overhead for page table pages down to a\nfraction (kernel compile / editing load.  TSC based measurement of times spend\nin each function):\n\nno quicklist\n\npte_alloc               1569048 4.3s(401ns/2.7us/179.7us)\npmd_alloc                780988 2.1s(337ns/2.7us/86.1us)\npud_alloc                780072 2.2s(424ns/2.8us/300.6us)\npgd_alloc                260022 1s(920ns/4us/263.1us)\n\nquicklist:\n\npte_alloc                452436 573.4ms(8ns/1.3us/121.1us)\npmd_alloc                196204 174.5ms(7ns/889ns/46.1us)\npud_alloc                195688 172.4ms(7ns/881ns/151.3us)\npgd_alloc                 65228 9.8ms(8ns/150ns/6.1us)\n\npgd allocations are the most complex and there we see the most dramatic\nimprovement (may be we can cut down the amount of pgds cached somewhat?).  But\neven the pte allocations still see a doubling of performance.\n\n1. Proven code from the IA64 arch.\n\n\tThe method used here has been fine tuned for years and\n\tis NUMA aware. It is based on the knowledge that accesses\n\tto page table pages are sparse in nature. Taking a page\n\toff the freelists instead of allocating a zeroed pages\n\tallows a reduction of number of cachelines touched\n\tin addition to getting rid of the slab overhead. So\n\tperformance improves. This is particularly useful if pgds\n\tcontain standard mappings. We can save on the teardown\n\tand setup of such a page if we have some on the quicklists.\n\tThis includes avoiding lists operations that are otherwise\n\tnecessary on alloc and free to track pgds.\n\n2. Light weight alternative to use slab to manage page size pages\n\n\tSlab overhead is significant and even page allocator use\n\tis pretty heavy weight. The use of a per cpu quicklist\n\tmeans that we touch only two cachelines for an allocation.\n\tThere is no need to access the page_struct (unless arch code\n\tneeds to fiddle around with it). So the fast past just\n\tmeans bringing in one cacheline at the beginning of the\n\tpage. That same cacheline may then be used to store the\n\tpage table entry. Or a second cacheline may be used\n\tif the page table entry is not in the first cacheline of\n\tthe page. The current code will zero the page which means\n\ttouching 32 cachelines (assuming 128 byte). We get down\n\tfrom 32 to 2 cachelines in the fast path.\n\n3. x86_64 gets lightweight page table page management.\n\n\tThis will allow x86_64 arch code to faster repopulate pgds\n\tand other page table entries. The list operations for pgds\n\tare reduced in the same way as for i386 to the point where\n\ta pgd is allocated from the page allocator and when it is\n\tfreed back to the page allocator. A pgd can pass through\n\tthe quicklists without having to be reinitialized.\n\n64 Consolidation of code from multiple arches\n\n\tSo far arches have their own implementation of quicklist\n\tmanagement. This patch moves that feature into the core allowing\n\tan easier maintenance and consistent management of quicklists.\n\nPage table pages have the characteristics that they are typically zero or in a\nknown state when they are freed.  This is usually the exactly same state as\nneeded after allocation.  So it makes sense to build a list of freed page\ntable pages and then consume the pages already in use first.  Those pages have\nalready been initialized correctly (thus no need to zero them) and are likely\nalready cached in such a way that the MMU can use them most effectively.  Page\ntable pages are used in a sparse way so zeroing them on allocation is not too\nuseful.\n\nSuch an implementation already exits for ia64.  Howver, that implementation\ndid not support constructors and destructors as needed by i386 / x86_64.  It\nalso only supported a single quicklist.  The implementation here has\nconstructor and destructor support as well as the ability for an arch to\nspecify how many quicklists are needed.\n\nQuicklists are defined by an arch defining CONFIG_QUICKLIST.  If more than one\nquicklist is necessary then we can define NR_QUICK for additional lists.  F.e.\n i386 needs two and thus has\n\nconfig NR_QUICK\n\tint\n\tdefault 2\n\nIf an arch has requested quicklist support then pages can be allocated\nfrom the quicklist (or from the page allocator if the quicklist is\nempty) via:\n\nquicklist_alloc(\u003cquicklist-nr\u003e, \u003cgfpflags\u003e, \u003cconstructor\u003e)\n\nPage table pages can be freed using:\n\nquicklist_free(\u003cquicklist-nr\u003e, \u003cdestructor\u003e, \u003cpage\u003e)\n\nPages must have a definite state after allocation and before\nthey are freed. If no constructor is specified then pages\nwill be zeroed on allocation and must be zeroed before they are\nfreed.\n\nIf a constructor is used then the constructor will establish\na definite page state. F.e. the i386 and x86_64 pgd constructors\nestablish certain mappings.\n\nConstructors and destructors can also be used to track the pages.\ni386 and x86_64 use a list of pgds in order to be able to dynamically\nupdate standard mappings.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "643b113849d8faa68c9f01c3c9d929bfbffd50bd",
      "tree": "d8eea2326ccee49892acaa970bf015ee69a31e8a",
      "parents": [
        "77c5e2d01af871f4bfbe08feefa3d5118cb1001b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "slub: enable tracking of full slabs\n\nIf slab tracking is on then build a list of full slabs so that we can verify\nthe integrity of all slabs and are also able to built list of alloc/free\ncallers.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b49af68ff9fc5d6e0d96704a1843968b91cc73c6",
      "tree": "eb5e6d9425a9069cdfc45b09a1d0f61f1419d2c2",
      "parents": [
        "6d7779538f765963ced45a3fa4bed7ba8d2c277d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "Add virt_to_head_page and consolidate code in slab and slub\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d7779538f765963ced45a3fa4bed7ba8d2c277d",
      "tree": "07d47e6ff1ab30309004e2ba0674dcabd83945c1",
      "parents": [
        "d85f33855c303acfa87fa457157cef755b6087df"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "mm: optimize compound_head() by avoiding a shared page flag\n\nThe patch adds PageTail(page) and PageHead(page) to check if a page is the\nhead or the tail of a compound page.  This is done by masking the two bits\ndescribing the state of a compound page and then comparing them.  So one\ncomparision and a branch instead of two bit checks and two branches.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85f33855c303acfa87fa457157cef755b6087df",
      "tree": "f1184a1a24b432727b0399594ede37c7539db888",
      "parents": [
        "30520864839dc796fd314812e7036e754880b47d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "Make page-\u003eprivate usable in compound pages\n\nIf we add a new flag so that we can distinguish between the first page and the\ntail pages then we can avoid to use page-\u003eprivate in the first page.\npage-\u003eprivate \u003d\u003d page for the first page, so there is no real information in\nthere.\n\nFreeing up page-\u003eprivate makes the use of compound pages more transparent.\nThey become more usable like real pages.  Right now we have to be careful f.e.\n if we are going beyond PAGE_SIZE allocations in the slab on i386 because we\ncan then no longer use the private field.  This is one of the issues that\ncause us not to support debugging for page size slabs in SLAB.\n\nHaving page-\u003eprivate available for SLUB would allow more meta information in\nthe page struct.  I can probably avoid the 16 bit ints that I have in there\nright now.\n\nAlso if page-\u003eprivate is available then a compound page may be equipped with\nbuffer heads.  This may free up the way for filesystems to support larger\nblocks than page size.\n\nWe add PageTail as an alias of PageReclaim.  Compound pages cannot currently\nbe reclaimed.  Because of the alias one needs to check PageCompound first.\n\nThe RFC for the this approach was discussed at\nhttp://marc.info/?t\u003d117574302800001\u0026r\u003d1\u0026w\u003d2\n\n[nacc@us.ibm.com: fix hugetlbfs]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "614410d5892af5f86d0ec14e28f9f6d5f4ac9e9b",
      "tree": "616c8437f45590a0ca6e2efdc2a5dfb61799d0ec",
      "parents": [
        "47bfdc0d5a18a4b760ffb6a332932aaa5c0859e0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "SLUB: allocate smallest object size if the user asks for 0 bytes\n\nMakes SLUB behave like SLAB in this area to avoid issues....\n\nThrow a stack dump to alert people.\n\nAt some point the behavior should be switched back.  NULL is no memory as\nfar as I can tell and if the use asked for 0 bytes then he need to get no\nmemory.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81819f0fc8285a2a5a921c019e3e3d7b6169d225",
      "tree": "47e3da44d3ef6c74ceae6c3771b191b46467bb48",
      "parents": [
        "543691a6cd70b606dd9bed5e77b120c5d9c5c506"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "SLUB core\n\nThis is a new slab allocator which was motivated by the complexity of the\nexisting code in mm/slab.c. It attempts to address a variety of concerns\nwith the existing implementation.\n\nA. Management of object queues\n\n   A particular concern was the complex management of the numerous object\n   queues in SLAB. SLUB has no such queues. Instead we dedicate a slab for\n   each allocating CPU and use objects from a slab directly instead of\n   queueing them up.\n\nB. Storage overhead of object queues\n\n   SLAB Object queues exist per node, per CPU. The alien cache queue even\n   has a queue array that contain a queue for each processor on each\n   node. For very large systems the number of queues and the number of\n   objects that may be caught in those queues grows exponentially. On our\n   systems with 1k nodes / processors we have several gigabytes just tied up\n   for storing references to objects for those queues  This does not include\n   the objects that could be on those queues. One fears that the whole\n   memory of the machine could one day be consumed by those queues.\n\nC. SLAB meta data overhead\n\n   SLAB has overhead at the beginning of each slab. This means that data\n   cannot be naturally aligned at the beginning of a slab block. SLUB keeps\n   all meta data in the corresponding page_struct. Objects can be naturally\n   aligned in the slab. F.e. a 128 byte object will be aligned at 128 byte\n   boundaries and can fit tightly into a 4k page with no bytes left over.\n   SLAB cannot do this.\n\nD. SLAB has a complex cache reaper\n\n   SLUB does not need a cache reaper for UP systems. On SMP systems\n   the per CPU slab may be pushed back into partial list but that\n   operation is simple and does not require an iteration over a list\n   of objects. SLAB expires per CPU, shared and alien object queues\n   during cache reaping which may cause strange hold offs.\n\nE. SLAB has complex NUMA policy layer support\n\n   SLUB pushes NUMA policy handling into the page allocator. This means that\n   allocation is coarser (SLUB does interleave on a page level) but that\n   situation was also present before 2.6.13. SLABs application of\n   policies to individual slab objects allocated in SLAB is\n   certainly a performance concern due to the frequent references to\n   memory policies which may lead a sequence of objects to come from\n   one node after another. SLUB will get a slab full of objects\n   from one node and then will switch to the next.\n\nF. Reduction of the size of partial slab lists\n\n   SLAB has per node partial lists. This means that over time a large\n   number of partial slabs may accumulate on those lists. These can\n   only be reused if allocator occur on specific nodes. SLUB has a global\n   pool of partial slabs and will consume slabs from that pool to\n   decrease fragmentation.\n\nG. Tunables\n\n   SLAB has sophisticated tuning abilities for each slab cache. One can\n   manipulate the queue sizes in detail. However, filling the queues still\n   requires the uses of the spin lock to check out slabs. SLUB has a global\n   parameter (min_slab_order) for tuning. Increasing the minimum slab\n   order can decrease the locking overhead. The bigger the slab order the\n   less motions of pages between per CPU and partial lists occur and the\n   better SLUB will be scaling.\n\nG. Slab merging\n\n   We often have slab caches with similar parameters. SLUB detects those\n   on boot up and merges them into the corresponding general caches. This\n   leads to more effective memory use. About 50% of all caches can\n   be eliminated through slab merging. This will also decrease\n   slab fragmentation because partial allocated slabs can be filled\n   up again. Slab merging can be switched off by specifying\n   slub_nomerge on boot up.\n\n   Note that merging can expose heretofore unknown bugs in the kernel\n   because corrupted objects may now be placed differently and corrupt\n   differing neighboring objects. Enable sanity checks to find those.\n\nH. Diagnostics\n\n   The current slab diagnostics are difficult to use and require a\n   recompilation of the kernel. SLUB contains debugging code that\n   is always available (but is kept out of the hot code paths).\n   SLUB diagnostics can be enabled via the \"slab_debug\" option.\n   Parameters can be specified to select a single or a group of\n   slab caches for diagnostics. This means that the system is running\n   with the usual performance and it is much more likely that\n   race conditions can be reproduced.\n\nI. Resiliency\n\n   If basic sanity checks are on then SLUB is capable of detecting\n   common error conditions and recover as best as possible to allow the\n   system to continue.\n\nJ. Tracing\n\n   Tracing can be enabled via the slab_debug\u003dT,\u003cslabcache\u003e option\n   during boot. SLUB will then protocol all actions on that slabcache\n   and dump the object contents on free.\n\nK. On demand DMA cache creation.\n\n   Generally DMA caches are not needed. If a kmalloc is used with\n   __GFP_DMA then just create this single slabcache that is needed.\n   For systems that have no ZONE_DMA requirement the support is\n   completely eliminated.\n\nL. Performance increase\n\n   Some benchmarks have shown speed improvements on kernbench in the\n   range of 5-10%. The locking overhead of slub is based on the\n   underlying base allocation size. If we can reliably allocate\n   larger order pages then it is possible to increase slub\n   performance much further. The anti-fragmentation patches may\n   enable further performance increases.\n\nTested on:\ni386 UP + SMP, x86_64 UP + SMP + NUMA emulation, IA64 NUMA + Simulator\n\nSLUB Boot options\n\nslub_nomerge\t\tDisable merging of slabs\nslub_min_order\u003dx\tRequire a minimum order for slab caches. This\n\t\t\tincreases the managed chunk size and therefore\n\t\t\treduces meta data and locking overhead.\nslub_min_objects\u003dx\tMininum objects per slab. Default is 8.\nslub_max_order\u003dx\tAvoid generating slabs larger than order specified.\nslub_debug\t\tEnable all diagnostics for all caches\nslub_debug\u003d\u003coptions\u003e\tEnable selective options for all caches\nslub_debug\u003d\u003co\u003e,\u003ccache\u003e\tEnable selective options for a certain set of\n\t\t\tcaches\n\nAvailable Debug options\nF\t\tDouble Free checking, sanity and resiliency\nR\t\tRed zoning\nP\t\tObject / padding poisoning\nU\t\tTrack last free / alloc\nT\t\tTrace all allocs / frees (only use for individual slabs).\n\nTo use SLUB: Apply this patch and then select SLUB as the default slab\nallocator.\n\n[hugh@veritas.com: fix an oops-causing locking error]\n[akpm@linux-foundation.org: various stupid cleanups and small fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5637e65ee2cecd344b1f8ff750013f697d3ae16",
      "tree": "1916269a4f89ceef3a157bd70368d84071c94a3b",
      "parents": [
        "c596d9f320aaf30d28c1d793ff3a976dee1db8f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "i386: use page allocator to allocate thread_info structure\n\ni386 uses kmalloc to allocate the threadinfo structure assuming that the\nallocations result in a page sized aligned allocation.  That has worked so\nfar because SLAB exempts page sized slabs from debugging and aligns them in\nspecial ways that goes beyond the restrictions imposed by\nKMALLOC_ARCH_MINALIGN valid for other slabs in the kmalloc array.\n\nSLUB also works fine without debugging since page sized allocations neatly\nalign at page boundaries.  However, if debugging is switched on then SLUB\nwill extend the slab with debug information.  The resulting slab is not\nlonger of page size.  It will only be aligned following the requirements\nimposed by KMALLOC_ARCH_MINALIGN.  As a result the threadinfo structure may\nnot be page aligned which makes i386 fail to boot with SLUB debug on.\n\nReplace the calls to kmalloc with calls into the page allocator.\n\nAn alternate solution may be to create a custom slab cache where the\nalignment is set to PAGE_SIZE.  That would allow slub debugging to be\napplied to the threadinfo structure.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ce745ed39d35f9d547d00d406db2be7c6c175b3",
      "tree": "16f471389c9f619c37891fdb6e1843e1f2721c78",
      "parents": [
        "ec0f16372277052a29a6c17527c6cae5e898b3fd"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun May 06 14:49:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "readahead: code cleanup\n\nRename file_ra_state.prev_page to prev_index and file_ra_state.offset to\nprev_offset.  Also update of prev_index in do_generic_mapping_read() is now\nmoved close to the update of prev_offset.\n\n[wfg@mail.ustc.edu.cn: fix it]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec0f16372277052a29a6c17527c6cae5e898b3fd",
      "tree": "35636edac6ed01baf301f3aca96f090caae82c9d",
      "parents": [
        "b813e931b4c8235bb42e301096ea97dbdee3e8fe"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun May 06 14:49:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "readahead: improve heuristic detecting sequential reads\n\nIntroduce ra.offset and store in it an offset where the previous read\nended.  This way we can detect whether reads are really sequential (and\nthus we should not mark the page as accessed repeatedly) or whether they\nare random and just happen to be in the same page (and the page should\nreally be marked accessed again).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b813e931b4c8235bb42e301096ea97dbdee3e8fe",
      "tree": "f8182687bffe8e3b95bac69b2cc7fdfe674ddc53",
      "parents": [
        "f79f177c25016647cc92ffac8afa7cb96ce47011"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: add clear_refs file to clear reference\n\nAdds /proc/pid/clear_refs.  When any non-zero number is written to this file,\npte_mkold() and ClearPageReferenced() is called for each pte and its\ncorresponding page, respectively, in that task\u0027s VMAs.  This file is only\nwritable by the user who owns the task.\n\nIt is now possible to measure _approximately_ how much memory a task is using\nby clearing the reference bits with\n\n\techo 1 \u003e /proc/pid/clear_refs\n\nand checking the reference count for each VMA from the /proc/pid/smaps output\nat a measured time interval.  For example, to observe the approximate change\nin memory footprint for a task, write a script that clears the references\n(echo 1 \u003e /proc/pid/clear_refs), sleeps, and then greps for Pgs_Referenced and\nextracts the size in kB.  Add the sizes for each VMA together for the total\nreferenced footprint.  Moments later, repeat the process and observe the\ndifference.\n\nFor example, using an efficient Mozilla:\n\n\taccumulated time\t\treferenced memory\n\t----------------\t\t-----------------\n\t\t 0 s\t\t\t\t 408 kB\n\t\t 1 s\t\t\t\t 408 kB\n\t\t 2 s\t\t\t\t 556 kB\n\t\t 3 s\t\t\t\t1028 kB\n\t\t 4 s\t\t\t\t 872 kB\n\t\t 5 s\t\t\t\t1956 kB\n\t\t 6 s\t\t\t\t 416 kB\n\t\t 7 s\t\t\t\t1560 kB\n\t\t 8 s\t\t\t\t2336 kB\n\t\t 9 s\t\t\t\t1044 kB\n\t\t10 s\t\t\t\t 416 kB\n\nThis is a valuable tool to get an approximate measurement of the memory\nfootprint for a task.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\n[akpm@linux-foundation.org: build fixes]\n[mpm@selenic.com: rename for_each_pmd]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0013572b2ae535bfd6314f22d9aef53725ea00d8",
      "tree": "0c405dfe8a106099696ed9955b4405e6d7caed70",
      "parents": [
        "10a8d6ae4b3182d6588a5809a8366343bc295c20"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sun May 06 14:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "i386: use pte_update_defer in ptep_test_and_clear_{dirty,young}\n\nIf you actually clear the bit, you need to:\n\n+         pte_update_defer(vma-\u003evm_mm, addr, ptep);\n\nThe reason is, when updating PTEs, the hypervisor must be notified.  Using\natomic operations to do this is fine for all hypervisors I am aware of.\nHowever, for hypervisors which shadow page tables, if these PTE\nmodifications are not trapped, you need a post-modification call to fulfill\nthe update of the shadow page table.\n\nAcked-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a8d6ae4b3182d6588a5809a8366343bc295c20",
      "tree": "37a1d626c350df5f4a4234a0fcaf524f5755fe4a",
      "parents": [
        "9490991482a2091a828d997adbc088e24c310a4d"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "i386: add ptep_test_and_clear_{dirty,young}\n\nAdd ptep_test_and_clear_{dirty,young} to i386.  They advertise that they\nhave it and there is at least one place where it needs to be called without\nthe page table lock: to clear the accessed bit on write to\n/proc/pid/clear_refs.\n\nptep_clear_flush_{dirty,young} are updated to use the new functions.  The\noverall net effect to current users of ptep_clear_flush_{dirty,young} is\nthat we introduce an additional branch.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9490991482a2091a828d997adbc088e24c310a4d",
      "tree": "dcdd9febee63e82cd792250a8a4c4dd8e6aab4be",
      "parents": [
        "a8127717cb24be7b8827a8d9e0ddbfde6b392146"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bbpetkov@yahoo.de",
        "time": "Sun May 06 14:49:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "Add unitialized_var() macro for suppressing gcc warnings\n\nIntroduce a macro for suppressing gcc from generating a warning about a\nprobable uninitialized state of a variable.\n\nExample:\n\n-\tspinlock_t *ptl;\n+\tspinlock_t *uninitialized_var(ptl);\n\nNot a happy solution, but those warnings are obnoxious.\n\n- Using the usual pointlessly-set-it-to-zero approach wastes several\n  bytes of text.\n\n- Using a macro means we can (hopefully) do something else if gcc changes\n  cause the `x \u003d x\u0027 hack to stop working\n\n- Using a macro means that people who are worried about hiding true bugs\n  can easily turn it off.\n\nSigned-off-by: Borislav Petkov \u003cbbpetkov@yahoo.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e072984179d3d421bf9ab75cc67e0961742841",
      "tree": "65a5a6f7d9756b8e7010278b58908d04da257a28",
      "parents": [
        "ac267728f13c55017ed5ee243c9c3166e27ab929"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Sun May 06 14:49:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "add pfn_valid_within helper for sub-MAX_ORDER hole detection\n\nGenerally we work under the assumption that memory the mem_map array is\ncontigious and valid out to MAX_ORDER_NR_PAGES block of pages, ie.  that if we\nhave validated any page within this MAX_ORDER_NR_PAGES block we need not check\nany other.  This is not true when CONFIG_HOLES_IN_ZONE is set and we must\ncheck each and every reference we make from a pfn.\n\nAdd a pfn_valid_within() helper which should be used when scanning pages\nwithin a MAX_ORDER_NR_PAGES block when we have already checked the validility\nof the block normally with pfn_valid().  This can then be optimised away when\nwe do not have holes within a MAX_ORDER_NR_PAGES block of pages.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac267728f13c55017ed5ee243c9c3166e27ab929",
      "tree": "d57e57c8bac716ccee49185b04c374ef1e163260",
      "parents": [
        "411f0f3edc141a582190d3605cadd1d993abb6df"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun May 06 14:49:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "mm/slab.c: proper prototypes\n\nAdd proper prototypes in include/linux/slab.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "411f0f3edc141a582190d3605cadd1d993abb6df",
      "tree": "d9d745beb57ffb0a987c1991635db940127421b6",
      "parents": [
        "9a82782f8f58219d0c6dc5f0211ce301adf6c6f4"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun May 06 14:49:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Introduce CONFIG_HAS_DMA\n\nArchitectures that don\u0027t support DMA can say so by adding a config NO_DMA\nto their Kconfig file.  This will prevent compilation of some dma specific\ndriver code.  Also dma-mapping-broken.h isn\u0027t needed anymore on at least\ns390.  This avoids compilation and linking of otherwise dead/broken code.\n\nOther architectures that include dma-mapping-broken.h are arm26, h8300,\nm68k, m68knommu and v850.  If these could be converted as well we could get\nrid of the header file.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n\"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \u003cgeert@linux-m68k.org\u003e\nCc: \u003czippel@linux-m68k.org\u003e\nCc: \u003cspyro@f2s.com\u003e\nCc: \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2",
      "tree": "8bbfe5072279227cc50a941ad4813908082426a1",
      "parents": [
        "714b8171af9c930a59a0da8f6fe50518e70ab035"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: make read_cache_page synchronous\n\nEnsure pages are uptodate after returning from read_cache_page, which allows\nus to cut out most of the filesystem-internal PageUptodate calls.\n\nI didn\u0027t have a great look down the call chains, but this appears to fixes 7\npossible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in\necryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in\nblock2mtd.  All depending on whether the filler is async and/or can return\nwith a !uptodate page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f22df00a009e3f86301366c0ecddb63ebd22af9",
      "tree": "72f0ea3e114dbb6825fc7e73f828645d364ea520",
      "parents": [
        "d2ba27e8007b35d24764c0877ab2428e00a5c5ab"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: remove gcc workaround\n\nMinimum gcc version is 3.2 now.  However, with likely profiling, even\nmodern gcc versions cannot always eliminate the call.\n\nReplace the placeholder functions with the more conventional empty static\ninlines, which should be optimal for everyone.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2ba27e8007b35d24764c0877ab2428e00a5c5ab",
      "tree": "d4c645000da4c208dba37fdda9897f1b7295cce4",
      "parents": [
        "1b4244647ceaad42ea6eb12899d58753d82b7727"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun May 06 14:49:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "proper prototype for hugetlb_get_unmapped_area()\n\nAdd a proper prototype for hugetlb_get_unmapped_area() in\ninclude/linux/hugetlb.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: William Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aee16b3cee2746880e40945a9b5bff4f309cfbc4",
      "tree": "887faaebf5562dc1fac5e090140da04dc7e2a174",
      "parents": [
        "eb3a1e1145ca8f12372c7c96aa0702d86a9002a9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Sun May 06 14:48:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Add apply_to_page_range() which applies a function to a pte range\n\nAdd a new mm function apply_to_page_range() which applies a given function to\nevery pte in a given virtual address range in a given mm structure.  This is a\ngeneric alternative to cut-and-pasting the Linux idiomatic pagetable walking\ncode in every place that a sequence of PTEs must be accessed.\n\nAlthough this interface is intended to be useful in a wide range of\nsituations, it is currently used specifically by several Xen subsystems, for\nexample: to ensure that pagetables have been allocated for a virtual address\nrange, and to construct batched special pagetable update requests to map I/O\nmemory (in ioremap()).\n\n[akpm@linux-foundation.org: fix warning, unpleasantly]\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Matt Mackall \u003cmpm@waste.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abb4a2390737867353ebafc012d45f2b03f3f944",
      "tree": "e62e2ae859f235667eb2002ef9dd651e7c7a8ea0",
      "parents": [
        "bd71c182d5a02337305fc381831c11029dd17d64"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sun May 06 14:48:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "serial: define FIXED_PORT flag for serial_core\n\nAt present, the serial core always allows setserial in userspace to change the\nport address, irq and base clock of any serial port.  That makes sense for\nlegacy ISA ports, but not for (say) embedded ns16550 compatible serial ports\nat peculiar addresses.  In these cases, the kernel code configuring the ports\nmust know exactly where they are, and their clocking arrangements (which can\nbe unusual on embedded boards).  It doesn\u0027t make sense for userspace to change\nthese settings.\n\nTherefore, this patch defines a UPF_FIXED_PORT flag for the uart_port\nstructure.  If this flag is set when the serial port is configured, any\nattempts to alter the port\u0027s type, io address, irq or base clock with\nsetserial are ignored.\n\nIn addition this patch uses the new flag for on-chip serial ports probed in\narch/powerpc/kernel/legacy_serial.c, and for other hard-wired serial ports\nprobed by drivers/serial/of_serial.c.\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd71c182d5a02337305fc381831c11029dd17d64",
      "tree": "0b21234a7d1c38bfcafc12b6dcbfb3455d73b587",
      "parents": [
        "beab697ab4b2962e3d741b476abe443baad0933d"
      ],
      "author": {
        "name": "Thomas Koeller",
        "email": "thomas.koeller@baslerweb.com",
        "time": "Sun May 06 14:48:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "RM9000 serial driver\n\nAdd support for the integrated serial ports of the MIPS RM9122 processor\nand its relatives.\n\nThe patch also does some whitespace cleanup.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Thomas Koeller \u003cthomas.koeller@baslerweb.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "beab697ab4b2962e3d741b476abe443baad0933d",
      "tree": "f581ce38378f6cacbf0042b4eb9c084a6fc932d9",
      "parents": [
        "6179b5562d5d17c7c09b54cb11dd925ca308d7a9"
      ],
      "author": {
        "name": "Marc St-Jean",
        "email": "stjeanma@pmc-sierra.com",
        "time": "Sun May 06 14:48:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "serial driver PMC MSP71xx\n\nSerial driver patch for the PMC-Sierra MSP71xx devices.\n\nThere are three different fixes:\n\n1 Fix for DesignWare APB THRE errata: In brief, this is a non-standard\n  16550 in that the THRE interrupt will not re-assert itself simply by\n  disabling and re-enabling the THRI bit in the IER, it is only re-enabled\n  if a character is actually sent out.\n\n  It appears that the \"8250-uart-backup-timer.patch\" in the \"mm\" tree\n  also fixes it so we have dropped our initial workaround.  This patch now\n  needs to be applied on top of that \"mm\" patch.\n\n2 Fix for Busy Detect on LCR write: The DesignWare APB UART has a feature\n  which causes a new Busy Detect interrupt to be generated if it\u0027s busy\n  when the LCR is written.  This fix saves the value of the LCR and\n  rewrites it after clearing the interrupt.\n\n3 Workaround for interrupt/data concurrency issue: The SoC needs to\n  ensure that writes that can cause interrupts to be cleared reach the UART\n  before returning from the ISR.  This fix reads a non-destructive register\n  on the UART so the read transaction completion ensures the previously\n  queued write transaction has also completed.\n\nSigned-off-by: Marc St-Jean \u003cMarc_St-Jean@pmc-sierra.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6179b5562d5d17c7c09b54cb11dd925ca308d7a9",
      "tree": "2f740d0f653678557a5601c6dffed1287b9aa513",
      "parents": [
        "02c83595b86480ee4d61665beb13f76685d40239"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Sun May 06 14:48:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "add new_id to PCMCIA drivers\n\nPCI drivers have the new_id file in sysfs which allows new IDs to be added\nat runtime.  The advantage is to avoid re-compilation of a driver that\nworks for a new device, but it\u0027s ID table doesn\u0027t contain the new device.\nThis mechanism is only meant for testing, after the driver has been tested\nsuccessfully, the ID should be added in source code so that new revisions\nof the kernel automatically detect the device.\n\nThe implementation follows the PCI implementation. The interface is documented\nin Documentation/pcmcia/driver.txt. Computations should be done in userspace,\nso the sysfs string contains the raw structure members for matching.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd76bab2fa6d8f3ef6b326a4c6ae442fa21d30a4",
      "tree": "66f310ab9d7cdadfb79486700f1e01df7923ec14",
      "parents": [
        "e3ebadd95cb621e2c7436f3d3646447ac9d5c16d"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun May 06 14:48:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "slab: introduce krealloc\n\nThis introduce krealloc() that reallocates memory while keeping the contents\nunchanged.  The allocator avoids reallocation if the new size fits the\ncurrently used cache.  I also added a simple non-optimized version for\nmm/slob.c for compatibility.\n\n[akpm@linux-foundation.org: fix warnings]\nAcked-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3ebadd95cb621e2c7436f3d3646447ac9d5c16d",
      "tree": "510b41550cc3751cfb565e3e2ba195a68b784a03",
      "parents": [
        "15700770ef7c5d12e2f1659d2ddbeb3f658d9f37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 08:44:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 08:44:24 2007 -0700"
      },
      "message": "Revert \"[PATCH] x86: __pa and __pa_symbol address space separation\"\n\nThis was broken.  It adds complexity, for no good reason.  Rather than\nseparate __pa() and __pa_symbol(), we should deprecate __pa_symbol(),\nand preferably __pa() too - and just use \"virt_to_phys()\" instead, which\nis more readable and has nicer semantics.\n\nHowever, right now, just undo the separation, and make __pa_symbol() be\nthe exact same as __pa().  That fixes the bugs this patch introduced,\nand we can do the fairly obvious cleanups later.\n\nDo the new __phys_addr() function (which is now the actual workhorse for\nthe unified __pa()/__pa_symbol()) as a real external function, that way\nall the potential issues with compile/link-time optimizations of\nconstant symbol addresses go away, and we can also, if we choose to, add\nmore sanity-checking of the argument.\n\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf4328cd949c2086091c62c5685f1580fe9b55e4",
      "tree": "bd9d96f1c99910076b6f5f34cd5cd2da30405ef1",
      "parents": [
        "2396a22e0989df6038996506bfbf7a57f116c299"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Mon May 07 00:34:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 00:34:20 2007 -0700"
      },
      "message": "[NET]: rfkill: add support for input key to control wireless radio\n\nThe RF kill patch that provides infrastructure for implementing\nswitches controlling radio states on various network and other cards.\n\n[dtor@insightbb.com: address review comments]\n[akpm@linux-foundation.org: cleanups, build fixes]\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "861fe90656b8e20d750d73c57088dc52d316ce7b",
      "tree": "3f7df274478242ecf9f4186637c9cc38f59b5b8a",
      "parents": [
        "4cad69174f385c183b2bcb369fb4304d8624ab96"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed May 02 17:31:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun May 06 22:44:06 2007 -0700"
      },
      "message": "[SPARC64]: SUN4U PCI-E controller support.\n\nSome minor refactoring in the generic code was necessary for\nthis:\n\n1) This controller requires 8-byte access to the interrupt map\n   and clear register.  They are 64-bits on all the other\n   SBUS and PCI controllers anyways, so this was easy to cure.\n\n2) The IMAP register has a different layout and some bits that we\n   need to preserve, so use a read/modify/write when making\n   changes to the IMAP register in generic code.\n\n3) Flushing the entire IOMMU TLB is best done with a single write\n   to a register on this PCI controller, add a iommu-\u003eiommu_flushinv\n   for this.\n\nStill lacks MSI support, that will come later.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed23a72778f3dbd465e55b06fe31629e7e1dd2f3",
      "tree": "99ab8b4cf7c51ae64b4d3d9108e82b31db2b3465",
      "parents": [
        "f4fd0b224d60044d2da5ca02f8f2b5150c1d8731"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun May 06 21:02:48 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun May 06 21:18:11 2007 -0700"
      },
      "message": "IB: Return \"maybe missed event\" hint from ib_req_notify_cq()\n\nThe semantics defined by the InfiniBand specification say that\ncompletion events are only generated when a completions is added to a\ncompletion queue (CQ) after completion notification is requested.  In\nother words, this means that the following race is possible:\n\n\twhile (CQ is not empty)\n\t\tib_poll_cq(CQ);\n\t// new completion is added after while loop is exited\n\tib_req_notify_cq(CQ);\n\t// no event is generated for the existing completion\n\nTo close this race, the IB spec recommends doing another poll of the\nCQ after requesting notification.\n\nHowever, it is not always possible to arrange code this way (for\nexample, we have found that NAPI for IPoIB cannot poll after\nrequesting notification).  Also, some hardware (eg Mellanox HCAs)\nactually will generate an event for completions added before the call\nto ib_req_notify_cq() -- which is allowed by the spec, since there\u0027s\nno way for any upper-layer consumer to know exactly when a completion\nwas really added -- so the extra poll of the CQ is just a waste.\n\nMotivated by this, we add a new flag \"IB_CQ_REPORT_MISSED_EVENTS\" for\nib_req_notify_cq() so that it can return a hint about whether the a\ncompletion may have been added before the request for notification.\nThe return value of ib_req_notify_cq() is extended so:\n\n\t \u003c 0\tmeans an error occurred while requesting notification\n\t\u003d\u003d 0\tmeans notification was requested successfully, and if\n\t\tIB_CQ_REPORT_MISSED_EVENTS was passed in, then no\n\t\tevents were missed and it is safe to wait for another\n\t\tevent.\n\t \u003e 0\tis only returned if IB_CQ_REPORT_MISSED_EVENTS was\n\t\tpassed in.  It means that the consumer must poll the\n\t\tCQ again to make sure it is empty to avoid the race\n\t\tdescribed above.\n\nWe add a flag to enable this behavior rather than turning it on\nunconditionally, because checking for missed events may incur\nsignificant overhead for some low-level drivers, and consumers that\ndon\u0027t care about the results of this test shouldn\u0027t be forced to pay\nfor the test.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f4fd0b224d60044d2da5ca02f8f2b5150c1d8731",
      "tree": "9bc6c08bde26e6b7d5c51ebd48fc26357d6ae9c5",
      "parents": [
        "154257f3626ea6dd96781fac0896c3f27fe2b0a1"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@dev.mellanox.co.il",
        "time": "Thu May 03 13:48:47 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun May 06 21:18:11 2007 -0700"
      },
      "message": "IB: Add CQ comp_vector support\n\nAdd a num_comp_vectors member to struct ib_device and extend\nib_create_cq() to pass in a comp_vector parameter -- this parallels\nthe userspace libibverbs API.  Update all hardware drivers to set\nnum_comp_vectors to 1 and have all ULPs pass 0 for the comp_vector\nvalue.  Pass the value of num_comp_vectors to userspace rather than\nhard-coding a value of 1.\n\nWe want multiple CQ event vector support (via MSI-X or similar for\nadapters that can generate multiple interrupts), but it\u0027s not clear\nhow many vectors we want, or how we want to deal with policy issues\nsuch as how to decide which vector to use or how to set up interrupt\naffinity.  This patch is useful for experimenting, since no core\nchanges will be necessary when updating a driver to support multiple\nvectors, and we know that we want to make at least these changes\nanyway.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "39374aadcd0159b4744ab456f4efa100bea84bd4",
      "tree": "abc7f4066e3404cf12e50688f558e0f9afd1de9d",
      "parents": [
        "9c37dc633016e9ebdc39adba0737b390e0de1507"
      ],
      "author": {
        "name": "Ryusuke Sakato",
        "email": "sakato.ryusuke@renesas.com",
        "time": "Mon May 07 10:48:56 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:57 2007 +0000"
      },
      "message": "sh: R7785RP board updates.\n\nSome fixups for the R7785RP board. Gets iVDR working.\n\nSigned-off-by: Ryusuke Sakato \u003csakato.ryusuke@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "3a2e117e220f000f95187ea1e1bbe83b0ed5fdfb",
      "tree": "57fab5755138283793647b5d0d2a2c872f00a430",
      "parents": [
        "3dde7a3c74bcc25c6fc31b836fec8c91fb0b2b8f"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue May 01 16:33:10 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:57 2007 +0000"
      },
      "message": "sh: Add die chain notifiers.\n\nAdd the atomic die chains in, kprobes needs these.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "6865f0ea6ad91fec3ae7831c49d48b5a7db4b428",
      "tree": "f5e58cf973b6c49ed04dafb7fdc035f10d3366d3",
      "parents": [
        "6b817c03489083a7457cda16b953a214dcef8d64"
      ],
      "author": {
        "name": "Ryusuke Sakato",
        "email": "sakato.ryusuke@renesas.com",
        "time": "Tue May 01 09:45:29 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:57 2007 +0000"
      },
      "message": "sh: Solution Engine 7722 board support.\n\nThis adds more full-featured support for the SH7722 Solution Engine.\nPreviously this was using the generic board, and lacked most of the\nperipheral support.\n\nSigned-off-by: Ryusuke Sakato \u003csakato.ryusuke@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "6b817c03489083a7457cda16b953a214dcef8d64",
      "tree": "75d757f2d81e4238c91a6a990eb377f116cc152b",
      "parents": [
        "4d5ade5b29c618e97a8988efb6967cb4dd0e2183"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue May 01 09:40:23 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:57 2007 +0000"
      },
      "message": "sh: Fix r7780rp build.\n\nWith the addition of the R7780MP and R7785RP, the R7780RP build\nended up breaking. Trivial compile fix.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "4d5ade5b29c618e97a8988efb6967cb4dd0e2183",
      "tree": "376d71458747e23e7f5171b9914b0d516cad7c7b",
      "parents": [
        "db62e5bd297d1f325811c5495ad23de36db0fdd4"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Apr 27 11:25:57 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:56 2007 +0000"
      },
      "message": "sh: kdump support.\n\nThis adds support for kexec based crash dumps.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "db62e5bd297d1f325811c5495ad23de36db0fdd4",
      "tree": "7e320502c341ecd178c4308b184b957e1722ff84",
      "parents": [
        "2a8ff4596cde3ec2a51980288ebb28a0d196d19a"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Apr 26 12:17:20 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:56 2007 +0000"
      },
      "message": "sh: Move clock reporting to its own proc entry.\n\nPreviously this was done in cpuinfo, but with the number of clocks\ngrowing, it makes more sense to place this in a different proc entry.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "2a8ff4596cde3ec2a51980288ebb28a0d196d19a",
      "tree": "a895745a2a0bf676a6740c0529175cf430dee489",
      "parents": [
        "005a336e71e9e3ea356f9afca5d66318d6901319"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "nobuhiro.iwamatsu.zh@hitachi.com",
        "time": "Thu Apr 26 11:51:00 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:56 2007 +0000"
      },
      "message": "sh: Solution Engine SH7705 board and CPU updates.\n\nThis fixes up SH7705 CPU support and the SE7705 board\nfor some of the recent changes.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003cnobuhiro.iwamatsu.zh@hitachi.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "1929cb340b74904c130fdf3de3fe5bbedb68a5aa",
      "tree": "2675de406fca78e6bfd5b29535bbb220a167bc2e",
      "parents": [
        "34a780a0afeb8f99c9ca9934f4cc0822541769c6"
      ],
      "author": {
        "name": "dmitry pervushin",
        "email": "dimka@nomadgs.com",
        "time": "Tue Apr 24 13:39:09 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:56 2007 +0000"
      },
      "message": "sh: SH7722 clock framework support.\n\nThis adds support for the SH7722 (MobileR) to the clock framework.\n\nSigned-off-by: dmitry pervushin \u003cdimka@nomadgs.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "dd12666278daa0008ac439603c8d3037bc213556",
      "tree": "30babf696450d5ee64798e3973bbcb6b44b0f20c",
      "parents": [
        "760bcb1deec13c50e20399c84cb6a8ea41cc2820"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Apr 10 07:38:10 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:56 2007 +0000"
      },
      "message": "sh: Obey CONFIG_HZ for HZ definition.\n\nThis wasn\u0027t being set before, so now it\u0027s set for when it makes sense.\nThe shwdt case still requires HZ to be fixed at 1000 for the WOVF period,\nso this is still preserved.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "760bcb1deec13c50e20399c84cb6a8ea41cc2820",
      "tree": "5e4d49b2fa8559170d36601a543187b639bb3c0f",
      "parents": [
        "b7aee517c8302d651ff057fdcebee3c1f53c3b2e"
      ],
      "author": {
        "name": "SUGIOKA Toshinobu",
        "email": "sugioka@itonet.co.jp",
        "time": "Fri Mar 30 14:51:44 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:55 2007 +0000"
      },
      "message": "sh: Fix fstatat64() syscall.\n\nSigned-off-by: SUGIOKA Toshinobu \u003csugioka@itonet.co.jp\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "b75762302e144b73f12b72c59b99401d036680aa",
      "tree": "92b2ea71d705652bcb3ec9435e86fcf9c06b5757",
      "parents": [
        "cd6c7ea234dc8a8607283e056d8010b2bd3c6369"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "nobuhiro.iwamatsu.zh@hitachi.com",
        "time": "Thu Mar 29 00:07:35 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:55 2007 +0000"
      },
      "message": "sh: SH7780 Solution Engine board support.\n\nThis adds support for the SH7780-based Solution Engine reference board.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003cnobuhiro.iwamatsu.zh@hitachi.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "0264f1603904dbee3196abc748a53fb0b23b8046",
      "tree": "43678111c8404b9b957c79ed4d1168f4d40939e1",
      "parents": [
        "652b9672cfc4000382f0f3f41907d9d32e5bd327"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Mar 28 23:36:03 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:11:55 2007 +0000"
      },
      "message": "sh: Tidy up L-BOX area5 addresses.\n\nL-BOX can use the normal PA_AREA5_IO, there\u0027s no reason for it to\nreproduce it.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "01066625e9ae39742c92e21163f7f2a818e02762",
      "tree": "c5b8a2a2c9de29ed13094891fce2b7f5769ffca7",
      "parents": [
        "759ab068c4d4216c4ad247bfa851601dfb6500dc"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Mar 28 16:38:13 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:10:54 2007 +0000"
      },
      "message": "sh: bootmem tidying for discontig/sparsemem preparation.\n\nThis reworks some of the node 0 bootmem initialization in\npreparation for discontigmem and sparsemem support.\n\nARCH_POPULATES_NODE_MAP is switched to as a result of this.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9465a54fa4a9da628091c372baa84120f8304587",
      "tree": "ef34abf9debce228b0985e0fb783ca46939e626a",
      "parents": [
        "c86c5a910451dd5a30e62a9e36d8e9b3c7a0c1d1"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "iwamatsu@nigauri.org",
        "time": "Tue Mar 27 18:13:51 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:10:54 2007 +0000"
      },
      "message": "sh: MS7712SE01 board support.\n\nSupport the SH7712 (SH3-DSP) Solution Engine reference board.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003ciwamatsu@nigauri.org\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "c86c5a910451dd5a30e62a9e36d8e9b3c7a0c1d1",
      "tree": "69acbb65e61a8895dfdebfd70dc58f5d8d9dbe38",
      "parents": [
        "00e8c494a1603eac0a2cae9836e624a752ad45b1"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "iwamatsu@nigauri.org",
        "time": "Mon Mar 26 14:27:43 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:10:54 2007 +0000"
      },
      "message": "sh: L-BOX RE2 support.\n\nThis adds support for the L-BOX RE2 router.\n\n\thttp://www.nttcom.co.jp/l-box/\n\nL-BOX RE2 is a SH7751R-based router. It has CF, Cardbus, serial,\nand LAN x2. This is one of the very few SH boards that a general\nperson can obtain now.\n\nThe L-BOX shipped with a 2.4.28 kernel, this is a rewritten patch\nadding it to current git.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003ciwamatsu@nigauri.org\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "32351a28a7e1f2c68afbe559dd35e1ad0301be6d",
      "tree": "289c28c605da6876125fa2105d880860b88b5017",
      "parents": [
        "be782df54c51b50dd4dbc363a5a5afa04565fc60"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Mar 12 14:38:59 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:10:53 2007 +0000"
      },
      "message": "sh: Add SH7785 Highlander board support (R7785RP).\n\nThis adds preliminary support for the SH7785-based Highlander board.\nSome of the Highlander support code is reordered so that most of it\ncan be reused directly.\n\nThis also plugs in missing SH7785 checks in the places that need it,\nas this is the first board to support the CPU.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "be782df54c51b50dd4dbc363a5a5afa04565fc60",
      "tree": "be45290a6d46e8746b5b9b51c1c3b804c6816177",
      "parents": [
        "fa69151173b1fc6fa3ced0edd5c2ea83b5d32bc1"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Mar 12 14:09:35 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:10:53 2007 +0000"
      },
      "message": "sh: NR_IRQS consolidation.\n\nEach board sets the total number of IRQs that it\u0027s interested in via\nthe machvec. Previously we cared about the off vs on-chip IRQ range,\nbut any code relying on that is long dead. Set NR_IRQS to something\nsensible given the vector range, and allow boards to cap it if they\nreally care.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "fa69151173b1fc6fa3ced0edd5c2ea83b5d32bc1",
      "tree": "e7af97ccddc06d54dd6d6982a64cbf4982693379",
      "parents": [
        "45ed285b54930767937deb0eaf718b1d08c3c475"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Mar 08 19:41:21 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:10:53 2007 +0000"
      },
      "message": "sh: generic BUG() support.\n\nWire up GENERIC_BUG for SH. This moves off of the special bug\nframe and on to the generic struct bug_entry. Roughly the same\nsemantics are retained, and we can kill off some of the verbose\nBUG() reporting code.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "fa5da2f7bdcf885efe65a37df13907c7d72296f6",
      "tree": "54104d5f660a1ec824505b28540eb2c5e4be390a",
      "parents": [
        "15700770ef7c5d12e2f1659d2ddbeb3f658d9f37"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Mar 08 17:27:37 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@hera.kernel.org",
        "time": "Mon May 07 02:10:51 2007 +0000"
      },
      "message": "sh: Bring kgdb back from the dead.\n\nThis code has suffered quite a bit of bitrot, do some basic\ntidying to get it to a reasonably functional state again.\nThis gets the basic support and the console working again.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "85f3f1b3f7a6197b51a2ab98d927517df730214c",
      "tree": "198465d6798b5483be2540fb6e1c0badc96d9265",
      "parents": [
        "0e4ac9d93515b27fd7635332d73eae3192ed5d4e"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Nov 28 16:27:06 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: pass cookie in nlmsvc_testlock\n\nChange NLM internal interface to pass more information for test lock; we\nneed this to make sure the cookie information is pushed down to the place\nwhere we do request deferral, which is handled for testlock by the\nfollowing patch.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2b36f412ab6f2e5b64af9832b20eb7ef67d025b4",
      "tree": "b4a561cc944d25d96798f97d06bd78760db7afba",
      "parents": [
        "2beb6614f5e36c6165b704c167d82ef3e4ceaa0c"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Nov 28 16:26:47 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: save lock state on deferral\n\nWe need to keep some state for a pending asynchronous lock request, so this\npatch adds that state to struct nlm_block.\n\nThis also adds a function which defers the request, by calling\nrqstp-\u003erq_chandle.defer and storing the resulting deferred request in a\nnlm_block structure which we insert into lockd\u0027s global block list.  That\nnew function isn\u0027t called yet, so it\u0027s dead code until a later patch.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2beb6614f5e36c6165b704c167d82ef3e4ceaa0c",
      "tree": "7c5c1277f139c754d7b73a1822016574de655bd6",
      "parents": [
        "fd85b8170dabbf021987875ef7f903791f4f181e"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Dec 05 23:31:28 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:49 2007 -0400"
      },
      "message": "locks: add fl_grant callback for asynchronous lock return\n\nAcquiring a lock on a cluster filesystem may require communication with\nremote hosts, and to avoid blocking lockd or nfsd threads during such\ncommunication, we allow the results to be returned asynchronously.\n\nWhen a -\u003elock() call needs to block, the file system will return\n-EINPROGRESS, and then later return the results with a call to the\nroutine in the fl_grant field of the lock_manager_operations struct.\n\nThis differs from the case when -\u003elock returns -EAGAIN to a blocking\nlock request; in that case, the filesystem calls fl_notify when the lock\nis granted, and the caller retries the original lock.  So while\nfl_notify is merely a hint to the caller that it should retry, fl_grant\nactually communicates the final result of the lock operation (with the\nlock already acquired in the succesful case).\n\nTherefore fl_grant takes a lock, a status and, for the test lock case, a\nconflicting lock.  We also allow fl_grant to return an error to the\nfilesystem, to handle the case where the fl_grant requests arrives after\nthe lock manager has already given up waiting for it.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9b9d2ab4154a42ea4a119f7d3e4e0288bfe0bb79",
      "tree": "62af6b2eff0885c26aa2af4b01890cc02cf0b2f0",
      "parents": [
        "150b393456e5a23513cace286a019e87151e47f0"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Thu Jan 18 17:52:58 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:28 2007 -0400"
      },
      "message": "locks: add lock cancel command\n\nLock managers need to be able to cancel pending lock requests.  In the case\nwhere the exported filesystem manages its own locks, it\u0027s not sufficient just\nto call posix_unblock_lock(); we need to let the filesystem know what\u0027s\nhappening too.\n\nWe do this by adding a new fcntl lock command: FL_CANCELLK.  Some day this\nmight also be made available to userspace applications that could benefit from\nan asynchronous locking api.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "150b393456e5a23513cace286a019e87151e47f0",
      "tree": "91599ec9b759f7e3c5defcb8dd361acd7288154c",
      "parents": [
        "7723ec9777d9832849b76475b1a21a2872a40d20"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Thu Jan 18 16:15:35 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 19:23:24 2007 -0400"
      },
      "message": "locks: allow {vfs,posix}_lock_file to return conflicting lock\n\nThe nfsv4 protocol\u0027s lock operation, in the case of a conflict, returns\ninformation about the conflicting lock.\n\nIt\u0027s unclear how clients can use this, so for now we\u0027re not going so far as to\nadd a filesystem method that can return a conflicting lock, but we may as well\nreturn something in the local case when it\u0027s easy to.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7723ec9777d9832849b76475b1a21a2872a40d20",
      "tree": "af712e690d1de0a2e693830f6e056455c1725a92",
      "parents": [
        "3ee17abd14c728d4e0ca7a991c58f2250cb091af"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Thu Jan 18 15:08:55 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 18:08:49 2007 -0400"
      },
      "message": "locks: factor out generic/filesystem switch from setlock code\n\nFactor out the code that switches between generic and filesystem-specific lock\nmethods; eventually we want to call this from lock managers (lockd and nfsd)\ntoo; currently they only call the generic methods.\n\nThis patch does that for all the setlk code.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3ee17abd14c728d4e0ca7a991c58f2250cb091af",
      "tree": "6f49a9893dc656fac4d5a334946ccbf4e911891f",
      "parents": [
        "9d6a8c5c213e34c475e72b245a8eb709258e968c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 21 00:58:50 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 18:06:44 2007 -0400"
      },
      "message": "locks: factor out generic/filesystem switch from test_lock\n\nFactor out the code that switches between generic and filesystem-specific lock\nmethods; eventually we want to call this from lock managers (lockd and nfsd)\ntoo; currently they only call the generic methods.\n\nThis patch does that for test_lock.\n\nNote that this hasn\u0027t been necessary until recently, because the few\nfilesystems that define -\u003elock() (nfs, cifs...) aren\u0027t exportable via NFS.\nHowever GFS (and, in the future, other cluster filesystems) need to implement\ntheir own locking to get cluster-coherent locking, and also want to be able to\nexport locking to NFS (lockd and NFSv4).\n\nSo we accomplish this by factoring out code such as this and exporting it for\nthe use of lockd and nfsd.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9d6a8c5c213e34c475e72b245a8eb709258e968c",
      "tree": "96110535c2bd9485129c0753a9e0f012083b220f",
      "parents": [
        "70cc6487a4e08b8698c0e2ec935fb48d10490162"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Wed Feb 21 00:55:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 17:39:00 2007 -0400"
      },
      "message": "locks: give posix_test_lock same interface as -\u003elock\n\nposix_test_lock() and -\u003elock() do the same job but have gratuitously\ndifferent interfaces.  Modify posix_test_lock() so the two agree,\nsimplifying some code in the process.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "15700770ef7c5d12e2f1659d2ddbeb3f658d9f37",
      "tree": "7fa2f81c33c9efcb1a1568385beead75c5892cfb",
      "parents": [
        "6de410c2b0cc055ae9ee640c84331f6a70878d9b",
        "11de39e2fbbc592018e0a231d0ee773653dcc8d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:57 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)\n  kconfig: fix mconf segmentation fault\n  kbuild: enable use of code from a different dir\n  kconfig: error out if recursive dependencies are found\n  kbuild: scripts/basic/fixdep segfault on pathological string-o-death\n  kconfig: correct minor typo in Kconfig warning message.\n  kconfig: fix path to modules.txt in Kconfig help\n  usr/Kconfig: fix typo\n  kernel-doc: alphabetically-sorted entries in index.html of \u0027htmldocs\u0027\n  kbuild: be more explicit on missing .config file\n  kbuild: clarify the creation of the LOCALVERSION_AUTO string.\n  kbuild: propagate errors from find in scripts/gen_initramfs_list.sh\n  kconfig: refer to qt3 if we cannot find qt libraries\n  kbuild: handle compressed cpio initramfs-es\n  kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text\n  kbuild: remove stale comment in modpost.c\n  kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE\n  kbuild: fix make mrproper for Documentation/DocBook/man\n  kbuild: remove kconfig binaries during make mrproper\n  kconfig/menuconfig: do not hardcode \u0027.config\u0027\n  kbuild: override build timestamp \u0026 version\n  ...\n"
    },
    {
      "commit": "6de410c2b0cc055ae9ee640c84331f6a70878d9b",
      "tree": "49dfc7df2f1977c2d665c99266ded92afc98734b",
      "parents": [
        "c6799ade4ae04b53a5f677e5289116155ff01574",
        "2ff81f70b56dc1cdd3bf2f08414608069db6ef1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:18 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (66 commits)\n  KVM: Remove unused \u0027instruction_length\u0027\n  KVM: Don\u0027t require explicit indication of completion of mmio or pio\n  KVM: Remove extraneous guest entry on mmio read\n  KVM: SVM: Only save/restore MSRs when needed\n  KVM: fix an if() condition\n  KVM: VMX: Add lazy FPU support for VT\n  KVM: VMX: Properly shadow the CR0 register in the vcpu struct\n  KVM: Don\u0027t complain about cpu erratum AA15\n  KVM: Lazy FPU support for SVM\n  KVM: Allow passing 64-bit values to the emulated read/write API\n  KVM: Per-vcpu statistics\n  KVM: VMX: Avoid unnecessary vcpu_load()/vcpu_put() cycles\n  KVM: MMU: Avoid heavy ASSERT at non debug mode.\n  KVM: VMX: Only save/restore MSR_K6_STAR if necessary\n  KVM: Fold drivers/kvm/kvm_vmx.h into drivers/kvm/vmx.c\n  KVM: VMX: Don\u0027t switch 64-bit msrs for 32-bit guests\n  KVM: VMX: Reduce unnecessary saving of host msrs\n  KVM: Handle guest page faults when emulating mmio\n  KVM: SVM: Report hardware exit reason to userspace instead of dmesg\n  KVM: Retry sleeping allocation if atomic allocation fails\n  ...\n"
    },
    {
      "commit": "c6799ade4ae04b53a5f677e5289116155ff01574",
      "tree": "3601b5e2387e39d62c207e4268c6cc5c68f2a364",
      "parents": [
        "b7405e16435f710edfae6ba32bef4ca20d3de145",
        "5cd47155155a32e5b944ac9fc3f3dc578e429aa0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:20:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:20:10 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits)\n  [ARM] Add comments marking in-use ptrace numbers\n  [ARM] Move syscall saving out of the way of utrace\n  [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro\n  [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header\n  [ARM] mm 10: allow memory type to be specified with ioremap\n  [ARM] mm 9: add additional device memory types\n  [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6\n  [ARM] iop: add missing parens in macro\n  [ARM] mm 7: remove duplicated __ioremap() prototypes\n  ARM: OMAP: fix OMAP1 mpuio suspend/resume oops\n  ARM: OMAP: MPUIO wake updates\n  ARM: OMAP: speed up gpio irq handling\n  ARM: OMAP: plat-omap changes for 2430 SDP\n  ARM: OMAP: gpio object shrinkage, cleanup\n  ARM: OMAP: /sys/kernel/debug/omap_gpio\n  ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon\n  ARM: OMAP: Enable 24xx GPIO autoidling\n  [ARM] 4318/2: DSM-G600 Board Support\n  [ARM] 4227/1: minor head.S fixups\n  [ARM] 4328/1: Move i.MX UART regs to driver\n  ...\n"
    },
    {
      "commit": "5cd47155155a32e5b944ac9fc3f3dc578e429aa0",
      "tree": "ea05bfdbae04eb5ffbafa2c58fc68897a3f541d6",
      "parents": [
        "6f95416ebe81b3ad63884538555efb81cb05749f",
        "28bd3a0dcce11bea6f99a351cc64053dff00196e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 20:58:29 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 20:58:29 2007 +0100"
      },
      "message": "Merge branch \u0027ixp4xx\u0027 into devel\n\nConflicts:\n\n\tinclude/asm-arm/arch-ixp4xx/io.h\n"
    },
    {
      "commit": "6f95416ebe81b3ad63884538555efb81cb05749f",
      "tree": "6efca0c5050f2cc3ae4c13a931cf4e7a7afb5492",
      "parents": [
        "3603ab2b62ad8372fc93816b080b370dd55d7cec",
        "93afa75230f5969d559386e52819f54bb1182327",
        "075192ae807579448afcc0833bd349ccce057825",
        "ff4bfb2163e8914332267be3758eb28239460316",
        "ad902cb9e29a4d6ff155f682ae79d8d8b2b73a9b",
        "1b11652286a06988f721b506b094d026e8892e2c",
        "fe7fdb80e9e576e181b189d0fae62d35cb30fe4d",
        "13ea55b04eaafb60cd7df759c8d92566d1f19351",
        "fcf126d847c41461d4f034b11541296f3e15d0b2",
        "7053acbd78336abf5d4bc3d8a875a03624cfb83f",
        "5559bca8e66f968192a5416d953c88cc3389cb22",
        "d0fdb5a58e17cf788c76a52a53174dbc8fb58ee9",
        "d0a9d75b9cd9cc8097c746611cc57cc8438b94be"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 20:57:51 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 20:57:51 2007 +0100"
      },
      "message": "Merge branches \u0027arm-mm\u0027, \u0027at91\u0027, \u0027clkevts\u0027, \u0027imx\u0027, \u0027iop\u0027, \u0027misc\u0027, \u0027netx\u0027, \u0027ns9xxx\u0027, \u0027omap\u0027, \u0027pxa\u0027, \u0027rpc\u0027, \u0027s3c\u0027 and \u0027sa1100\u0027 into devel\n"
    },
    {
      "commit": "1b11652286a06988f721b506b094d026e8892e2c",
      "tree": "0b6e1dd48767ef8ba392d2f98bd70b52099efa8b",
      "parents": [
        "5ba6d3febd4978f31b2c523d64d381603923a709"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 14:49:56 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 14:49:56 2007 +0100"
      },
      "message": "[ARM] Add comments marking in-use ptrace numbers\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "5ba6d3febd4978f31b2c523d64d381603923a709",
      "tree": "74701df63fb8bcea5305681711c1a2338b7ddc69",
      "parents": [
        "40435792525c49cf126ba92d223e877acb5ce021"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 13:56:26 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 13:56:26 2007 +0100"
      },
      "message": "[ARM] Move syscall saving out of the way of utrace\n\nutrace removes the ptrace_message field in task_struct.  Move our use\nof this field into a new member in thread_info called \"syscall\"\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "ea62ccd00fd0b6720b033adfc9984f31130ce195",
      "tree": "9837b797b2466fffcb0af96c388b06eae9c3df18",
      "parents": [
        "886a0768affe9a32f18c45f8e1393bca9ece5392",
        "35060b6a9a4e1c89bc6fbea61090e302dbc61847"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:55:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:55:20 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (231 commits)\n  [PATCH] i386: Don\u0027t delete cpu_devs data to identify different x86 types in late_initcall\n  [PATCH] i386: type may be unused\n  [PATCH] i386: Some additional chipset register values validation.\n  [PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split.\n  [PATCH] x86-64: Don\u0027t exclude asm-offsets.c in Documentation/dontdiff\n  [PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu\n  [PATCH] i386: white space fixes in i387.h\n  [PATCH] i386: Drop noisy e820 debugging printks\n  [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c\n  [PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems\n  [PATCH] x86-64: Share identical video.S between i386 and x86-64\n  [PATCH] x86-64: Remove CONFIG_REORDER\n  [PATCH] x86-64: Print type and size correctly for unknown compat ioctls\n  [PATCH] i386: Remove copy_*_user BUG_ONs for (size \u003c 0)\n  [PATCH] i386: Little cleanups in smpboot.c\n  [PATCH] x86-64: Don\u0027t enable NUMA for a single node in K8 NUMA scanning\n  [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible\n  [PATCH] i386: Add X86_FEATURE_RDTSCP\n  [PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386\n  [PATCH] i386: Implement alternative_io for i386\n  ...\n\nFix up trivial conflict in include/linux/highmem.h manually.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "989485c190cc6a64e5a21d98ef2d752df1db8c27",
      "tree": "da2f2cb977df552d20784f71bfbfa342908ab9da",
      "parents": [
        "68762f3d8e7ea644fae1f490f9850ebf462548bd"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat May 05 22:05:11 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:15:32 2007 -0700"
      },
      "message": "Fix nfsroot build\n\n  CC      fs/nfs/nfsroot.o\nfs/nfs/nfsroot.c:131: error: tokens causes a section type conflict\nmake[2]: *** [fs/nfs/nfsroot.o] Error 1\n\nThis is due to mixing const and non-const content in the same section\nwhich halfway recent gccs absolutely hate.  Fixed by dropping the const.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68762f3d8e7ea644fae1f490f9850ebf462548bd",
      "tree": "81be52e9ba33fc4d8aa5f569aaab77b5a34e09ab",
      "parents": [
        "4f7a307dc6e4d8bfeb56f7cf7231b08cb845687c",
        "7544b0972c1fc1a0e6c54baa1f44c81019743daa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:13:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:13:36 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [TG3]: Add TG3_FLAG_SUPPORT_MSI flag.\n  [TG3]: Eliminate the TG3_FLAG_5701_REG_WRITE_BUG flag.\n  [TG3]: Eliminate the TG3_FLAG_GOT_SERDES_FLOWCTL flag.\n  [TG3]: Remove reset during MAC address changes.\n  [TG3]: WoL fixes.\n  [TG3]: Clear GPIO mask before storing.\n  [TG3]: Improve NVRAM sizing.\n  [TG3]: Fix TSO bugs.\n  [MAC80211]: Add maintainers entry for mac80211.\n  [MAC80211]: Add debugfs attributes.\n  [MAC80211]: Add mac80211 wireless stack.\n  [MAC80211]: Add generic include/linux/ieee80211.h\n  [NETLINK]: Remove references to process ID\n  [AF_IUCV]: Compile fix - adopt to skbuff changes.\n"
    },
    {
      "commit": "4f7a307dc6e4d8bfeb56f7cf7231b08cb845687c",
      "tree": "3bf90522c87fcb32373cb2a5ff25b1ead33405f5",
      "parents": [
        "fabb5c4e4a474ff0f7d6c1d3466a1b79bbce5f49",
        "7297824581755593535fc97d2c8b6c47e2dc2db6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:44 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (87 commits)\n  [SCSI] fusion: fix domain validation loops\n  [SCSI] qla2xxx: fix regression on sparc64\n  [SCSI] modalias for scsi devices\n  [SCSI] sg: cap reserved_size values at max_sectors\n  [SCSI] BusLogic: stop using check_region\n  [SCSI] tgt: fix rdma transfer bugs\n  [SCSI] aacraid: fix aacraid not finding device\n  [SCSI] aacraid: Correct SMC products in aacraid.txt\n  [SCSI] scsi_error.c: Add EH Start Unit retry\n  [SCSI] aacraid: [Fastboot] Panics for AACRAID driver during \u0027insmod\u0027 for kexec test.\n  [SCSI] ipr: Driver version to 2.3.2\n  [SCSI] ipr: Faster sg list fetch\n  [SCSI] ipr: Return better qc_issue errors\n  [SCSI] ipr: Disrupt device error\n  [SCSI] ipr: Improve async error logging level control\n  [SCSI] ipr: PCI unblock config access fix\n  [SCSI] ipr: Fix for oops following SATA request sense\n  [SCSI] ipr: Log error for SAS dual path switch\n  [SCSI] ipr: Enable logging of debug error data for all devices\n  [SCSI] ipr: Add new PCI-E IDs to device table\n  ...\n"
    },
    {
      "commit": "fabb5c4e4a474ff0f7d6c1d3466a1b79bbce5f49",
      "tree": "c77845e116145fe4e5f172c39f4da2f87b8476ce",
      "parents": [
        "aa12b2842aba8cc367a2e1ddb5c6ae4fd8ddb1da",
        "d6444514b89098284099c17b9f168ef6236d3e8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:23 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6:\n  [VOYAGER] add smp alternatives\n  [VOYAGER] Use modern techniques to setup and teardown low identiy mappings.\n  [VOYAGER] Convert the monitor thread to use the kthread API\n  [VOYAGER] clockevents driver: bring voyager in to line\n  [VOYAGER] clockevents: correct boot cpu is zero assumption\n  [VOYAGER] add smp_call_function_single\n"
    },
    {
      "commit": "d0fdb5a58e17cf788c76a52a53174dbc8fb58ee9",
      "tree": "023f1d1413b345515ccb3edd2bdcfc45896fd67f",
      "parents": [
        "c4b5bd4b101a8da1fb24a072adde276547462b43"
      ],
      "author": {
        "name": "Arnaud Patard",
        "email": "arnaud.patard@rtp-net.org",
        "time": "Sat May 05 15:55:09 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 05 21:09:42 2007 +0100"
      },
      "message": "[ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro\n\nThe S3C2410_UDC_SETIX() macro is not used and won\u0027t be used by the udc\ndriver, so delete it.\n\nSigned-off-by: Arnaud Patard \u003carnaud.patard@rtp-net.org\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e93df705af1992dbf5956a8c80fcb9987bc595c0",
      "tree": "62ceef1f46ecde9782d7ee3f26f0a0e108418b69",
      "parents": [
        "62ea6d80211ecc88ef516927ecebf64cb505be3f"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sat May 05 22:03:49 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:49 2007 +0200"
      },
      "message": "sl82c105: rework PIO support (take 2)\n\nGet rid of the \u0027pio_speed\u0027 member of \u0027ide_drive_t\u0027 that was only used by this\ndriver by storing the PIO mode timings in the \u0027drive_data\u0027 instead -- this\nallows us to greatly  simplify the process of \"reloading\" of the chip\u0027s timing\nregister and do it right in sl82c150_dma_off_quietly() and to get rid of two\nextra arguments to config_for_pio() -- which got renamed to sl82c105_tune_pio()\nand now returns a PIO mode selected, with ide_config_drive_speed() call moved\ninto the tuneproc() method, now called sl82c105_tune_drive() with the code to\nset drive\u0027s \u0027io_32bit\u0027 and \u0027unmask\u0027 flags in its turn moved to its proper place\nin the init_hwif() method.\nAlso, while at it, rename get_timing_sl82c105() into get_pio_timings() and get\nrid of the code in it clamping cycle counts to 32 which was both incorrect and\nnever executed anyway...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    }
  ],
  "next": "3603ab2b62ad8372fc93816b080b370dd55d7cec"
}
