)]}'
{
  "log": [
    {
      "commit": "b81a618dcd3ea99de292dbe624f41ca68f464376",
      "tree": "c5fbe44f944da9d7dc0c224116be77094d379c8a",
      "parents": [
        "2f284c846331fa44be1300a3c2c3e85800268a00",
        "a9712bc12c40c172e393f85a9b2ba8db4bf59509"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:51:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:51:42 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  deal with races in /proc/*/{syscall,stack,personality}\n  proc: enable writing to /proc/pid/mem\n  proc: make check_mem_permission() return an mm_struct on success\n  proc: hold cred_guard_mutex in check_mem_permission()\n  proc: disable mem_write after exec\n  mm: implement access_remote_vm\n  mm: factor out main logic of access_process_vm\n  mm: use mm_struct to resolve gate vma\u0027s in __get_user_pages\n  mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm\n  mm: arch: make in_gate_area take an mm_struct instead of a task_struct\n  mm: arch: make get_gate_vma take an mm_struct instead of a task_struct\n  x86: mark associated mm when running a task in 32 bit compatibility mode\n  x86: add context tag to mark mm when running a task in 32-bit compatibility mode\n  auxv: require the target to be tracable (or yourself)\n  close race in /proc/*/environ\n  report errors in /proc/*/*map* sanely\n  pagemap: close races with suid execve\n  make sessionid permissions in /proc/*/task/* match those in /proc/*\n  fix leaks in path_lookupat()\n\nFix up trivial conflicts in fs/proc/base.c\n"
    },
    {
      "commit": "2f284c846331fa44be1300a3c2c3e85800268a00",
      "tree": "be2704e6157613bd2cc2a278559a6c86a0b644f4",
      "parents": [
        "93a72052be81823fa1584b9be037d51924f9efa4",
        "6f82f4db80189281a8ac42f2e72396accb719b57"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:37:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:37:26 2011 -0700"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (35 commits)\n  ARM: Update (and cut down) mach-types\n  ARM: 6771/1: vexpress: add support for multiple core tiles\n  ARM: 6797/1: hw_breakpoint: Fix newlines in WARNings\n  ARM: 6751/1: vexpress: select applicable errata workarounds in Kconfig\n  ARM: 6753/1: omap4: Enable ARM local timers with OMAP4430 es1.0 exception\n  ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime\n  ARM: pgtable: add pud-level code\n  ARM: 6673/1: LPAE: use phys_addr_t instead of unsigned long for start of membanks\n  ARM: Use long long format when printing meminfo physical addresses\n  ARM: integrator: add Integrator/CP sched_clock support\n  ARM: realview/vexpress: consolidate SMP bringup code\n  ARM: realview/vexpress: consolidate localtimer support\n  ARM: integrator/versatile: consolidate FPGA IRQ handling code\n  ARM: rationalize versatile family Kconfig/Makefile\n  ARM: realview: remove old AMBA device DMA definitions\n  ARM: versatile: remove old AMBA device DMA definitions\n  ARM: vexpress: use new init_early for clock tree and sched_clock init\n  ARM: realview: use new init_early for clock tree and sched_clock init\n  ARM: versatile: use new init_early for clock tree and sched_clock init\n  ARM: integrator: use new init_early for clock tree init\n  ...\n"
    },
    {
      "commit": "93a72052be81823fa1584b9be037d51924f9efa4",
      "tree": "4f5c824c8fe3fb737e27b91bfd60c10d092dc3e9",
      "parents": [
        "8547727756a7322b99aa313ce50fe15d8f858872"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olaf@aepfle.de",
        "time": "Wed Mar 23 16:43:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:19 2011 -0700"
      },
      "message": "crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn\n\nThe Xen PV drivers in a crashed HVM guest can not connect to the dom0\nbackend drivers because both frontend and backend drivers are still in\nconnected state.  To run the connection reset function only in case of a\ncrashdump, the is_kdump_kernel() function needs to be available for the PV\ndriver modules.\n\nConsolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn into\nkernel/crash_dump.c Also export elfcorehdr_addr to make is_kdump_kernel()\nusable for modules.\n\nLeave \u0027elfcorehdr\u0027 as early_param().  This changes powerpc from __setup()\nto early_param().  It adds an address range check from x86 also on ia64\nand powerpc.\n\n[akpm@linux-foundation.org: additional #includes]\n[akpm@linux-foundation.org: remove elfcorehdr_addr export]\n[akpm@linux-foundation.org: fix for Tejun\u0027s mm/nobootmem.c changes]\nSigned-off-by: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e1496707560ecf98e9b0604622c0990f94861d3",
      "tree": "d1473b70fad31a903fedc87221680678a6c6c5f6",
      "parents": [
        "e795b71799ff0b27365020c9ddaa25d0d83f99c8"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:13 2011 -0700"
      },
      "message": "userns: rename is_owner_or_cap to inode_owner_or_capable\n\nAnd give it a kernel-doc comment.\n\n[akpm@linux-foundation.org: btrfs changed in linux-next]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e795b71799ff0b27365020c9ddaa25d0d83f99c8",
      "tree": "f3b628c2366f181380a8fbcd490910eb086a7b8e",
      "parents": [
        "b0e77598f87107001a00b8a4ece9c95e4254ccc4"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:08 2011 -0700"
      },
      "message": "userns: userns: check user namespace for task-\u003efile uid equivalence checks\n\nCheat for now and say all files belong to init_user_ns.  Next step will be\nto let superblocks belong to a user_ns, and derive inode_userns(inode)\nfrom inode-\u003ei_sb-\u003es_user_ns.  Finally we\u0027ll introduce more flexible\narrangements.\n\nChangelog:\n\tFeb 15: make is_owner_or_cap take const struct inode\n\tFeb 23: make is_owner_or_cap bool\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0e77598f87107001a00b8a4ece9c95e4254ccc4",
      "tree": "2738276570e4faa7c92a64521c192f04dca93801",
      "parents": [
        "b515498f5bb5f38fc0e390b4ff7d00b6077de127"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:08 2011 -0700"
      },
      "message": "userns: user namespaces: convert several capable() calls\n\nCAP_IPC_OWNER and CAP_IPC_LOCK can be checked against current_user_ns(),\nbecause the resource comes from current\u0027s own ipc namespace.\n\nsetuid/setgid are to uids in own namespace, so again checks can be against\ncurrent_user_ns().\n\nChangelog:\n\tJan 11: Use task_ns_capable() in place of sched_capable().\n\tJan 11: Use nsown_capable() as suggested by Bastian Blank.\n\tJan 11: Clarify (hopefully) some logic in futex and sched.c\n\tFeb 15: use ns_capable for ipc, not nsown_capable\n\tFeb 23: let copy_ipcs handle setting ipc_ns-\u003euser_ns\n\tFeb 23: pass ns down rather than taking it from current\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b515498f5bb5f38fc0e390b4ff7d00b6077de127",
      "tree": "b76dfc56415adee9aec5d8619124059ed3ab02a5",
      "parents": [
        "fc832ad3645f0507f24d11752544525a50a83c71"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:07 2011 -0700"
      },
      "message": "userns: add a user namespace owner of ipc ns\n\nChangelog:\n\tFeb 15: Don\u0027t set new ipc-\u003euser_ns if we didn\u0027t create a new\n\t\tipc_ns.\n\tFeb 23: Move extern declaration to ipc_namespace.h, and group\n\t\tfwd declarations at top.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3263245de48344ad7bdd0e7256bf1606d2592f88",
      "tree": "a6fa31305f5b6558d882b2dad29ed9a720167ee0",
      "parents": [
        "8409cca7056113bee3236cb6a8e4d8d4d1eef102"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge.hallyn@canonical.com",
        "time": "Wed Mar 23 16:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:06 2011 -0700"
      },
      "message": "userns: make has_capability* into real functions\n\nSo we can let type safety keep things sane, and as a bonus we can remove\nthe declaration of init_user_ns in capability.h.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8409cca7056113bee3236cb6a8e4d8d4d1eef102",
      "tree": "d9f1ced0d47070fcdf8b399021f33770c150b1ec",
      "parents": [
        "39fd33933b0209e4b6254743f2cede07c5ad4c52"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:05 2011 -0700"
      },
      "message": "userns: allow ptrace from non-init user namespaces\n\nptrace is allowed to tasks in the same user namespace according to the\nusual rules (i.e.  the same rules as for two tasks in the init user\nnamespace).  ptrace is also allowed to a user namespace to which the\ncurrent task the has CAP_SYS_PTRACE capability.\n\nChangelog:\n\tDec 31: Address feedback by Eric:\n\t\t. Correct ptrace uid check\n\t\t. Rename may_ptrace_ns to ptrace_capable\n\t\t. Also fix the cap_ptrace checks.\n\tJan  1: Use const cred struct\n\tJan 11: use task_ns_capable() in place of ptrace_capable().\n\tFeb 23: same_or_ancestore_user_ns() was not an appropriate\n\t\tcheck to constrain cap_issubset.  Rather, cap_issubset()\n\t\tonly is meaningful when both capsets are in the same\n\t\tuser_ns.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb96a6f50be27390dc959ff67d9ea0ea0cfbe177",
      "tree": "478253434235baeb1e4760a25c0a0f01293fbb8a",
      "parents": [
        "3486740a4f32a6a466f5ac931654d154790ba648"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:03 2011 -0700"
      },
      "message": "userns: allow sethostname in a container\n\nChangelog:\n\tFeb 23: let clone_uts_ns() handle setting uts-\u003euser_ns\n\t\tTo do so we need to pass in the task_struct who\u0027ll\n\t\tget the utsname, so we can get its user_ns.\n\tFeb 23: As per Oleg\u0027s coment, just pass in tsk, instead of two\n\t\tof its members.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3486740a4f32a6a466f5ac931654d154790ba648",
      "tree": "ac5d968a66057fa84933b8f89fd3e916270dffed",
      "parents": [
        "59607db367c57f515183cb203642291bb14d9c40"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:02 2011 -0700"
      },
      "message": "userns: security: make capabilities relative to the user namespace\n\n- Introduce ns_capable to test for a capability in a non-default\n  user namespace.\n- Teach cap_capable to handle capabilities in a non-default\n  user namespace.\n\nThe motivation is to get to the unprivileged creation of new\nnamespaces.  It looks like this gets us 90% of the way there, with\nonly potential uid confusion issues left.\n\nI still need to handle getting all caps after creation but otherwise I\nthink I have a good starter patch that achieves all of your goals.\n\nChangelog:\n\t11/05/2010: [serge] add apparmor\n\t12/14/2010: [serge] fix capabilities to created user namespaces\n\tWithout this, if user serge creates a user_ns, he won\u0027t have\n\tcapabilities to the user_ns he created.  THis is because we\n\twere first checking whether his effective caps had the caps\n\the needed and returning -EPERM if not, and THEN checking whether\n\the was the creator.  Reverse those checks.\n\t12/16/2010: [serge] security_real_capable needs ns argument in !security case\n\t01/11/2011: [serge] add task_ns_capable helper\n\t01/11/2011: [serge] add nsown_capable() helper per Bastian Blank suggestion\n\t02/16/2011: [serge] fix a logic bug: the root user is always creator of\n\t\t    init_user_ns, but should not always have capabilities to\n\t\t    it!  Fix the check in cap_capable().\n\t02/21/2011: Add the required user_ns parameter to security_capable,\n\t\t    fixing a compile failure.\n\t02/23/2011: Convert some macros to functions as per akpm comments.  Some\n\t\t    couldn\u0027t be converted because we can\u0027t easily forward-declare\n\t\t    them (they are inline if !SECURITY, extern if SECURITY).  Add\n\t\t    a current_user_ns function so we can use it in capability.h\n\t\t    without #including cred.h.  Move all forward declarations\n\t\t    together to the top of the #ifdef __KERNEL__ section, and use\n\t\t    kernel-doc format.\n\t02/23/2011: Per dhowells, clean up comment in cap_capable().\n\t02/23/2011: Per akpm, remove unreachable \u0027return -EPERM\u0027 in cap_capable.\n\n(Original written and signed off by Eric;  latest, modified version\nacked by him)\n\n[akpm@linux-foundation.org: fix build]\n[akpm@linux-foundation.org: export current_user_ns() for ecryptfs]\n[serge.hallyn@canonical.com: remove unneeded extra argument in selinux\u0027s task_has_capability]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59607db367c57f515183cb203642291bb14d9c40",
      "tree": "9097cfc3a72820c5624de6a24c9fa9cf28b6cb35",
      "parents": [
        "52e9fc76d0d4b1e8adeee736172c6c23180059b2"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:59 2011 -0700"
      },
      "message": "userns: add a user_namespace as creator/owner of uts_namespace\n\nThe expected course of development for user namespaces targeted\ncapabilities is laid out at https://wiki.ubuntu.com/UserNamespace.\n\nGoals:\n\n- Make it safe for an unprivileged user to unshare namespaces.  They\n  will be privileged with respect to the new namespace, but this should\n  only include resources which the unprivileged user already owns.\n\n- Provide separate limits and accounting for userids in different\n  namespaces.\n\nStatus:\n\n  Currently (as of 2.6.38) you can clone with the CLONE_NEWUSER flag to\n  get a new user namespace if you have the CAP_SYS_ADMIN, CAP_SETUID, and\n  CAP_SETGID capabilities.  What this gets you is a whole new set of\n  userids, meaning that user 500 will have a different \u0027struct user\u0027 in\n  your namespace than in other namespaces.  So any accounting information\n  stored in struct user will be unique to your namespace.\n\n  However, throughout the kernel there are checks which\n\n  - simply check for a capability.  Since root in a child namespace\n    has all capabilities, this means that a child namespace is not\n    constrained.\n\n  - simply compare uid1 \u003d\u003d uid2.  Since these are the integer uids,\n    uid 500 in namespace 1 will be said to be equal to uid 500 in\n    namespace 2.\n\n  As a result, the lxc implementation at lxc.sf.net does not use user\n  namespaces.  This is actually helpful because it leaves us free to\n  develop user namespaces in such a way that, for some time, user\n  namespaces may be unuseful.\n\nBugs aside, this patchset is supposed to not at all affect systems which\nare not actively using user namespaces, and only restrict what tasks in\nchild user namespace can do.  They begin to limit privilege to a user\nnamespace, so that root in a container cannot kill or ptrace tasks in the\nparent user namespace, and can only get world access rights to files.\nSince all files currently belong to the initila user namespace, that means\nthat child user namespaces can only get world access rights to *all*\nfiles.  While this temporarily makes user namespaces bad for system\ncontainers, it starts to get useful for some sandboxing.\n\nI\u0027ve run the \u0027runltplite.sh\u0027 with and without this patchset and found no\ndifference.\n\nThis patch:\n\ncopy_process() handles CLONE_NEWUSER before the rest of the namespaces.\nSo in the case of clone(CLONE_NEWUSER|CLONE_NEWUTS) the new uts namespace\nwill have the new user namespace as its owner.  That is what we want,\nsince we want root in that new userns to be able to have privilege over\nit.\n\nChangelog:\n\tFeb 15: don\u0027t set uts_ns-\u003euser_ns if we didn\u0027t create\n\t\ta new uts_ns.\n\tFeb 23: Move extern init_user_ns declaration from\n\t\tinit/version.c to utsname.h.\n\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45a68628d37222e655219febce9e91b6484789b2",
      "tree": "6acb5c45e8b11022358a1c28691c9b2c75a7df91",
      "parents": [
        "bfdc0b497faa82a0ba2f9dddcf109231dd519fcc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Mar 23 16:43:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:57 2011 -0700"
      },
      "message": "pid: remove the child_reaper special case in init/main.c\n\nThis patchset is a cleanup and a preparation to unshare the pid namespace.\nThese prerequisites prepare for Eric\u0027s patchset to give a file descriptor\nto a namespace and join an existing namespace.\n\nThis patch:\n\nIt turns out that the existing assignment in copy_process of the\nchild_reaper can handle the initial assignment of child_reaper we just\nneed to generalize the test in kernel/fork.c\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "569fccb6b48878d654310e1ffaf9a5a6e46b3144",
      "tree": "20e6ded48adf7b36e9cfe71b8a0ed3721b977669",
      "parents": [
        "2f809985d2cbc78078b8da1cbed1f1ce1f4a0d5f"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:43 2011 -0700"
      },
      "message": "rapidio: modify mport ID assignment\n\nChanges mport ID and host destination ID assignment to implement unified\nmethod common to all mport drivers.  Makes \"riohdid\u003d\" kernel command line\nparameter common for all architectures with support for more that one host\ndestination ID assignment.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f809985d2cbc78078b8da1cbed1f1ce1f4a0d5f",
      "tree": "6ce67e43f25700ca08f84e4a87b74c0be0d7ee7f",
      "parents": [
        "388b78adc9899f0299128610f566051d0b1a57f6"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:42 2011 -0700"
      },
      "message": "rapidio: modify subsystem and driver initialization sequence\n\nSubsystem initialization sequence modified to support presence of multiple\nRapidIO controllers in the system.  The new sequence is compatible with\ninitialization of PCI devices.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8f0626989c85b3d8bd67eff29d9dd3d14a5e71f",
      "tree": "1132c3ca38b6f68c00864df0ded229c45230d4c5",
      "parents": [
        "e15b4d687f3015aa7953687e5a80f1cc4ba9b736"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:41 2011 -0700"
      },
      "message": "rapidio: add architecture specific callbacks\n\nThis set of patches eliminates RapidIO dependency on PowerPC architecture\nand makes it available to other architectures (x86 and MIPS).  It also\nenables support of new platform independent RapidIO controllers such as\nPCI-to-SRIO and PCI Express-to-SRIO.\n\nThis patch:\n\nExtend number of mport callback functions to eliminate direct linking of\narchitecture specific mport operations.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "312ec7e50c4d3f40b3762af651d1aa79a67f556a",
      "tree": "98112d9c80aacd011e313268b5f5d8caf5b5b727",
      "parents": [
        "fc3d8767b2b6de955579852d7a150f1734265eaf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Mar 23 16:42:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:37 2011 -0700"
      },
      "message": "proc: make struct proc_dir_entry::namelen unsigned int\n\n1. namelen is declared \"unsigned short\" which hints for \"maybe space savings\".\n   Indeed in 2.4 struct proc_dir_entry looked like:\n\n        struct proc_dir_entry {\n                unsigned short low_ino;\n                unsigned short namelen;\n\n   Now, low_ino is \"unsigned int\", all savings were gone for a long time.\n   \"struct proc_dir_entry\" is not that countless to worry about it\u0027s size,\n   anyway.\n\n2. converting from unsigned short to int/unsigned int can only create\n   problems, we better play it safe.\n\nSpace is not really conserved, because of natural alignment for the next\nfield.  sizeof(struct proc_dir_entry) remains the same.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ffd4ca7a2cdd7a18f0b499a4e9e0e7cf36ba018",
      "tree": "1a2678ce91b9dfb2118d19e0ec457ca5582793f9",
      "parents": [
        "11c9ea4e80fc3be83485667204c68d0a732f3757"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:30 2011 -0700"
      },
      "message": "memcg: convert uncharge batching from bytes to page granularity\n\nWe never uncharge subpage quantities.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.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": "6b3ae58efca06623c197fd6d91ded4aa3a8fe039",
      "tree": "6460e4e1ce206d391b862a3d398a9e22e33ecb3c",
      "parents": [
        "5564e88ba6fd2f6dcd83a592771810cd84b5ae80"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:28 2011 -0700"
      },
      "message": "memcg: remove direct page_cgroup-to-page pointer\n\nIn struct page_cgroup, we have a full word for flags but only a few are\nreserved.  Use the remaining upper bits to encode, depending on\nconfiguration, the node or the section, to enable page_cgroup-to-page\nlookups without a direct pointer.\n\nThis saves a full word for every page in a system with memory cgroups\nenabled.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de3638d9cdc89ac899225996b8dcedbcbc53bdd2",
      "tree": "86293e32728fdd5696cd321bc65aec09c89d17f3",
      "parents": [
        "97a6c37b34f46feed2544bd40891ee6dd0fd1554"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:27 2011 -0700"
      },
      "message": "memcg: fold __mem_cgroup_move_account into caller\n\nIt is one logical function, no need to have it split up.\n\nAlso, get rid of some checks from the inner function that ensured the\nsanity of the outer function.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97a6c37b34f46feed2544bd40891ee6dd0fd1554",
      "tree": "6135189ba1f589d7a3b10c5e24da9a42ea9036f5",
      "parents": [
        "ad324e94475a04cfcdfdb11ad20f8ea81268e411"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:26 2011 -0700"
      },
      "message": "memcg: change page_cgroup_zoneinfo signature\n\nInstead of passing a whole struct page_cgroup to this function, let it\ntake only what it really needs from it: the struct mem_cgroup and the\npage.\n\nThis has the advantage that reading pc-\u003emem_cgroup is now done at the same\nplace where the ordering rules for this pointer are enforced and\nexplained.\n\nIt is also in preparation for removing the pc-\u003epage backpointer.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f212ad7cf9c73f8a7fa160e223dcb3f074441a72",
      "tree": "95789ef7ce662e86a3e4aded5dfb97c51dc7b0a0",
      "parents": [
        "af4a662144884a7dbb19acbef70878b3b955f928"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Mar 23 16:42:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:25 2011 -0700"
      },
      "message": "memcg: add memcg sanity checks at allocating and freeing pages\n\nAdd checks at allocating or freeing a page whether the page is used (iow,\ncharged) from the view point of memcg.\n\nThis check may be useful in debugging a problem and we did similar checks\nbefore the commit 52d4b9ac(memcg: allocate all page_cgroup at boot).\n\nThis patch adds some overheads at allocating or freeing memory, so it\u0027s\nenabled only when CONFIG_DEBUG_VM is enabled.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d11ea9f163a14920487bdda77461e64d600fd48",
      "tree": "9435e30836ee97f3e8c235451bc944cdc8a345c4",
      "parents": [
        "b7c6167848fa36e32f1874b95c1edc02881cd040"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:23 2011 -0700"
      },
      "message": "memcg: simplify the way memory limits are checked\n\nSince transparent huge pages, checking whether memory cgroups are below\ntheir limits is no longer enough, but the actual amount of chargeable\nspace is important.\n\nTo not have more than one limit-checking interface, replace\nmemory_cgroup_check_under_limit() and memory_cgroup_check_margin() with a\nsingle memory_cgroup_margin() that returns the chargeable space and leaves\nthe comparison to the callsite.\n\nSoft limits are now checked the other way round, by using the already\nexisting function that returns the amount by which soft limits are\nexceeded: res_counter_soft_limit_excess().\n\nAlso remove all the corresponding functions on the res_counter side that\nare now no longer used.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7c6167848fa36e32f1874b95c1edc02881cd040",
      "tree": "d160acb871f2be4e0e7095c662b647e12a199dac",
      "parents": [
        "56039efa18f2530fc23e8ef19e716b65ee2a1d1e"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:23 2011 -0700"
      },
      "message": "memcg: soft limit reclaim should end at limit not below\n\nSoft limit reclaim continues until the usage is below the current soft\nlimit, but the documented semantics are actually that soft limit reclaim\nwill push usage back until the soft limits are met again.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61f2e7b0f474225b4226772830ae4b29a3a21f8d",
      "tree": "52f880fe6feec8efe5e5e028a3e0637629a500b7",
      "parents": [
        "3fca5af7860f87eb2cd706c2d7dda4ad03230a07"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:22 2011 -0700"
      },
      "message": "bitops: remove minix bitops from asm/bitops.h\n\nminix bit operations are only used by minix filesystem and useless by\nother modules.  Because byte order of inode and block bitmaps is different\non each architecture like below:\n\nm68k:\n\tbig-endian 16bit indexed bitmaps\n\nh8300, microblaze, s390, sparc, m68knommu:\n\tbig-endian 32 or 64bit indexed bitmaps\n\nm32r, mips, sh, xtensa:\n\tbig-endian 32 or 64bit indexed bitmaps for big-endian mode\n\tlittle-endian bitmaps for little-endian mode\n\nOthers:\n\tlittle-endian bitmaps\n\nIn order to move minix bit operations from asm/bitops.h to architecture\nindependent code in minix filesystem, this provides two config options.\n\nCONFIG_MINIX_FS_BIG_ENDIAN_16BIT_INDEXED is only selected by m68k.\nCONFIG_MINIX_FS_NATIVE_ENDIAN is selected by the architectures which use\nnative byte order bitmaps (h8300, microblaze, s390, sparc, m68knommu,\nm32r, mips, sh, xtensa).  The architectures which always use little-endian\nbitmaps do not select these options.\n\nFinally, we can remove minix bit operations from asm/bitops.h for all\narchitectures.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f312eff8164879e04923d41e9dd23e7850937d85",
      "tree": "9f4f6fd00ebf12afd5b070c44d12b55a29440360",
      "parents": [
        "bb5cda3d706f44e5696533c9a7353c458f2871e0"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:21 2011 -0700"
      },
      "message": "bitops: remove ext2 non-atomic bitops from asm/bitops.h\n\nAs the result of conversions, there are no users of ext2 non-atomic bit\noperations except for ext2 filesystem itself.  Now we can put them into\narchitecture independent code in ext2 filesystem, and remove from\nasm/bitops.h for all architectures.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9b9144a5336f0d85428e2870e1010641f27b3f4",
      "tree": "f009d3b0beb33aa5a58c4434a9f61e53689958ad",
      "parents": [
        "a49ebbabb084d345991b72818a119616431416f2"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:18 2011 -0700"
      },
      "message": "reiserfs: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0795ccea24714c790187e3d4f23c8e5be515f42d",
      "tree": "643e48522c01936d3a203fdf45e0373cfb4e7a20",
      "parents": [
        "e1dc1c81b9d1c823f2a529b9b9cf8bf5dacbce6a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:17 2011 -0700"
      },
      "message": "ext3: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c56530055a7c16eed03d31bedd0a49976923f8cf",
      "tree": "89e06e8c617e9aa1930a3f219046a86618d97e90",
      "parents": [
        "861b5ae7cde96ca081914e21dedfa7e8a38da622"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:15 2011 -0700"
      },
      "message": "asm-generic: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "861b5ae7cde96ca081914e21dedfa7e8a38da622",
      "tree": "376cae55475cce2bb45b96213b1f91b330db0448",
      "parents": [
        "c1e6ca7a501f0139e5ec2a01f8420eeb21c97a52"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:15 2011 -0700"
      },
      "message": "bitops: introduce little-endian bitops for most architectures\n\nIntroduce little-endian bit operations to the big-endian architectures\nwhich do not have native little-endian bit operations and the\nlittle-endian architectures.  (alpha, avr32, blackfin, cris, frv, h8300,\nia64, m32r, mips, mn10300, parisc, sh, sparc, tile, x86, xtensa)\n\nThese architectures can just include generic implementation\n(asm-generic/bitops/le.h).\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a56560b3b233238e85205d4e8d7bded904ac2306",
      "tree": "3965be2ab5fcf6c70fc09604861c14ef554915e8",
      "parents": [
        "c4945b9ed472e8796e352f10df9dbc2841ba7b61"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:12 2011 -0700"
      },
      "message": "asm-generic: change little-endian bitops to take any pointer types\n\nThis makes the little-endian bitops take any pointer types by changing the\nprototypes and adding casts in the preprocessor macros.\n\nThat would seem to at least make all the filesystem code happier, and they\ncan continue to do just something like\n\n  #define ext2_set_bit __test_and_set_bit_le\n\n(or whatever the exact sequence ends up being).\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4945b9ed472e8796e352f10df9dbc2841ba7b61",
      "tree": "6e2fa896f3a153d3bb16e7a07c87620cabf1ebd6",
      "parents": [
        "63ab595fb6b34234f116f05f95dc752dd5f8affb"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:11 2011 -0700"
      },
      "message": "asm-generic: rename generic little-endian bitops functions\n\nAs a preparation for providing little-endian bitops for all architectures,\nThis renames generic implementation of little-endian bitops.  (remove\n\"generic_\" prefix and postfix \"_le\")\n\ns/generic_find_next_le_bit/find_next_bit_le/\ns/generic_find_next_zero_le_bit/find_next_zero_bit_le/\ns/generic_find_first_zero_le_bit/find_first_zero_bit_le/\ns/generic___test_and_set_le_bit/__test_and_set_bit_le/\ns/generic___test_and_clear_le_bit/__test_and_clear_bit_le/\ns/generic_test_le_bit/test_bit_le/\ns/generic___set_le_bit/__set_bit_le/\ns/generic___clear_le_bit/__clear_bit_le/\ns/generic_test_and_set_le_bit/test_and_set_bit_le/\ns/generic_test_and_clear_le_bit/test_and_clear_bit_le/\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63ab595fb6b34234f116f05f95dc752dd5f8affb",
      "tree": "37bf0cd86463e24df2f0162190be38e75c4af7b6",
      "parents": [
        "12ce22423abacca70bf1dfbcb8543b3e2b74aad4"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:11 2011 -0700"
      },
      "message": "bitops: merge little and big endian definisions in asm-generic/bitops/le.h\n\nThis patch series introduces little-endian bit operations in asm/bitops.h\nfor all architectures and converts all ext2 non-atomic and minix bit\noperations to use little-endian bit operations.  It enables us to remove\next2 non-atomic and minix bit operations from asm/bitops.h.  The reason\nthey should be removed from asm/bitops.h is as follows:\n\nFor ext2 non-atomic bit operations, they are used for little-endian byte\norder bitmap access by some filesystems and modules.  But using ext2_*()\nfunctions on a module other than ext2 filesystem makes some feel strange.\n\nFor minix bit operations, they are only used by minix filesystem and are\nuseless by other modules.  Because byte order of inode and block bitmap is\n\nThis patch:\n\nIn order to make the forthcoming changes smaller, this merges macro\ndefinisions in asm-generic/bitops/le.h for big-endian and little-endian as\nmuch as possible.\n\nThis also removes unused BITOP_WORD macro.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ddd36b9c59887c6416e21daf984fbdd9b1818df",
      "tree": "1cc7ce9a671f4c49dc594e1f5d1fc8b596e77b5f",
      "parents": [
        "206cb636576b969e9b471cdedeaea7752e6acb33"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:20 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:57 2011 -0400"
      },
      "message": "mm: implement access_remote_vm\n\nProvide an alternative to access_process_vm that allows the caller to obtain a\nreference to the supplied mm_struct.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cae5d39032acf26c265f6b1dc73d7ce6ff4bc387",
      "tree": "9c89bcab3f4c17fb34eb44342d1f67bb4230d632",
      "parents": [
        "83b964bbf82eb13a8f31bb49ca420787fe01f7a6"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:17 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:55 2011 -0400"
      },
      "message": "mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm\n\nNow that gate vma\u0027s are referenced with respect to a particular mm and not a\nparticular task it only makes sense to propagate the change to this predicate as\nwell.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "83b964bbf82eb13a8f31bb49ca420787fe01f7a6",
      "tree": "c94dcf5f4116ca351570fb9d2b7e37834e93f430",
      "parents": [
        "31db58b3ab432f72ea76be58b12e6ffaf627d5db"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:16 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:54 2011 -0400"
      },
      "message": "mm: arch: make in_gate_area take an mm_struct instead of a task_struct\n\nMorally, the question of whether an address lies in a gate vma should be asked\nwith respect to an mm, not a particular task.  Moreover, dropping the dependency\non task_struct will help make existing and future operations on mm\u0027s more\nflexible and convenient.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "31db58b3ab432f72ea76be58b12e6ffaf627d5db",
      "tree": "c88b742e1f2c52045d5abc6d35d7492ebdf64541",
      "parents": [
        "375906f8765e131a4a159b1ffebf78c15db7b3bf"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:15 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:54 2011 -0400"
      },
      "message": "mm: arch: make get_gate_vma take an mm_struct instead of a task_struct\n\nMorally, the presence of a gate vma is more an attribute of a particular mm than\na particular task.  Moreover, dropping the dependency on task_struct will help\nmake both existing and future operations on mm\u0027s more flexible and convenient.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "04948c7f80b9446009c1c4791bb93e79729724fb",
      "tree": "3ee9859148561fdf7cb4f52afe17db594104ea83",
      "parents": [
        "6447f55da90b77faec1697d499ed7986bb4f6de6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 23 08:24:58 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 07:48:42 2011 -0700"
      },
      "message": "smp: add missing init.h include\n\nCommit 34db18a054c6 (\"smp: move smp setup functions to kernel/smp.c\")\ncauses this build error on s390 because of a missing init.h include:\n\n  CC      arch/s390/kernel/asm-offsets.s\n  In file included from /home2/heicarst/linux-2.6/arch/s390/include/asm/spinlock.h:14:0,\n  from include/linux/spinlock.h:87,\n  from include/linux/seqlock.h:29,\n  from include/linux/time.h:8,\n  from include/linux/timex.h:56,\n  from include/linux/sched.h:57,\n  from arch/s390/kernel/asm-offsets.c:10:\n  include/linux/smp.h:117:20: error: expected \u0027\u003d\u0027, \u0027,\u0027, \u0027;\u0027, \u0027asm\u0027 or \u0027__attribute__\u0027 before \u0027setup_nr_cpu_ids\u0027\n  include/linux/smp.h:118:20: error: expected \u0027\u003d\u0027, \u0027,\u0027, \u0027;\u0027, \u0027asm\u0027 or \u0027__attribute__\u0027 before \u0027smp_init\u0027\n\nFix it by adding the include statement.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6447f55da90b77faec1697d499ed7986bb4f6de6",
      "tree": "2d360d48121bdaa354d1ef19fed48467d08dfb1f",
      "parents": [
        "c50e3f512a5a15a73acd94e6ec8ed63cd512e04f",
        "3ea205c449d2b5996d0256aa8b2894f7aea228a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:53:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:53:13 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (66 commits)\n  avr32: at32ap700x: fix typo in DMA master configuration\n  dmaengine/dmatest: Pass timeout via module params\n  dma: let IMX_DMA depend on IMX_HAVE_DMA_V1 instead of an explicit list of SoCs\n  fsldma: make halt behave nicely on all supported controllers\n  fsldma: reduce locking during descriptor cleanup\n  fsldma: support async_tx dependencies and automatic unmapping\n  fsldma: fix controller lockups\n  fsldma: minor codingstyle and consistency fixes\n  fsldma: improve link descriptor debugging\n  fsldma: use channel name in printk output\n  fsldma: move related helper functions near each other\n  dmatest: fix automatic buffer unmap type\n  drivers, pch_dma: Fix warning when CONFIG_PM\u003dn.\n  dmaengine/dw_dmac fix: use readl \u0026 writel instead of __raw_readl \u0026 __raw_writel\n  avr32: at32ap700x: Specify DMA Flow Controller, Src and Dst msize\n  dw_dmac: Setting Default Burst length for transfers as 16.\n  dw_dmac: Allow src/dst msize \u0026 flow controller to be configured at runtime\n  dw_dmac: Changing type of src_master and dest_master to u8.\n  dw_dmac: Pass Channel Priority from platform_data\n  dw_dmac: Pass Channel Allocation Order from platform_data\n  ...\n"
    },
    {
      "commit": "565d76cb7d5fd7cb010fd690602280a69ab116ef",
      "tree": "beff4279da00976e10145820c22e699192056973",
      "parents": [
        "b12d12596992f608f5506a8dabe4d1299594bd1e"
      ],
      "author": {
        "name": "Jim Keniston",
        "email": "jkenisto@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:35:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "zlib: slim down zlib_deflate() workspace when possible\n\nInstead of always creating a huge (268K) deflate_workspace with the\nmaximum compression parameters (windowBits\u003d15, memLevel\u003d8), allow the\ncaller to obtain a smaller workspace by specifying smaller parameter\nvalues.\n\nFor example, when capturing oops and panic reports to a medium with\nlimited capacity, such as NVRAM, compression may be the only way to\ncapture the whole report.  In this case, a small workspace (24K works\nfine) is a win, whether you allocate the workspace when you need it (i.e.,\nduring an oops or panic) or at boot time.\n\nI\u0027ve verified that this patch works with all accepted values of windowBits\n(positive and negative), memLevel, and compression level.\n\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d03e1617f089c0bcbc22b9d4739e04a0b43b14fa",
      "tree": "4bfaa35d6311bb5d8621282c68dd6991d2df6c32",
      "parents": [
        "309c00c73f053a905d144b430d4fb55d811085e2"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue Mar 22 16:34:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:15 2011 -0700"
      },
      "message": "crc32: add missed brackets in macro\n\nAdd brackets around typecasted argument in crc32() macro.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e359dc24d32e58c795fc339cb3e89ea6330fceae",
      "tree": "824561f59ab4d217bf09462021095235df825f0e",
      "parents": [
        "33ee3b2e2eb9b4b6c64dcf9ed66e2ac3124e748c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Mar 22 16:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:15 2011 -0700"
      },
      "message": "sigma-firmware: loader for Analog Devices\u0027 SigmaStudio\n\nAnalog Devices\u0027 SigmaStudio can produce firmware blobs for devices with\nthese DSPs embedded (like some audio codecs).  Allow these device drivers\nto easily parse and load them.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33ee3b2e2eb9b4b6c64dcf9ed66e2ac3124e748c",
      "tree": "25d70c021189efa0bcbdf4e84b3ca97a6c147246",
      "parents": [
        "8a5700cd6754a3c88d2ea2f1d7a56f671987fc25"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 22 16:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:14 2011 -0700"
      },
      "message": "kstrto*: converting strings to integers done (hopefully) right\n\n1. simple_strto*() do not contain overflow checks and crufty,\n   libc way to indicate failure.\n2. strict_strto*() also do not have overflow checks but the name and\n   comments pretend they do.\n3. Both families have only \"long long\" and \"long\" variants,\n   but users want strtou8()\n4. Both \"simple\" and \"strict\" prefixes are wrong:\n   Simple doesn\u0027t exactly say what\u0027s so simple, strict should not exist\n   because conversion should be strict by default.\n\nThe solution is to use \"k\" prefix and add convertors for more types.\nEnter\n\tkstrtoull()\n\tkstrtoll()\n\tkstrtoul()\n\tkstrtol()\n\tkstrtouint()\n\tkstrtoint()\n\n\tkstrtou64()\n\tkstrtos64()\n\tkstrtou32()\n\tkstrtos32()\n\tkstrtou16()\n\tkstrtos16()\n\tkstrtou8()\n\tkstrtos8()\n\nInclude runtime testsuite (somewhat incomplete) as well.\n\nstrict_strto*() become deprecated, stubbed to kstrto*() and\neventually will be removed altogether.\n\nUse kstrto*() in code today!\n\nNote: on some archs _kstrtoul() and _kstrtol() are left in tree, even if\n      they\u0027ll be unused at runtime. This is temporarily solution,\n      because I don\u0027t want to hardcode list of archs where these\n      functions aren\u0027t needed. Current solution with sizeof() and\n      __alignof__ at least always works.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34db18a054c600b6f81787165669dc572fe4de25",
      "tree": "6a8a0abf4f64ccad677ea2468c3e8465ac4e0c29",
      "parents": [
        "fa9ee9c4b9885dfdf8eccac19b8b4fc8a7c53288"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Tue Mar 22 16:34:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:11 2011 -0700"
      },
      "message": "smp: move smp setup functions to kernel/smp.c\n\nMove setup_nr_cpu_ids(), smp_init() and some other SMP boot parameter\nsetup functions from init/main.c to kenrel/smp.c, saves some #ifdef\nCONFIG_SMP.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa9ee9c4b9885dfdf8eccac19b8b4fc8a7c53288",
      "tree": "7fa3808a38b2d8f161d750156804e643288e4304",
      "parents": [
        "d404ab0a1133e95557bb7deab2a49b348dfeba85"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Mar 22 16:34:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:11 2011 -0700"
      },
      "message": "include/linux/err.h: add a function to cast error-pointers to a return value\n\nPTR_RET() can be used if you have an error-pointer and are only interested\nin the eventual error value, but not the pointer.  Yields the usual 0 for\nno error, -ESOMETHING otherwise.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3ccfcdaf3986f8c541886606e950de52cab7ad3",
      "tree": "3433cd58adfe51db1f466e6033040ac9a512ffd2",
      "parents": [
        "c837fb37a60aa642b9ad423462e32b851a03020a"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Mar 22 16:33:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:10 2011 -0700"
      },
      "message": "fs.h: remove 8 bytes of padding from block_device on 64bit builds\n\nRe-ordering struct block_inode to remove 8 bytes of padding on 64 bit\nbuilds, which also shrinks bdev_inode by 8 bytes (776 -\u003e 768) allowing it\nto fit into one fewer cache lines.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c837fb37a60aa642b9ad423462e32b851a03020a",
      "tree": "88d6fdd520219fa5700bd618a3fe4dff9d1c4c6f",
      "parents": [
        "80cdc6dae76ea67d2b21bdca8df17ef47251eb8b"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue Mar 22 16:33:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:10 2011 -0700"
      },
      "message": "include/linux/compiler-gcc*.h: unify macro definitions\n\nUnify identical gcc3.x and gcc4.x macros.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e50594e8e72932ad4cfcb0b3cbdf58fc3bce416",
      "tree": "c33044290a9161e73ac5eded5d10a27c47bbfd5f",
      "parents": [
        "8a06dc4d52458e4a909b652ee9fe8f82d2cd87a2"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Mar 22 16:33:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:09 2011 -0700"
      },
      "message": "add the common dma_addr_t typedef to include/linux/types.h\n\nAll architectures can use the common dma_addr_t typedef now. We can\nremove the arch specific dma_addr_t.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78afd5612deb8268bafc8b6507d72341d5ed9aac",
      "tree": "b96131d6f237b9ce6848d95c8eccdd1f7855365c",
      "parents": [
        "11bc82d67d1150767901bca54a24466621d763d7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Tue Mar 22 16:33:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:05 2011 -0700"
      },
      "message": "mm: add __GFP_OTHER_NODE flag\n\nAdd a new __GFP_OTHER_NODE flag to tell the low level numa statistics in\nzone_statistics() that an allocation is on behalf of another thread.  This\nway the local and remote counters can be still correct, even when\nbackground daemons like khugepaged are changing memory mappings.\n\nThis only affects the accounting, but I think it\u0027s worth doing that right\nto avoid confusing users.\n\nI first tried to just pass down the right node, but this required a lot of\nchanges to pass down this parameter and at least one addition of a 10th\nargument to a 9 argument function.  Using the flag is a lot less\nintrusive.\n\nOpen: should be also used for migration?\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8afdcece4911e51cfff2b50a269418914cab8a3f",
      "tree": "fcfb966822f0f6c128c754f3876a80106c9cc654",
      "parents": [
        "7571966189e54adf0a8bc1384d6f13f44052ba63"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Mar 22 16:33:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:04 2011 -0700"
      },
      "message": "mm: vmscan: kswapd should not free an excessive number of pages when balancing small zones\n\nWhen reclaiming for order-0 pages, kswapd requires that all zones be\nbalanced.  Each cycle through balance_pgdat() does background ageing on\nall zones if necessary and applies equal pressure on the inactive zone\nunless a lot of pages are free already.\n\nA \"lot of free pages\" is defined as a \"balance gap\" above the high\nwatermark which is currently 7*high_watermark.  Historically this was\nreasonable as min_free_kbytes was small.  However, on systems using huge\npages, it is recommended that min_free_kbytes is higher and it is tuned\nwith hugeadm --set-recommended-min_free_kbytes.  With the introduction of\ntransparent huge page support, this recommended value is also applied.  On\nX86-64 with 4G of memory, min_free_kbytes becomes 67584 so one would\nexpect around 68M of memory to be free.  The Normal zone is approximately\n35000 pages so under even normal memory pressure such as copying a large\nfile, it gets exhausted quickly.  As it is getting exhausted, kswapd\napplies pressure equally to all zones, including the DMA32 zone.  DMA32 is\napproximately 700,000 pages with a high watermark of around 23,000 pages.\nIn this situation, kswapd will reclaim around (23000*8 where 8 is the high\nwatermark + balance gap of 7 * high watermark) pages or 718M of pages\nbefore the zone is ignored.  What the user sees is that free memory far\nhigher than it should be.\n\nTo avoid an excessive number of pages being reclaimed from the larger\nzones, explicitely defines the \"balance gap\" to be either 1% of the zone\nor the low watermark for the zone, whichever is smaller.  While kswapd\nwill check all zones to apply pressure, it\u0027ll ignore zones that meets the\n(high_wmark + balance_gap) watermark.\n\nTo test this, 80G were copied from a partition and the amount of memory\nbeing used was recorded.  A comparison of a patch and unpatched kernel can\nbe seen at\nhttp://www.csn.ul.ie/~mel/postings/minfree-20110222/memory-usage-hydra.ps\nand shows that kswapd is not reclaiming as much memory with the patch\napplied.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: \"Chen, Tim C\" \u003ctim.c.chen@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": "033193275b3ffcfe7f3fde7b569f3d207f6cd6a0",
      "tree": "fc65fa02248f855f0f63e087f35a507b6abb5617",
      "parents": [
        "278df9f451dc71dcd002246be48358a473504ad0"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:32:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:04 2011 -0700"
      },
      "message": "pagewalk: only split huge pages when necessary\n\nRight now, if a mm_walk has either -\u003epte_entry or -\u003epmd_entry set, it will\nunconditionally split any transparent huge pages it runs in to.  In\npractice, that means that anyone doing a\n\n\tcat /proc/$pid/smaps\n\nwill unconditionally break down every huge page in the process and depend\non khugepaged to re-collapse it later.  This is fairly suboptimal.\n\nThis patch changes that behavior.  It teaches each -\u003epmd_entry handler\n(there are five) that they must break down the THPs themselves.  Also, the\n_generic_ code will never break down a THP unless a -\u003epte_entry handler is\nactually set.\n\nThis means that the -\u003epmd_entry handlers can now choose to deal with THPs\nwithout breaking them down.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Michael J Wolf \u003cmjwolf@us.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f58a82943337fb6e79acfa5346719a97d3c0b98",
      "tree": "667441ac13c845edac93c937d0baba03a2021ea8",
      "parents": [
        "315601809d124d046abd6c3ffa346d0dbd7aa29d"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "memcg: move memcg reclaimable page into tail of inactive list\n\nThe rotate_reclaimable_page function moves just written out pages, which\nthe VM wanted to reclaim, to the end of the inactive list.  That way the\nVM will find those pages first next time it needs to free memory.\n\nThis patch applies the rule in memcg.  It can help to prevent unnecessary\nworking page eviction of memcg.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "315601809d124d046abd6c3ffa346d0dbd7aa29d",
      "tree": "be48e1a0053e3ada3a5c25561923f1b87f8e1719",
      "parents": [
        "481b4bb5e370aa69c1dc276bd08871ec01b41d2a"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: deactivate invalidated pages\n\nRecently, there are reported problem about thrashing.\n(http://marc.info/?l\u003drsync\u0026m\u003d128885034930933\u0026w\u003d2) It happens by backup\nworkloads(ex, nightly rsync).  That\u0027s because the workload makes just\nuse-once pages and touches pages twice.  It promotes the page into active\nlist so that it results in working set page eviction.\n\nSome app developer want to support POSIX_FADV_NOREUSE.  But other OSes\ndon\u0027t support it, either.\n(http://marc.info/?l\u003dlinux-mm\u0026m\u003d128928979512086\u0026w\u003d2)\n\nBy other approach, app developers use POSIX_FADV_DONTNEED.  But it has a\nproblem.  If kernel meets page is writing during invalidate_mapping_pages,\nit can\u0027t work.  It makes for application programmer to use it since they\nalways have to sync data before calling fadivse(..POSIX_FADV_DONTNEED) to\nmake sure the pages could be discardable.  At last, they can\u0027t use\ndeferred write of kernel so that they could see performance loss.\n(http://insights.oetiker.ch/linux/fadvise.html)\n\nIn fact, invalidation is very big hint to reclaimer.  It means we don\u0027t\nuse the page any more.  So let\u0027s move the writing page into inactive\nlist\u0027s head if we can\u0027t truncate it right now.\n\nWhy I move page to head of lru on this patch, Dirty/Writeback page would\nbe flushed sooner or later.  It can prevent writeout of pageout which is\nless effective than flusher\u0027s writeout.\n\nOriginally, I reused lru_demote of Peter with some change so added his\nSigned-off-by.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReported-by: Ben Gamari \u003cbgamari.foss@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "481b4bb5e370aa69c1dc276bd08871ec01b41d2a",
      "tree": "11a276bc58c2eb9b0a00fe751c3bf81bc3240382",
      "parents": [
        "cb240452bfc2ae9de7c840dd0fb3f5b33ce03c31"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Mar 22 16:32:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: mm_struct: remove 16 bytes of alignment padding on 64 bit builds\n\nReorder mm_struct to remove 16 bytes of alignment padding on 64 bit\nbuilds.  On my config this shrinks mm_struct by enough to fit in one\nfewer cache lines and allows more objects per slab in mm_struct\nkmem_cache under SLUB.\n\nslabinfo before patch :-\n    Sizes (bytes)     Slabs\n    --------------------------------\n    Object :     848  Total  :       9\n    SlabObj:     896  Full   :       2\n    SlabSiz:   16384  Partial:       5\n    Loss   :      48  CpuSlab:       2\n    Align  :      64  Objects:      18\n\n slabinfo after :-\n    Sizes (bytes)     Slabs\n    --------------------------------\n    Object :     832  Total  :       7\n    SlabObj:     832  Full   :       2\n    SlabSiz:   16384  Partial:       3\n    Loss   :       0  CpuSlab:       2\n    Align  :      64  Objects:      19\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb240452bfc2ae9de7c840dd0fb3f5b33ce03c31",
      "tree": "2c8542adfcae3dfe3e57b48a71abd50765e69fee",
      "parents": [
        "01d8b20dec5f4019283e244aba50ba86fe6ead6e"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Tue Mar 22 16:32:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: remove unused TestSetPageLocked() interface\n\nTestSetPageLocked() isn\u0027t being used anywhere.  Also, using it would\nlikely be an error, since the proper interface trylock_page() provides\nstronger ordering guarantees.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@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": "01d8b20dec5f4019283e244aba50ba86fe6ead6e",
      "tree": "738a2e675547de61f74d6f4019dd5830c40446dd",
      "parents": [
        "83813267c699ab11cc65a6d9d0f42db42f0862b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 22 16:32:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: simplify anon_vma refcounts\n\nThis patch changes the anon_vma refcount to be 0 when the object is free.\nIt does this by adding 1 ref to being in use in the anon_vma structure\n(iow.  the anon_vma-\u003ehead list is not empty).\n\nThis allows a simpler release scheme without having to check both the\nrefcount and the list as well as avoids taking a ref for each entry on the\nlist.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83813267c699ab11cc65a6d9d0f42db42f0862b3",
      "tree": "8a3257ae177ba0f1bb0aebd4a503357c26472908",
      "parents": [
        "9e60109f125013b6c571f399a15a8b0fe1ffa4e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 22 16:32:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: move anon_vma ref out from under CONFIG_foo\n\nWe need the anon_vma refcount unconditionally to simplify the anon_vma\nlifetime rules.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e60109f125013b6c571f399a15a8b0fe1ffa4e6",
      "tree": "52d34958e82e5649b737e21e453516a3ecd365d3",
      "parents": [
        "7bc32f6f90dae67730645da67bfd44304f810f93"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 22 16:32:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:03 2011 -0700"
      },
      "message": "mm: rename drop_anon_vma() to put_anon_vma()\n\nThe normal code pattern used in the kernel is: get/put.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e64a782fec684c29a8204c51b3cb554dce588592",
      "tree": "5ff0beb21b973f1ad0edc1e31b6a1c2ee4406bdc",
      "parents": [
        "702cfbf93aaf3a091b0c64c8766c1ade0a820c38"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: change __remove_from_page_cache()\n\nNow we renamed remove_from_page_cache with delete_from_page_cache.  As\nconsistency of __remove_from_swap_cache and remove_from_swap_cache, we\nchange internal page cache handling function name, too.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "702cfbf93aaf3a091b0c64c8766c1ade0a820c38",
      "tree": "05416ad8133cbe64cb3b0ae475f486dd6ade8457",
      "parents": [
        "5adc7b518b54f7af2b8395d2035898340d96b1d5"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:32:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: goodbye remove_from_page_cache()\n\nNow delete_from_page_cache() replaces remove_from_page_cache().  So we\nremove remove_from_page_cache so fs or something out of mainline will\nnotice it when compile time and can fix it.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97cecb5a254fec22d28ef32235d888bfbfd7c783",
      "tree": "186c6bb9c1f999f807e2ec68dc6a0cf16c9d0d73",
      "parents": [
        "ef6a3c63112e865d632ff7c478ba7c7160cad0d1"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Mar 22 16:30:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: introduce delete_from_page_cache()\n\nPresently we increase the page refcount in add_to_page_cache() but don\u0027t\ndecrease it in remove_from_page_cache().  Such asymmetry adds confusion,\nrequiring that callers notice it and a comment explaining why they release\na page reference.  It\u0027s not a good API.\n\nA long time ago, Hugh tried it (http://lkml.org/lkml/2004/10/24/140) but\ngave up because reiser4\u0027s drop_page() had to unlock the page between\nremoving it from page cache and doing the page_cache_release().  But now\nthe situation is changed.  I think at least things in current mainline\ndon\u0027t have any obstacles.  The problem is for out-of-mainline filesystems\n- if they have done such things as reiser4, this patch could be a problem\nbut they will discover this at compile time since we remove\nremove_from_page_cache().\n\nThis patch:\n\nThis function works as just wrapper remove_from_page_cache().  The\ndifference is that it decreases page references in itself.  So caller have\nto make sure it has a page reference before calling.\n\nThis patch is ready for removing remove_from_page_cache().\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Edward Shishkin \u003cedward.shishkin@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef6a3c63112e865d632ff7c478ba7c7160cad0d1",
      "tree": "d0bd3ee2b79674e22b8dd3f318814cd4789697b8",
      "parents": [
        "318b275fbca1ab9ec0862de71420e0e92c3d1aa7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Mar 22 16:30:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: add replace_page_cache_page() function\n\nThis function basically does:\n\n     remove_from_page_cache(old);\n     page_cache_release(old);\n     add_to_page_cache_locked(new);\n\nExcept it does this atomically, so there\u0027s no possibility for the \"add\" to\nfail because of a race.\n\nIf memory cgroups are enabled, then the memory cgroup charge is also moved\nfrom the old page to the new.\n\nThis function is currently used by fuse to move pages into the page cache\non read, instead of copying the page contents.\n\n[minchan.kim@gmail.com: add freepage() hook to replace_page_cache_page()]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "318b275fbca1ab9ec0862de71420e0e92c3d1aa7",
      "tree": "aa4984469443ed53b4e7fa23d3f91966e536a803",
      "parents": [
        "5fda1bd5b8869574dad8e1f9f71e23bf0c186274"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Mar 22 16:30:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:02 2011 -0700"
      },
      "message": "mm: allow GUP to fail instead of waiting on a page\n\nGUP user may want to try to acquire a reference to a page if it is already\nin memory, but not if IO, to bring it in, is needed.  For example KVM may\ntell vcpu to schedule another guest process if current one is trying to\naccess swapped out page.  Meanwhile, the page will be swapped in and the\nguest process, that depends on it, will be able to run again.\n\nThis patch adds FAULT_FLAG_RETRY_NOWAIT (suggested by Linus) and\nFOLL_NOWAIT follow_page flags.  FAULT_FLAG_RETRY_NOWAIT, when used in\nconjunction with VM_FAULT_ALLOW_RETRY, indicates to handle_mm_fault that\nit shouldn\u0027t drop mmap_sem and wait on a page, but return VM_FAULT_RETRY\ninstead.\n\n[akpm@linux-foundation.org: improve FOLL_NOWAIT comment]\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddd588b5dd55f14320379961e47683db4e4c1d90",
      "tree": "09de73c51c8c5e701e644236890a5d205ec3cdc9",
      "parents": [
        "94dcf29a11b3d20a28790598d701f98484a969da"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "oom: suppress nodes that are not allowed from meminfo on oom kill\n\nThe oom killer is extremely verbose for machines with a large number of\ncpus and/or nodes.  This verbosity can often be harmful if it causes other\nimportant messages to be scrolled from the kernel log and incurs a\nsignicant time delay, specifically for kernels with CONFIG_NODES_SHIFT \u003e\n8.\n\nThis patch causes only memory information to be displayed for nodes that\nare allowed by current\u0027s cpuset when dumping the VM state.  Information\nfor all other nodes is irrelevant to the oom condition; we don\u0027t care if\nthere\u0027s an abundance of memory elsewhere if we can\u0027t access it.\n\nThis only affects the behavior of dumping memory information when an oom\nis triggered.  Other dumps, such as for sysrq+m, still display the\nunfiltered form when using the existing show_mem() interface.\n\nAdditionally, the per-cpu pageset statistics are extremely verbose in oom\nkiller output, so it is now suppressed.  This removes\n\n\tnodes_weight(current-\u003emems_allowed) * (1 + nr_cpus)\n\nlines from the oom killer output.\n\nCallers may use __show_mem(SHOW_MEM_FILTER_NODES) to filter disallowed\nnodes.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "207205a2ba2655652fe46a60b49838af6c16a919",
      "tree": "4309aa7cd5cf39c805219001e0ed8ec5b71e4d5e",
      "parents": [
        "b6a84016bd2598e35ead635147fa53619982648d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 22 16:30:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "kthread: NUMA aware kthread_create_on_node()\n\nAll kthreads being created from a single helper task, they all use memory\nfrom a single node for their kernel stack and task struct.\n\nThis patch suite creates kthread_create_on_node(), adding a \u0027cpu\u0027 parameter\nto parameters already used by kthread_create().\n\nThis parameter serves in allocating memory for the new kthread on its\nmemory node if possible.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d527caf22e48480b102c7c6ee5b9ba12170148f7",
      "tree": "7d53a2c430f8c020b6fa8390396dd2d1ce480b9a",
      "parents": [
        "89699605fe7cfd8611900346f61cb6cbf179b10a"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Tue Mar 22 16:30:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "mm: compaction: prevent kswapd compacting memory to reduce CPU usage\n\nThis patch reverts 5a03b051 (\"thp: use compaction in kswapd for GFP_ATOMIC\norder \u003e 0\") due to reports stating that kswapd CPU usage was higher and\nIRQs were being disabled more frequently.  This was reported at\nhttp://www.spinics.net/linux/fedora/alsa-user/msg09885.html.\n\nWithout this patch applied, CPU usage by kswapd hovers around the 20% mark\naccording to the tester (Arthur Marsh:\nhttp://www.spinics.net/linux/fedora/alsa-user/msg09899.html).  With this\npatch applied, it\u0027s around 2%.\n\nThe problem is not related to THP which specifies __GFP_NO_KSWAPD but is\ntriggered by high-order allocations hitting the low watermark for their\norder and waking kswapd on kernels with CONFIG_COMPACTION set.  The most\ncommon trigger for this is network cards configured for jumbo frames but\nit\u0027s also possible it\u0027ll be triggered by fork-heavy workloads (order-1)\nand some wireless cards which depend on order-1 allocations.\n\nThe symptoms for the user will be high CPU usage by kswapd in low-memory\nsituations which could be confused with another writeback problem.  While\na patch like 5a03b051 may be reintroduced in the future, this patch plays\nit safe for now and reverts it.\n\n[mel@csn.ul.ie: Beefed up the changelog]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReported-by: Arthur Marsh \u003carthur.marsh@internode.on.net\u003e\nTested-by: Arthur Marsh \u003carthur.marsh@internode.on.net\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.38.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef0a5e80f56f6409e957e7117da9551c3d3ff239",
      "tree": "718bcc9cbab5ffaeb07d65eb5d0eebbb80af3801",
      "parents": [
        "0508e04e05cdf9b819210f5d5a12264e5eeff1f3"
      ],
      "author": {
        "name": "Robert Morell",
        "email": "rmorell@nvidia.com",
        "time": "Tue Mar 22 16:30:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:00 2011 -0700"
      },
      "message": "pwm_backlight: add check_fb() hook\n\nIn systems with multiple framebuffer devices, one of the devices might be\nblanked while another is unblanked.  In order for the backlight blanking\nlogic to know whether to turn off the backlight for a particular\nframebuffer\u0027s blanking notification, it needs to be able to check if a\ngiven framebuffer device corresponds to the backlight.\n\nThis plumbs the check_fb hook from core backlight through the\npwm_backlight helper to allow platform code to plug in a check_fb hook.\n\nSigned-off-by: Robert Morell \u003crmorell@nvidia.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Arun Murthy \u003carun.murthy@stericsson.com\u003e\nCc: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb7ca747f8d6243b3943c5b133048652020f4a50",
      "tree": "b40e879a7b26e3763aea2af2d4dd9079483de11e",
      "parents": [
        "ccd7510fd8dea5b4b2af87fb2aef2ebd6b23b76b"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 22 16:30:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "backlight: add backlight type\n\nThere may be multiple ways of controlling the backlight on a given\nmachine.  Allow drivers to expose the type of interface they are\nproviding, making it possible for userspace to make appropriate policy\ndecisions.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9517f925f2eb9ffca78b3f0f9389fc675bcb572c",
      "tree": "e2750ab7bdc19cba2f17ce2d479e4abd6468cd61",
      "parents": [
        "b1e6b7068f026e88257c20522555c78122e5a14d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Mar 22 16:30:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "leds: make *struct gpio_led_platform_data.leds const\n\nAnd fix a typo.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1e6b7068f026e88257c20522555c78122e5a14d",
      "tree": "21cbe63961ce77a0077a638fcfbda84d4530a63e",
      "parents": [
        "551ea73838c5eba18d673bd4e7fb0fec77cdcb8a"
      ],
      "author": {
        "name": "Shreshtha Kumar Sahu",
        "email": "shreshthakumar.sahu@stericsson.com",
        "time": "Tue Mar 22 16:30:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:59 2011 -0700"
      },
      "message": "leds: add driver for LM3530 ALS\n\nSimple backlight driver for National Semiconductor LM3530.  Presently only\nmanual mode is supported, PWM and ALS support to be added.\n\nSigned-off-by: Shreshtha Kumar Sahu \u003cshreshthakumar.sahu@stericsson.com\u003e\nCc: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7a1fcd8e6e0c3c8f4f8f74fc926ff04da3bf7a7",
      "tree": "dae21e6ab0bddf7121615c871914f52c4e9d6da4",
      "parents": [
        "01ba82514603593bb11589e2ea2afdeba1921636"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 22 16:30:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:43:58 2011 -0700"
      },
      "message": "include/asm-generic/unistd.h: fix syncfs syscall number\n\nsyncfs() is duplicating name_to_handle_at() due to a merging mistake.\n\nCc: Sage Weil \u003csage@newdream.net\u003e\nCc: Al Viro \u003cviro@zeniv.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": "01ba82514603593bb11589e2ea2afdeba1921636",
      "tree": "c66c762ac6bb98c450e6852aee914e883449c488",
      "parents": [
        "ab70a1d7c7fc6665d83f41b5ce790ff8376e0b81",
        "4fdccdfbb4652a7bbac8adbce7449eb093775118"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:26:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:26:57 2011 -0700"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Add statistics for this_cmpxchg_double failures\n  slub: Add missing irq restore for the OOM path\n"
    },
    {
      "commit": "0adfc56ce8fdc5c17630434e49f30536ba7b8559",
      "tree": "ed63f34e74998a8a1550d4af61b3178e68a5d60d",
      "parents": [
        "f23eb2b2b28547fc70df82dd5049eb39bec5ba12",
        "59c2be1e4d42c0d4949cecdeef3f37070a1fbc13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:25:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:25:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  rbd: use watch/notify for changes in rbd header\n  libceph: add lingering request and watch/notify event framework\n  rbd: update email address in Documentation\n  ceph: rename dentry_release -\u003e d_release, fix comment\n  ceph: add request to the tail of unsafe write list\n  ceph: remove request from unsafe list if it is canceled/timed out\n  ceph: move readahead default to fs/ceph from libceph\n  ceph: add ino32 mount option\n  ceph: update common header files\n  ceph: remove debugfs debug cruft\n  libceph: fix osd request queuing on osdmap updates\n  ceph: preserve I_COMPLETE across rename\n  libceph: Fix base64-decoding when input ends in newline.\n"
    },
    {
      "commit": "f23eb2b2b28547fc70df82dd5049eb39bec5ba12",
      "tree": "144dce462b34d8a232a06f766786ebfb0235fa87",
      "parents": [
        "f741a79e982cf56d7584435bad663553ffe6715f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "message": "tty: stop using \"delayed_work\" in the tty layer\n\nUsing delayed-work for tty flip buffers ends up causing us to wait for\nthe next tick to complete some actions.  That\u0027s usually not all that\nnoticeable, but for certain latency-critical workloads it ends up being\ntotally unacceptable.\n\nAs an extreme case of this, passing a token back-and-forth over a pty\nwill take two ticks per iteration, so even just a thousand iterations\nwill take 8 seconds assuming a common 250Hz configuration.\n\nAvoiding the whole delayed work issue brings that ping-pong test-case\ndown to 0.009s on my machine.\n\nIn more practical terms, this latency has been a performance problem for\nthings like dive computer simulators (simulating the serial interface\nusing the ptys) and for other environments (Alan mentions a CP/M emulator).\n\nReported-by: Jef Driesen \u003cjefdriesen@telenet.be\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fdccdfbb4652a7bbac8adbce7449eb093775118",
      "tree": "ff780cfea8087ea4143b1a2186257448f0bad3bb",
      "parents": [
        "2fd66c517d5e98de2528d86e0e62f5069ff99f59"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Mar 22 13:35:00 2011 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Mar 22 20:48:04 2011 +0200"
      },
      "message": "slub: Add statistics for this_cmpxchg_double failures\n\nAdd some statistics for debugging.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "a40c4f10e3fb96030358e49abd010c1f08446fa3",
      "tree": "1aa1f6ca618cd021d944f7da7caeb5b182beaee4",
      "parents": [
        "55b00bae111030bd0dfcc898a920e54725aed1bf"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Mar 21 15:07:16 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 22 11:33:55 2011 -0700"
      },
      "message": "libceph: add lingering request and watch/notify event framework\n\nLingering requests are requests that are sent to the OSD normally but\ntracked also after we get a successful request.  This keeps the OSD\nconnection open and resends the original request if the object moves to\nanother OSD.  The OSD can then send notification messages back to us\nif another client initiates a notify.\n\nThis framework will be used by RBD so that the client gets notification\nwhen a snapshot is created by another node or tool.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "75ea6358bc7d97630a8edc2b89c930de118cf7eb",
      "tree": "e77a60e46844adf71758bad41d77d40658acd7eb",
      "parents": [
        "14577beb8293c187a12d2e78ac6250d5dcec2190",
        "97491ba3f64c2137101efdfe7593305d692d7d63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:05:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 10:05:27 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus/2639/i2c-2\u0027 of git://git.fluff.org/bjdooks/linux\n\n* \u0027for-linus/2639/i2c-2\u0027 of git://git.fluff.org/bjdooks/linux:\n  i2c-pxa2xx: Don\u0027t clear isr bits too early\n  i2c-pxa2xx: Fix register offsets\n  i2c-pxa2xx: pass of_node from platform driver to adapter and publish\n  i2c-pxa2xx: check timeout correctly\n  i2c-pxa2xx: add support for shared IRQ handler\n  i2c-pxa2xx: Add PCI support for PXA I2C controller\n  ARM: pxa2xx: reorganize I2C files\n  i2c-pxa2xx: use dynamic register layout\n  i2c-mxs: set controller to pio queue mode after reset\n  i2c-eg20t: support new device OKI SEMICONDUCTOR ML7213 IOH\n  i2c/busses: Add support for Diolan U2C-12 USB-I2C adapter\n"
    },
    {
      "commit": "14577beb8293c187a12d2e78ac6250d5dcec2190",
      "tree": "cca4d8feba497870e3a5936ba2a65c68ce4ddf6b",
      "parents": [
        "09b9cc44c942256026bf7a63fec2155b8f488899",
        "e8c500c2b64b6e237e67ecba7249e72363c47047"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:36:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:36:23 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case\n  slab,rcu: don\u0027t assume the size of struct rcu_head\n  slub,rcu: don\u0027t assume the size of struct rcu_head\n  slub: automatically reserve bytes at the end of slab\n  Lockless (and preemptless) fastpaths for slub\n  slub: Get rid of slab_free_hook_irq()\n  slub: min_partial needs to be in first cacheline\n  slub: fix ksize() build error\n  slub: fix kmemcheck calls to match ksize() hints\n  Revert \"slab: Fix missing DEBUG_SLAB last user\"\n  mm: Remove support for kmem_cache_name()\n"
    },
    {
      "commit": "c62b3898636072de4bf9af36b6cd5a920ebfe896",
      "tree": "5fcccbf7cb2c690f43aa9ee20577fafe0b0bcdac",
      "parents": [
        "eddecbb601c9ea3fab7e67d7892010fc9426d1e6",
        "736561a01f11114146b1b7f82d486fa9c95828ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:25:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 09:25:34 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (33 commits)\n  IPVS: Use global mutex in ip_vs_app.c\n  ipvs: fix a typo in __ip_vs_control_init()\n  veth: Fix the byte counters\n  net ipv6: Fix duplicate /proc/sys/net/ipv6/neigh directory entries.\n  macvlan: Fix use after free of struct macvlan_port.\n  net: fix incorrect spelling in drop monitor protocol\n  can: c_can: Do basic c_can configuration _before_ enabling the interrupts\n  net/appletalk: fix atalk_release use after free\n  ipx: fix ipx_release()\n  snmp: SNMP_UPD_PO_STATS_BH() always called from softirq\n  l2tp: fix possible oops on l2tp_eth module unload\n  xfrm: Fix initialize repl field of struct xfrm_state\n  netfilter: ipt_CLUSTERIP: fix buffer overflow\n  netfilter: xtables: fix reentrancy\n  netfilter: ipset: fix checking the type revision at create command\n  netfilter: ipset: fix address ranges at hash:*port* types\n  niu: Rename NIU parent platform device name to fix conflict.\n  r8169: fix a bug in rtl8169_init_phy()\n  bonding: fix a typo in a comment\n  ftmac100: use resource_size()\n  ...\n"
    },
    {
      "commit": "736561a01f11114146b1b7f82d486fa9c95828ef",
      "tree": "804709a3163df1c6e33e2a1da5ec91f719bce17c",
      "parents": [
        "f40f94fc6c3b5a5542d5ed976e9ff69a3b463802"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Mar 21 15:18:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 20:39:24 2011 -0700"
      },
      "message": "IPVS: Use global mutex in ip_vs_app.c\n\nAs part of the work to make IPVS network namespace aware\n__ip_vs_app_mutex was replaced by a per-namespace lock,\nipvs-\u003eapp_mutex. ipvs-\u003eapp_key is also supplied for debugging purposes.\n\nUnfortunately this implementation results in ipvs-\u003eapp_key residing\nin non-static storage which at the very least causes a lockdep warning.\n\nThis patch takes the rather heavy-handed approach of reinstating\n__ip_vs_app_mutex which will cover access to the ipvs-\u003elist_head\nof all network namespaces.\n\n[   12.610000] IPVS: Creating netns size\u003d2456 id\u003d0\n[   12.630000] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)\n[   12.640000] BUG: key ffff880003bbf1a0 not in .data!\n[   12.640000] ------------[ cut here ]------------\n[   12.640000] WARNING: at kernel/lockdep.c:2701 lockdep_init_map+0x37b/0x570()\n[   12.640000] Hardware name: Bochs\n[   12.640000] Pid: 1, comm: swapper Tainted: G        W 2.6.38-kexec-06330-g69b7efe-dirty #122\n[   12.650000] Call Trace:\n[   12.650000]  [\u003cffffffff8102e685\u003e] warn_slowpath_common+0x75/0xb0\n[   12.650000]  [\u003cffffffff8102e6d5\u003e] warn_slowpath_null+0x15/0x20\n[   12.650000]  [\u003cffffffff8105967b\u003e] lockdep_init_map+0x37b/0x570\n[   12.650000]  [\u003cffffffff8105829d\u003e] ? trace_hardirqs_on+0xd/0x10\n[   12.650000]  [\u003cffffffff81055ad8\u003e] debug_mutex_init+0x38/0x50\n[   12.650000]  [\u003cffffffff8104bc4c\u003e] __mutex_init+0x5c/0x70\n[   12.650000]  [\u003cffffffff81685ee7\u003e] __ip_vs_app_init+0x64/0x86\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.660000]  [\u003cffffffff811b1c33\u003e] T.620+0x43/0x170\n[   12.660000]  [\u003cffffffff811b1e9a\u003e] ? register_pernet_subsys+0x1a/0x40\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.660000]  [\u003cffffffff811b1db7\u003e] register_pernet_operations+0x57/0xb0\n[   12.660000]  [\u003cffffffff81685a3b\u003e] ? ip_vs_init+0x0/0xff\n[   12.670000]  [\u003cffffffff811b1ea9\u003e] register_pernet_subsys+0x29/0x40\n[   12.670000]  [\u003cffffffff81685f19\u003e] ip_vs_app_init+0x10/0x12\n[   12.670000]  [\u003cffffffff81685a87\u003e] ip_vs_init+0x4c/0xff\n[   12.670000]  [\u003cffffffff8166562c\u003e] do_one_initcall+0x7a/0x12e\n[   12.670000]  [\u003cffffffff8166583e\u003e] kernel_init+0x13e/0x1c2\n[   12.670000]  [\u003cffffffff8128c134\u003e] kernel_thread_helper+0x4/0x10\n[   12.670000]  [\u003cffffffff8128ad40\u003e] ? restore_args+0x0/0x30\n[   12.680000]  [\u003cffffffff81665700\u003e] ? kernel_init+0x0/0x1c2\n[   12.680000]  [\u003cffffffff8128c130\u003e] ? kernel_thread_helper+0x0/0x1global0\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Julian Anastasov \u003cja@ssi.bg\u003e\nCc: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20246a800389fe5442675c59863fec5a4f520c7c",
      "tree": "6a713be7255b973dfbf3178c64ae0e7ce94f7695",
      "parents": [
        "8aa525a9340da4227797a06221ca08399006635f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Mar 21 18:12:54 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:12:54 2011 -0700"
      },
      "message": "snmp: SNMP_UPD_PO_STATS_BH() always called from softirq\n\nWe dont need to test if we run from softirq context, we definitely are.\n\nThis saves few instructions in ip_rcv() \u0026 ip_rcv_finish()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a454f0ccefbfdbfc0e1aa8a5f8010af5e48b8845",
      "tree": "359fdf6dbff1494ffe3d5cc8861fb0c0b72cc831",
      "parents": [
        "0e24d34a5b95226cfc335817aefd9cf9744e5659"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Mon Mar 21 18:08:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:08:28 2011 -0700"
      },
      "message": "xfrm: Fix initialize repl field of struct xfrm_state\n\nCommit \u0027xfrm: Move IPsec replay detection functions to a separate file\u0027\n  (9fdc4883d92d20842c5acea77a4a21bb1574b495)\nintroduce repl field to struct xfrm_state, and only initialize it\nunder SA\u0027s netlink create path, the other path, such as pf_key,\nipcomp/ipcomp6 etc, the repl field remaining uninitialize. So if\nthe SA is created by pf_key, any input packet with SA\u0027s encryption\nalgorithm will cause panic.\n\n    int xfrm_input()\n    {\n        ...\n        x-\u003erepl-\u003eadvance(x, seq);\n        ...\n    }\n\nThis patch fixed it by introduce new function __xfrm_init_state().\n\nPid: 0, comm: swapper Not tainted 2.6.38-next+ #14 Bochs Bochs\nEIP: 0060:[\u003cc078e5d5\u003e] EFLAGS: 00010206 CPU: 0\nEIP is at xfrm_input+0x31c/0x4cc\nEAX: dd839c00 EBX: 00000084 ECX: 00000000 EDX: 01000000\nESI: dd839c00 EDI: de3a0780 EBP: dec1de88 ESP: dec1de64\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess swapper (pid: 0, ti\u003ddec1c000 task\u003dc09c0f20 task.ti\u003dc0992000)\nStack:\n 00000000 00000000 00000002 c0ba27c0 00100000 01000000 de3a0798 c0ba27c0\n 00000033 dec1de98 c0786848 00000000 de3a0780 dec1dea4 c0786868 00000000\n dec1debc c074ee56 e1da6b8c de3a0780 c074ed44 de3a07a8 dec1decc c074ef32\nCall Trace:\n [\u003cc0786848\u003e] xfrm4_rcv_encap+0x22/0x27\n [\u003cc0786868\u003e] xfrm4_rcv+0x1b/0x1d\n [\u003cc074ee56\u003e] ip_local_deliver_finish+0x112/0x1b1\n [\u003cc074ed44\u003e] ? ip_local_deliver_finish+0x0/0x1b1\n [\u003cc074ef32\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc074ef77\u003e] ip_local_deliver+0x3e/0x44\n [\u003cc074ed44\u003e] ? ip_local_deliver_finish+0x0/0x1b1\n [\u003cc074ec03\u003e] ip_rcv_finish+0x30a/0x332\n [\u003cc074e8f9\u003e] ? ip_rcv_finish+0x0/0x332\n [\u003cc074ef32\u003e] NF_HOOK.clone.1+0x3d/0x44\n [\u003cc074f188\u003e] ip_rcv+0x20b/0x247\n [\u003cc074e8f9\u003e] ? ip_rcv_finish+0x0/0x332\n [\u003cc072797d\u003e] __netif_receive_skb+0x373/0x399\n [\u003cc0727bc1\u003e] netif_receive_skb+0x4b/0x51\n [\u003ce0817e2a\u003e] cp_rx_poll+0x210/0x2c4 [8139cp]\n [\u003cc072818f\u003e] net_rx_action+0x9a/0x17d\n [\u003cc0445b5c\u003e] __do_softirq+0xa1/0x149\n [\u003cc0445abb\u003e] ? __do_softirq+0x0/0x149\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afd8c40431cc9e3b468a506cbf9957ffca3466fe",
      "tree": "7d5b54557a67de132d62fcb0b43184a4969644d0",
      "parents": [
        "366f7e7a79b19bd8c4e8f55fdf12b81538d1a7a4",
        "c0046867f34bb81ec3f237ebbc5241ae678b8379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:02:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 14:02:55 2011 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  hwmon: (ads1015) Make gain and datarate configurable\n  hwmon: (ads1015) Drop dynamic attribute group\n  hwmon: Add support for Texas Instruments ADS1015\n  hwmon: New driver for SMSC SCH5627\n  hwmon: (abituguru*) Update my email address\n  hwmon: (lm75) Speed up detection\n  hwmon: (lm75) Add detection of the National Semiconductor LM75A\n  hp_accel: Fix driver name\n  Move lis3lv02d drivers to drivers/misc\n  Move hp_accel to drivers/platform/x86\n  Let Kconfig handle lis3lv02d dependencies\n  hwmon: (sht15) Fix integer overflow in humidity calculation\n  hwmon: (sht15) Spelling fix\n  hwmon: (w83795) Document pin mapping\n"
    },
    {
      "commit": "80456f8672f7e69d05c01627da03587dc1ea1603",
      "tree": "8351eb6c340a54357fc38df32335a87afefd875f",
      "parents": [
        "ad1fee96cbaf873520064252c5dc3212c9844861"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Mar 10 13:33:26 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 21 12:24:23 2011 -0700"
      },
      "message": "ceph: move readahead default to fs/ceph from libceph\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "483fac71485e5063ff4033b6dc7d91567f1b6ff1",
      "tree": "77c4a567f6b39850751917fa4e62753fa2e6651b",
      "parents": [
        "21f3b5f1bbc3c27e82a8c9fc9861fa20bcb31f26"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Thu Jan 20 16:36:06 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 21 12:24:21 2011 -0700"
      },
      "message": "ceph: update common header files\n\nThis updates the common header files used by the different ceph\nrelated modules. Specifically it adds definitions required by\nthe rbd watch/notify feature.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "6f6c7006755b667f9f6c1f3b6f08cd65f75cc471",
      "tree": "233e96acdc3b627c97267992368ae1cb6cd66a5f",
      "parents": [
        "09adc80c611bb8902daa8ccfe34dbbc009d6befe"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jan 17 20:34:08 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 21 12:24:19 2011 -0700"
      },
      "message": "libceph: fix osd request queuing on osdmap updates\n\nIf we send a request to osd A, and the request\u0027s pg remaps to osd B and\nthen back to A in quick succession, we need to resend the request to A. The\nold code was only calling kick_requests after processing all incremental\nmaps in a message, so it was very possible to not resend a request that\nneeded to be resent.  This would make the osd eventually time out (at least\nwith the current default of osd timeouts enabled).\n\nThe correct approach is to scan requests on every map incremental.  This\npatch refactors the kick code in a few ways:\n - all requests are either on req_lru (in flight), req_unsent (ready to\n   send), or req_notarget (currently map to no up osd)\n - mapping always done by map_request (previous map_osds)\n - if the mapping changes, we requeue.  requests are resent only after all\n   map incrementals are processed.\n - some osd reset code is moved out of kick_requests into a separate\n   function\n - the \"kick this osd\" functionality is moved to kick_osd_requests, as it\n   is unrelated to scanning for request-\u003epg-\u003eosd mapping changes\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "10effcb548c170d59ea1d2152f2ee0ad45ce4c9d",
      "tree": "6a1bf04ed66a1dcd242e8b2bd0c86690194cc09f",
      "parents": [
        "c3ca48f062a37c2f79560a9b0b9f1b08039aa248",
        "0f60f240d522772467c7d2cebedb910748c78ed4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 10:06:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 10:06:51 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  FS: lookup_mnt() is only used in the core fs routines now\n  bfs: fix bitmap size argument to find_first_zero_bit()\n  fs: Use BUG_ON(!mnt) at dentry_open().\n  fs: devpts_pty_new() return -ENOMEM if dentry allocation failed\n  nfs: lock() vs unlock() typo\n  pstore: fix leaking -\u003ei_private\n  introduce sys_syncfs to sync a single file system\n  Small typo fix...\n  Filesystem: fifo: Fixed coding style issue.\n  fs/inode: Fix kernel-doc format for inode_init_owner\n  select: remove unused MAX_SELECT_SECONDS\n  vfs: cleanup do_vfs_ioctl()\n"
    },
    {
      "commit": "c3ca48f062a37c2f79560a9b0b9f1b08039aa248",
      "tree": "9a9a9561b155e3bb805bdbccf5cb2f715ec7bf50",
      "parents": [
        "4e76ae4406449811c0b743ccf0612ef6ffcf2acb",
        "115881d395959b75c8c3bb94913f2ce869b8aa7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 10:05:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 10:05:22 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: core: ignore link-active bit of new nodes, fix device recognition\n  firewire: sbp2: revert obsolete \u0027fix stall with \"Unsolicited response\"\u0027\n  firewire: core: increase default SPLIT_TIMEOUT value\n  firewire: ohci: Misleading kfree in ohci.c::pci_probe/remove\n  firewire: ohci: omit IntEvent.busReset check rom AT queueing\n  firewire: ohci: prevent starting of iso contexts with empty queue\n  firewire: ohci: prevent iso completion callbacks after context stop\n  firewire: core: rename some variables\n  firewire: nosy: should work on Power Mac G4 PCI too\n  firewire: core: fix card-\u003ereset_jiffies overflow\n  firewire: cdev: remove unneeded reference\n  firewire: cdev: always wait for outbound transactions to complete\n  firewire: cdev: remove unneeded idr_find() from complete_transaction()\n  firewire: ohci: log dead DMA contexts\n"
    },
    {
      "commit": "c0046867f34bb81ec3f237ebbc5241ae678b8379",
      "tree": "a5d9e95c3fcd09a53dac9ce88abb00f4bef4a4fc",
      "parents": [
        "fdf241a8ed93236915c70717a4b6dfb856274496"
      ],
      "author": {
        "name": "Dirk Eibach",
        "email": "eibach@gdsys.de",
        "time": "Mon Mar 21 17:59:37 2011 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Mon Mar 21 17:59:37 2011 +0100"
      },
      "message": "hwmon: (ads1015) Make gain and datarate configurable\n\nConfiguration for ads1015 gain and datarate is possible via\ndevicetree or platform data.\n\nThis is a followup patch to previous ads1015 patches on Jean Delvares\ntree.\n\nSigned-off-by: Dirk Eibach \u003ceibach@gdsys.de\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "8c22a8f57516275afcd81c84f3724ac08cf6aa7b",
      "tree": "9b3e0770466cf7edcb2d48f483cae79fa82bdfce",
      "parents": [
        "a98d506c08ffe754fa013c7f70c4d578b991fb4b"
      ],
      "author": {
        "name": "Dirk Eibach",
        "email": "eibach@gdsys.de",
        "time": "Mon Mar 21 17:59:36 2011 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Mon Mar 21 17:59:36 2011 +0100"
      },
      "message": "hwmon: Add support for Texas Instruments ADS1015\n\nSigned-off-by: Dirk Eibach \u003ceibach@gdsys.de\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "0f60f240d522772467c7d2cebedb910748c78ed4",
      "tree": "235d147a07888a97af0149304c3830631e4622e3",
      "parents": [
        "69b195be51620d72956acbf3029adad5765695dc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 21 14:28:58 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 21 12:13:10 2011 -0400"
      },
      "message": "FS: lookup_mnt() is only used in the core fs routines now\n\nlookup_mnt() is only used in the core fs routines now, so it doesn\u0027t need to\nbe globally declared anymore.  It isn\u0027t exported to modules at the moment, so\nnothing that can be modularised seems to be using it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b459396ee9398bdf61e3118ca730394f58e90c9c",
      "tree": "3353e4671ed424b4b069428643daf39f0e3f281b",
      "parents": [
        "d6668c7cd4defdab1a74c8dd271b5ca23d99b627"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Wed Feb 23 12:38:16 2011 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Mon Mar 21 09:09:33 2011 +0000"
      },
      "message": "ARM: pxa2xx: reorganize I2C files\n\nThis patch moves the platform data definition from\narch/arm/plat-pxa/include/plat/i2c.h to include/linux/i2c/pxa-i2c.h so\nit can be accessed from x86 the same way as on ARM.\n\nThis change should make no functional change to the PXA code. The move\nis verified by building the following defconfigs:\n  cm_x2xx_defconfig corgi_defconfig em_x270_defconfig ezx_defconfig\n  imote2_defconfig pxa3xx_defconfig spitz_defconfig zeus_defconfig\n  raumfeld_defconfig magician_defconfig mmp2_defconfig pxa168_defconfig\n  pxa910_defconfig\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Dirk Brandewie \u003cdirk.brandewie@gmail.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "b7ed78f56575074f29ec99d8984f347f6c99c914",
      "tree": "7bc901458a9f47b197052e98a25c4a4f10c52607",
      "parents": [
        "1bef82917c74249ff21982127e57defd6ca2bb1b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Mar 10 11:31:30 2011 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 21 00:40:29 2011 -0400"
      },
      "message": "introduce sys_syncfs to sync a single file system\n\nIt is frequently useful to sync a single file system, instead of all\nmounted file systems via sync(2):\n\n - On machines with many mounts, it is not at all uncommon for some of\n   them to hang (e.g. unresponsive NFS server).  sync(2) will get stuck on\n   those and may never get to the one you do care about (e.g., /).\n - Some applications write lots of data to the file system and then\n   want to make sure it is flushed to disk.  Calling fsync(2) on each\n   file introduces unnecessary ordering constraints that result in a large\n   amount of sub-optimal writeback/flush/commit behavior by the file\n   system.\n\nThere are currently two ways (that I know of) to sync a single super_block:\n\n - BLKFLSBUF ioctl on the block device: That also invalidates the bdev\n   mapping, which isn\u0027t usually desirable, and doesn\u0027t work for non-block\n   file systems.\n - \u0027mount -o remount,rw\u0027 will call sync_filesystem as an artifact of the\n   current implemention.  Relying on this little-known side effect for\n   something like data safety sounds foolish.\n\nBoth of these approaches require root privileges, which some applications\ndo not have (nor should they need?) given that sync(2) is an unprivileged\noperation.\n\nThis patch introduces a new system call syncfs(2) that takes an fd and\nsyncs only the file system it references.  Maybe someday we can\n\n $ sync /some/path\n\nand not get\n\n sync: ignoring all arguments\n\nThe syscall is motivated by comments by Al and Christoph at the last LSF.\nsyncfs(2) seems like an appropriate name given statfs(2).\n\nA similar ioctl was also proposed a while back, see\n\thttp://marc.info/?l\u003dlinux-fsdevel\u0026m\u003d127970513829285\u0026w\u003d2\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "444699c8503eaeb0cf15e24ad76f69b14df6097a",
      "tree": "a3c0573601942d86b1d4c1be4d446f31dfc78f5e",
      "parents": [
        "6113f39dd15e4beb5ce66a8e0d9062477c5e81e3",
        "662cda8abb278f58237fa12b8ab3060ebefca4b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 17:54:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 17:54:13 2011 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-i801: SMBus patch for Intel DH89xxCC DeviceIDs\n  i2c: Drop i2c_adapter.id\n  i2c: Deprecate i2c_driver.attach_adapter and .detach_adapter\n  i2c-dev: Use standard bus notification mechanism\n  i2c: Export i2c_for_each_dev\n  i2c: Get rid of \u003clinux/i2c-id.h\u003e\n  i2c: Minor fixes to upgrading-clients document\n  i2c: make i2c_get_adapter prototype clearer\n  i2c: Fix typo in instantiating-devices document\n  i2c-boardinfo: Fix typo in comment\n"
    },
    {
      "commit": "6113f39dd15e4beb5ce66a8e0d9062477c5e81e3",
      "tree": "b9e491ab539a934a579be17cf72b0f7695f757e4",
      "parents": [
        "db552b3331766e16c35550a4b83c3a42671ba73e",
        "339dc50e59f4ea697e2b8cd6296328a8015a6c21"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 17:53:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 17:53:50 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  asm-generic: support clock_adjtime() in \u003casm-generic/unistd.h\u003e\n  arch/tile: fix futex sanitization definition/prototype mismatch\n"
    },
    {
      "commit": "e8c500c2b64b6e237e67ecba7249e72363c47047",
      "tree": "e9c62e59a879ebef45b0fc2823d318b2fb2fed84",
      "parents": [
        "c53badd0801728feedfcccae04239410b52b0d03",
        "a24c5a0ea902bcda348f086bd909cc2d6e305bf8"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Mar 20 18:13:26 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Mar 20 18:13:26 2011 +0200"
      },
      "message": "Merge branch \u0027slub/lockless\u0027 into for-linus\n\nConflicts:\n\tinclude/linux/slub_def.h\n"
    },
    {
      "commit": "c53badd0801728feedfcccae04239410b52b0d03",
      "tree": "016421ec2a618767f01df8cfbf765a4dab3b3629",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d",
        "865d794d1f144d0f93796840d01696cd70647a8a"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Mar 20 18:12:03 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Mar 20 18:12:03 2011 +0200"
      },
      "message": "Merge branch \u0027slab/next\u0027 into for-linus\n"
    },
    {
      "commit": "5e0c1eb7e6b61998c7ecd39b7f69a15773d894d4",
      "tree": "4fba9a1410925d0a6d7a8a39aa8cc447e6f9251c",
      "parents": [
        "b26fa4e0275426450238a14158bc1db24bb696e6"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Sun Mar 20 15:33:26 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Mar 20 15:33:26 2011 +0100"
      },
      "message": "netfilter: ipset: fix address ranges at hash:*port* types\n\nThe hash:*port* types with IPv4 silently ignored when address ranges\nwith non TCP/UDP were added/deleted from the set and used the first\naddress from the range only.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c185a9420bd1c645252249018e6887a968d3e1de",
      "tree": "1777ff0e774382d4d3c5aadb29431026d7275b9a",
      "parents": [
        "fe6fc25857d293546bd400432cdb77866c797c9b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Mar 20 14:50:53 2011 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Mar 20 14:50:53 2011 +0100"
      },
      "message": "i2c: Drop i2c_adapter.id\n\nThere is no user left of i2c_adapter.id, so we can get rid of it.\nFinally! :)\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "fe6fc25857d293546bd400432cdb77866c797c9b",
      "tree": "58fcbe3a5bc3b7ba518c22c544025132cc95ad8d",
      "parents": [
        "9ea3e941d161f41f920462c50e9b651cc00eccc7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Mar 20 14:50:53 2011 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun Mar 20 14:50:53 2011 +0100"
      },
      "message": "i2c: Deprecate i2c_driver.attach_adapter and .detach_adapter\n\nThe last legitimate user of i2c_driver.attach_adapter and\n.detach_adapter is gone, so we can finally deprecate these callbacks.\nThe last few drivers which still use these will have to be updated to\nmake use of standard I2C device instantiation ways instead.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    }
  ],
  "next": "7ae31482a8376fb0df3a0c5ff0677a92820c06b7"
}
