)]}'
{
  "log": [
    {
      "commit": "aaca0bdca573f3f51ea03139f9c7289541e7bca3",
      "tree": "d25b0baa73b5301d91a5c848a896bad0fb719acc",
      "parents": [
        "a677a039be7243357d93502bff2b40850c942e2d"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: paccept\n\nThis patch is by far the most complex in the series.  It adds a new syscall\npaccept.  This syscall differs from accept in that it adds (at the userlevel)\ntwo additional parameters:\n\n- a signal mask\n- a flags value\n\nThe flags parameter can be used to set flag like SOCK_CLOEXEC.  This is\nimlpemented here as well.  Some people argued that this is a property which\nshould be inherited from the file desriptor for the server but this is against\nPOSIX.  Additionally, we really want the signal mask parameter as well\n(similar to pselect, ppoll, etc).  So an interface change in inevitable.\n\nThe flag value is the same as for socket and socketpair.  I think diverging\nhere will only create confusion.  Similar to the filesystem interfaces where\nthe use of the O_* constants differs, it is acceptable here.\n\nThe signal mask is handled as for pselect etc.  The mask is temporarily\ninstalled for the thread and removed before the call returns.  I modeled the\ncode after pselect.  If there is a problem it\u0027s likely also in pselect.\n\nFor architectures which use socketcall I maintained this interface instead of\nadding a system call.  The symmetry shouldn\u0027t be broken.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_paccept\n# ifdef __x86_64__\n#  define __NR_paccept 288\n# elif defined __i386__\n#  define SYS_PACCEPT 18\n#  define USE_SOCKETCALL 1\n# else\n#  error \"need __NR_paccept\"\n# endif\n#endif\n\n#ifdef USE_SOCKETCALL\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  ({ long args[6] \u003d { \\\n       (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \\\n     syscall (__NR_socketcall, SYS_PACCEPT, args); })\n#else\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags)\n#endif\n\n#define PORT 57392\n\n#define SOCK_CLOEXEC O_CLOEXEC\n\nstatic pthread_barrier_t b;\n\nstatic void *\ntf (void *arg)\n{\n  pthread_barrier_wait (\u0026b);\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  struct sockaddr_in sin;\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  pthread_barrier_wait (\u0026b);\n  sleep (2);\n  pthread_kill ((pthread_t) arg, SIGUSR1);\n\n  return NULL;\n}\n\nstatic void\nhandler (int s)\n{\n}\n\nint\nmain (void)\n{\n  pthread_barrier_init (\u0026b, NULL, 2);\n\n  struct sockaddr_in sin;\n  pthread_t th;\n  if (pthread_create (\u0026th, NULL, tf, (void *) pthread_self ()) !\u003d 0)\n    {\n      puts (\"pthread_create failed\");\n      return 1;\n    }\n\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  int reuse \u003d 1;\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  int s2 \u003d paccept (s, NULL, 0, NULL, 0);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(0) failed\");\n      return 1;\n    }\n\n  int coe \u003d fcntl (s2, F_GETFD);\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"paccept(0) set close-on-exec-flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  s2 \u003d paccept (s, NULL, 0, NULL, SOCK_CLOEXEC);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n\n  coe \u003d fcntl (s2, F_GETFD);\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  struct sigaction sa;\n  sa.sa_handler \u003d handler;\n  sa.sa_flags \u003d 0;\n  sigemptyset (\u0026sa.sa_mask);\n  sigaction (SIGUSR1, \u0026sa, NULL);\n\n  sigset_t ss;\n  pthread_sigmask (SIG_SETMASK, NULL, \u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  pthread_sigmask (SIG_SETMASK, \u0026ss, NULL);\n\n  sigdelset (\u0026ss, SIGUSR1);\n  alarm (4);\n  pthread_barrier_wait (\u0026b);\n\n  errno \u003d 0 ;\n  s2 \u003d paccept (s, NULL, 0, \u0026ss, 0);\n  if (s2 !\u003d -1 || errno !\u003d EINTR)\n    {\n      puts (\"paccept did not fail with EINTR\");\n      return 1;\n    }\n\n  close (s);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: make it compile]\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a677a039be7243357d93502bff2b40850c942e2d",
      "tree": "6cf1669c4752e2527e02f33baa920cd2dfd59117",
      "parents": [
        "6e2c10a12a2170856f5582d62d583cbcd1cb5eaf"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: socket and socketpair\n\nThis patch adds support for flag values which are ORed to the type passwd\nto socket and socketpair.  The additional code is minimal.  The flag\nvalues in this implementation can and must match the O_* flags.  This\navoids overhead in the conversion.\n\nThe internal functions sock_alloc_fd and sock_map_fd get a new parameters\nand all callers are changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n\n#define PORT 57392\n\n/* For Linux these must be the same.  */\n#define SOCK_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d socket (PF_INET, SOCK_STREAM, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"socket(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d socket (PF_INET, SOCK_STREAM|SOCK_CLOEXEC, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"socket(SOCK_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  int fds[2];\n  if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      coe \u003d fcntl (fds[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (coe \u0026 FD_CLOEXEC)\n        {\n          printf (\"socketpair(0) set close-on-exec flag for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      coe \u003d fcntl (fds[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n        {\n          printf (\"socketpair(SOCK_CLOEXEC) does not set close-on-exec flag for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f606ddf42fd4edc558eeb48bfee66d2c591571d2",
      "tree": "193f00db121201255b2629fce43b99a53c4ec735",
      "parents": [
        "99764fa4ceeecba8b9e0a8a5565b418a2e94f83b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "remove the v850 port\n\nTrying to compile the v850 port brings many compile errors, one of them exists\nsince at least kernel 2.6.19.\n\nThere also seems to be noone willing to bring this port back into a usable\nstate.\n\nThis patch therefore removes the v850 port.\n\nIf anyone ever decides to revive the v850 port the code will still be\navailable from older kernels, and it wouldn\u0027t be impossible for the port to\nreenter the kernel if it would become actively maintained again.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99764fa4ceeecba8b9e0a8a5565b418a2e94f83b",
      "tree": "aecf842728e5dfc80743662d87c089b24896f8ed",
      "parents": [
        "4a5675820436e4ad738dd442c1cc8a165101509b"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Jul 23 21:28:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "UML: make several more things static\n\n- Make some variables and functions static, since they don\u0027t need to be\n  global.\n\n- Remove an unused function - arch/um/kernel/time.c::sched_clock().\n\n- Clean the style a bit as complained by checkpatch.pl.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a5675820436e4ad738dd442c1cc8a165101509b",
      "tree": "95781177e1a055e74c9a163137030537134ef4d8",
      "parents": [
        "4c182ae7810f3fe444e666f3f78c209a7c116fdf"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Jul 23 21:28:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "arch/um/kernel/mem.c: remove arch_validate()\n\n- Remove arch_validate(), because no one uses it.\n\n- Remove useless macro HAVE_ARCH_VALIDATE.\n\n- Make the variable \u0027empty_bad_page\u0027 static.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d50004b0867a59f8a81116f000edb352595343d9",
      "tree": "b8f8f69dacea6aae64d18881884bb98c19e69446",
      "parents": [
        "912019572180f287e85b5534fbb1c1e3ca6df6c9"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@intellilink.co.jp",
        "time": "Wed Jul 23 21:28:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "cris: remove unused global_flush_tlb\n\nglobal_flush_tlb is declared but never used.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "912019572180f287e85b5534fbb1c1e3ca6df6c9",
      "tree": "2ce7306f6588408c6ee3b7258709e18dc8ec85fa",
      "parents": [
        "f0af566da6e9a4a2f5a83c5a70f3d0a772050e21"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "mn10300: move sg_dma_{address,len}() to asm/scatterlist.h\n\nmn10300 was the only architecture where sg_dma_{address,len}() were not\nin asm/scatterlist.h, and it\u0027s not a big surprise that this caused a\ncompile error somewhere:\n\n/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c: In function `videobuf_dma_map\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c:238: error: implicit declaration of function \u0027sg_dma_address\u0027\n\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@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": "bdfe6b7c681669148dae4db27eb24ee5408ba371",
      "tree": "644b84a7e4a329a635d9a9bc02102424cfb616e2",
      "parents": [
        "2f15fc4bdf91eb399da3f47a09c55831d9f22826"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 21:28:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "pm: acpi hibernation: utilize hardware signature\n\nACPI defines a hardware signature.  BIOS calculates the signature according to\nhardware configure and if hardware changes while hibernated, the signature\nwill change.  In that case, S4 resume should fail.\n\nStill, there may be systems on which this mechanism does not work correctly,\nso it is better to provide a workaround for them.  For this reason, add a new\nswitch to the acpi_sleep\u003d command line argument allowing one to disable\nhardware signature checking.\n\n[shaohua.li@intel.com: build fix]\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003cValdis.Kletnieks@vt.edu\u003e\nCc: Shaohua Li \u003cshaohua.li@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": "c1a220e7acf8ad2c03504891f4a70cd9c32c904b",
      "tree": "902104a5a5debb5b881d7af4110ad1258ea5b0bd",
      "parents": [
        "0d83304c7e7bd3b05be90281b3a47841bc8f057a"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Wed Jul 23 21:28:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: introduce new interfaces schedule_work_on() and queue_work_on()\n\nThis interface allows adding a job on a specific cpu.\n\nAlthough a work struct on a cpu will be scheduled to other cpu if the cpu\ndies, there is a recursion if a work task tries to offline the cpu it\u0027s\nrunning on.  we need to schedule the task to a specific cpu in this case.\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10897\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nTested-by: Rus \u003charbour@sfinx.od.ua\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8111d1b552349921aae1acf73e4e8cea98e80970",
      "tree": "39dfdfcb722125bb9d036a2f0e9814ba077acb4a",
      "parents": [
        "8c363265d57d755e62053e9f69a1f2164e83f7ea"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jul 23 21:28:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: add new PM_EVENT codes for runtime power transitions\n\nThis patch (as1112) adds some new PM_EVENT_* codes for use by kernel\nsubsystems.  They describe runtime power-state transitions of the sort already\nimplemented by the USB subsystem.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c363265d57d755e62053e9f69a1f2164e83f7ea",
      "tree": "fb5cf13c2b114817d7effcc45cdcded9d3e8e680",
      "parents": [
        "40b4ac33b4d1bdd5cbeb2241be2399c550fa3696"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: drop unnecessary includes from pm.h\n\nDrop unnecessary includes from include/linux/pm.h .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@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": "e7ecb331e11d1f7aa66aeef9170fc20781c9bb55",
      "tree": "4194762c4b06742666ffa6f2e9df3d12d23d6020",
      "parents": [
        "558481f038e587b22d02167af58914c814ce9de5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "pm: remove remaining obsolete definitions from pm.h\n\nRemove the remaining obsolete definitions from include/linux/pm.h and move\nthe definitions of PM_SUSPEND and PM_RESUME to the header of h3600 which\nis the only user of them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@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": "558481f038e587b22d02167af58914c814ce9de5",
      "tree": "51a4e53192e81b17291d344860b5d40111b25b8d",
      "parents": [
        "d75f65fd247fe85d90a3880d143b1bb22fe13a48"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "pm: remove definition of struct pm_dev\n\nRemove the definition of \u0027struct pm_dev\u0027, which is not used any more,\nalong with some related stuff from include/linux/pm.h .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@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": "d75f65fd247fe85d90a3880d143b1bb22fe13a48",
      "tree": "f9df15bff67e07c0788b13c7e580148ce5137b39",
      "parents": [
        "77437fd4e61f87cc94d9314baa5cbf50e3ccdf54"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "remove include/linux/pm_legacy.h\n\nRemove the obsolete and no longer used include/linux/pm_legacy.h\n\nReviewed-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e53f12cc6c43b69f54937f15c5706d83f67c2fdd",
      "tree": "abf3b7a0ab0d1b1637da33e9bc9e154b7ffa2c75",
      "parents": [
        "5f09c4c797d00bef5700e1ca085b4efcedaf34b8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "remove include/asm-h8300/keyboard.h\n\nThis patch removes the unused include/asm-h8300/keyboard.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b3e43a747c74029b0acf6acf4666601f132f471",
      "tree": "9c27118c353f9742d9715b30ec30060dd095b492",
      "parents": [
        "84aaa7ab4c40b66d6dd9aa393901551ad50ec640"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Jul 23 21:28:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "security: remove unused forwards\n\nWhy would linux/security.h need forward declarations for nfsctl_arg and\nswap_info_struct?  It\u0027s hard to imagine: remove them.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: 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": "5459c164f0591ee75ed0203bb8f3817f25948e2f",
      "tree": "7b17a0cbadfc487d7311b7f5a41779ff33d6fe7f",
      "parents": [
        "78ecba081224a2db5876b6b81cfed0b78f58adc7"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Wed Jul 23 21:28:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "security: protect legacy applications from executing with insufficient privilege\n\nWhen cap_bset suppresses some of the forced (fP) capabilities of a file,\nit is generally only safe to execute the program if it understands how to\nrecognize it doesn\u0027t have enough privilege to work correctly.  For legacy\napplications (fE!\u003d0), which have no non-destructive way to determine that\nthey are missing privilege, we fail to execute (EPERM) any executable that\nrequires fP capabilities, but would otherwise get pP\u0027 \u003c fP.  This is a\nfail-safe permission check.\n\nFor some discussion of why it is problematic for (legacy) privileged\napplications to run with less than the set of capabilities requested for\nthem, see:\n\n http://userweb.kernel.org/~morgan/sendmail-capabilities-war-story.html\n\nWith this iteration of this support, we do not include setuid-0 based\nprivilege protection from the bounding set.  That is, the admin can still\n(ab)use the bounding set to suppress the privileges of a setuid-0 program.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83d1674a946141c3c59d430e96c224f7937e6158",
      "tree": "03420c9fdf56ad35de685b7c0b48899d886bd7ff",
      "parents": [
        "9ca908f47bc784c90e17a553ce33e756c73feac4"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Wed Jul 23 21:28:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "mm: make CONFIG_MIGRATION available w/o CONFIG_NUMA\n\nWe\u0027d like to support CONFIG_MEMORY_HOTREMOVE on s390, which depends on\nCONFIG_MIGRATION.  So far, CONFIG_MIGRATION is only available with NUMA\nsupport.\n\nThis patch makes CONFIG_MIGRATION selectable for architectures that define\nARCH_ENABLE_MEMORY_HOTREMOVE.  When MIGRATION is enabled w/o NUMA, the\nkernel won\u0027t compile because migrate_vmas() does not know about\nvm_ops-\u003emigrate() and vma_migratable() does not know about policy_zone.\nTo fix this, those two functions can be restricted to \u0027#ifdef CONFIG_NUMA\u0027\nbecause they are not being used w/o NUMA.  vma_migratable() is moved over\nfrom migrate.h to mempolicy.h.\n\n[kosaki.motohiro@jp.fujitsu.com: build fix]\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: KOSAKI Motorhiro \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": "9ca908f47bc784c90e17a553ce33e756c73feac4",
      "tree": "2b6752e655484b1936ee1d410f272f9ff8b0305d",
      "parents": [
        "5c755e9fd813810680abd56ec09a5f90143e815b"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Wed Jul 23 21:28:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "kcalloc: remove runtime division\n\nWhile in all cases in the kernel we know the size of the elements to be\ncreated, we don\u0027t always know the count of elements.  By commuting the size\nand count in the overflow check, the compiler can reduce the runtime division\nof size_t with a compare to a (unique) constant in these cases.\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c755e9fd813810680abd56ec09a5f90143e815b",
      "tree": "1686c0666f6bd630441957a53c546d90b0f61723",
      "parents": [
        "2f7f24eca31c4fc2fdb134b2ef743ccd67cfb9a9"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Wed Jul 23 21:28:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "memory-hotplug: add sysfs removable attribute for hotplug memory remove\n\nMemory may be hot-removed on a per-memory-block basis, particularly on\nPOWER where the SPARSEMEM section size often matches the memory-block\nsize.  A user-level agent must be able to identify which sections of\nmemory are likely to be removable before attempting the potentially\nexpensive operation.  This patch adds a file called \"removable\" to the\nmemory directory in sysfs to help such an agent.  In this patch, a memory\nblock is considered removable if;\n\no It contains only MOVABLE pageblocks\no It contains only pageblocks with free pages regardless of pageblock type\n\nOn the other hand, a memory block starting with a PageReserved() page will\nnever be considered removable.  Without this patch, the user-agent is\nforced to choose a memory block to remove randomly.\n\nSample output of the sysfs files:\n\n./memory/memory0/removable: 0\n./memory/memory1/removable: 0\n./memory/memory2/removable: 0\n./memory/memory3/removable: 0\n./memory/memory4/removable: 0\n./memory/memory5/removable: 0\n./memory/memory6/removable: 0\n./memory/memory7/removable: 1\n./memory/memory8/removable: 0\n./memory/memory9/removable: 0\n./memory/memory10/removable: 0\n./memory/memory11/removable: 0\n./memory/memory12/removable: 0\n./memory/memory13/removable: 0\n./memory/memory14/removable: 0\n./memory/memory15/removable: 0\n./memory/memory16/removable: 0\n./memory/memory17/removable: 1\n./memory/memory18/removable: 1\n./memory/memory19/removable: 1\n./memory/memory20/removable: 1\n./memory/memory21/removable: 1\n./memory/memory22/removable: 1\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "af370fb8cb3031f20438f246798d5f0d98089f29",
      "tree": "a5b06adeeaeaafb89c7d326ed1daabd0caa364c8",
      "parents": [
        "48c906823f3927b981db9f0b03c2e2499977ee93"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Wed Jul 23 21:28:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "memory hotplug: small fixes to bootmem freeing for memory hotremove\n\n- Change some naming\n  * Magic -\u003e types\n  * MIX_INFO -\u003e MIX_SECTION_INFO\n  * Change definition of bootmem type from direct hex value\n\n- __free_pages_bootmem() becomes __meminit.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2be0ffe2b29bd31d3debd0877797892ff2d91f4c",
      "tree": "7f6e56b3fc5a721296851448e3facf821ef543dd",
      "parents": [
        "3560e249abda6bee41a07a7bf0383a6e193e2839"
      ],
      "author": {
        "name": "Timur Tabi",
        "email": "timur@freescale.com",
        "time": "Wed Jul 23 21:28:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "mm: add alloc_pages_exact() and free_pages_exact()\n\nalloc_pages_exact() is similar to alloc_pages(), except that it allocates\nthe minimum number of pages to fulfill the request.  This is useful if you\nwant to allocate a very large buffer that is slightly larger than an even\npower-of-two number of pages.  In that case, alloc_pages() will waste a\nlot of memory.\n\nI have a video driver that wants to allocate a 5MB buffer.  alloc_pages()\nwiill waste 3MB of physically-contiguous memory.\n\nSigned-off-by: Timur Tabi \u003ctimur@freescale.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\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": "3560e249abda6bee41a07a7bf0383a6e193e2839",
      "tree": "a5770b74f13dca64e34cd5a1e3182e4e1f98a9ca",
      "parents": [
        "75a56cfe9fdb064d1db1cfbc564315fddb756fb1"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: replace node_boot_start in struct bootmem_data\n\nAlmost all users of this field need a PFN instead of a physical address,\nso replace node_boot_start with node_min_pfn.\n\n[Lee.Schermerhorn@hp.com: fix spurious BUG_ON() in mark_bootmem()]\nSigned-off-by: Johannes Weiner \u003channes@saeureba.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f2809e69c7128f86316048221cf45146f69a4a0",
      "tree": "3c958e4f2c563a0d59f577bf239fe103057d6730",
      "parents": [
        "41546c17418fba08ece978bad72a33072715b8f3"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: clean up alloc_bootmem_core\n\nalloc_bootmem_core has become quite nasty to read over time.  This is a\nclean rewrite that keeps the semantics.\n\nbdata-\u003elast_pos has been dropped.\n\nbdata-\u003elast_success has been renamed to hint_idx and it is now an index\nrelative to the node\u0027s range.  Since further block searching might start\nat this index, it is now set to the end of a succeeded allocation rather\nthan its beginning.\n\nbdata-\u003elast_offset has been renamed to last_end_off to be more clear that\nit represents the ending address of the last allocation relative to the\nnode.\n\n[y-goto@jp.fujitsu.com: fix new alloc_bootmem_core()]\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@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": "223e8dc9249c9e15f6c8b638d73fcad78ccb0a88",
      "tree": "dff068c99609163c1632926c7f321279d8f945d8",
      "parents": [
        "7251ff78b94c2a68d267623d09b32672b20662c1"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "bootmem: reorder code to match new bootmem structure\n\nThis only reorders functions so that further patches will be easier to\nread.  No code changed.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d9ea75443dc7e37843e656b8ebc947a6d16d618",
      "tree": "4eb47a4468a92c90a90873d1646196955b487996",
      "parents": [
        "f4a67cceee4a6f5ed38011a698c9e34747270ae5"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "powerpc: support multiple hugepage sizes\n\nInstead of using the variable mmu_huge_psize to keep track of the huge\npage size we use an array of MMU_PAGE_* values.  For each supported huge\npage size we need to know the hugepte_shift value and have a\npgtable_cache.  The hstate or an mmu_huge_psizes index is passed to\nfunctions so that they know which huge page size they should use.\n\nThe hugepage sizes 16M and 64K are setup(if available on the hardware) so\nthat they don\u0027t have to be set on the boot cmd line in order to use them.\nThe number of 16G pages have to be specified at boot-time though (e.g.\nhugepagesz\u003d16G hugepages\u003d5).\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91224346aa8c1cdaa660300a98e0b074a3a95030",
      "tree": "7b4d9604001afd55e9a3fdb6d1a414f5f2d15214",
      "parents": [
        "658013e93eb70494f7300bc90457b09a807232a4"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "powerpc: define support for 16G hugepages\n\nThe huge page size is defined for 16G pages.  If a hugepagesz of 16G is\nspecified at boot-time then it becomes the huge page size instead of the\ndefault 16M.\n\nThe change in pgtable-64K.h is to the macro pte_iterate_hashed_subpages to\nmake the increment to va (the 1 being shifted) be a long so that it is not\nshifted to 0.  Otherwise it would create an infinite loop when the shift\nvalue is for a 16G page (when base page size is 64K).\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "658013e93eb70494f7300bc90457b09a807232a4",
      "tree": "d03a23ac4fff0b35138b5d8abb761e9fad85b09c",
      "parents": [
        "ec4b2c0c8312d1118c2acd00c89988ecf955d5cc"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "powerpc: scan device tree for gigantic pages\n\nThe 16G huge pages have to be reserved in the HMC prior to boot.  The\nlocation of the pages are placed in the device tree.  This patch adds code\nto scan the device tree during very early boot and save these page\nlocations until hugetlbfs is ready for them.\n\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53ba51d21d6e048424ab8aadfebdb1f25ae07b60",
      "tree": "0d5c5ee420e85f3a86ff7fe9151e7c3d547e7de1",
      "parents": [
        "e11bfbfcb08ef4223b863799897c19cdf7c5bc00"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "hugetlb: allow arch overridden hugepage allocation\n\nAllow alloc_bootmem_huge_page() to be overridden by architectures that\ncan\u0027t always use bootmem.  This requires huge_boot_pages to be available\nfor use by this function.\n\nThis is required for powerpc 16G pages, which have to be reserved prior to\nboot-time.  The location of these pages are indicated in the device tree.\n\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4718e628dbf68a2dee23b5709e2aa3190409c56",
      "tree": "e685b2bd36a0fe731b128d2814996a693561d288",
      "parents": [
        "39c11e6c05b7fedbf7ed4df3908b25f622d56204"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "x86: add hugepagesz option on 64-bit\n\nAdd an hugepagesz\u003d...  option similar to IA64, PPC etc.  to x86-64.\n\nThis finally allows to select GB pages for hugetlbfs in x86 now that all\nthe infrastructure is in place.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ceb868796181dc95ea01a110e123afd391639873",
      "tree": "991be618e5195b05c31974a19adb4b9602315013",
      "parents": [
        "4abd32dbab201c3ced0b0af12accea77cd9eeffc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:18 2008 -0700"
      },
      "message": "hugetlb: introduce pud_huge\n\nStraight forward extensions for huge pages located in the PUD instead of\nPMDs.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.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": "b54bbf7b81170f03597c17dd0b559e3006bc9868",
      "tree": "abc6b326e293d3a685d943956d32ab4038a90e1f",
      "parents": [
        "5ced66c901f1cf0b684feb15c2cd8b126e263d07"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "mm: introduce non panic alloc_bootmem\n\nStraight forward variant of the existing __alloc_bootmem_node, only\nsubsequent patch when allocating giant hugepages at boot -- don\u0027t want to\npanic if we can\u0027t allocate as many as the user asked for.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3437870160cf2caaac6bdd76c7377a5a4145a8c",
      "tree": "6d3c8ddd442e4cd96f1f8bdcf59fcaef72f4edc9",
      "parents": [
        "a137e1cc6d6e7d315fef03962a2a5a113348b13b"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Wed Jul 23 21:27:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: new sysfs interface\n\nProvide new hugepages user APIs that are more suited to multiple hstates\nin sysfs.  There is a new directory, /sys/kernel/hugepages.  Underneath\nthat directory there will be a directory per-supported hugepage size,\ne.g.:\n\n/sys/kernel/hugepages/hugepages-64kB\n/sys/kernel/hugepages/hugepages-16384kB\n/sys/kernel/hugepages/hugepages-16777216kB\n\ncorresponding to 64k, 16m and 16g respectively.  Within each\nhugepages-size directory there are a number of files, corresponding to the\ntracked counters in the hstate, e.g.:\n\n/sys/kernel/hugepages/hugepages-64/nr_hugepages\n/sys/kernel/hugepages/hugepages-64/nr_overcommit_hugepages\n/sys/kernel/hugepages/hugepages-64/free_hugepages\n/sys/kernel/hugepages/hugepages-64/resv_hugepages\n/sys/kernel/hugepages/hugepages-64/surplus_hugepages\n\nOf these files, the first two are read-write and the latter three are\nread-only.  The size of the hugepage being manipulated is trivially\ndeducible from the enclosing directory and is always expressed in kB (to\nmatch meminfo).\n\n[dave@linux.vnet.ibm.com: fix build]\n[nacc@us.ibm.com: hugetlb: hang off of /sys/kernel/mm rather than /sys/kernel]\n[nacc@us.ibm.com: hugetlb: remove CONFIG_SYSFS dependency]\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a137e1cc6d6e7d315fef03962a2a5a113348b13b",
      "tree": "b47e195c392abaa3640cc2f9187d99d58cee664a",
      "parents": [
        "e5ff215941d59f8ae6bf58f6428dc5c26745a612"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlbfs: per mount huge page sizes\n\nAdd the ability to configure the hugetlb hstate used on a per mount basis.\n\n- Add a new pagesize\u003d option to the hugetlbfs mount that allows setting\n  the page size\n- This option causes the mount code to find the hstate corresponding to the\n  specified size, and sets up a pointer to the hstate in the mount\u0027s\n  superblock.\n- Change the hstate accessors to use this information rather than the\n  global_hstate they were using (requires a slight change in mm/memory.c\n  so we don\u0027t NULL deref in the error-unmap path -- see comments).\n\n[np: take hstate out of hugetlbfs inode and vma-\u003evm_private_data]\n\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5ff215941d59f8ae6bf58f6428dc5c26745a612",
      "tree": "d8a3f730124d6608c6c880515625ca2d4e4ed044",
      "parents": [
        "a5516438959d90b071ff0a484ce4f3f523dc3152"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: multiple hstates for multiple page sizes\n\nAdd basic support for more than one hstate in hugetlbfs.  This is the key\nto supporting multiple hugetlbfs page sizes at once.\n\n- Rather than a single hstate, we now have an array, with an iterator\n- default_hstate continues to be the struct hstate which we use by default\n- Add functions for architectures to register new hstates\n\n[akpm@linux-foundation.org: coding-style fixes]\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5516438959d90b071ff0a484ce4f3f523dc3152",
      "tree": "e356ba9364c76b93c176b4d4a262b7aca3ee8f91",
      "parents": [
        "b7ba30c679ed1eb7ed3ed8f281f6493282042bd4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: modular state for hugetlb page size\n\nThe goal of this patchset is to support multiple hugetlb page sizes.  This\nis achieved by introducing a new struct hstate structure, which\nencapsulates the important hugetlb state and constants (eg.  huge page\nsize, number of huge pages currently allocated, etc).\n\nThe hstate structure is then passed around the code which requires these\nfields, they will do the right thing regardless of the exact hstate they\nare operating on.\n\nThis patch adds the hstate structure, with a single global instance of it\n(default_hstate), and does the basic work of converting hugetlb to use the\nhstate.\n\nFuture patches will add more hstate structures to allow for different\nhugetlbfs mounts to have different page sizes.\n\n[akpm@linux-foundation.org: coding-style fixes]\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff7ea79cf7c3a481851bd4b2185fdeb6ce4afa29",
      "tree": "ea0438b98c268584c28c8f5f8c331cb12c2c44b9",
      "parents": [
        "5e9426abe209cf134adbbd62c5e73ef534eb73e9"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Wed Jul 23 21:27:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "mm: create /sys/kernel/mm\n\nAdd a kobject to create /sys/kernel/mm when sysfs is mounted.  The kobject\nwill exist regardless.  This will allow for the hugepage related sysfs\ndirectories to exist under the mm \"subsystem\" directory.  Add an ABI file\nappropriately.\n\n[kosaki.motohiro@jp.fujitsu.com: fix build]\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-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": "cdfd4325c0d878679bd6a3ba8285b71d9980e3c0",
      "tree": "1b1d52ce2ac528851630c706fbcf9db1072460a5",
      "parents": [
        "e7c4b0bfd025f71cf7624b7c1be174f63caade33"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Jul 23 21:27:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:16 2008 -0700"
      },
      "message": "mm: record MAP_NORESERVE status on vmas and fix small page mprotect reservations\n\nWith Mel\u0027s hugetlb private reservation support patches applied, strict\novercommit semantics are applied to both shared and private huge page\nmappings.  This can be a problem if an application relied on unlimited\novercommit semantics for private mappings.  An example of this would be an\napplication which maps a huge area with the intention of using it very\nsparsely.  These application would benefit from being able to opt-out of\nthe strict overcommit.  It should be noted that prior to hugetlb\nsupporting demand faulting all mappings were fully populated and so\napplications of this type should be rare.\n\nThis patch stack implements the MAP_NORESERVE mmap() flag for huge page\nmappings.  This flag has the same meaning as for small page mappings,\nsuppressing reservations for that mapping.\n\nThanks to Mel Gorman for reviewing a number of early versions of these\npatches.\n\nThis patch:\n\nWhen a small page mapping is created with mmap() reservations are created\nby default for any memory pages required.  When the region is read/write\nthe reservation is increased for every page, no reservation is needed for\nread-only regions (as they implicitly share the zero page).  Reservations\nare tracked via the VM_ACCOUNT vma flag which is present when the region\nhas reservation backing it.  When we convert a region from read-only to\nread-write new reservations are aquired and VM_ACCOUNT is set.  However,\nwhen a read-only map is created with MAP_NORESERVE it is indistinguishable\nfrom a normal mapping.  When we then convert that to read/write we are\nforced to incorrectly create reservations for it as we have no record of\nthe original MAP_NORESERVE.\n\nThis patch introduces a new vma flag VM_NORESERVE which records the\npresence of the original MAP_NORESERVE flag.  This allows us to\ndistinguish these two circumstances and correctly account the reserve.\n\nAs well as fixing this FIXME in the code, this makes it much easier to\nintroduce MAP_NORESERVE support for huge pages as this flag is available\nconsistantly for the life of the mapping.  VM_ACCOUNT on the other hand is\nheavily used at the generic level in association with small pages.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04f2cbe35699d22dbf428373682ead85ca1240f5",
      "tree": "1987a2c704cc97d8adf603054c9d89d18b9b30e0",
      "parents": [
        "a1e78772d72b2616ed20e54896e68e0e7044854e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Jul 23 21:27:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:16 2008 -0700"
      },
      "message": "hugetlb: guarantee that COW faults for a process that called mmap(MAP_PRIVATE) on hugetlbfs will succeed\n\nAfter patch 2 in this series, a process that successfully calls mmap() for\na MAP_PRIVATE mapping will be guaranteed to successfully fault until a\nprocess calls fork().  At that point, the next write fault from the parent\ncould fail due to COW if the child still has a reference.\n\nWe only reserve pages for the parent but a copy must be made to avoid\nleaking data from the parent to the child after fork().  Reserves could be\ntaken for both parent and child at fork time to guarantee faults but if\nthe mapping is large it is highly likely we will not have sufficient pages\nfor the reservation, and it is common to fork only to exec() immediatly\nafter.  A failure here would be very undesirable.\n\nNote that the current behaviour of mainline with MAP_PRIVATE pages is\npretty bad.  The following situation is allowed to occur today.\n\n1. Process calls mmap(MAP_PRIVATE)\n2. Process calls mlock() to fault all pages and makes sure it succeeds\n3. Process forks()\n4. Process writes to MAP_PRIVATE mapping while child still exists\n5. If the COW fails at this point, the process gets SIGKILLed even though it\n   had taken care to ensure the pages existed\n\nThis patch improves the situation by guaranteeing the reliability of the\nprocess that successfully calls mmap().  When the parent performs COW, it\nwill try to satisfy the allocation without using reserves.  If that fails\nthe parent will steal the page leaving any children without a page.\nFaults from the child after that point will result in failure.  If the\nchild COW happens first, an attempt will be made to allocate the page\nwithout reserves and the child will get SIGKILLed on failure.\n\nTo summarise the new behaviour:\n\n1. If the original mapper performs COW on a private mapping with multiple\n   references, it will attempt to allocate a hugepage from the pool or\n   the buddy allocator without using the existing reserves. On fail, VMAs\n   mapping the same area are traversed and the page being COW\u0027d is unmapped\n   where found. It will then steal the original page as the last mapper in\n   the normal way.\n\n2. The VMAs the pages were unmapped from are flagged to note that pages\n   with data no longer exist. Future no-page faults on those VMAs will\n   terminate the process as otherwise it would appear that data was corrupted.\n   A warning is printed to the console that this situation occured.\n\n2. If the child performs COW first, it will attempt to satisfy the COW\n   from the pool if there are enough pages or via the buddy allocator if\n   overcommit is allowed and the buddy allocator can satisfy the request. If\n   it fails, the child will be killed.\n\nIf the pool is large enough, existing applications will not notice that\nthe reserves were a factor.  Existing applications depending on the\nno-reserves been set are unlikely to exist as for much of the history of\nhugetlbfs, pages were prefaulted at mmap(), allocating the pages at that\npoint or failing the mmap().\n\n[npiggin@suse.de: fix CONFIG_HUGETLB\u003dn build]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1e78772d72b2616ed20e54896e68e0e7044854e",
      "tree": "d752dd96c2a4fcc555779a7aa99f95069c9b95ae",
      "parents": [
        "fc1b8a73dd71226902a11928dd5500326e101df9"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Jul 23 21:27:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:16 2008 -0700"
      },
      "message": "hugetlb: reserve huge pages for reliable MAP_PRIVATE hugetlbfs mappings until fork()\n\nThis patch reserves huge pages at mmap() time for MAP_PRIVATE mappings in\na similar manner to the reservations taken for MAP_SHARED mappings.  The\nreserve count is accounted both globally and on a per-VMA basis for\nprivate mappings.  This guarantees that a process that successfully calls\nmmap() will successfully fault all pages in the future unless fork() is\ncalled.\n\nThe characteristics of private mappings of hugetlbfs files behaviour after\nthis patch are;\n\n1. The process calling mmap() is guaranteed to succeed all future faults until\n   it forks().\n2. On fork(), the parent may die due to SIGKILL on writes to the private\n   mapping if enough pages are not available for the COW. For reasonably\n   reliable behaviour in the face of a small huge page pool, children of\n   hugepage-aware processes should not reference the mappings; such as\n   might occur when fork()ing to exec().\n3. On fork(), the child VMAs inherit no reserves. Reads on pages already\n   faulted by the parent will succeed. Successful writes will depend on enough\n   huge pages being free in the pool.\n4. Quotas of the hugetlbfs mount are checked at reserve time for the mapper\n   and at fault time otherwise.\n\nBefore this patch, all reads or writes in the child potentially needs page\nallocations that can later lead to the death of the parent.  This applies\nto reads and writes of uninstantiated pages as well as COW.  After the\npatch it is only a write to an instantiated page that causes problems.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9109fb7b3520de187ebc3646c209d66a233f7169",
      "tree": "f1d64d2efafb8e1652836126523f1b36fb10acd1",
      "parents": [
        "2185e69f680ae8c8496b6fc15e20c889d5b39b67"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:27:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:16 2008 -0700"
      },
      "message": "mm: drop unneeded pgdat argument from free_area_init_node()\n\nfree_area_init_node() gets passed in the node id as well as the node\ndescriptor.  This is redundant as the function can trivially get the node\ndescriptor itself by means of NODE_DATA() and the node\u0027s id.\n\nI checked all the users and NODE_DATA() seems to be usable everywhere\nfrom where this function is called.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2185e69f680ae8c8496b6fc15e20c889d5b39b67",
      "tree": "5835610f8c89786ef18860e02937d1dd9b0977f6",
      "parents": [
        "9023cb7e8564d95a1893f8cb6895a293be9a71fe"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Jul 23 21:27:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "mapping_set_error: add unlikely()\n\nThis is called on a per-page basis and in the vast majority of cases\n`error\u0027 is zero.\n\nCc: Guillaume Chazarain \u003cguichaz@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": "9023cb7e8564d95a1893f8cb6895a293be9a71fe",
      "tree": "641e9918124a2a9e6642916ed9d23f97fbf95526",
      "parents": [
        "8a38082d21cbc5ec961da7dda195e98a9a064dcf"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Jul 23 21:27:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "slob: record page flag overlays explicitly\n\nSLOB reuses two page bits for internal purposes, it overlays PG_active and\nPG_private.  This is hidden away in slob.c.  Document these overlays\nexplicitly in the main page-flags enum along with all the others.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.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": "8a38082d21cbc5ec961da7dda195e98a9a064dcf",
      "tree": "e68f8c612c9f4be60d9e8b11a654e10416470155",
      "parents": [
        "0cad47cf13bc2e9142d3a11d9f50523797d0d4ea"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Jul 23 21:27:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "slub: record page flag overlays explicitly\n\nSLUB reuses two page bits for internal purposes, it overlays PG_active and\nPG_error.  This is hidden away in slub.c.  Document these overlays\nexplicitly in the main page-flags enum along with all the others.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.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": "0cad47cf13bc2e9142d3a11d9f50523797d0d4ea",
      "tree": "e0e71528060a11a909f4191738cb3f1abae2e89f",
      "parents": [
        "da3bbdd4632c0171406b2677e31494afa5bde2f8"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Wed Jul 23 21:27:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "page-flags: record page flag overlays explicitly\n\nWith the recent page flag reorganisation we have a single enum which\ndefines the valid page flags and their values, nice and clear.  However\nthere are a number of bits which are overloaded by different subsystems.\nFirstly there is PG_owner_priv_1 which is used by filesystems and by XEN.\nSecondly both SLOB and SLUB use a couple of extra page bits to manage\ninternal state for pages they own; both overlay other bits.  All of these\n\"aliases\" are scattered about the source making it very hard for a reader\nto know if the bits are safe to rely on in all contexts; confusion here is\nbad.\n\nAs we now have a single place where the bits are clearly assigned it makes\nsense to clarify the reuse of bits by making the aliases explicit and\nvisible with the original bit assignments.  This patch creates explicit\naliases within the enum itself for the overloaded bits, creates standard\nbit accessors PageFoo etc.  and uses those throughout.\n\nThis version pulls the bit manipulation out to standard named page bit\naccessors as suggested by Christoph, it retains the explicit mapping to\nthe overlayed bits.  A fusion of both ideas.  This has been SLUB and SLOB\nhave been compile tested on x86_64 only, and SLUB boot tested.  If people\nfeel this is worth doing then I can run a fuller set of testing.\n\nThis patch:\n\nSome page flags are used for more than one purpose, for example\nPG_owner_priv_1.  Currently there are individual accessors for each user,\neach built using the common flag name far away from the bit definitions.\nThis makes it hard to see all possible uses of these bits.\n\nNow that we have a single enum to generate the bit orders it makes sense\nto express overlays in the same place.  So create per use aliases for this\nbit in the main page-flags enum and use those in the accessors.\n\n[akpm@linux-foundation.org: fix xen]\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.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": "da3bbdd4632c0171406b2677e31494afa5bde2f8",
      "tree": "6a1947b2a32041ef0d14044e659ba7d546d55483",
      "parents": [
        "3c82d0ce2c4f642b2f24ef98707a030543b06b90"
      ],
      "author": {
        "name": "Kentaro Makita",
        "email": "k-makita@np.css.fujitsu.com",
        "time": "Wed Jul 23 21:27:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "fix soft lock up at NFS mount via per-SB LRU-list of unused dentries\n\n[Summary]\n\n Split LRU-list of unused dentries to one per superblock to avoid soft\n lock up during NFS mounts and remounting of any filesystem.\n\n Previously I posted here:\n http://lkml.org/lkml/2008/3/5/590\n\n[Descriptions]\n\n- background\n\n  dentry_unused is a list of dentries which are not referenced.\n  dentry_unused grows up when references on directories or files are\n  released.  This list can be very long if there is huge free memory.\n\n- the problem\n\n  When shrink_dcache_sb() is called, it scans all dentry_unused linearly\n  under spin_lock(), and if dentry-\u003ed_sb is differnt from given\n  superblock, scan next dentry.  This scan costs very much if there are\n  many entries, and very ineffective if there are many superblocks.\n\n  IOW, When we need to shrink unused dentries on one dentry, but scans\n  unused dentries on all superblocks in the system.  For example, we scan\n  500 dentries to unmount a filesystem, but scans 1,000,000 or more unused\n  dentries on other superblocks.\n\n  In our case , At mounting NFS*, shrink_dcache_sb() is called to shrink\n  unused dentries on NFS, but scans 100,000,000 unused dentries on\n  superblocks in the system such as local ext3 filesystems.  I hear NFS\n  mounting took 1 min on some system in use.\n\n* : NFS uses virtual filesystem in rpc layer, so NFS is affected by\n  this problem.\n\n  100,000,000 is possible number on large systems.\n\n  Per-superblock LRU of unused dentried can reduce the cost in\n  reasonable manner.\n\n- How to fix\n\n  I found this problem is solved by David Chinner\u0027s \"Per-superblock\n  unused dentry LRU lists V3\"(1), so I rebase it and add some fix to\n  reclaim with fairness, which is in Andrew Morton\u0027s comments(2).\n\n  1) http://lkml.org/lkml/2006/5/25/318\n  2) http://lkml.org/lkml/2006/5/25/320\n\n  Split LRU-list of unused dentries to each superblocks.  Then, NFS\n  mounting will check dentries under a superblock instead of all.  But\n  this spliting will break LRU of dentry-unused.  So, I\u0027ve attempted to\n  make reclaim unused dentrins with fairness by calculate number of\n  dentries to scan on this sb based on following way\n\n  number of dentries to scan on this sb \u003d\n  count * (number of dentries on this sb / number of dentries in the machine)\n\n- ToDo\n - I have to measuring performance number and do stress tests.\n\n - When unmount occurs during prune_dcache(), scanning on same\n  superblock, It is unable to reach next superblock because it is gone\n  away.  We restart scannig superblock from first one, it causes\n  unfairness of reclaim unused dentries on first superblock.  But I think\n  this happens very rarely.\n\n- Test Results\n\n  Result on 6GB boxes with excessive unused dentries.\n\nWithout patch:\n\n$ cat /proc/sys/fs/dentry-state\n10181835        10180203        45      0       0       0\n# mount -t nfs 10.124.60.70:/work/kernel-src nfs\nreal    0m1.830s\nuser    0m0.001s\nsys     0m1.653s\n\n With this patch:\n$ cat /proc/sys/fs/dentry-state\n10236610        10234751        45      0       0       0\n# mount -t nfs 10.124.60.70:/work/kernel-src nfs\nreal    0m0.106s\nuser    0m0.002s\nsys     0m0.032s\n\n[akpm@linux-foundation.org: fix comments]\nSigned-off-by: Kentaro Makita \u003ck-makita@np.css.fujitsu.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42b7772812d15b86543a23b82bd6070eef9a08b1",
      "tree": "10665ee01fe82ce17c68a6278d044531b1ed64c0",
      "parents": [
        "a352894d07059649398c4769dc8b645e1a1dad88"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed Jul 23 21:27:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "mm: remove double indirection on tlb parameter to free_pgd_range() \u0026 Co\n\nThe double indirection here is not needed anywhere and hence (at least)\nconfusing.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: 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": "a1f242ff460e4b50a045fa237c3c56cce9eabf83",
      "tree": "657766b55251042b38967422dc9c3ea893b98747",
      "parents": [
        "7ae8ed5053a39082d224a3f48409e016baca9c16"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jul 23 21:27:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "powerpc ioremap_prot\n\nThis adds ioremap_prot and pte_pgprot() so that one can extract protection\nbits from a PTE and use them to ioremap_prot() (in order to support ptrace\nof VM_IO | VM_PFNMAP as per Rik\u0027s patch).\n\nThis moves a couple of flag checks around in the ioremap implementations\nof arch/powerpc.  There\u0027s a side effect of allowing non-cacheable and\nnon-guarded mappings on ppc32 which before would always have _PAGE_GUARDED\nset whenever _PAGE_NO_CACHE is.\n\n(standard ioremap will still set _PAGE_GUARDED, but ioremap_prot will be\ncapable of setting such a non guarded mapping).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: 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": "28b2ee20c7cba812b6f2ccf6d722cf86d00a84dc",
      "tree": "e8f1efd05c38c1cb26ca3ee051a454eb685fd122",
      "parents": [
        "0d71d10a4252a3938e6b70189bc776171c02e076"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Wed Jul 23 21:27:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "access_process_vm device memory infrastructure\n\nIn order to be able to debug things like the X server and programs using\nthe PPC Cell SPUs, the debugger needs to be able to access device memory\nthrough ptrace and /proc/pid/mem.\n\nThis patch:\n\nAdd the generic_access_phys access function and put the hooks in place\nto allow access_process_vm to access device or PPC Cell SPU memory.\n\n[riel@redhat.com: Add documentation for the vm_ops-\u003eaccess function]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Benjamin Herrensmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d71d10a4252a3938e6b70189bc776171c02e076",
      "tree": "2bdaddc5eb5de1543368508e63d8859a94354073",
      "parents": [
        "a969e903a944f69309ee5cc9e7c7b08310d1151e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jul 23 21:27:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:15 2008 -0700"
      },
      "message": "mm: remove nopfn\n\nThere are no users of nopfn in the tree. Remove it.\n\n[hugh@veritas.com: fix build error]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c748e1340e0de3fa7fed86f8bdf499be9242afff",
      "tree": "864d3133bb8c3f73615497ef1fc557fcf93e5f1b",
      "parents": [
        "4f5ca265788973e3f5a1129a96ee4a9cbf587f2b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:27:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm/vmstat.c: proper externs\n\nThis patch adds proper extern declarations for five variables in\ninclude/linux/vmstat.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "e4048e5dc4aecec670f48ed007a28779f09cebd6",
      "tree": "eb22cb47f1885d8006a85c5142d6e7f9d115de49",
      "parents": [
        "efe9e77997f6e0306fedc6efa98df491dcf5ecb0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Jul 23 21:27:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "page allocator: inline some __alloc_pages() wrappers\n\nTwo zonelist patch series rewrote __page_alloc() largely.  Now, it is just\na wrapper function.  Inlining them will save a function call.\n\n[akpm@linux-foundation.org: export __alloc_pages_internal]\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-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": "ffc6421f0720f433b5b35b89ff56e998eabff93b",
      "tree": "171f85b314b062eae1ad5b36e4f64dddc511aa11",
      "parents": [
        "8ae04463077324ed9f6b04ab3a5b17ae1ee4dd35"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:26:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm: unexport __alloc_bootmem_core()\n\nThis function has no external callers, so unexport it.  Also fix its naming\ninconsistency.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b61bfa3c462671c48a51fb5c31af337c5a996a04",
      "tree": "020363fd43a85ddde9998759150b428ee794dae6",
      "parents": [
        "8b05c7e6e159d2f33c9275281b8b909a89eb7c5d"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:26:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm: move bootmem descriptors definition to a single place\n\nThere are a lot of places that define either a single bootmem descriptor or an\narray of them.  Use only one central array with MAX_NUMNODES items instead.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b05c7e6e159d2f33c9275281b8b909a89eb7c5d",
      "tree": "646edb14c42d6404e36f1602d47c639c72a8300a",
      "parents": [
        "68ad8df42e12037c3894c9706ab428bf5cd6426b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jul 23 21:26:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "add a helper function to test if an object is on the stack\n\nlib/debugobjects.c has a function to test if an object is on the stack.\nThe block layer and ide needs it (they need to avoid DMA from/to stack\nbuffers).  This patch moves the function to include/linux/sched.h so that\neveryone can use it.\n\nlib/debugobjects.c uses current-\u003estack but this patch uses a\ntask_stack_page() accessor, which is a preferable way to access the stack.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e108526e77aa41c89b3be96f75d97615db2b751c",
      "tree": "11f3041d170d32ea49894527aa119016d76716b5",
      "parents": [
        "338b9bb3adac0d2c5a1e180491d9b001d624c402"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Jul 23 21:26:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:13 2008 -0700"
      },
      "message": "move memory_read_from_buffer() from fs.h to string.h\n\nJames Bottomley warns that inclusion of linux/fs.h in a low level\ndriver was always a danger signal.  This patch moves\nmemory_read_from_buffer() from fs.h to string.h and fixes includes in\nexisting memory_read_from_buffer() users.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@hansenpartnership.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Bob Moore \u003crobert.moore@intel.com\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Len Brown \u003clenb@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": "7f9dce38378f0a4a298e885553d6bb7121376376",
      "tree": "5bfd688c9f356f7216bbc3cef3b4c10153de334b",
      "parents": [
        "26dcce0fabbef75ae426461edf21b5030bad60f3",
        "ba42059fbd0aa1ac91b582412b5fedb1258f241f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: hrtick_enabled() should use cpu_active()\n  sched, x86: clean up hrtick implementation\n  sched: fix build error, provide partition_sched_domains() unconditionally\n  sched: fix warning in inc_rt_tasks() to not declare variable \u0027rq\u0027 if it\u0027s not needed\n  cpu hotplug: Make cpu_active_map synchronization dependency clear\n  cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)\n  sched: rework of \"prioritize non-migratable tasks over migratable ones\"\n  sched: reduce stack size in isolated_cpu_setup()\n  Revert parts of \"ftrace: do not trace scheduler functions\"\n\nFixed up conflicts in include/asm-x86/thread_info.h (due to the\nTIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and\nkernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr()\nintroduction).\n"
    },
    {
      "commit": "26dcce0fabbef75ae426461edf21b5030bad60f3",
      "tree": "56c64fa47dc29f7ea5a8fd0cab0459fb0a05a2bc",
      "parents": [
        "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
        "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  NR_CPUS: Replace NR_CPUS in speedstep-centrino.c\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP\n  NR_CPUS: Replace NR_CPUS in cpufreq userspace routines\n  NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix\n  cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c\n  cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n  cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c\n  cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n  Revert \"cpumask: introduce new APIs\"\n  cpumask: make for_each_cpu_mask a bit smaller\n  net: Pass reference to cpumask variable in net/sunrpc/svc.c\n  ...\n\nFix up trivial conflicts in drivers/cpufreq/cpufreq.c manually\n"
    },
    {
      "commit": "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
      "tree": "46904d68a5a68f22e6c6baf3472edd4c37a39481",
      "parents": [
        "30d38542ec777468bb6a31829076a2dbc5690e35",
        "4dca10a96041f78bed11ce9e4a5cfde813ec4ccb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "message": "Merge branch \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix invalid proc_handler for softlockup_panic\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: show irqtrace\n  softlockup: print a module list on being stuck\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n  softlockup: fix softlockup_thresh fix\n  softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n  softlockup: allow panic on lockup\n"
    },
    {
      "commit": "30d38542ec777468bb6a31829076a2dbc5690e35",
      "tree": "698b7a4fdd730befa34c4c9642cdbe72ce7d336a",
      "parents": [
        "20b7997e8abdf338dcc27fb4f1333c4973a7f113",
        "044e5f45e4ad890d03bd1e8bb44c634397cac24d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:24:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:24:08 2008 -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: (85 commits)\n  [ARM] pxa: add base support for PXA930 Handheld Platform (aka SAAR)\n  [ARM] pxa: add base support for PXA930 Evaluation Board (aka TavorEVB)\n  [ARM] pxa: add base support for PXA930 (aka Tavor-P)\n  [ARM] Update mach-types\n  [ARM] pxa: make littleton to use the new smc91x platform data\n  [ARM] pxa: make zylonite to use the new smc91x platform data\n  [ARM] pxa: make mainstone to use the new smc91x platform data\n  [ARM] pxa: make lubbock to use new smc91x platform data\n  [NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data\n  [NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable\n  [NET] smc91x: add SMC91X_NOWAIT flag to platform data\n  [NET] smc91x: favor the use of SMC91X_USE_* instead of SMC_CAN_USE_*\n  [NET] smc91x: remove \"irq_flags\" from \"struct smc91x_platdata\"\n  [ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper\n  Support for LCD on e740 e750 e400 and e800 e-series PDAs\n  E-series UDC support\n  PXA UDC - allow use of inverted GPIO for pullup\n  Add e350 support\n  Fix broken e-series build\n  E-series GPIO / IRQ definitions.\n  ...\n"
    },
    {
      "commit": "20b7997e8abdf338dcc27fb4f1333c4973a7f113",
      "tree": "d060f0ba9940781ca2351c09f4638640584052a5",
      "parents": [
        "5554b35933245e95710d709175e14c02cbc956a4",
        "7659150c60839a2bd31f74e866374abb9be17e43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 12:04:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 12:04:34 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  sdhci: highmem capable PIO routines\n  sg: reimplement sg mapping iterator\n  mmc_test: print message when attaching to card\n  mmc: Remove Russell as primecell mci maintainer\n  mmc_block: bounce buffer highmem support\n  sdhci: fix bad warning from commit c8b3e02\n  sdhci: add warnings for bad buffers in ADMA path\n  mmc_test: test oversized sg lists\n  mmc_test: highmem tests\n  s3cmci: ensure host stopped on machine shutdown\n  au1xmmc: suspend/resume implementation\n  s3cmci: fixes for section mismatch warnings\n  pxamci: trivial fix of DMA alignment register bit clearing\n"
    },
    {
      "commit": "5554b35933245e95710d709175e14c02cbc956a4",
      "tree": "2eeb2f05a7061da3c9a3bc9ea69a344b990c6b49",
      "parents": [
        "0f6e38a6381446eff5175b77d1094834a633a90f",
        "7f1b358a236ee9c19657a619ac6f2dcabcaa0924"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 12:03:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 12:03:18 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (24 commits)\n  I/OAT: I/OAT version 3.0 support\n  I/OAT: tcp_dma_copybreak default value dependent on I/OAT version\n  I/OAT: Add watchdog/reset functionality to ioatdma\n  iop_adma: cleanup iop_chan_xor_slot_count\n  iop_adma: document how to calculate the minimum descriptor pool size\n  iop_adma: directly reclaim descriptors on allocation failure\n  async_tx: make async_tx_test_ack a boolean routine\n  async_tx: remove depend_tx from async_tx_sync_epilog\n  async_tx: export async_tx_quiesce\n  async_tx: fix handling of the \"out of descriptor\" condition in async_xor\n  async_tx: ensure the xor destination buffer remains dma-mapped\n  async_tx: list_for_each_entry_rcu() cleanup\n  dmaengine: Driver for the Synopsys DesignWare DMA controller\n  dmaengine: Add slave DMA interface\n  dmaengine: add DMA_COMPL_SKIP_{SRC,DEST}_UNMAP flags to control dma unmap\n  dmaengine: Add dma_client parameter to device_alloc_chan_resources\n  dmatest: Simple DMA memcpy test client\n  dmaengine: DMA engine driver for Marvell XOR engine\n  iop-adma: fix platform driver hotplug/coldplug\n  dmaengine: track the number of clients using a channel\n  ...\n\nFixed up conflict in drivers/dca/dca-sysfs.c manually\n"
    },
    {
      "commit": "0f6e38a6381446eff5175b77d1094834a633a90f",
      "tree": "e5295c372b6a73fa84b4d14b86ea9fa626d3f030",
      "parents": [
        "e669e8179d364bb11ed51504e1a1c60830bff4c5",
        "3b216c9ed347924efb5e7a66b3257c40a5596d30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 11:59:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 11:59:37 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: kgdboc console poll hooks for mpsc uart\n  kgdb: kgdboc console poll hooks for cpm uart\n  kgdb, powerpc: arch specific powerpc kgdb support\n  kgdb: support for ARCH\u003darm\n  kgdb: remove unused HAVE_ARCH_KGDB_SHADOW_INFO config variable\n"
    },
    {
      "commit": "e669e8179d364bb11ed51504e1a1c60830bff4c5",
      "tree": "3491e06ce0d6b0aef6d74b76aba92633779f4953",
      "parents": [
        "876a4256d25b7fd7917f53e767da1ebdf3168457",
        "fc410698ebf7abfb64f0e2337b871298557f0575"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 11:59:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 11:59:09 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (60 commits)\n  ide: small whitespace fixes\n  ide: ide-cd_ioctl.c fix sparse integer as NULL pointer warnings\n  ide: ide-cd.c fix sparse endianness warnings\n  ide-cd: convert to using the new atapi_flags\n  ide: remove unused PC_FLAG_DRQ_INTERRUPT\n  ide-scsi: convert to using the new atapi_flags\n  ide-tape: convert to using the new atapi_flags\n  ide-floppy: convert to using the new atapi_flags (take 2)\n  ide: add per-device flags\n  ide: use rq-\u003ecmd instead of pc-\u003ec in atapi common code\n  ide-scsi: pass packet command in rq-\u003ecmd\n  ide-tape: pass packet command in rq-\u003ecmd\n  ide-tape: make room for packet command ids in rq-\u003ecmd\n  ide-floppy: pass packet command in rq-\u003ecmd\n  ide: remove pc-\u003ecallback member from ide_atapi_pc\n  ide-scsi: use drive-\u003epc_callback instead of pc-\u003ecallback\n  ide-tape: use drive-\u003epc_callback instead of pc-\u003ecallback\n  ide-floppy: use drive-\u003epc_callback instead of pc-\u003ecallback\n  ide: push pc callback pointer into the ide_drive_t structure\n  drivers/ide/ide-tape.c: remove double kfree\n  ...\n"
    },
    {
      "commit": "ac77ef8b03677c8ae8afe77bccc5f6a969193a79",
      "tree": "0fb68c364198ecc6e28eda8398b6871ca011d83b",
      "parents": [
        "be4c916e96bcde629463d7577d4c402c7f6e6f3e"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Wed Jul 23 19:56:01 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:56:01 2008 +0200"
      },
      "message": "ide: remove unused PC_FLAG_DRQ_INTERRUPT\n\nThere should be no functionality change resulting from this patch.\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ea68d270ff55bcdfa5d07697eb68103b5b02c7bb",
      "tree": "68bcb3f721b95cca5b1fb0891e7490af19de55e5",
      "parents": [
        "3b8ac5398ca8137b41aa5da4d9fad89153450aaa"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Wed Jul 23 19:56:01 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:56:01 2008 +0200"
      },
      "message": "ide-floppy: convert to using the new atapi_flags (take 2)\n\nwhile at it, remove PC_FLAG_ZIP_DRIVE from the packed command flags altogether\nand query the drive type through drive-\u003eatapi_flags.\n\nv2:\nide-floppy fix.\n\nThere should be no functionality change resulting from this patch.\n\n[bart: IDE_FLAG_* -\u003e IDE_AFLAG_*, dev_flags -\u003e atapi_flags]\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "3b8ac5398ca8137b41aa5da4d9fad89153450aaa",
      "tree": "994f2ecca99e3edf685108bca7c2dba4058584e0",
      "parents": [
        "8fccf8995c6d462db50265a5f7fa9a288a5a4590"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Wed Jul 23 19:56:01 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:56:01 2008 +0200"
      },
      "message": "ide: add per-device flags\n\nPush device flags up into ide_drive_t.\n\nThere should be no functionality change resulting from this patch.\n\n[bart: IDE_FLAG_* -\u003e IDE_AFLAG_*, dev_flags -\u003e atapi_flags]\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8bcda3bc492c56abed33a8cbf824c410d7ce69f0",
      "tree": "ceb0de938525d94327faedaf93341edc1da92d90",
      "parents": [
        "db9d286988b9e905045c536f681e85fa5e3a728b"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Wed Jul 23 19:56:00 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:56:00 2008 +0200"
      },
      "message": "ide: remove pc-\u003ecallback member from ide_atapi_pc\n\nThere should be no functionality change resulting from this patch.\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d7c26ebb5bca284ece9db7311a9e180aabae1922",
      "tree": "8a1b87c735863289d87b9d9a48191776de578468",
      "parents": [
        "4b5075050072ed7c4730ee547ae80117c4fa8513"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Wed Jul 23 19:55:59 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:59 2008 +0200"
      },
      "message": "ide: push pc callback pointer into the ide_drive_t structure\n\nRefrain from carrying the callback ptr with every packet command since the\ncallback function is only one anyways. ide_drive_t is probably not the most\nsuitable place for it right now but is the more sane solution. Besides, these\nstructs are going to be reorganized anyways during the generic ide rewrite.\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8a69580e1ea9516caada5eed202afd39546e9809",
      "tree": "fb300fb7d67e09470a2654811baaa7832fec2fae",
      "parents": [
        "18de10170df31d34b342612f1c896a16a52f0a5c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:59 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:59 2008 +0200"
      },
      "message": "ide: add ide_host_free() helper (take 2)\n\n* Add ide_host_free() helper and convert ide_host_remove() to use it.\n\n* Fix handling of ide_host_register() failure in ide_host_add(),\n  icside.c, ide-generic.c, falconide.c and sgiioc4.c.\n\nWhile at it:\n\n* Fix handling of ide_host_alloc_all() failure in ide-generic.c.\n\n* Fix handling of ide_host_alloc() failure in falconide.c\n  (also return the correct error value if no device is found).\n\nv2:\n* falconide build fix. (From Stephen Rothwell)\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6f904d015262dfa43eb1cecc00b0998b4c3543f2",
      "tree": "d12a5818072d04525db6eb2d74668ba03bdead2d",
      "parents": [
        "48c3c1072651922ed153bcf0a33ea82cf20df390"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:57 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:57 2008 +0200"
      },
      "message": "ide: add ide_host_add() helper\n\nAdd ide_host_add() helper which does ide_host_alloc()+ide_host_register(),\nthen convert ide_setup_pci_device[s](), ide_legacy_device_add() and some\nhost drivers to use it.\n\nWhile at it:\n\n* Fix ide_setup_pci_device[s](), ide_arm.c, gayle.c, ide-4drives.c,\n  macide.c, q40ide.c, cmd640.c and cs5520.c to return correct error value.\n\n* -ENOENT -\u003e -ENOMEM in rapide.c, ide-h8300.c, ide-generic.c, au1xxx-ide.c\n  and pmac.c\n\n* -ENODEV -\u003e -ENOMEM in palm_bk3710.c, ide_platform.c and delkin_cb.c\n\n* -1 -\u003e -ENOMEM in ide-pnp.c\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "48c3c1072651922ed153bcf0a33ea82cf20df390",
      "tree": "92ad23e3869e70731eca99394c08a3bf06b8753e",
      "parents": [
        "374e042c3e767ac2e5a40b78529220e0b3de793c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:57 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:57 2008 +0200"
      },
      "message": "ide: add struct ide_host (take 3)\n\n* Add struct ide_host which keeps pointers to host\u0027s ports.\n\n* Add ide_host_alloc[_all]() and ide_host_remove() helpers.\n\n* Pass \u0027struct ide_host *host\u0027 instead of \u0027u8 *idx\u0027 to\n  ide_device_add[_all]() and rename it to ide_host_register[_all]().\n\n* Convert host drivers and core code to use struct ide_host.\n\n* Remove no longer needed ide_find_port().\n\n* Make ide_find_port_slot() static.\n\n* Unexport ide_unregister().\n\nv2:\n* Add missing \u0027struct ide_host *host\u0027 to macide.c.\n\nv3:\n* Fix build problem in pmac.c (s/ide_alloc_host/ide_host_alloc/)\n  (Noticed by Stephen Rothwell).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "374e042c3e767ac2e5a40b78529220e0b3de793c",
      "tree": "433d258f6da9783f0cb34234af9c359353f531fe",
      "parents": [
        "d6276b5f5cc7508124de291f3ed59c6945c17ae7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:56 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:56 2008 +0200"
      },
      "message": "ide: add struct ide_tp_ops (take 2)\n\n* Add struct ide_tp_ops for transport methods.\n\n* Add \u0027const struct ide_tp_ops *tp_ops\u0027 to struct ide_port_info\n  and ide_hwif_t.\n\n* Set the default hwif-\u003etp_ops in ide_init_port_data().\n\n* Set host driver specific hwif-\u003etp_ops in ide_init_port().\n\n* Export ide_exec_command(), ide_read_status(), ide_read_altstatus(),\n  ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}()\n  and ata_{in,out}put_data().\n\n* Convert host drivers and core code to use struct ide_tp_ops.\n\n* Remove no longer needed default_hwif_transport().\n\n* Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops.\n\nWhile at it:\n\n* Use struct ide_port_info in falconide.c and q40ide.c.\n\n* Rename ata_{in,out}put_data() to ide_{in,out}put_data().\n\nv2:\n\n* Fix missing convertion in ns87415.c.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d6276b5f5cc7508124de291f3ed59c6945c17ae7",
      "tree": "09862ad9c2830dd3dc6fb0c395fe1836bd7fe045",
      "parents": [
        "edc74b247bedb3a1f80eb6371d4171f2d49c1c77"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:56 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:56 2008 +0200"
      },
      "message": "ide: add \u0027config\u0027 field to hw_regs_t\n\nAdd \u0027config\u0027 field to hw_regs_t and use it to set hwif-\u003econfig_data in\nide_init_port_hw(), then convert ide_legacy_init_one() to use hw-\u003econfig.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "3b2a5c7149ee4af4aff8fee953f66fc846d92cea",
      "tree": "bac123edeab61a491625fe42fca8e37e699bf84b",
      "parents": [
        "c30daac190de23779090c645e680c7977377032c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:56 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:56 2008 +0200"
      },
      "message": "ide: filter out \"default\" transfer mode values in set_xfer_rate()\n\n* Filter out \"default\" transfer mode values (0x00 - default PIO mode,\n  0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted\n  /proc/ide/hd?/settings:current_speed setting.\n\n  Allowing \"default\" transfer mode values is a dangerous thing to do as\n  we don\u0027t support programming controller to the \"default\" transfer mode\n  and devices often use different values for the default and maximum PIO\n  mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay\n  programmed for higher PIO mode while device will use the lower PIO mode.\n\n  There is no functionality loss as by using special IOCTLs device can\n  still be programmed to \"default\" transfer modes (it is only useful for\n  debugging/testing purposes anyway).\n\n* Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was\n  previously used by few host drivers to program the controller to PIO0\n  timings for \"default\" transfer mode \u003d\u003d 0x01 (although some host drivers\n  would program invalid PIO timings instead).\n\n* Cleanup ide_set_xfer_rate() and add BUG_ON().\n\nSuggested-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ba4b2e607e4e9eaa929935325dafd5c86d3b5262",
      "tree": "a1467b1bf355758d74343cc708c7f6fa70400faf",
      "parents": [
        "472b4bc1af50431e08130c786ef0612f5b641839"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:55 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:55 2008 +0200"
      },
      "message": "ide: remove dead Virtual DMA support\n\nLets remove dead Virtual DMA support for now so it doesn\u0027t clutter\ncore IDE code (it can be bring back when there is a need for it):\n\n* Remove IDE_HFLAG_VDMA host flag.\n\n* Remove ide_drive_t.vdma flag.\n\n* cs5520.c: remove stale FIXMEs, cs5520_dma_host_set() and cs5520_dma_ops\n  (also there is no longer a need to set IDE_HFLAG_NO_ATAPI_DMA).\n\nThere should be no functional changes caused by this patch.\n\nCc: TAKADA Yoshihito \u003ctakada@mbf.nifty.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "761052e676372465fdeb97c148d5a4b0790fa8a0",
      "tree": "c3befdb19fbb5a40f3f8f844a9185018746d9893",
      "parents": [
        "1823649b5abb77ffe638178bc5253249d3ecd17d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:54 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:54 2008 +0200"
      },
      "message": "ide: remove -\u003eINB, -\u003eOUTB and -\u003eOUTBSYNC methods\n\n* Remove no longer needed -\u003eINB, -\u003eOUTB and -\u003eOUTBSYNC methods.\n\nThen:\n\n* Remove no longer used default_hwif_[mm]iops() and ide_[mm_]outbsync().\n\n* Cleanup SuperIO handling in ns87415.c.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1823649b5abb77ffe638178bc5253249d3ecd17d",
      "tree": "154d876b89cf010568d18105913c7fbca8d7cba9",
      "parents": [
        "88a72109b2256bf2974f324a8f890b4a06faf7e9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:54 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:54 2008 +0200"
      },
      "message": "ide: add ide_read_bcount_and_ireason() helper\n\nAdd ide_read_bcount_and_ireason() helper and use it instead of -\u003eINB\nin {cdrom_newpc,ide_pc}_intr().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "92eb43800a3c1300bd5cb8a2a27e6f2a84f7042e",
      "tree": "6c4b7253d2e799f260d7858b99addd0cdac978d2",
      "parents": [
        "40f095f0138ea5b5971e5128b27e1bb907161149"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:53 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:53 2008 +0200"
      },
      "message": "ide: use -\u003etf_read in ide_read_error()\n\n* Add IDE_TFLAG_IN_FEATURE taskfile flag for reading Feature\n  register and handle it in -\u003etf_read.\n\n* Convert ide_read_error() to use -\u003etf_read instead of -\u003eINB,\n  then uninline and export it.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6e6afb3b7401f0181da74a1add57f126946b43e6",
      "tree": "2ca80a7fa25a387b5f3d479d9e94b1339ee440ac",
      "parents": [
        "1f6d8a0fd8f6cc5ee2219a8cf9b2da16dfd67397"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:52 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:52 2008 +0200"
      },
      "message": "ide: add -\u003eset_irq method\n\nAdd -\u003eset_irq method for setting nIEN bit of ATA Device Control\nregister and use it instead of ide_set_irq().\n\nWhile at it:\n\n* Use -\u003eset_irq in init_irq() and do_reset1().\n\n* Don\u0027t use HWIF() macro in ide_check_pm_state().\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1f6d8a0fd8f6cc5ee2219a8cf9b2da16dfd67397",
      "tree": "4a858f4525ea67cd325ec370f4823adc1f7c0450",
      "parents": [
        "b73c7ee25da6133f97f47ffd3557288417da7c76"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:52 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:52 2008 +0200"
      },
      "message": "ide: add -\u003eread_altstatus method\n\n* Remove ide_read_altstatus() inline helper.\n\n* Add -\u003eread_altstatus method for reading ATA Alternate Status\n  register and use it instead of -\u003eINB.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b73c7ee25da6133f97f47ffd3557288417da7c76",
      "tree": "0d348c81294d246b8417aff6e24502c93b312505",
      "parents": [
        "c6dfa867bb45f4bff2e48f3bc89ab1d6a7ab4c21"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:52 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:52 2008 +0200"
      },
      "message": "ide: add -\u003eread_status method\n\n* Remove ide_read_status() inline helper.\n\n* Add -\u003eread_status method for reading ATA Status register\n  and use it instead of -\u003eINB.\n\nWhile at it:\n\n* Don\u0027t use HWGROUP() macro.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c6dfa867bb45f4bff2e48f3bc89ab1d6a7ab4c21",
      "tree": "54d9322fad75e48fb548e182fbb87d06a06cd048",
      "parents": [
        "ebb00fb55d0566bb3e81518122a57b4b3bedf1e4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "message": "ide: add -\u003eexec_command method\n\nAdd -\u003eexec_command method for writing ATA Command register\nand use it instead of -\u003eOUTBSYNC.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ebb00fb55d0566bb3e81518122a57b4b3bedf1e4",
      "tree": "d8a717bf0e4556a71ba71579a6d5cedfa5bad980",
      "parents": [
        "81e8d5a34f7d2a2acbe309cfa5810a9699a63239"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "message": "ide: factor out simplex handling from ide_pci_dma_base()\n\n* Factor out simplex handling from ide_pci_dma_base() to\n  ide_pci_check_simplex().\n\n* Set hwif-\u003edma_base early in -\u003einit_dma method / ide_hwif_setup_dma()\n  and reset it in ide_init_port() if DMA initialization fails.\n\n* Use -\u003eread_sff_dma_status instead of -\u003eINB in ide_pci_dma_base().\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "81e8d5a34f7d2a2acbe309cfa5810a9699a63239",
      "tree": "be8257161e9bbc6f7bd0fe0b7980de94681d3306",
      "parents": [
        "cab7f8eda40d3e3e16b137c67cdddc2cf893c5d7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "message": "ide: remove ide_setup_dma()\n\nExport sff_dma_ops and then remove ide_setup_dma().\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cab7f8eda40d3e3e16b137c67cdddc2cf893c5d7",
      "tree": "369335f0bc359357653fb2271c67940840eedced",
      "parents": [
        "ab86f91e8739e0b1587a16e4792ab5e4bb11f1b5"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:51 2008 +0200"
      },
      "message": "ide: remove -\u003edma_{status,command} fields from ide_hwif_t\n\n* Use -\u003edma_base + offset instead of -\u003edma_{status,command}\n  and remove no longer needed -\u003edma_{status,command}.\n\nWhile at it:\n\n* Use ATA_DMA_* defines.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b2f951aabc9cc7d5fb987aeec9aef96ccce618a5",
      "tree": "d388e9a44a153cee8395bd7ca9eff63492ff9cfd",
      "parents": [
        "c97c6aca75fd5f718056fde7cff798b8cbdb07c0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:50 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:50 2008 +0200"
      },
      "message": "ide: add -\u003eread_sff_dma_status method\n\nAdd -\u003eread_sff_dma_status method for reading DMA Status register\nand use it instead of -\u003eINB.\n\nWhile at it:\n\n* Use inb() directly in ns87415.c::ns87415_dma_end().\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c97c6aca75fd5f718056fde7cff798b8cbdb07c0",
      "tree": "275635f3afb9d3a1f1f9ea5cebe08b5f327fc92c",
      "parents": [
        "51d87ed0aab98999bebaf891b99730e15502a592"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:50 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jul 23 19:55:50 2008 +0200"
      },
      "message": "ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3)\n\n* Add \u0027hw_regs_t **hws\u0027 argument to ide_device_add[_all]() and convert\n  host drivers + ide_legacy_init_one() + ide_setup_pci_device[s]() to use\n  it instead of calling ide_init_port_hw() directly.\n\n  [ However if host has \u003e 1 port we must still set hwif-\u003echipset to hint\n    consecutive ide_find_port() call that the previous slot is occupied. ]\n\n* Unexport ide_init_port_hw().\n\nv2:\n* Use defines instead of hard-coded values in buddha.c, gayle.c and q40ide.c.\n  (Suggested by Geert Uytterhoeven)\n\n* Better patch description.\n\nv3:\n* Fix build problem in ide-cs.c. (Noticed by Stephen Rothwell)\n\nThere should be no functional changes caused by this patch.\n\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "17ce452f7ea3df760b7f9f42453b6f6acd765217",
      "tree": "a53c70b553363ce404ff49cb49ccc532cf4c7e78",
      "parents": [
        "5cbad0ebf45c5417104b383dc0e34f64fa7f2473"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 23 11:30:15 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 23 11:30:15 2008 -0500"
      },
      "message": "kgdb, powerpc: arch specific powerpc kgdb support\n\nThis patch removes the old kgdb reminants from ARCH\u003dpowerpc and\nimplements the new style arch specific stub for the common kgdb core\ninterface.\n\nIt is possible to have xmon and kgdb in the same kernel, but you\ncannot use both at the same time because there is only one set of\ndebug hooks.\n\nThe arch specific kgdb implementation saves the previous state of the\ndebug hooks and restores them if you unconfigure the kgdb I/O driver.\nKgdb should have no impact on a kernel that has no kgdb I/O driver\nconfigured.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "5cbad0ebf45c5417104b383dc0e34f64fa7f2473",
      "tree": "bc6203084fa7cd810227f6b2632f7c4655d17ecf",
      "parents": [
        "68afab1cb31436fc9b256a5f44771fa58ed019e2"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Feb 20 13:33:40 2008 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 23 11:30:15 2008 -0500"
      },
      "message": "kgdb: support for ARCH\u003darm\n\nThis patch adds the ARCH\u003darm specific a kgdb backend, originally\nwritten by Deepak Saxena \u003cdsaxena@plexity.net\u003e and George Davis\n\u003cgdavis@mvista.com\u003e.  Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e,\nNicolas Pitre, Manish Lachwani, and Jason Wessel have contributed\nvarious fixups here as well.\n\nThe KGDB patch makes one change to the core ARM architecture such that\nthe traps are initialized early for use with the debugger or other\nsubsystems.\n\n[ mingo@elte.hu: small cleanups. ]\n[ ben-linux@fluff.org: fixed early_trap_init ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Deepak Saxena \u003cdsaxena@plexity.net\u003e\n"
    },
    {
      "commit": "f472f80034ae5d0be7d7196c7e65d0ca8890afb4",
      "tree": "2a19b26abd9720858808735fb0cb11db4276f5d0",
      "parents": [
        "740f370dc61dc478d891d7d47660bb3ae39ddb4f"
      ],
      "author": {
        "name": "Rafi Rubin",
        "email": "rafi@seas.upenn.edu",
        "time": "Thu Jun 19 11:51:04 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jul 23 15:25:21 2008 +0200"
      },
      "message": "HID: add n-trig digitizer usage\n\nThis adds a hid usage that is reported by the N-Trig digitizer in the Dell\nLatitude XT screen.\n\nSigned-off-by: Rafi Rubin \u003crafi@seas.upenn.edu\u003e\nSigned-off-by: Vojtech Pavlik \u003cvojtech@suse.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "137d3edb48425f82a6a4226b664f90ed5e42eea5",
      "tree": "0fc5845a0082686f0c5ebc87c9e48ac34e6265b7",
      "parents": [
        "60c9c7b1d91396f511e55a2a5be13d148dcf66ff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jul 19 23:03:35 2008 +0900"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Jul 23 14:42:09 2008 +0200"
      },
      "message": "sg: reimplement sg mapping iterator\n\nThis is alternative implementation of sg content iterator introduced\nby commit 83e7d317... from Pierre Ossman in next-20080716.  As there\u0027s\nalready an sg iterator which iterates over sg entries themselves, name\nthis sg_mapping_iterator.\n\nSlightly edited description from the original implementation follows.\n\nIteration over a sg list is not that trivial when you take into\naccount that memory pages might have to be mapped before being used.\nUnfortunately, that means that some parts of the kernel restrict\nthemselves to directly accesible memory just to not have to deal with\nthe mess.\n\nThis patch adds a simple iterator system that allows any code to\neasily traverse an sg list and not have to deal with all the details.\nThe user can decide to consume part of the iteration.  Also, iteration\ncan be stopped and resumed later if releasing the kmap between\niteration steps is necessary.  These features are useful to implement\npiecemeal sg copying for interrupt drive PIO for example.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "c010b2f76c3032e48097a6eef291d8593d5d79a6",
      "tree": "16077c83703527732991a55dea1abe330c0ccdc6",
      "parents": [
        "6069fb2ef5d4f47432359c97f350e0cfcc4d208e",
        "521c4d96e0840ecce25b956e00f416ed499ef2ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -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: (82 commits)\n  ipw2200: Call netif_*_queue() interfaces properly.\n  netxen: Needs to include linux/vmalloc.h\n  [netdrvr] atl1d: fix !CONFIG_PM build\n  r6040: rework init_one error handling\n  r6040: bump release number to 0.18\n  r6040: handle RX fifo full and no descriptor interrupts\n  r6040: change the default waiting time\n  r6040: use definitions for magic values in descriptor status\n  r6040: completely rework the RX path\n  r6040: call napi_disable when puting down the interface and set lp-\u003edev accordingly.\n  mv643xx_eth: fix NETPOLL build\n  r6040: rework the RX buffers allocation routine\n  r6040: fix scheduling while atomic in r6040_tx_timeout\n  r6040: fix null pointer access and tx timeouts\n  r6040: prefix all functions with r6040\n  rndis_host: support WM6 devices as modems\n  at91_ether: use netstats in net_device structure\n  sfc: Create one RX queue and interrupt per CPU package by default\n  sfc: Use a separate workqueue for resets\n  sfc: I2C adapter initialisation fixes\n  ...\n"
    },
    {
      "commit": "e9dd54da0ba494bd86c45bdf574a6fd6ff8f2210",
      "tree": "f1a5479b435879d6d0e5acfcdbbc2fb7b92bb183",
      "parents": [
        "0988c37c248e824953d95a11412696c348dbca91",
        "4a0a088970a553e9f89d23eec688932f689d57f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:04:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:04:22 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc32: pass -m32 when building vmlinux.lds\n  sparc: Fixes the DRM layer build on sparc.\n  ide: merge \u003casm-sparc/ide_64.h\u003e with \u003casm-sparc/ide_32.h\u003e\n  ide: \u003casm-sparc/ide_64.h\u003e: use __raw_{read,write}w()\n  ide: \u003casm-sparc/ide_32.h\u003e: use __raw_{read,write}w()\n  ide: \u003casm-sparc/ide_64.h\u003e: use %r0 for outw_be()\n  sparc64: Do not define BIO_VMERGE_BOUNDARY.\n"
    },
    {
      "commit": "7cf75262a4aafe1483349e897bf905e121314dff",
      "tree": "9a11d432ff3add3204c4bc5a01b6d12c4df7e9d9",
      "parents": [
        "c8f15686a4b3345e3e81e09cfe191df58bbedd45",
        "b0e453902ad53580a77c2b1baddcc0b2d8ce8acc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 17:54:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 17:54:47 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-davem\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n"
    },
    {
      "commit": "7f1b358a236ee9c19657a619ac6f2dcabcaa0924",
      "tree": "04eade38d4f8da94d7051f51875ed500b49b4756",
      "parents": [
        "16a37acaaf4aaa631ba3f83710ed6cdb1a597520"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Tue Jul 22 17:30:57 2008 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jul 22 17:30:57 2008 -0700"
      },
      "message": "I/OAT: I/OAT version 3.0 support\n\nThis patch adds to ioatdma and dca modules\nsupport for Intel I/OAT DMA engine ver.3 (aka CB3 device).\nThe main features of I/OAT ver.3 are:\n * 8 single channel DMA devices (8 channels total)\n * 8 DCA providers, each can accept 2 requesters\n * 8-bit TAG values and 32-bit extended APIC IDs\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "3d0f24a74e7957593a5622eb5c04ed6860dd8391",
      "tree": "52c17c0606f47f5435ada93baf63d1a585a2ccb9",
      "parents": [
        "75307c0fe7fcb3b52a92fe32384fc33f50622654"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:35:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:35:50 2008 -0700"
      },
      "message": "ipv6: icmp6_dst_gc return change\n\nChange icmp6_dst_gc to return the one value the caller cares about rather\nthan using call by reference.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "417f28bb340725544c36b35465444d2fd57232b8",
      "tree": "8a38097b4ea34a2877ecfdb95f37ad2864f5754d",
      "parents": [
        "888c848ed34bd5f8cb56567624c0d951ab35174e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "message": "netns: dont alloc ipv6 fib timer list\n\nFIB timer list is a trivial size structure, avoid indirection and just\nput it in existing ns.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "428695b89831d781ba203d97ee07da68150ea40d",
      "tree": "86deae4e07caf50e82aa99724c6c404831a35df8",
      "parents": [
        "6662327e190a20bd42867f11abca095badee56e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:30:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:30:55 2008 -0700"
      },
      "message": "sparc: Fixes the DRM layer build on sparc.\n\nBy providing an ioremap_wc().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "888c848ed34bd5f8cb56567624c0d951ab35174e"
}
