)]}'
{
  "log": [
    {
      "commit": "88c5100c28b02c4b2b2c6f6fafbbd76d90f698b9",
      "tree": "08c4399e0341f7eb0ccb24e15f2cab687275c2a4",
      "parents": [
        "8083f0fc969d9b5353061a7a6f963405057e26b1",
        "3ee72ca99288f1de95ec9c570e43f531c8799f06"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tnet/batman-adv/soft-interface.c\n"
    },
    {
      "commit": "349d2895cc8b7db1f5be677cd685209a3805d2ed",
      "tree": "516d4bb328bad8920f178c639b1880d5ec582eb8",
      "parents": [
        "a355d865f99d0dbbaba5595416e292592bd347dd"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Fri Sep 30 01:11:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:13:01 2011 -0400"
      },
      "message": "ipv4: NET_IPV4_ROUTE_GC_INTERVAL removal\n\nremoving obsoleted sysctl,\nip_rt_gc_interval variable no longer used since 2.6.38\n\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f72a209a3e694ecb8d3ceed4671d98c4364e00e3",
      "tree": "e15bb43a4eb82ead5ca2aa387069353481f3cdef",
      "parents": [
        "47ea91b4052d9e94b9dca5d7a3d947fbebd07ba9",
        "eef24afb28561a5a9f4be8f8da97735b7e6a826f",
        "47997d756aa2a84ab577e1b0383cc12d582fc69c",
        "d670ec13178d0fd8680e6742a2bc6e04f28f87d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 01 08:37:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 01 08:37:25 2011 -0700"
      },
      "message": "Merge branches \u0027irq-urgent-for-linus\u0027, \u0027x86-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  irq: Fix check for already initialized irq_domain in irq_domain_add\n  irq: Add declaration of irq_domain_simple_ops to irqdomain.h\n\n* \u0027x86-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  x86/rtc: Don\u0027t recursively acquire rtc_lock\n\n* \u0027sched-urgent-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  posix-cpu-timers: Cure SMP wobbles\n  sched: Fix up wchan borkage\n  sched/rt: Migrate equal priority tasks to available CPUs\n"
    },
    {
      "commit": "d670ec13178d0fd8680e6742a2bc6e04f28f87d8",
      "tree": "81a2ac824dd92a0536e42f9a0ba3d83240856722",
      "parents": [
        "6ebbe7a07b3bc40b168d2afc569a6543c020d2e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 01 12:42:04 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 30 14:07:06 2011 +0200"
      },
      "message": "posix-cpu-timers: Cure SMP wobbles\n\nDavid reported:\n\n  Attached below is a watered-down version of rt/tst-cpuclock2.c from\n  GLIBC.  Just build it with \"gcc -o test test.c -lpthread -lrt\" or\n  similar.\n\n  Run it several times, and you will see cases where the main thread\n  will measure a process clock difference before and after the nanosleep\n  which is smaller than the cpu-burner thread\u0027s individual thread clock\n  difference.  This doesn\u0027t make any sense since the cpu-burner thread\n  is part of the top-level process\u0027s thread group.\n\n  I\u0027ve reproduced this on both x86-64 and sparc64 (using both 32-bit and\n  64-bit binaries).\n\n  For example:\n\n  [davem@boricha build-x86_64-linux]$ ./test\n  process: before(0.001221967) after(0.498624371) diff(497402404)\n  thread:  before(0.000081692) after(0.498316431) diff(498234739)\n  self:    before(0.001223521) after(0.001240219) diff(16698)\n  [davem@boricha build-x86_64-linux]$ \n\n  The diff of \u0027process\u0027 should always be \u003e\u003d the diff of \u0027thread\u0027.\n\n  I make sure to wrap the \u0027thread\u0027 clock measurements the most tightly\n  around the nanosleep() call, and that the \u0027process\u0027 clock measurements\n  are the outer-most ones.\n\n  ---\n  #include \u003cunistd.h\u003e\n  #include \u003cstdio.h\u003e\n  #include \u003cstdlib.h\u003e\n  #include \u003ctime.h\u003e\n  #include \u003cfcntl.h\u003e\n  #include \u003cstring.h\u003e\n  #include \u003cerrno.h\u003e\n  #include \u003cpthread.h\u003e\n\n  static pthread_barrier_t barrier;\n\n  static void *chew_cpu(void *arg)\n  {\n\t  pthread_barrier_wait(\u0026barrier);\n\t  while (1)\n\t\t  __asm__ __volatile__(\"\" : : : \"memory\");\n\t  return NULL;\n  }\n\n  int main(void)\n  {\n\t  clockid_t process_clock, my_thread_clock, th_clock;\n\t  struct timespec process_before, process_after;\n\t  struct timespec me_before, me_after;\n\t  struct timespec th_before, th_after;\n\t  struct timespec sleeptime;\n\t  unsigned long diff;\n\t  pthread_t th;\n\t  int err;\n\n\t  err \u003d clock_getcpuclockid(0, \u0026process_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(pthread_self(), \u0026my_thread_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_init(\u0026barrier, NULL, 2);\n\t  err \u003d pthread_create(\u0026th, NULL, chew_cpu, NULL);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(th, \u0026th_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_wait(\u0026barrier);\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  sleeptime.tv_sec \u003d 0;\n\t  sleeptime.tv_nsec \u003d 500000000;\n\t  nanosleep(\u0026sleeptime, NULL);\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  diff \u003d process_after.tv_nsec - process_before.tv_nsec;\n\t  printf(\"process: before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t process_before.tv_sec, process_before.tv_nsec,\n\t\t process_after.tv_sec, process_after.tv_nsec, diff);\n\t  diff \u003d th_after.tv_nsec - th_before.tv_nsec;\n\t  printf(\"thread:  before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t th_before.tv_sec, th_before.tv_nsec,\n\t\t th_after.tv_sec, th_after.tv_nsec, diff);\n\t  diff \u003d me_after.tv_nsec - me_before.tv_nsec;\n\t  printf(\"self:    before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t me_before.tv_sec, me_before.tv_nsec,\n\t\t me_after.tv_sec, me_after.tv_nsec, diff);\n\n\t  return 0;\n  }\n\nThis is due to us using p-\u003ese.sum_exec_runtime in\nthread_group_cputime() where we iterate the thread group and sum all\ndata. This does not take time since the last schedule operation (tick\nor otherwise) into account. We can cure this by using\ntask_sched_runtime() at the cost of having to take locks.\n\nThis also means we can (and must) do away with\nthread_group_sched_runtime() since the modified thread_group_cputime()\nis now more accurate and would deadlock when called from\nthread_group_sched_runtime().\n\nAside of that it makes the function safe on 32 bit systems. The old\ncode added t-\u003ese.sum_exec_runtime unprotected. sum_exec_runtime is a\n64bit value and could be changed on another cpu at the same time.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1314874459.7945.22.camel@twins\nTested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "47ea91b4052d9e94b9dca5d7a3d947fbebd07ba9",
      "tree": "079ecdd16d4e73e783851cca3ba8bda9cbd8fa8d",
      "parents": [
        "92bb062fe36132a04c6dc8b3c51c945730b05224"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Sep 22 15:48:58 2011 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 29 20:04:34 2011 -0700"
      },
      "message": "Resource: fix wrong resource window calculation\n\n__find_resource() incorrectly returns a resource window which overlaps\nan existing allocated window.  This happens when the parent\u0027s\nresource-window spans 0x00000000 to 0xffffffff and is entirely allocated\nto all its children resource-windows.\n\n__find_resource() looks for gaps in resource allocation among the\nchildren resource windows.  When it encounters the last child window it\nblindly tries the range next to one allocated to the last child.  Since\nthe last child\u0027s window ends at 0xffffffff the calculation overflows,\nleading the algorithm to believe that any window in the range 0x0000000\nto 0xfffffff is available for allocation.  This leads to a conflicting\nwindow allocation.\n\nMichal Ludvig reported this issue seen on his platform.  The following\npatch fixes the problem and has been verified by Michal.  I believe this\nbug has been there for ages.  It got exposed by git commit 2bbc6942273b\n(\"PCI : ability to relocate assigned pci-resources\")\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nTested-by: Michal Ludvig \u003cmludvig@logix.net.nz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f786ecba4158880f8cdc0ebb93e7d78e6c125449",
      "tree": "0291e9079912f41ad2dd67ffd609a554e98b7850",
      "parents": [
        "5dd17e08f333cde0fa11000792e33d8d39b5599f"
      ],
      "author": {
        "name": "Vladimir Zapolskiy",
        "email": "vzapolskiy@gmail.com",
        "time": "Wed Sep 21 09:26:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 28 13:41:50 2011 -0400"
      },
      "message": "connector: add comm change event report to proc connector\n\nAdd an event to monitor comm value changes of tasks.  Such an event\nbecomes vital, if someone desires to control threads of a process in\ndifferent manner.\n\nA natural characteristic of threads is its comm value, and helpfully\napplication developers have an opportunity to change it in runtime.\nReporting about such events via proc connector allows to fine-grain\nmonitoring and control potentials, for instance a process control daemon\nlistening to proc connector and following comm value policies can place\nspecific threads to assigned cgroup partitions.\n\nIt might be possible to achieve a pale partial one-shot likeness without\nthis update, if an application changes comm value of a thread generator\ntask beforehand, then a new thread is cloned, and after that proc\nconnector listener gets the fork event and reads new thread\u0027s comm value\nfrom procfs stat file, but this change visibly simplifies and extends the\nmatter.\n\nSigned-off-by: Vladimir Zapolskiy \u003cvzapolskiy@gmail.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ebbe7a07b3bc40b168d2afc569a6543c020d2e3",
      "tree": "5fa7eb4d48796af7aede4f7c0b92fde4047deeaa",
      "parents": [
        "3be209a8e22cedafc1b6945608b7bb8d9887ab61"
      ],
      "author": {
        "name": "Simon Kirby",
        "email": "sim@hostway.ca",
        "time": "Thu Sep 22 17:03:46 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 26 12:51:08 2011 +0200"
      },
      "message": "sched: Fix up wchan borkage\n\nCommit c259e01a1ec (\"sched: Separate the scheduler entry for\npreemption\") contained a boo-boo wrecking wchan output. It forgot to\nput the new schedule() function in the __sched section and thereby\ndoesn\u0027t get properly ignored for things like wchan.\n\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nCc: stable@kernel.org # 2.6.39+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110923000346.GA25425@hostway.ca\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9d81f61c84aca693bc353dfef4b8c36c2e5e1b5",
      "tree": "adf2453955649221a9a178d7d19d5b1e71f3fe67",
      "parents": [
        "b172e38e435a158cc84169d5b9127a8dd8d21e76"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sun Sep 25 19:46:22 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 25 11:02:00 2011 -0700"
      },
      "message": "ptrace: PTRACE_LISTEN forgets to unlock -\u003esiglock\n\nIf PTRACE_LISTEN fails after lock_task_sighand() it doesn\u0027t drop -\u003esiglock.\n\nReported-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eef24afb28561a5a9f4be8f8da97735b7e6a826f",
      "tree": "0014317465c4aac43d40fe0cc7f1b269a5a5b95d",
      "parents": [
        "5bd078dda4d4fbdb4bd138a6bd5b6e274c019ed2"
      ],
      "author": {
        "name": "Rob Herring",
        "email": "robherring2@gmail.com",
        "time": "Wed Sep 14 11:31:37 2011 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 20 12:16:22 2011 +0200"
      },
      "message": "irq: Fix check for already initialized irq_domain in irq_domain_add\n\nThe sanity check in irq_domain_add() tests desc-\u003eirq_data !\u003d NULL or\nirq_data-\u003edomain !\u003d NULL. This prevents adding an irq_domain to a irq\ndescriptor when irq_data exists, which true when the irq descriptor\nexists.\n\nThis went unnoticed so far as the simple domain code did not enter\nthis code path because domain-\u003enr_irqs is always 0 for the simple domains.\n\nSplit the check for irq_data \u003d\u003d NULL out and have a separate warning\nfor it.\n\n[ tglx: Made the check for irq_data \u003d\u003d NULL separate ]\n\nSigned-off-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: marc.zyngier@arm.com\nCc: thomas.abraham@linaro.org\nCc: jamie@jamieiles.com\nCc: b-cousson@ti.com\nCc: shawn.guo@linaro.org\nCc: linux-arm-kernel@lists.infradead.org\nCc: devicetree-discuss@lists.ozlabs.org\nLink: http://lkml.kernel.org/r/1316017900-19918-3-git-send-email-robherring2@gmail.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9d037a777695993ec7437e5f451647dea7919d4c",
      "tree": "05f047598aeff2e48653bb6b3dfa3a63b2068e12",
      "parents": [
        "50f2d407c09be74c77cf9d502d087398a5ba6055",
        "477694e71113fd0694b6bb0bcc2d006b8ac62691"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:23:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:23:41 2011 -0700"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  x86, iommu: Mark DMAR IRQ as non-threaded\n  genirq: Make irq_shutdown() symmetric vs. irq_startup again\n"
    },
    {
      "commit": "58c3c3aa01b455ecb99d61ce73f1444274af696b",
      "tree": "0c79541bfd948b06923780d8c651e83b1b6b5822",
      "parents": [
        "1a51410abe7d0ee4b1d112780f46df87d3621043"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:10:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:10:57 2011 -0700"
      },
      "message": "Make taskstats round statistics down to nearest 1k bytes/events\n\nEven with just the interface limited to admin, there really is little to\nreason to give byte-per-byte counts for taskstats.  So round it down to\nsomething less intrusive.\n\nAcked-by: Balbir Singh \u003cbsingharora@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a51410abe7d0ee4b1d112780f46df87d3621043",
      "tree": "fc8a3d70b9fca3692e33e528a420eae1e5407850",
      "parents": [
        "b6a68a5ba4a5111379625d6d921e1c24fc17dc3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:04:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:04:37 2011 -0700"
      },
      "message": "Make TASKSTATS require root access\n\nOk, this isn\u0027t optimal, since it means that \u0027iotop\u0027 needs admin\ncapabilities, and we may have to work on this some more.  But at the\nsame time it is very much not acceptable to let anybody just read\nanybody elses IO statistics quite at this level.\n\nUse of the GENL_ADMIN_PERM suggested by Johannes Berg as an alternative\nto checking the capabilities by hand.\n\nReported-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Balbir Singh \u003cbsingharora@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3be209a8e22cedafc1b6945608b7bb8d9887ab61",
      "tree": "643b1083f8863cbdb45b7e2375368391f6bc3486",
      "parents": [
        "003f6c9df54970d8b19578d195b3e2b398cdbde2"
      ],
      "author": {
        "name": "Shawn Bohrer",
        "email": "sbohrer@rgmadvisors.com",
        "time": "Mon Sep 12 09:28:04 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 18 13:48:56 2011 +0200"
      },
      "message": "sched/rt: Migrate equal priority tasks to available CPUs\n\nCommit 43fa5460fe60dea5c610490a1d263415419c60f6 (\"sched: Try not to\nmigrate higher priority RT tasks\") also introduced a change in behavior\nwhich keeps RT tasks on the same CPU if there is an equal priority RT\ntask currently running even if there are empty CPUs available.\n\nThis can cause unnecessary wakeup latencies, and can prevent the\nscheduler from balancing all RT tasks across available CPUs.\n\nThis change causes an RT task to search for a new CPU if an equal\npriority RT task is already running on wakeup.  Lower priority tasks\nwill still have to wait on higher priority tasks, but the system should\nstill balance out because there is always the possibility that if there\nare both a high and low priority RT tasks on a given CPU that the high\npriority task could wakeup while the low priority task is running and\nforce it to search for a better runqueue.\n\nSigned-off-by: Shawn Bohrer \u003csbohrer@rgmadvisors.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org # 37+\nLink: http://lkml.kernel.org/r/1315837684-18733-1-git-send-email-sbohrer@rgmadvisors.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa2563e41c3d6d6e8af437643981ed28ae0cb56d",
      "tree": "7d0dbcc4214a3bceb4d1dd9251df88752c1313b5",
      "parents": [
        "df4e33ad249b7480d6ba5dd11fc1dac5cfaffce1"
      ],
      "author": {
        "name": "Thomas Tuttle",
        "email": "ttuttle@chromium.org",
        "time": "Wed Sep 14 16:22:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 14 18:09:38 2011 -0700"
      },
      "message": "workqueue: lock cwq access in drain_workqueue\n\nTake cwq-\u003egcwq-\u003elock to avoid racing between drain_workqueue checking to\nmake sure the workqueues are empty and cwq_dec_nr_in_flight decrementing\nand then incrementing nr_active when it activates a delayed work.\n\nWe discovered this when a corner case in one of our drivers resulted in\nus trying to destroy a workqueue in which the remaining work would\nalways requeue itself again in the same workqueue.  We would hit this\nrace condition and trip the BUG_ON on workqueue.c:3080.\n\nSigned-off-by: Thomas Tuttle \u003cttuttle@chromium.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \u003cstable@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": "ed585a651681e822089087b426e6ebfb6d3d9873",
      "tree": "d16e78437208dd660e05974506449c5260e479c5",
      "parents": [
        "d0a77454c70d0449a5f87087deb8f0cb15145e90"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Sep 11 13:59:27 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 12 09:38:53 2011 +0200"
      },
      "message": "genirq: Make irq_shutdown() symmetric vs. irq_startup again\n\nIf an irq_chip provides .irq_shutdown(), but neither of .irq_disable() or\n.irq_mask(), free_irq() crashes when jumping to NULL.\nFix this by only trying .irq_disable() and .irq_mask() if there\u0027s no\n.irq_shutdown() provided.\n\nThis revives the symmetry with irq_startup(), which tries .irq_startup(),\n.irq_enable(), and irq_unmask(), and makes it consistent with the comment for\nirq_chip.irq_shutdown() in \u003clinux/irq.h\u003e, which says:\n\n * @irq_shutdown:\tshut down the interrupt (defaults to -\u003edisable if NULL)\n\nThis is also how __free_irq() behaved before the big overhaul, cfr. e.g.\n3b56f0585fd4c02d047dc406668cb40159b2d340 (\"genirq: Remove bogus conditional\"),\nwhere the core interrupt code always overrode .irq_shutdown() to\n.irq_disable() if .irq_shutdown() was NULL.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: linux-m68k@lists.linux-m68k.org\nLink: http://lkml.kernel.org/r/1315742394-16036-2-git-send-email-geert@linux-m68k.org\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "79016f648872549392d232cd648bd02298c2d2bb",
      "tree": "8b3f435b7ff3633b0a82313a1bb12d052f36c6b7",
      "parents": [
        "e81b693c0104d6a767f998ee5a2e00b5acbbcd18",
        "486257130873a2172d8eac2c182f7e578465bdd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 13:03:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 13:03:48 2011 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  rtc: twl: Fix registration vs. init order\n  rtc: Initialized rtc_time-\u003etm_isdst\n  rtc: Fix RTC PIE frequency limit\n  rtc: rtc-twl: Remove lockdep related local_irq_enable()\n  rtc: rtc-twl: Switch to using threaded irq\n  rtc: ep93xx: Fix \u0027rtc\u0027 may be used uninitialized warning\n  alarmtimers: Avoid possible denial of service with high freq periodic timers\n  alarmtimers: Memset itimerspec passed into alarm_timer_get\n  alarmtimers: Avoid possible null pointer traversal\n"
    },
    {
      "commit": "e81b693c0104d6a767f998ee5a2e00b5acbbcd18",
      "tree": "fbf07b1d113be1d3f46ce1d0ca0e938b4e931f4d",
      "parents": [
        "b0fb422281c8c09c8dcf03ca44ec343f0ff9df0b",
        "feff8fa0075bdfd43c841e9d689ed81adda988d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 13:01:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 13:01:34 2011 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  sched: Fix a memory leak in __sdt_free()\n  sched: Move blk_schedule_flush_plug() out of __schedule()\n  sched: Separate the scheduler entry for preemption\n"
    },
    {
      "commit": "7f310a5d4e8525ac0cc2f58c973d2100ce034410",
      "tree": "7e61573e73b80d65d29b259c7d1a228038a4439e",
      "parents": [
        "a8d757ef076f0f95f13a918808824058de25b3eb"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:38 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 31 15:56:29 2011 +0200"
      },
      "message": "perf_event: Fix broken calc_timer_values()\n\nWe detected a serious issue with PERF_SAMPLE_READ and\ntiming information when events were being multiplexing.\n\nSamples would have time_running \u003e time_enabled. That\nwas easy to reproduce with a libpfm4 example (ran 3\ntimes to cause multiplexing on Core 2):\n\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n IIP:0x0000000040062d ... PERIOD:2355332948 ENA\u003d40144625315 RUN\u003d60014875184\n syst_smpl: WARNING: time_running \u003e time_enabled\n\t63277537998 uops_retired:freq\u003d1 , scaled\n\nThe bug was not present in kernel up to (and including) 3.0. It turns\nout the bug was introduced by the following commit:\n\ncommit c4794295917ebeda8013b6cb9c8d71ab4f74a1fa\n\n    events: Move lockless timer calculation into helper function\n\nThe parameters of the function got reversed yet the call sites\nwere not updated to reflect the change. That lead to time_running\nand time_enabled being swapped. That had no effect when there was\nno multiplexing because in that case time_running \u003d time_enabled\nbut it would show up in any other scenario.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110829124112.GA4828@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8d757ef076f0f95f13a918808824058de25b3eb",
      "tree": "3c1151ef886d9b72d0a7b7b267d9f37c72d5f475",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Aug 25 15:58:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:28:33 2011 +0200"
      },
      "message": "perf events: Fix slow and broken cgroup context switch code\n\nThe current cgroup context switch code was incorrect leading\nto bogus counts. Furthermore, as soon as there was an active\ncgroup event on a CPU, the context switch cost on that CPU\nwould increase by a significant amount as demonstrated by a\nsimple ping/pong example:\n\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10684.51 ctxsw/s\n\nNow start a cgroup perf stat:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n$ ./pong\n Both processes pinned to CPU1, running for 10s\n 6674.61 ctxsw/s\n\nThat\u0027s a 37% penalty.\n\nNote that pong is not even in the monitored cgroup.\n\nThe results shown by perf stat are bogus:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n Performance counter stats for \u0027sleep 100\u0027:\n\n CPU1 \u003cnot counted\u003e cycles   test\n CPU1 16,984,189,138 cycles  #    0.000 GHz\n\nThe second \u0027cycles\u0027 event should report a count @ CPU clock\n(here 2.4GHz) as it is counting across all cgroups.\n\nThe patch below fixes the bogus accounting and bypasses any\ncgroup switches in case the outgoing and incoming tasks are\nin the same cgroup.\n\nWith this patch the same test now yields:\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10775.30 ctxsw/s\n\nStart perf stat with cgroup:\n\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\nRun pong outside the cgroup:\n $ /pong\n Both processes pinned to CPU1, running for 10s\n 10687.80 ctxsw/s\n\nThe penalty is now less than 2%.\n\nAnd the results for perf stat are correct:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 \u003cnot counted\u003e cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\nNow perf stat reports the correct counts for\nfor the non cgroup event.\n\nIf we run pong inside the cgroup, then we also get the\ncorrect counts:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 22,297,726,205 cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\n      10.001457237 seconds time elapsed\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110825135803.GA4697@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "feff8fa0075bdfd43c841e9d689ed81adda988d6",
      "tree": "1d8829c9b0c82c5eb16ec0994637f61c59c0f1ab",
      "parents": [
        "9c40cef2b799f9b5e7fa5de4d2ad3a0168ba118c"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Thu Aug 18 20:36:57 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:27:01 2011 +0200"
      },
      "message": "sched: Fix a memory leak in __sdt_free()\n\nThis patch fixes the following memory leak:\n\nunreferenced object 0xffff880107266800 (size 512):\n  comm \"sched-powersave\", pid 3718, jiffies 4323097853 (age 27495.450s)\n  hex dump (first 32 bytes):\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff81133940\u003e] create_object+0x187/0x28b\n    [\u003cffffffff814ac103\u003e] kmemleak_alloc+0x73/0x98\n    [\u003cffffffff811232ba\u003e] __kmalloc_node+0x104/0x159\n    [\u003cffffffff81044b98\u003e] kzalloc_node.clone.97+0x15/0x17\n    [\u003cffffffff8104cb90\u003e] build_sched_domains+0xb7/0x7f3\n    [\u003cffffffff8104d4df\u003e] partition_sched_domains+0x1db/0x24a\n    [\u003cffffffff8109ee4a\u003e] do_rebuild_sched_domains+0x3b/0x47\n    [\u003cffffffff810a00c7\u003e] rebuild_sched_domains+0x10/0x12\n    [\u003cffffffff8104d5ba\u003e] sched_power_savings_store+0x6c/0x7b\n    [\u003cffffffff8104d5df\u003e] sched_mc_power_savings_store+0x16/0x18\n    [\u003cffffffff8131322c\u003e] sysdev_class_store+0x20/0x22\n    [\u003cffffffff81193876\u003e] sysfs_write_file+0x108/0x144\n    [\u003cffffffff81135b10\u003e] vfs_write+0xaf/0x102\n    [\u003cffffffff81135d23\u003e] sys_write+0x4d/0x74\n    [\u003cffffffff814c8a42\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org # 3.0\nLink: http://lkml.kernel.org/r/1313671017-4112-1-git-send-email-amwang@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c40cef2b799f9b5e7fa5de4d2ad3a0168ba118c",
      "tree": "cb7a48eb2a6d30b90144a55bc6bb82caacfc9622",
      "parents": [
        "c259e01a1ec90063042f758e409cd26b2a0963c8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 22 19:47:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:26:59 2011 +0200"
      },
      "message": "sched: Move blk_schedule_flush_plug() out of __schedule()\n\nThere is no real reason to run blk_schedule_flush_plug() with\ninterrupts and preemption disabled.\n\nMove it into schedule() and call it when the task is going voluntarily\nto sleep. There might be false positives when the task is woken\nbetween that call and actually scheduling, but that\u0027s not really\ndifferent from being woken immediately after switching away.\n\nThis fixes a deadlock in the scheduler where the\nblk_schedule_flush_plug() callchain enables interrupts and thereby\nallows a wakeup to happen of the task that\u0027s going to sleep.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: stable@kernel.org # 2.6.39+\nLink: http://lkml.kernel.org/n/tip-dwfxtra7yg1b5r65m32ywtct@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c259e01a1ec90063042f758e409cd26b2a0963c8",
      "tree": "dc5910233294b735fd389e0b0aab79cbb03c70a2",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 22 19:47:00 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:26:57 2011 +0200"
      },
      "message": "sched: Separate the scheduler entry for preemption\n\nBlock-IO and workqueues call into notifier functions from the\nscheduler core code with interrupts and preemption disabled. These\ncalls should be made before entering the scheduler core.\n\nTo simplify this, separate the scheduler core code into\n__schedule(). __schedule() is directly called from the places which\nset PREEMPT_ACTIVE and from schedule(). This allows us to add the work\nchecks into schedule(), so they are only called when a task voluntary\ngoes to sleep.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: stable@kernel.org # 2.6.39+\nLink: http://lkml.kernel.org/r/20110622174918.813258321@linutronix.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f5b940997397229975ea073679b03967932a541b",
      "tree": "a477f440175d67b67928d6d11c845fe98f09eb72",
      "parents": [
        "b727d20269e8ef1de002bfea8099f5e9db9e9f23"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Aug 26 18:03:11 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 26 15:09:58 2011 -0700"
      },
      "message": "All Arch: remove linkage for sys_nfsservctl system call\n\nThe nfsservctl system call is now gone, so we should remove all\nlinkage for it.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c30c6f566c0989ddaee3407da44751e340a63ed",
      "tree": "0f8801e2449a37c1e4ac78588c474b3327a7c430",
      "parents": [
        "47331231bb997a8adb79774fc4cf4bb48fe4e00a"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Thu Aug 25 15:59:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 16:25:34 2011 -0700"
      },
      "message": "kernel/printk: do not turn off bootconsole in printk_late_init() if keep_bootcon\n\nIt seems that 7bf693951a8e (\"console: allow to retain boot console via\nboot option keep_bootcon\") doesn\u0027t always achieve what it aims, as when\nprintk_late_init() runs it unconditionally turns off all boot consoles.\nWith this patch, I am able to see more messages on the boot console in\nKVM guests than I can without, when keep_bootcon is specified.\n\nI think it is appropriate for the relevant -stable trees.  However, it\u0027s\nmore of an annoyance than a serious bug (ideally you don\u0027t need to keep\nthe boot console around as console handover should be working -- I was\nencountering a situation where the console handover wasn\u0027t working and\nnot having the boot console available meant I couldn\u0027t see why).\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Fabio M. Di Nitto \u003cfdinitto@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.39.x, 3.0.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be27425dcc516fd08245b047ea57f83b8f6f0903",
      "tree": "0f7cfb258a663d99ebeedf8ed3b9637b266b021c",
      "parents": [
        "caca9510ff4e5d842c0589110243d60927836222"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Aug 19 16:15:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:17:28 2011 -0700"
      },
      "message": "Add a personality to report 2.6.x version numbers\n\nI ran into a couple of programs which broke with the new Linux 3.0\nversion.  Some of those were binary only.  I tried to use LD_PRELOAD to\nwork around it, but it was quite difficult and in one case impossible\nbecause of a mix of 32bit and 64bit executables.\n\nFor example, all kind of management software from HP doesnt work, unless\nwe pretend to run a 2.6 kernel.\n\n  $ uname -a\n  Linux svivoipvnx001 3.0.0-08107-g97cd98f #1062 SMP Fri Aug 12 18:11:45 CEST 2011 i686 i686 i386 GNU/Linux\n\n  $ hpacucli ctrl all show\n\n  Error: No controllers detected.\n\n  $ rpm -qf /usr/sbin/hpacucli\n  hpacucli-8.75-12.0\n\nAnother notable case is that Python now reports \"linux3\" from\nsys.platform(); which in turn can break things that were checking\nsys.platform() \u003d\u003d \"linux2\":\n\n  https://bugzilla.mozilla.org/show_bug.cgi?id\u003d664564\n\nIt seems pretty clear to me though it\u0027s a bug in the apps that are using\n\u0027\u003d\u003d\u0027 instead of .startswith(), but this allows us to unbreak broken\nprograms.\n\nThis patch adds a UNAME26 personality that makes the kernel report a\n2.6.40+x version number instead.  The x is the x in 3.x.\n\nI know this is somewhat ugly, but I didn\u0027t find a better workaround, and\ncompatibility to existing programs is important.\n\nSome programs also read /proc/sys/kernel/osrelease.  This can be worked\naround in user space with mount --bind (and a mount namespace)\n\nTo use:\n\n  wget ftp://ftp.kernel.org/pub/linux/kernel/people/ak/uname26/uname26.c\n  gcc -o uname26 uname26.c\n  ./uname26 program\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35a177a08d14f238d89d7f03918d3e0482af3240",
      "tree": "72a71fe4cec13e079e182633a62ea9219dbde656",
      "parents": [
        "a76ef86455fd8d199d482acc402675e4dcbe58fe",
        "b6bede3b4cdfbd188557ab50fceec2e91d295edf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 11:41:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 11:41:44 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix tracing builds inside the source tree\n  xfs: remove subdirectories\n  xfs: don\u0027t expect xfs headers to be in subdirectories\n"
    },
    {
      "commit": "69dd3d8e29e294caaf63eb5e8a72d250279f9e5f",
      "tree": "51e4d037b96431f2686ebbcd4e54775eb40b4b85",
      "parents": [
        "fcb8ce5cfe30ca9ca5c9a79cdfe26d1993e65e0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 10:36:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 10:36:51 2011 -0700"
      },
      "message": "Revert \"irq: Always set IRQF_ONESHOT if no primary handler is specified\"\n\nThis reverts commit f3637a5f2e2eb391ff5757bc83fb5de8f9726464.\n\nIt turns out that this breaks several drivers, one example being OMAP\nboards which use the on-board OMAP UARTs and the omap-serial driver that\nwill not boot to userspace after the commit.\n\nPaul Walmsley reports that enabling CONFIG_DEBUG_SHIRQ reveals \u0027IRQ\nhandler type mismatch\u0027 errors:\n\n  IRQ handler type mismatch for IRQ 74\n  current handler: serial idle\n  ...\n\nand the reason is that setting IRQF_ONESHOT will now result in those\ninterrupt handlers having different IRQF flags, and thus being\nunsharable.  So the commit log in the reverted commit:\n\n                            \"Since it is required for those users and\n    there is no difference for others it makes sense to add this flag\n    unconditionally.\"\n\nis simply not true: there may not be any difference from a \"actions at\nirq time\", but there is a *big* difference wrt this flag testing irq\nmanagement (see __setup_irq() in kernel/irq/manage.c).\n\nOne solution may be to stop verifying IRQF_ONESHOT in __setup_irq(), but\nright now the safe course of action is to revert the change.  Let\u0027s\nrevisit this in a later merge window.\n\nReported-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nCc: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nRequested-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ccc38740a283aba81a00e92941310d0c1aeb2ee",
      "tree": "ba7d725947975a9391e085bd1d5958b004bfdc3e",
      "parents": [
        "0c3bef612881ee6216a36952ffaabfc35b83545c",
        "b53d1ed734a2b9af8da115b836b658daa7d47a48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:47:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:47:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block: (23 commits)\n  Revert \"cfq: Remove special treatment for metadata rqs.\"\n  block: fix flush machinery for stacking drivers with differring flush flags\n  block: improve rq_affinity placement\n  blktrace: add FLUSH/FUA support\n  Move some REQ flags to the common bio/request area\n  allow blk_flush_policy to return REQ_FSEQ_DATA independent of *FLUSH\n  xen/blkback: Make description more obvious.\n  cfq-iosched: Add documentation about idling\n  block: Make rq_affinity \u003d 1 work as expected\n  block: swim3: fix unterminated of_device_id table\n  block/genhd.c: remove useless cast in diskstats_show()\n  drivers/cdrom/cdrom.c: relax check on dvd manufacturer value\n  drivers/block/drbd/drbd_nl.c: use bitmap_parse instead of __bitmap_parse\n  bsg-lib: add module.h include\n  cfq-iosched: Reduce linked group count upon group destruction\n  blk-throttle: correctly determine sync bio\n  loop: fix deadlock when sysfs and LOOP_CLR_FD race against each other\n  loop: add BLK_DEV_LOOP_MIN_COUNT\u003d%i to allow distros 0 pre-allocated loop devices\n  loop: add management interface for on-demand device allocation\n  loop: replace linked list of allocated devices with an idr index\n  ...\n"
    },
    {
      "commit": "d522a0d17963e9c2e556db2cbd60c96d40505b6c",
      "tree": "90391acd50f0fa2b432d9defdb96627e6c1061b7",
      "parents": [
        "8cf2d2399ab60842f55598bc1b00fd15503b9950"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu Aug 18 12:19:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:12:48 2011 -0700"
      },
      "message": "irqdesc: fix new kernel-doc warning\n\nFix kernel-doc warning in irqdesc.c:\n\n  Warning(kernel/irq/irqdesc.c:353): No description found for parameter \u0027owner\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4fd4ae6c6420c18e4bae2c294b7e06f5ff5210f",
      "tree": "a948e1f99dbce5d34da04b3e655d3655335848d7",
      "parents": [
        "aa462abe8aaf2198d6aef97da20c874ac694a39f",
        "17f2ae7f677f023997e02fd2ebabd90ea2a0390d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 13:15:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 13:15:25 2011 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Domains: Fix build for CONFIG_PM_RUNTIME unset\n"
    },
    {
      "commit": "2da9f365fc401b79627bc7be56d8a2b4ee9b390b",
      "tree": "b5b2d0f6893b353a60c215bb979eee80a9f3fdf5",
      "parents": [
        "950d0a10d12578a270f3dfa9fd76fe5c2deb343f",
        "80e0401e35410a69bfae05b454db8a7187edd6b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:25:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:25:08 2011 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix wrong assumption in match_held_lock\n"
    },
    {
      "commit": "950d0a10d12578a270f3dfa9fd76fe5c2deb343f",
      "tree": "2467458b05ab13dd8875e43f3701fbc0c38cef0d",
      "parents": [
        "ab7e2dbf9b5da4d4eb4fdb019cc8881fbeb1299b",
        "b6873807a7143b7d6d8b06809295e559d07d7deb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:23:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 10:23:50 2011 -0700"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: Track the owner of irq descriptor\n  irq: Always set IRQF_ONESHOT if no primary handler is specified\n  genirq: Fix wrong bit operation\n"
    },
    {
      "commit": "17f2ae7f677f023997e02fd2ebabd90ea2a0390d",
      "tree": "9f333057d8771adc432687417c2bfe28164f1e48",
      "parents": [
        "91d85ea6786107aa2837bef3e957165ad7c8b823"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 14 13:34:31 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 14 13:34:31 2011 +0200"
      },
      "message": "PM / Domains: Fix build for CONFIG_PM_RUNTIME unset\n\nFunction genpd_queue_power_off_work() is not defined for\nCONFIG_PM_RUNTIME, so pm_genpd_poweroff_unused() causes a build\nerror to happen in that case.  Fix the problem by making\npm_genpd_poweroff_unused() depend on CONFIG_PM_RUNTIME too.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c59d87c460767bc35dafd490139d3cfe78fb8da4",
      "tree": "2aad8261f86488e501d9645bd35d1398906da46d",
      "parents": [
        "06f8e2d6754dc631732415b741b5aa58a0f7133f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Aug 12 16:21:35 2011 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Aug 12 16:21:35 2011 -0500"
      },
      "message": "xfs: remove subdirectories\n\nUse the move from Linux 2.6 to Linux 3.x as an excuse to kill the\nannoying subdirectories in the XFS source code.  Besides the large\namount of file rename the only changes are to the Makefile, a few\nfiles including headers with the subdirectory prefix, and the binary\nsysctl compat code that includes a header under fs/xfs/ from\nkernel/.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "72fa59970f8698023045ab0713d66f3f4f96945c",
      "tree": "ed9a5eaf8212270d464c6d4396ae5a568352a997",
      "parents": [
        "1d229d54dbc26971142f61c3d271a68db236d178"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Mon Aug 08 19:02:04 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 11:24:42 2011 -0700"
      },
      "message": "move RLIMIT_NPROC check from set_user() to do_execve_common()\n\nThe patch http://lkml.org/lkml/2003/7/13/226 introduced an RLIMIT_NPROC\ncheck in set_user() to check for NPROC exceeding via setuid() and\nsimilar functions.\n\nBefore the check there was a possibility to greatly exceed the allowed\nnumber of processes by an unprivileged user if the program relied on\nrlimit only.  But the check created new security threat: many poorly\nwritten programs simply don\u0027t check setuid() return code and believe it\ncannot fail if executed with root privileges.  So, the check is removed\nin this patch because of too often privilege escalations related to\nbuggy programs.\n\nThe NPROC can still be enforced in the common code flow of daemons\nspawning user processes.  Most of daemons do fork()+setuid()+execve().\nThe check introduced in execve() (1) enforces the same limit as in\nsetuid() and (2) doesn\u0027t create similar security issues.\n\nNeil Brown suggested to track what specific process has exceeded the\nlimit by setting PF_NPROC_EXCEEDED process flag.  With the change only\nthis process would fail on execve(), and other processes\u0027 execve()\nbehaviour is not changed.\n\nSolar Designer suggested to re-check whether NPROC limit is still\nexceeded at the moment of execve().  If the process was sleeping for\ndays between set*uid() and execve(), and the NPROC counter step down\nunder the limit, the defered execve() failure because NPROC limit was\nexceeded days ago would be unexpected.  If the limit is not exceeded\nanymore, we clear the flag on successful calls to execve() and fork().\n\nThe flag is also cleared on successful calls to set_user() as the limit\nwas exceeded for the previous user, not the current one.\n\nSimilar check was introduced in -ow patches (without the process flag).\n\nv3 - clear PF_NPROC_EXCEEDED on successful calls to set_user().\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d229d54dbc26971142f61c3d271a68db236d178",
      "tree": "92b4721faa4d966d741d49def90c424b45bd5abc",
      "parents": [
        "d16adea3c9d215d98c6fcccc3f91fa8269f91fac",
        "7676ebbaf21c3828e6315baadb6fcde448aa79b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 09:03:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 09:03:48 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf symbols: Check \u0027/tmp/perf-\u0027 symbol file ownership\n  perf sched: Usage leftover from trace -\u003e script rename\n  perf sched: Do not delete session object prematurely\n  perf tools: Check $HOME/.perfconfig ownership\n  perf, x86: Add model 45 SandyBridge support\n  perf tools: Add support to install perf python extension\n  perf tools: do not look at ./config for configuration\n  perf tools: Make clean leaves some files\n  perf lock: Dropping unsupported \u0027:r\u0027 modifier\n  perf probe: Fix coredump introduced by probe module option\n  jump label: Reduce the cycle count by changing the link order\n  perf report: Use ui__warning in some more places\n  perf python: Add PERF_RECORD_{LOST,READ,SAMPLE} routine tables\n  perf evlist: Introduce \u0027disable\u0027 method\n  trace events: Update version number reference to new 3.x scheme for EVENT_POWER_TRACING_DEPRECATED\n  perf buildid-cache: Zero out buffer of filenames when adding/removing buildid\n"
    },
    {
      "commit": "c09c47caedc9854d59378d6e34c989e51cfdd2b4",
      "tree": "ad7de20c08092cdf1cbbb83625a76acab3b0e2ce",
      "parents": [
        "8e4bf84474960e832b56293c9b0674c88b5b05ce"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu Aug 11 10:36:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Aug 11 10:36:05 2011 +0200"
      },
      "message": "blktrace: add FLUSH/FUA support\n\nAdd FLUSH/FUA support to blktrace. As FLUSH precedes WRITE and/or\nFUA follows WRITE, use the same \u0027F\u0027 flag for both cases and\ndistinguish them by their (relative) position. The end results\nlook like (other flags might be shown also):\n\n - WRITE:            W\n - WRITE_FLUSH:      FW\n - WRITE_FUA:        WF\n - WRITE_FLUSH_FUA:  FWF\n\nNote that we reuse TC_BARRIER due to lack of bit space of act_mask\nso that the older versions of blktrace tools will report flush\nrequests as barriers from now on.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6af7e471e5a7746b8024d70b4363d3dfe41d36b8",
      "tree": "33b1af81dfadefcc367307939acbb0d28c07c7c1",
      "parents": [
        "ea7802f630d356acaf66b3c0b28c00a945fc35dc"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 10:26:09 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 10:26:09 2011 -0700"
      },
      "message": "alarmtimers: Avoid possible denial of service with high freq periodic timers\n\nIts possible to jam up the alarm timers by setting very small interval\ntimers, which will cause the alarmtimer subsystem to spend all of its time\nfiring and restarting timers. This can effectivly lock up a box.\n\nA deeper fix is needed, closely mimicking the hrtimer code, but for now\njust cap the interval to 100us to avoid userland hanging the system.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: stable@kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ea7802f630d356acaf66b3c0b28c00a945fc35dc",
      "tree": "9eb23fe08c124bfab7af964c3a4c614ac61c93aa",
      "parents": [
        "971c90bfa2f0b4fe52d6d9002178d547706f1343"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Aug 04 07:51:56 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 07:10:09 2011 -0700"
      },
      "message": "alarmtimers: Memset itimerspec passed into alarm_timer_get\n\nFollowing common_timer_get, zero out the itimerspec passed in.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: stable@kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "971c90bfa2f0b4fe52d6d9002178d547706f1343",
      "tree": "f3075f495780a0ffc5d433ae7cb93aca8a40cf8e",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Aug 04 07:25:35 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 10 07:09:53 2011 -0700"
      },
      "message": "alarmtimers: Avoid possible null pointer traversal\n\nWe don\u0027t check if old_setting is non null before assigning it, so\ncorrect this.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: stable@kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "f2c0d0266cc5eb36a4aa44944b4096ec121490aa",
      "tree": "1f3ec14316bf428e278c06059868c85c87df53cb",
      "parents": [
        "9f50fad65b87a8776ae989ca059ad6c17925dfc3"
      ],
      "author": {
        "name": "Jonathan Nieder",
        "email": "jrnieder@gmail.com",
        "time": "Mon Aug 08 06:22:43 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 09 18:22:22 2011 -0700"
      },
      "message": "cap_syslog: don\u0027t use WARN_ONCE for CAP_SYS_ADMIN deprecation warning\n\nsyslog-ng versions before 3.3.0beta1 (2011-05-12) assume that\nCAP_SYS_ADMIN is sufficient to access syslog, so ever since CAP_SYSLOG\nwas introduced (2010-11-25) they have triggered a warning.\n\nCommit ee24aebffb75 (\"cap_syslog: accept CAP_SYS_ADMIN for now\")\nimproved matters a little by making syslog-ng work again, just keeping\nthe WARN_ONCE().  But still, this is a warning that writes a stack trace\nwe don\u0027t care about to syslog, sets a taint flag, and alarms sysadmins\nwhen nothing worse has happened than use of an old userspace with a\nrecent kernel.\n\nConvert the WARN_ONCE to a printk_once to avoid that while continuing to\ngive userspace developers a hint that this is an unwanted\nbackward-compatibility feature and won\u0027t be around forever.\n\nReported-by: Ralf Hildebrandt \u003cralf.hildebrandt@charite.de\u003e\nReported-by: Niels \u003czorglub_olsen@hotmail.com\u003e\nReported-by: Paweł Sikora \u003cpluto@agmk.net\u003e\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nLiked-by: Gergely Nagy \u003calgernon@madhouse-project.org\u003e\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80e0401e35410a69bfae05b454db8a7187edd6b8",
      "tree": "d43eb51e0ca861e18284a85ccb790b321ed08320",
      "parents": [
        "2f84dd70916ccadd25e94d28363182a978f569b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 05 14:26:17 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 09 11:57:35 2011 +0200"
      },
      "message": "lockdep: Fix wrong assumption in match_held_lock\n\nmatch_held_lock() was assuming it was being called on a lock class\nthat had already seen usage.\n\nThis condition was true for bug-free code using lockdep_assert_held(),\nsince you\u0027re in fact holding the lock when calling it. However the\nassumption fails the moment you assume the assertion can fail, which\nis the whole point of having the assertion in the first place.\n\nAnyway, now that there\u0027s more lockdep_is_held() users, notably\n__rcu_dereference_check(), its much easier to trigger this since we\ntest for a number of locks and we only need to hold any one of them to\nbe good.\n\nReported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1312547787.28695.2.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b77f0f3c1f587791aa5d9bd1b0012c9a89eb9258",
      "tree": "994a1acc79d69ae13caa965df035ae5da1828fb3",
      "parents": [
        "6d158f3ec537bd6d3786196b6db97fcc0f973aef"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Aug 05 16:40:40 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 05 23:57:33 2011 +0200"
      },
      "message": "jump label: Reduce the cycle count by changing the link order\n\nIn the course of testing jump labels for use with the CFS\nbandwidth controller, Paul Turner, discovered that using jump\nlabels reduced the branch count and the instruction count, but\ndid not reduce the cycle count or wall time.\n\nI noticed that having the jump_label.o included in the kernel\nbut not used in any way still caused this increase in cycle\ncount and wall time. Thus, I moved jump_label.o in the\nkernel/Makefile, thus changing the link order, and presumably\nmoving it out of hot icache areas. This brought down the cycle\ncount/time as expected.\n\nIn addition to Paul\u0027s testing,  I\u0027ve tested the patch using a\nsingle \u0027static_branch()\u0027 in the getppid() path, and basically\nrunning tight loops of calls to getppid(). Here are my results\nfor the branch disabled case:\n\nWith jump labels turned on (CONFIG_JUMP_LABEL), branch disabled:\n\n Performance counter stats for \u0027bash -c /tmp/getppid;true\u0027 (50 runs):\n\n     3,969,510,217 instructions             #\t   0.864 IPC     ( +-0.000% )\n     4,592,334,954 cycles                     ( +-   0.046% )\n       751,634,470 branches                   ( +-   0.000% )\n\n        1.722635797  seconds time elapsed   ( +-   0.046% )\n\nJump labels turned off (CONFIG_JUMP_LABEL not set), branch\ndisabled:\n\n Performance counter stats for \u0027bash -c /tmp/getppid;true\u0027 (50 runs):\n\n     4,009,611,846 instructions             #\t   0.867 IPC     ( +-0.000% )\n     4,622,210,580 cycles                     ( +-   0.012% )\n       771,662,904 branches                   ( +-   0.000% )\n\n        1.734341454  seconds time elapsed   ( +-   0.022% )\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: rth@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: rostedt@goodmis.org\nLink: http://lkml.kernel.org/r/20110805204040.GG2522@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Paul Turner \u003cpjt@google.com\u003e\n"
    },
    {
      "commit": "3272cab4063467410802367a8d69f06c65b2a866",
      "tree": "1c665f8572b0aab2a5343d32b5eaa6713669b04f",
      "parents": [
        "f629299b544b6cc12b4e3e85fec96f4ce5809482",
        "140d0b2108faebc77c6523296e211e509cb9f5f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 05 10:32:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 05 10:33:55 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/urgent\n\nMerge reason: Include most of the merge window trees, to do fixes on top.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f03683b8fb7e03862d2f1366a16c1b01732a5741",
      "tree": "af8143877e0d56e6a8206d937027a1fd8d8a9ec1",
      "parents": [
        "7f3bf7cd348cead84f8027b32aa30ea49fa64df5",
        "30765b92ada267c5395fc788623cb15233276f5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:04 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:04 2011 -1000"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  slab, lockdep: Annotate the locks before using them\n  lockdep: Clear whole lockdep_map on initialization\n  slab, lockdep: Annotate slab -\u003e rcu -\u003e debug_object -\u003e slab\n  lockdep: Fix up warning\n  lockdep: Fix trace_hardirqs_on_caller()\n  futex: Fix regression with read only mappings\n"
    },
    {
      "commit": "f59de8992aa6dc85e81aadc26b0f69e17809721d",
      "tree": "4cdb87598edb67a774281bf3cea2800114d2fa0c",
      "parents": [
        "83835b3d9aec8e9f666d8223d8a386814f756266"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 14 15:19:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:56 2011 +0200"
      },
      "message": "lockdep: Clear whole lockdep_map on initialization\n\nlockdep_init_map() only initializes parts of lockdep_map and triggers\nkmemcheck warning when it is copied as a whole.  There isn\u0027t anything\nto be gained by clearing selectively.  memset() the whole structure\nand remove loop for -\u003eclass_cache[] clearing.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d35532\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-and-tested-by: Christian Casteyde \u003ccasteyde.christian@free.fr\u003e\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d35532\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110714131909.GJ3455@htj.dyndns.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70a0686a72c7a7e554b404ca11406ceec709d425",
      "tree": "e6f1d4bdb72ca93e7b13975b02e6e9199148666f",
      "parents": [
        "7d36b26be0f3c6b86e3ab7e1539e42f3a3bc79ca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 25 12:09:59 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:41 2011 +0200"
      },
      "message": "lockdep: Fix up warning\n\nOn Sun, 2011-07-24 at 21:06 -0400, Arnaud Lacombe wrote:\n\n\u003e /src/linux/linux/kernel/lockdep.c: In function \u0027mark_held_locks\u0027:\n\u003e /src/linux/linux/kernel/lockdep.c:2471:31: warning: comparison of\n\u003e distinct pointer types lacks a cast\n\nThe warning is harmless in this case, but the below makes it go away.\n\nReported-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311588599.2617.56.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d36b26be0f3c6b86e3ab7e1539e42f3a3bc79ca",
      "tree": "f22ac58f11dc1d0738e66024052f2e1c709533f1",
      "parents": [
        "d7619fe39d9769b4d4545cc511c891deea18ae08"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 26 13:13:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 10:17:36 2011 +0200"
      },
      "message": "lockdep: Fix trace_hardirqs_on_caller()\n\nCommit dd4e5d3ac4a (\"lockdep: Fix trace_[soft,hard]irqs_[on,off]()\nrecursion\") made a bit of a mess of the various checks and error\nconditions.\n\nIn particular it moved the check for !irqs_disabled() before the\nspurious enable test, resulting in some warnings.\n\nReported-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-and-tested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311679697.24752.28.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "288d5abec8314ae50fe6692f324b0444acae8486",
      "tree": "58a6903344b8d9b2252144356a132a05a8359876",
      "parents": [
        "33f35f2a4ee3abfc0f87990058aa1b6b5092f725"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:03:29 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 22:03:29 2011 -1000"
      },
      "message": "Boot up with usermodehelper disabled\n\nThe core device layer sends tons of uevent notifications for each device\nit finds, and if the kernel has been built with a non-empty\nCONFIG_UEVENT_HELPER_PATH that will make us try to execute the usermode\nhelper binary for all these events very early in the boot.\n\nNot only won\u0027t the root filesystem even be mounted at that point, we\nliterally won\u0027t have necessarily even initialized all the process\nhandling data structures at that point, which causes no end of silly\nproblems even when the usermode helper doesn\u0027t actually succeed in\nexecuting.\n\nSo just use our existing infrastructure to disable the usermodehelpers\nto make the kernel start out with them disabled.  We enable them when\nwe\u0027ve at least initialized stuff a bit.\n\nProblems related to an uninitialized\n\n\tinit_ipc_ns.ids[IPC_SHM_IDS].rw_mutex\n\nreported by various people.\n\nReported-by: Manuel Lauss \u003cmanuel.lauss@googlemail.com\u003e\nReported-by: Richard Weinberger \u003crichard@nod.at\u003e\nReported-by: Marc Zyngier \u003cmaz@misterjones.org\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7619fe39d9769b4d4545cc511c891deea18ae08",
      "tree": "0a902533414001075b2245825e145cc2e35ce985",
      "parents": [
        "9ea71503a8ed9184d2d0b8ccc4d269d05f7940ae",
        "ed8f37370d83e695c0a4fa5d5fc7a83ecb947526"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 09:09:27 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 04 09:09:27 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/urgent\n"
    },
    {
      "commit": "a7295898a1d2e501427f557111c2b4bdfc90b1ed",
      "tree": "143ce6e69d8aa795494120a00c62ca0ade8bac40",
      "parents": [
        "dfc428b656c4693a2334a8d9865b430beddb562a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Aug 03 16:21:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:20 2011 -1000"
      },
      "message": "taskstats: add_del_listener() should ignore !valid listeners\n\nWhen send_cpu_listeners() finds the orphaned listener it marks it as\n!valid and drops listeners-\u003esem.  Before it takes this sem for writing,\ns-\u003epid can be reused and add_del_listener() can wrongly try to re-use\nthis entry.\n\nChange add_del_listener() to check -\u003evalid \u003d T.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dfc428b656c4693a2334a8d9865b430beddb562a",
      "tree": "ad8aa91d2e3c5e9cedc5f4efb2e04a86b4a0784e",
      "parents": [
        "12b3e038e5bb4860c17d001e92a6fa9964c0a7b9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Aug 03 16:21:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:20 2011 -1000"
      },
      "message": "taskstats: add_del_listener() shouldn\u0027t use the wrong node\n\n1. Commit 26c4caea9d69 \"don\u0027t allow duplicate entries in listener mode\"\n   changed add_del_listener(REGISTER) so that \"next_cpu:\" can reuse the\n   listener allocated for the previous cpu, this doesn\u0027t look exactly\n   right even if minor.\n\n   Change the code to kfree() in the already-registered case, this case\n   is unlikely anyway so the extra kmalloc_node() shouldn\u0027t hurt but\n   looke more correct and clean.\n\n2. use the plain list_for_each_entry() instead of _safe() to scan\n   listeners-\u003elist.\n\n3. Remove the unneeded INIT_LIST_HEAD(\u0026s-\u003elist), we are going to\n   list_add(\u0026s-\u003elist).\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nReviewed-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72f9adfd20e3be8a33ff3ef96cec787ed97b9ba9",
      "tree": "2e59de0152634f577ba996a1a3f35eceb9c5ebee",
      "parents": [
        "5f66d2b58ca879e70740c82422354144845d6dd3",
        "37f86b469d73fc2f2a925536fb99b8f513f641b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:39:40 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:39:40 2011 -1000"
      },
      "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  kdb,kgdb: Allow arbitrary kgdb magic knock sequences\n  kdb: Remove all references to DOING_KGDB2\n  kdb,kgdb: Implement switch and pass buffer from kdb -\u003e gdb\n  kdb: cleanup unused variables missed in the original kdb merge\n"
    },
    {
      "commit": "37f86b469d73fc2f2a925536fb99b8f513f641b7",
      "tree": "f3f5a0c9d360e0bca2a6184b7063a4ab746dc433",
      "parents": [
        "d613d828e8987a1f794378022f900b454fa95403"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue May 24 10:43:06 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:59 2011 -0500"
      },
      "message": "kdb,kgdb: Allow arbitrary kgdb magic knock sequences\n\nThe first packet that gdb sends when the kernel is in kdb mode seems\nto change with every release of gdb.  Instead of continuing to add\nmany different gdb packets, change kdb to automatically look for any\nthing that looks like a gdb packet.\n\nExample 1 cold start test:\necho g \u003e /proc/sysrq-trigger\n$D#44+\n\nExample 2 cold start test:\necho g \u003e /proc/sysrq-trigger\n$3#33\n\nThe second one should re-enter kdb\u0027s shell right away and is purely a\ntest.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "d613d828e8987a1f794378022f900b454fa95403",
      "tree": "637d466ae00621139e9d019c3a439ab0d8959cd5",
      "parents": [
        "f679c4985bb2e7de9d39a5d40b6031361c4ad861"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 23 13:22:54 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:59 2011 -0500"
      },
      "message": "kdb: Remove all references to DOING_KGDB2\n\nThe DOING_KGDB2 was originally a state variable for one of the two\nways to automatically transition from kdb to kgdb.  Purge all these\nvariables and just use one single state for the transition.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "f679c4985bb2e7de9d39a5d40b6031361c4ad861",
      "tree": "9750abdc0f876f38642c06c188b152324c512fdb",
      "parents": [
        "3bdb65ec95e6cccffc40102d7c003047c45da90c"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 23 13:17:41 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:59 2011 -0500"
      },
      "message": "kdb,kgdb: Implement switch and pass buffer from kdb -\u003e gdb\n\nWhen switching from kdb mode to kgdb mode packets were getting lost\ndepending on the size of the fifo queue of the serial chip.  When gdb\ninitially connects if it is in kdb mode it should entirely send any\ncharacter buffer over to the gdbstub when switching connections.\n\nPreviously kdb was zero\u0027ing out the character buffer and this could\nlead to gdb failing to connect at all, or a lengthy pause could occur\non the initial connect.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "3bdb65ec95e6cccffc40102d7c003047c45da90c",
      "tree": "6a93a5c062d5b7c496268005503749bb9080a217",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Jun 30 14:12:00 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 01 13:23:58 2011 -0500"
      },
      "message": "kdb: cleanup unused variables missed in the original kdb merge\n\nThe BTARGS and BTSYMARG variables do not have any function in the\nmainline version of kdb.\n\nReported-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "968e75fc13b6d582f42ce44172e13ba58157e11f",
      "tree": "306eacdf2815f8a49b47228c3b50e7a6083ef7d4",
      "parents": [
        "a00ed25cce6fe856388f89c7cd40da0eee7666a6",
        "d3690f8b713f9710e68214ca38fb8b07b587a2a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 31 14:30:59 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 31 14:30:59 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k/math-emu: Remove unnecessary code\n  m68k/math-emu: Remove commented out old code\n  m68k: Kill warning in setup_arch() when compiling for Sun3\n  m68k/atari: Prefix GPIO_{IN,OUT} with CODEC_\n  sparc: iounmap() and *_free_coherent() - Use lookup_resource()\n  m68k/atari: Reserve some ST-RAM early on for device buffer use\n  m68k/amiga: Chip RAM - Use lookup_resource()\n  resources: Add lookup_resource()\n  sparc: _sparc_find_resource() should check for exact matches\n  m68k/amiga: Chip RAM - Offset resource end by CHIP_PHYSADDR\n  m68k/amiga: Chip RAM - Use resource_size() to fix off-by-one error\n  m68k/amiga: Chip RAM - Change chipavail to an atomic_t\n  m68k/amiga: Chip RAM - Always allocate from the start of memory\n  m68k/amiga: Chip RAM - Convert from printk() to pr_*()\n  m68k/amiga: Chip RAM - Use tabs for indentation\n"
    },
    {
      "commit": "1c388919d89ca35741e9c4d3255adf87f76f0c06",
      "tree": "3858d97ce2f91cdf6ec3badafbf66ef058e178a7",
      "parents": [
        "88efd0bbc0fe403a9948e6f94cc48b9f15ee4861"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat May 07 20:53:16 2011 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Jul 30 21:21:39 2011 +0200"
      },
      "message": "resources: Add lookup_resource()\n\nAdd a function to find an existing resource by a resource start address.\nThis allows to implement simple allocators (with a malloc/free-alike API)\non top of the resource system.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "664a41b8a91bf78a01a751e15175e0008977685a",
      "tree": "d9dc15c83400ad2dfb430ff27ae3e7fdc9395856",
      "parents": [
        "983236b5741e557451f3ed4ec5ebf1f62a5b2c15",
        "ee2ce3a0b43d14d792d34cf88e7bc2091096744b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 30 00:08:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 30 00:08:53 2011 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits)\n  [media] ir-mce_kbd-decoder: include module.h for its facilities\n  [media] ov5642: include module.h for its facilities\n  [media] em28xx: Fix DVB-C maxsize for em2884\n  [media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz\n  [media] v4l: mt9v032: Fix Bayer pattern\n  [media] V4L: mt9m111: rewrite set_pixfmt\n  [media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear\n  [media] V4L: initial driver for ov5642 CMOS sensor\n  [media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails\n  [media] V4L: soc-camera: remove soc-camera bus and devices on it\n  [media] V4L: soc-camera: un-export the soc-camera bus\n  [media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier\n  [media] V4L: add media bus configuration subdev operations\n  [media] V4L: soc-camera: group struct field initialisations together\n  [media] V4L: soc-camera: remove now unused soc-camera specific PM hooks\n  [media] V4L: pxa-camera: switch to using standard PM hooks\n  [media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param\n  [media] Don\u0027t OOPS if videobuf_dvb_get_frontend return NULL\n  [media] NetUP Dual DVB-T/C CI RF: load firmware according card revision\n  [media] omap3isp: Support configurable HS/VS polarities\n  ...\n\nFix up conflicts:\n - arch/arm/mach-omap2/board-rx51-peripherals.c:\n     cleanup regulator supply definitions in mach-omap2\n   vs\n     OMAP3: RX-51: define vdds_csib regulator supply\n - drivers/staging/tm6000/tm6000-alsa.c (trivial)\n"
    },
    {
      "commit": "cb7dee8d22f3e9320424e769d860fbd9712a0666",
      "tree": "58f33d70453e7cd26ec78e96f33ca7a9673df26e",
      "parents": [
        "49267fc82ad2825132be3b016d8eb58a90cb0c36",
        "6124a4e430b64d1577438c8648c59e996d02e73e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:02 2011 -0700"
      },
      "message": "Merge branch \u0027next/dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027next/dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (21 commits)\n  arm/dt: tegra devicetree support\n  arm/versatile: Add device tree support\n  dt/irq: add irq_domain_generate_simple() helper\n  irq: add irq_domain translation infrastructure\n  dmaengine: imx-sdma: add device tree probe support\n  dmaengine: imx-sdma: sdma_get_firmware does not need to copy fw_name\n  dmaengine: imx-sdma: use platform_device_id to identify sdma version\n  mmc: sdhci-esdhc-imx: add device tree probe support\n  mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host\n  mmc: sdhci-esdhc-imx: get rid of the uses of cpu_is_mx()\n  mmc: sdhci-esdhc-imx: do not reference platform data after probe\n  mmc: sdhci-esdhc-imx: extend card_detect and write_protect support for mx5\n  net/fec: add device tree probe support\n  net: ibm_newemac: convert it to use of_get_phy_mode\n  dt/net: add helper function of_get_phy_mode\n  net/fec: gasket needs to be enabled for some i.mx\n  serial/imx: add device tree probe support\n  serial/imx: get rid of the uses of cpu_is_mx1()\n  arm/dt: Add dtb make rule\n  arm/dt: Add skeleton dtsi file\n  ...\n"
    },
    {
      "commit": "6124a4e430b64d1577438c8648c59e996d02e73e",
      "tree": "49cfafad785d1c9e403a5b0d755298b9af2c260f",
      "parents": [
        "8e267f3da5f117d2f1316cf6ddf740f93f1c73aa",
        "580975d7f48d7d047e22bb0f42adf7557801d8d4"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:25:46 2011 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:25:46 2011 +0000"
      },
      "message": "Merge branch \u0027imx/dt\u0027 into next/dt\n"
    },
    {
      "commit": "b6873807a7143b7d6d8b06809295e559d07d7deb",
      "tree": "1187413ab85f1a7b7d5da91bf61ae21601da3855",
      "parents": [
        "f3637a5f2e2eb391ff5757bc83fb5de8f9726464"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Mon Jul 11 12:17:31 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 28 11:23:21 2011 +0200"
      },
      "message": "irq: Track the owner of irq descriptor\n\nInterrupt descriptors can be allocated from modules. The interrupts\nare used by other modules, but we have no refcount on the module which\nprovides the interrupts and there is no way to establish one on the\ndevice level as the interrupt using module is agnostic to the fact\nthat the interrupt is provided by a module rather than by some builtin\ninterrupt controller.\n\nTo prevent removal of the interrupt providing module, we can track the\nowner of the interrupt descriptor, which also provides the relevant\nirq chip functions in the irq descriptor.\n\nrequest/setup_irq() can now acquire a refcount on the owner module to\nprevent unloading. free_irq() drops the refcount.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nLink: http://lkml.kernel.org/r/20110711101731.GA13804@Chamillionaire.breakpoint.cc\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f3637a5f2e2eb391ff5757bc83fb5de8f9726464",
      "tree": "4573995893bfe66e505b11bf4277cf062e1a7eea",
      "parents": [
        "1dd75f91ae713049eb6baaa640078f3a6549e522"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Thu Jul 07 22:32:17 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 28 11:23:21 2011 +0200"
      },
      "message": "irq: Always set IRQF_ONESHOT if no primary handler is specified\n\nIf no primary handler is specified then a default one is assigned\nwhich always returns IRQ_WAKE_THREAD. This handler requires the\nIRQF_ONESHOT flag on LEVEL / EIO typed irqs because the source of\ninterrupt is not disabled. Since it is required for those users and\nthere is no difference for others it makes sense to add this flag\nunconditionally.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/1310070737-18514-1-git-send-email-bigeasy@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7e71330169d8056536b299290544980bccc6b300",
      "tree": "7dab4954a7683e35bbf66adadd89b26971960311",
      "parents": [
        "08a543ad33fc188650801bd36eed4ffe272643e1"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 26 03:19:06 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "dt/irq: add irq_domain_generate_simple() helper\n\nirq_domain_generate_simple() is an easy way to generate an irq translation\ndomain for simple irq controllers.  It assumes a flat 1:1 mapping from\nhardware irq number to an offset of the first linux irq number assigned\nto the controller\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "08a543ad33fc188650801bd36eed4ffe272643e1",
      "tree": "cf2b41b922e77190425f999c2268f1558dd52d18",
      "parents": [
        "5fd1a2ed0ec6fb5449c71a988cc15edb8671b3d0"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 26 03:19:06 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "irq: add irq_domain translation infrastructure\n\nThis patch adds irq_domain infrastructure for translating from\nhardware irq numbers to linux irqs.  This is particularly important\nfor architectures adding device tree support because the current\nimplementation (excluding PowerPC and SPARC) cannot handle\ntranslation for more than a single interrupt controller.  irq_domain\nsupports device tree translation for any number of interrupt\ncontrollers.\n\nThis patch converts x86, Microblaze, ARM and MIPS to use irq_domain\nfor device tree irq translation.  x86 is untested beyond compiling it,\nirq_domain is enabled for MIPS and Microblaze, but the old behaviour is\npreserved until the core code is modified to actually register an\nirq_domain yet.  On ARM it works and is required for much of the new\nARM device tree board support.\n\nPowerPC has /not/ been converted to use this new infrastructure.  It\nis still missing some features before it can replace the virq\ninfrastructure already in powerpc (see documentation on\nirq_domain_map/unmap for details).  Followup patches will add the\nmissing pieces and migrate PowerPC to use irq_domain.\n\nSPARC has its own method of managing interrupts from the device tree\nand is unaffected by this change.\n\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "95b6886526bb510b8370b625a49bc0ab3b8ff10f",
      "tree": "2862606224820d200be12d2092dcd26df1654b80",
      "parents": [
        "22712200e175e0df5c7f9edfe6c6bf5c94c23b83",
        "29412f0f6a19e34336368f13eab848091c343952"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (54 commits)\n  tpm_nsc: Fix bug when loading multiple TPM drivers\n  tpm: Move tpm_tis_reenable_interrupts out of CONFIG_PNP block\n  tpm: Fix compilation warning when CONFIG_PNP is not defined\n  TOMOYO: Update kernel-doc.\n  tpm: Fix a typo\n  tpm_tis: Probing function for Intel iTPM bug\n  tpm_tis: Fix the probing for interrupts\n  tpm_tis: Delay ACPI S3 suspend while the TPM is busy\n  tpm_tis: Re-enable interrupts upon (S3) resume\n  tpm: Fix display of data in pubek sysfs entry\n  tpm_tis: Add timeouts sysfs entry\n  tpm: Adjust interface timeouts if they are too small\n  tpm: Use interface timeouts returned from the TPM\n  tpm_tis: Introduce durations sysfs entry\n  tpm: Adjust the durations if they are too small\n  tpm: Use durations returned from TPM\n  TOMOYO: Enable conditional ACL.\n  TOMOYO: Allow using argv[]/envp[] of execve() as conditions.\n  TOMOYO: Allow using executable\u0027s realpath and symlink\u0027s target as conditions.\n  TOMOYO: Allow using owner/group etc. of file objects as conditions.\n  ...\n\nFix up trivial conflict in security/tomoyo/realpath.c\n"
    },
    {
      "commit": "2330fb8242c3efc281ab8a2d3e22686023699955",
      "tree": "b0359e3869a8db4a2039f090f2f3292d37ca0e8d",
      "parents": [
        "5138870d68ffbf6fcdf019af5b2ce78bc5a1f837"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Tue Jun 07 11:43:57 2011 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jul 27 17:53:20 2011 -0300"
      },
      "message": "[media] v4l2-compat-ioctl32: add VIDIOC_DQEVENT support\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "c1095c6da518b0b64e724f629051fa67655cd8d9",
      "tree": "8c2e33ca6c8e3caa71437c3b69b36a8cf03b4f08",
      "parents": [
        "678624e401b0b7747762b5223fb23f86dcdacc93"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jul 27 12:49:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 12:53:36 2011 -0700"
      },
      "message": "signals: sys_ssetmask/sys_rt_sigsuspend should use set_current_blocked()\n\nsys_ssetmask(), sys_rt_sigsuspend() and compat_sys_rt_sigsuspend()\nchange -\u003eblocked directly.  This is not correct, see the changelog in\ne6fa16ab \"signal: sigprocmask() should do retarget_shared_pending()\"\n\nChange them to use set_current_blocked().\n\nAnother change is that now we are doing -\u003esaved_sigmask \u003d -\u003eblocked\nlockless, it doesn\u0027t make any sense to do this under -\u003esiglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Matt Fleming \u003cmatt.fleming@linux.intel.com\u003e\nAcked-by: Tejun Heo \u003ctj@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": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4302fbc8ec2ccae279c939f241bf8ce64e1a0bb7",
      "tree": "01b7bfa2388d7996fee86c6a4e291605d2303530",
      "parents": [
        "3f0fb4e85b3842a2606c647c0a66afe2073574b4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@chromium.org",
        "time": "Tue Jul 26 16:08:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "panic: panic\u003d-1 for immediate reboot\n\nWhen a kernel BUG or oops occurs, ChromeOS intends to panic and\nimmediately reboot, with stacktrace and other messages preserved in RAM\nacross reboot.\n\nBut the longer we delay, the more likely the user is to poweroff and\nlose the info.\n\npanic_timeout (seconds before rebooting) is set by panic\u003d boot option or\nsysctl or /proc/sys/kernel/panic; but 0 means wait forever, so at\npresent we have to delay at least 1 second.\n\nLet a negative number mean reboot immediately (with the small cosmetic\nbenefit of suppressing that newline-less \"Rebooting in %d seconds..\"\nmessage).\n\nSigned-off-by: Hugh Dickins \u003chughd@chromium.org\u003e\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "947be5dfdaaef01b43a3d5444688ebef2bd263d4",
      "tree": "5abd88d64059278c952a84c9a07a59d8b50040d6",
      "parents": [
        "444d2921215ae6c21f90eb5fa5d03f784f84f1aa"
      ],
      "author": {
        "name": "Vitaliy Ivanov",
        "email": "vitalivanov@gmail.com",
        "time": "Tue Jul 26 16:08:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:45 2011 -0700"
      },
      "message": "gcov: disable CONSTRUCTORS for UML\n\nSelecting GCOV for UML causing configuration mismatch:\n\n  warning: (GCOV_KERNEL) selects CONSTRUCTORS which has unmet direct dependencies (!UML)\n\nConstructors are not needed for UML.\n\nSigned-off-by: Vitaliy Ivanov \u003cvitalivanov@gmail.com\u003e\nCc: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nAcked-by: Richard Weinberger \u003crichard@nod.at\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@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": "b34a6b1da371ed8af1221459a18c67970f7e3d53",
      "tree": "5addc850de13623b172395b9d0d7d670930fa6b3",
      "parents": [
        "d40dcdb0172a1ba853464983a059fb45e0aaf61a"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Jul 26 16:08:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "ipc: introduce shm_rmid_forced sysctl\n\nAdd support for the shm_rmid_forced sysctl.  If set to 1, all shared\nmemory objects in current ipc namespace will be automatically forced to\nuse IPC_RMID.\n\nThe POSIX way of handling shmem allows one to create shm objects and\ncall shmdt(), leaving shm object associated with no process, thus\nconsuming memory not counted via rlimits.\n\nWith shm_rmid_forced\u003d1 the shared memory object is counted at least for\none process, so OOM killer may effectively kill the fat process holding\nthe shared memory.\n\nIt obviously breaks POSIX - some programs relying on the feature would\nstop working.  So set shm_rmid_forced\u003d1 only if you\u0027re sure nobody uses\n\"orphaned\" memory.  Use shm_rmid_forced\u003d0 by default for compatability\nreasons.\n\nThe feature was previously impemented in -ow as a configure option.\n\n[akpm@linux-foundation.org: fix documentation, per Randy]\n[akpm@linux-foundation.org: fix warning]\n[akpm@linux-foundation.org: readability/conventionality tweaks]\n[akpm@linux-foundation.org: fix shm_rmid_forced/shm_forced_rmid confusion, use standard comment layout]\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserge.hallyn@canonical.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Solar Designer \u003csolar@openwall.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb0a685cb95a0267a96153af2f72486f27be5847",
      "tree": "99ffae5ab7733ce8a1819fec51ca137a3af48d37",
      "parents": [
        "293eb1e7772b25a93647c798c7b89bf26c2da2e0"
      ],
      "author": {
        "name": "Daniel Rebelo de Oliveira",
        "email": "psykon@gmail.com",
        "time": "Tue Jul 26 16:08:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:44 2011 -0700"
      },
      "message": "kernel/fork.c: fix a few coding style issues\n\nSigned-off-by: Daniel Rebelo de Oliveira \u003cpsykon@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": "778d3b0ff0654ad7092bf823fd32010066b12365",
      "tree": "cd0073d8c513e1c56fd6950c4ec985f16fd004ad",
      "parents": [
        "8521fc50d433507a7cdc96bec280f9e5888a54cc"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Jul 26 16:08:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "cpusets: randomize node rotor used in cpuset_mem_spread_node()\n\n[ This patch has already been accepted as commit 0ac0c0d0f837 but later\n  reverted (commit 35926ff5fba8) because it itroduced arch specific\n  __node_random which was defined only for x86 code so it broke other\n  archs.  This is a followup without any arch specific code.  Other than\n  that there are no functional changes.]\n\nSome workloads that create a large number of small files tend to assign\ntoo many pages to node 0 (multi-node systems).  Part of the reason is\nthat the rotor (in cpuset_mem_spread_node()) used to assign nodes starts\nat node 0 for newly created tasks.\n\nThis patch changes the rotor to be initialized to a random node number\nof the cpuset.\n\n[akpm@linux-foundation.org: fix layout]\n[Lee.Schermerhorn@hp.com: Define stub numa_random() for !NUMA configuration]\n[mhocko@suse.cz: Make it arch independent]\n[akpm@linux-foundation.org: fix CONFIG_NUMA\u003dy, MAX_NUMNODES\u003e1 build]\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ea71503a8ed9184d2d0b8ccc4d269d05f7940ae",
      "tree": "0d1ae4f7cee3af9b5ccb82a63e4e58fa091ae5ac",
      "parents": [
        "d1e9ae47a0285d3f1699e8219ce50f656243b93f"
      ],
      "author": {
        "name": "Shawn Bohrer",
        "email": "sbohrer@rgmadvisors.com",
        "time": "Thu Jun 30 11:21:32 2011 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 20:59:35 2011 +0200"
      },
      "message": "futex: Fix regression with read only mappings\n\ncommit 7485d0d3758e8e6491a5c9468114e74dc050785d (futexes: Remove rw\nparameter from get_futex_key()) in 2.6.33 fixed two problems:  First, It\nprevented a loop when encountering a ZERO_PAGE. Second, it fixed RW\nMAP_PRIVATE futex operations by forcing the COW to occur by\nunconditionally performing a write access get_user_pages_fast() to get\nthe page.  The commit also introduced a user-mode regression in that it\nbroke futex operations on read-only memory maps.  For example, this\nbreaks workloads that have one or more reader processes doing a\nFUTEX_WAIT on a futex within a read only shared file mapping, and a\nwriter processes that has a writable mapping issuing the FUTEX_WAKE.\n\nThis fixes the regression for valid futex operations on RO mappings by\ntrying a RO get_user_pages_fast() when the RW get_user_pages_fast()\nfails. This change makes it necessary to also check for invalid use\ncases, such as anonymous RO mappings (which can never change) and the\nZERO_PAGE which the commit referenced above was written to address.\n\nThis patch does restore the original behavior with RO MAP_PRIVATE\nmappings, which have inherent user-mode usage problems and don\u0027t really\nmake sense.  With this patch performing a FUTEX_WAIT within a RO\nMAP_PRIVATE mapping will be successfully woken provided another process\nupdates the region of the underlying mapped file.  However, the mmap()\nman page states that for a MAP_PRIVATE mapping:\n\n  It is unspecified whether changes made to the file after\n  the mmap() call are visible in the mapped region.\n\nSo user-mode users attempting to use futex operations on RO MAP_PRIVATE\nmappings are depending on unspecified behavior.  Additionally a\nRO MAP_PRIVATE mapping could fail to wake up in the following case.\n\n  Thread-A: call futex(FUTEX_WAIT, memory-region-A).\n            get_futex_key() return inode based key.\n            sleep on the key\n  Thread-B: call mprotect(PROT_READ|PROT_WRITE, memory-region-A)\n  Thread-B: write memory-region-A.\n            COW happen. This process\u0027s memory-region-A become related\n            to new COWed private (ie PageAnon\u003d1) page.\n  Thread-B: call futex(FUETX_WAKE, memory-region-A).\n            get_futex_key() return mm based key.\n            IOW, we fail to wake up Thread-A.\n\nOnce again doing something like this is just silly and users who do\nsomething like this get what they deserve.\n\nWhile RO MAP_PRIVATE mappings are nonsensical, checking for a private\nmapping requires walking the vmas and was deemed too costly to avoid a\nuserspace hang.\n\nThis Patch is based on Peter Zijlstra\u0027s initial patch with modifications to\nonly allow RO mappings for futex operations that need VERIFY_READ access.\n\nReported-by: David Oliver \u003cdavid@rgmadvisors.com\u003e\nSigned-off-by: Shawn Bohrer \u003csbohrer@rgmadvisors.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: peterz@infradead.org\nCc: eric.dumazet@gmail.com\nCc: zvonler@rgmadvisors.com\nCc: hughd@google.com\nLink: http://lkml.kernel.org/r/1309450892-30676-1-git-send-email-sbohrer@rgmadvisors.com\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1dd75f91ae713049eb6baaa640078f3a6549e522",
      "tree": "24ce9355ca74a6fe6a179e61a9ab9418b17f2eae",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "jhbird.choi@samsung.com",
        "email": "jhbird.choi@samsung.com",
        "time": "Thu Jul 21 15:29:14 2011 +0900"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 26 16:24:02 2011 +0200"
      },
      "message": "genirq: Fix wrong bit operation\n\n(!msk \u0026 0x01) should be !(msk \u0026 0x01)\n\nSigned-off-by: Jonghwan Choi \u003cjhbird.choi@samsung.com\u003e\nLink: http://lkml.kernel.org/r/1311229754-6003-1-git-send-email-jhbird.choi@samsung.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "45b583b10a8b438b970e95a7d1d4db22c9e35004",
      "tree": "14fa481598289df0459580c582b48a9d95db51f6",
      "parents": [
        "154dd78d30b56ffb8b447f629bfcceb14150e5c4",
        "f19da2ce8ef5e49b8b8ea199c3601dd45d71b262"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 21:00:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 21:00:19 2011 -0700"
      },
      "message": "Merge \u0027akpm\u0027 patch series\n\n* Merge akpm patch series: (122 commits)\n  drivers/connector/cn_proc.c: remove unused local\n  Documentation/SubmitChecklist: add RCU debug config options\n  reiserfs: use hweight_long()\n  reiserfs: use proper little-endian bitops\n  pnpacpi: register disabled resources\n  drivers/rtc/rtc-tegra.c: properly initialize spinlock\n  drivers/rtc/rtc-twl.c: check return value of twl_rtc_write_u8() in twl_rtc_set_time()\n  drivers/rtc: add support for Qualcomm PMIC8xxx RTC\n  drivers/rtc/rtc-s3c.c: support clock gating\n  drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200\n  init: skip calibration delay if previously done\n  misc/eeprom: add eeprom access driver for digsy_mtc board\n  misc/eeprom: add driver for microwire 93xx46 EEPROMs\n  checkpatch.pl: update $logFunctions\n  checkpatch: make utf-8 test --strict\n  checkpatch.pl: add ability to ignore various messages\n  checkpatch: add a \"prefer __aligned\" check\n  checkpatch: validate signature styles and To: and Cc: lines\n  checkpatch: add __rcu as a sparse modifier\n  checkpatch: suggest using min_t or max_t\n  ...\n\nDid this as a merge because of (trivial) conflicts in\n - Documentation/feature-removal-schedule.txt\n - arch/xtensa/include/asm/uaccess.h\nthat were just easier to fix up in the merge than in the patch series.\n"
    },
    {
      "commit": "626a0312514a121a90b4478cbde111ffc6826ae2",
      "tree": "18524e3f4ea38576459da3d29323bc2268b7d282",
      "parents": [
        "a376d3d6727b2f05ef4c6670cc74afbd8110df89"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "bebarino@gmail.com",
        "time": "Mon Jul 25 17:13:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:15 2011 -0700"
      },
      "message": "kernel/configs.c: include MODULE_*() when CONFIG_IKCONFIG_PROC\u003dn\n\nIf CONFIG_IKCONFIG\u003dm but CONFIG_IKCONFIG_PROC\u003dn we get a module that has\nno MODULE_LICENSE definition.  Move the MODULE_*() definitions outside the\nCONFIG_IKCONFIG_PROC #ifdef to prevent this configuration from tainting\nthe kernel.\n\nSigned-off-by: Stephen Boyd \u003cbebarino@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@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": "c5f41752fd37979dbaec61dc59c7ece0606ddf7e",
      "tree": "47827a7fd86cbe4ad657d640b01e8b76535e8813",
      "parents": [
        "dcfe1421c916345b068f43749263b94270324500"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Jul 25 17:13:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:14 2011 -0700"
      },
      "message": "notifiers: sys: move reboot notifiers into reboot.h\n\nIt is not necessary to share the same notifier.h.\n\nThis patch already moves register_reboot_notifier() and\nunregister_reboot_notifier() from kernel/notifier.c to kernel/sys.c.\n\n[amwang@redhat.com: make allyesconfig succeed on ppc64]\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae891a1b93bf62e9aaa116a7a71312375047fc9f",
      "tree": "83e821e818654da3e3443ecddd757665251db6e0",
      "parents": [
        "5190f0c030f46b3169205f34f6d9ef480fa39ef2"
      ],
      "author": {
        "name": "Maxin B John",
        "email": "maxin.john@gmail.com",
        "time": "Mon Jul 25 17:12:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:14 2011 -0700"
      },
      "message": "devres: fix possible use after free\n\ndevres uses the pointer value as key after it\u0027s freed, which is safe but\ntriggers spurious use-after-free warnings on some static analysis tools.\nRearrange code to avoid such warnings.\n\nSigned-off-by: Maxin B. John \u003cmaxin.john@gmail.com\u003e\nReviewed-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nAcked-by: Tejun Heo \u003ctj@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": "2efaca927f5cd7ecd0f1554b8f9b6a9a2c329c03",
      "tree": "1bea042a7c712e861d7734db59b3311375c439c3",
      "parents": [
        "72c4783210f77fd743f0a316858d33f27db51e7c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 25 17:12:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:11 2011 -0700"
      },
      "message": "mm/futex: fix futex writes on archs with SW tracking of dirty \u0026 young\n\nI haven\u0027t reproduced it myself but the fail scenario is that on such\nmachines (notably ARM and some embedded powerpc), if you manage to hit\nthat futex path on a writable page whose dirty bit has gone from the PTE,\nyou\u0027ll livelock inside the kernel from what I can tell.\n\nIt will go in a loop of trying the atomic access, failing, trying gup to\n\"fix it up\", getting succcess from gup, go back to the atomic access,\nfailing again because dirty wasn\u0027t fixed etc...\n\nSo I think you essentially hang in the kernel.\n\nThe scenario is probably rare\u0027ish because affected architecture are\nembedded and tend to not swap much (if at all) so we probably rarely hit\nthe case where dirty is missing or young is missing, but I think Shan has\na piece of SW that can reliably reproduce it using a shared writable\nmapping \u0026 fork or something like that.\n\nOn archs who use SW tracking of dirty \u0026 young, a page without dirty is\neffectively mapped read-only and a page without young unaccessible in the\nPTE.\n\nAdditionally, some architectures might lazily flush the TLB when relaxing\nwrite protection (by doing only a local flush), and expect a fault to\ninvalidate the stale entry if it\u0027s still present on another processor.\n\nThe futex code assumes that if the \"in_atomic()\" access -EFAULT\u0027s, it can\n\"fix it up\" by causing get_user_pages() which would then be equivalent to\ntaking the fault.\n\nHowever that isn\u0027t the case.  get_user_pages() will not call\nhandle_mm_fault() in the case where the PTE seems to have the right\npermissions, regardless of the dirty and young state.  It will eventually\nupdate those bits ...  in the struct page, but not in the PTE.\n\nAdditionally, it will not handle the lazy TLB flushing that can be\nrequired by some architectures in the fault case.\n\nBasically, gup is the wrong interface for the job.  The patch provides a\nmore appropriate one which boils down to just calling handle_mm_fault()\nsince what we are trying to do is simulate a real page fault.\n\nThe futex code currently attempts to write to user memory within a\npagefault disabled section, and if that fails, tries to fix it up using\nget_user_pages().\n\nThis doesn\u0027t work on archs where the dirty and young bits are maintained\nby software, since they will gate access permission in the TLB, and will\nnot be updated by gup().\n\nIn addition, there\u0027s an expectation on some archs that a spurious write\nfault triggers a local TLB flush, and that is missing from the picture as\nwell.\n\nI decided that adding those \"features\" to gup() would be too much for this\nalready too complex function, and instead added a new simpler\nfixup_user_fault() which is essentially a wrapper around handle_mm_fault()\nwhich the futex code can call.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix some nits Darren saw, fiddle comment layout]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nReported-by: Shan Hai \u003chaishan.bai@gmail.com\u003e\nTested-by: Shan Hai \u003chaishan.bai@gmail.com\u003e\nCc: David Laight \u003cDavid.Laight@ACULAB.COM\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Darren Hart \u003cdarren.hart@intel.com\u003e\nCc: \u003cstable@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": "154dd78d30b56ffb8b447f629bfcceb14150e5c4",
      "tree": "a1d34da3de50d25b96ba315416817a6850cd7b90",
      "parents": [
        "14067ff536286bd2f7f79d46337d2228b12ef880",
        "1ae14703e76de49e6116296f3b20925f491dbb16",
        "3bdccc880b39c2d8e2cdd3783107dc6799ba62ca",
        "b756828609ee8cb1320effc371cfafde6a6246fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:01:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:01:57 2011 -0700"
      },
      "message": "Merge branches \u0027kbuild\u0027, \u0027packaging\u0027 and \u0027misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  genksyms: Use same type in loop comparison\n  kbuild: silence generated makefile message\n  kernel: prevent unnecessary rebuilding due to config_data.gz\n  headers_install: fix __packed in exported kernel headers\n  dtc: regen parser\n  dtc: migrate parser to implicit rules\n  kconfig: regen parser\n  kconfig: migrate parser to implicit rules\n  kconfig/zconf.l: do not ask to generate backup\n  kconfig: kill no longer needed reference to YYDEBUG\n  kconfig: constify `kconf_id_lookup\u0027\n  genksym: regen parser\n  genksyms: migrate parser to implicit rules\n  genksyms: drop -Wno-uninitialized from HOSTCFLAGS_parse.tab.o\n  genksyms: pass hash and lookup functions name and target language though the input file\n  kbuild: simplify the %_shipped rule\n  kbuild: add implicit rules for parser generation\n  kbuild: add `baseprereq\u0027\n  kbuild: Fix reference to vermagic.h\n\n* \u0027packaging\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  package: Makefile: fix perf target bug\n\n* \u0027misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  gitignore: ignore debian build directory\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "096a705bbc080a4041636d07514560da8d78acbe",
      "tree": "38c3c01225709ffa53419083ea6332f8a72610de",
      "parents": [
        "fea80311a939a746533a6d7e7c3183729d6a3faf",
        "5757a6d76cdf6dda2a492c09b985c015e86779b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:33:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:33:36 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1/core\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.1/core\u0027 of git://git.kernel.dk/linux-block: (24 commits)\n  block: strict rq_affinity\n  backing-dev: use synchronize_rcu_expedited instead of synchronize_rcu\n  block: fix patch import error in max_discard_sectors check\n  block: reorder request_queue to remove 64 bit alignment padding\n  CFQ: add think time check for group\n  CFQ: add think time check for service tree\n  CFQ: move think time check variables to a separate struct\n  fixlet: Remove fs_excl from struct task.\n  cfq: Remove special treatment for metadata rqs.\n  block: document blk_plug list access\n  block: avoid building too big plug list\n  compat_ioctl: fix make headers_check regression\n  block: eliminate potential for infinite loop in blkdev_issue_discard\n  compat_ioctl: fix warning caused by qemu\n  block: flush MEDIA_CHANGE from drivers on close(2)\n  blk-throttle: Make total_nr_queued unsigned\n  block: Add __attribute__((format(printf...) and fix fallout\n  fs/partitions/check.c: make local symbols static\n  block:remove some spare spaces in genhd.c\n  block:fix the comment error in blkdev.h\n  ...\n"
    },
    {
      "commit": "f629299b544b6cc12b4e3e85fec96f4ce5809482",
      "tree": "b803333c4780dab5ca2badefc00043ff32da8f2f",
      "parents": [
        "08a4a43fc407d780bdde36d98f89c0dbb2a6be6b"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Jul 24 23:15:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 25 09:37:21 2011 +0200"
      },
      "message": "trace events: Update version number reference to new 3.x scheme for EVENT_POWER_TRACING_DEPRECATED\n\nWhat was scheduled to be 2.6.41 is now going to be 3.1 .\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/alpine.LNX.2.00.1107250929370.8080@swampdragon.chaosbits.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fcda12e7f6d58d61997681a9d41779e3fd2ffc94",
      "tree": "ea865215c10b8b09828db2918013dfe02ce62f25",
      "parents": [
        "5fabc487c96819dd12ddb9414835d170fd9cd6d5",
        "62a2635610dbc83c5e8d724e00941eee4d18c186"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:54:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:54:54 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  modpost: Fix modpost\u0027s license checking V3\n  module: add /sys/module/\u003cname\u003e/uevent files\n  module: change attr callbacks to take struct module_kobject\n  modules: make arch\u0027s use default loader hooks\n  modules: add default loader hook implementations\n  param: fix return value handling in param_set_*\n"
    },
    {
      "commit": "5fabc487c96819dd12ddb9414835d170fd9cd6d5",
      "tree": "01532d492e5074b0d3add29bf92ebf9a9d161e9e",
      "parents": [
        "c61264f98c1a974ee6f545f61a4ab33b141d6bda",
        "3f68b0318bbbd61bf08478ab99a149f0d9e5156e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (143 commits)\n  KVM: IOMMU: Disable device assignment without interrupt remapping\n  KVM: MMU: trace mmio page fault\n  KVM: MMU: mmio page fault support\n  KVM: MMU: reorganize struct kvm_shadow_walk_iterator\n  KVM: MMU: lockless walking shadow page table\n  KVM: MMU: do not need atomicly to set/clear spte\n  KVM: MMU: introduce the rules to modify shadow page table\n  KVM: MMU: abstract some functions to handle fault pfn\n  KVM: MMU: filter out the mmio pfn from the fault pfn\n  KVM: MMU: remove bypass_guest_pf\n  KVM: MMU: split kvm_mmu_free_page\n  KVM: MMU: count used shadow pages on prepareing path\n  KVM: MMU: rename \u0027pt_write\u0027 to \u0027emulate\u0027\n  KVM: MMU: cleanup for FNAME(fetch)\n  KVM: MMU: optimize to handle dirty bit\n  KVM: MMU: cache mmio info on page fault path\n  KVM: x86: introduce vcpu_mmio_gva_to_gpa to cleanup the code\n  KVM: MMU: do not update slot bitmap if spte is nonpresent\n  KVM: MMU: fix walking shadow page table\n  KVM guest: KVM Steal time registration\n  ...\n"
    },
    {
      "commit": "88bfa3247961fe5f3623f4d2cf1cd5dc72457598",
      "tree": "d3ce6a00501ed34655918815623642698eece9ca",
      "parents": [
        "4befb026cf74b52fc7d382142bbfc0e9b6aab5e7"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "message": "module: add /sys/module/\u003cname\u003e/uevent files\n\nUserspace wants to manage module parameters with udev rules.\nThis currently only works for loaded modules, but not for\nbuilt-in ones.\n\nTo allow access to the built-in modules we need to\nre-trigger all module load events that happened before any\nuserspace was running. We already do the same thing for all\ndevices, subsystems(buses) and drivers.\n\nThis adds the currently missing /sys/module/\u003cname\u003e/uevent files\nto all module entries.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (split \u0026 trivial fix)\n"
    },
    {
      "commit": "4befb026cf74b52fc7d382142bbfc0e9b6aab5e7",
      "tree": "48c4954f8eb9ab43f449750c3f4b0685fd323c03",
      "parents": [
        "66574cc05438dd0907029075d7e6ec5ac0036fbc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "message": "module: change attr callbacks to take struct module_kobject\n\nThis simplifies the next patch, where we have an attribute on a\nbuiltin module (ie. module \u003d\u003d NULL).\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (split into 2)\n"
    },
    {
      "commit": "74e08fcf7bef973512a1f813700f802a93678670",
      "tree": "467868e281ee7768c0124009340c0a5a1850de98",
      "parents": [
        "81c7413650fbbf881bcb9e567be61a6717eb1876"
      ],
      "author": {
        "name": "Jonas Bonn",
        "email": "jonas@southpole.se",
        "time": "Thu Jun 30 21:22:11 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:04 2011 +0930"
      },
      "message": "modules: add default loader hook implementations\n\nThe module loader code allows architectures to hook into the code by\nproviding a small number of entry points that each arch must implement.\nThis patch provides __weakly linked generic implementations of these\nentry points for architectures that don\u0027t need to do anything special.\n\nSigned-off-by: Jonas Bonn \u003cjonas@southpole.se\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "81c7413650fbbf881bcb9e567be61a6717eb1876",
      "tree": "4e09dc38195e016c983f1aa9430ace78487cb178",
      "parents": [
        "6d6be43d4dfdb167ef72f4aa665c1607db799be4"
      ],
      "author": {
        "name": "Satoru Moriya",
        "email": "satoru.moriya@hds.com",
        "time": "Thu May 26 19:38:04 2011 -0400"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 24 22:06:03 2011 +0930"
      },
      "message": "param: fix return value handling in param_set_*\n\nIn STANDARD_PARAM_DEF, param_set_* handles the case in which strtolfn\nreturns -EINVAL but it may return -ERANGE. If it returns -ERANGE,\nparam_set_* may set uninitialized value to the paramerter. We should handle\nboth cases.\n\nThe one of the cases in which strtolfn() returns -ERANGE is following:\n\n *Type of module parameter is long\n *Set the parameter more than LONG_MAX\n\nSigned-off-by: Satoru Moriya \u003csatoru.moriya@hds.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "dc43d9fa73d82083656fb9c02f4823bcdcfb9f91",
      "tree": "f5303b6d7ff3e0157ab3312b5dc3182785972fec",
      "parents": [
        "80775068dbcf849dca81316e43bcc309985956ac",
        "50c31e4a2497ea17747b587e8f96b278f07f5483"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:04 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mtrr-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mtrr-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, mtrr: Use pci_dev-\u003erevision\n  x86, mtrr: use stop_machine APIs for doing MTRR rendezvous\n  stop_machine: implement stop_machine_from_inactive_cpu()\n  stop_machine: reorganize stop_cpus() implementation\n  x86, mtrr: lock stop machine during MTRR rendezvous sequence\n"
    },
    {
      "commit": "112ec469663e09ffc815761254b52f3ca787ce83",
      "tree": "18a7d2300dc10b7c2c994107681dffc927589701",
      "parents": [
        "a99a7d1436f9375662f35ccac8f1a1e1b0302a11",
        "cbaa51524b3224813814607177a00c350ee35d12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:18 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  time: Fix stupid KERN_WARN compile issue\n  rtc: Avoid accumulating time drift in suspend/resume\n  time: Avoid accumulating time drift in suspend/resume\n  time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime\n"
    },
    {
      "commit": "bdc7ccfc0631797636837b10df7f87bc1e2e4ae3",
      "tree": "70f09f8ffee07486d41ca254b8abb05692713d1e",
      "parents": [
        "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
        "0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair\n  sched: Replace use of entity_key()\n  sched: Separate group-scheduling code more clearly\n  sched: Reorder root_domain to remove 64 bit alignment padding\n  sched: Do not attempt to destroy uninitialized rt_bandwidth\n  sched: Remove unused function cpu_cfs_rq()\n  sched: Fix (harmless) typo \u0027CONFG_FAIR_GROUP_SCHED\u0027\n  sched, cgroup: Optimize load_balance_fair()\n  sched: Don\u0027t update shares twice on on_rq parent\n  sched: update correct entity\u0027s runtime in check_preempt_wakeup()\n  xtensa: Use generic config PREEMPT definition\n  h8300: Use generic config PREEMPT definition\n  m32r: Use generic PREEMPT config\n  sched: Skip autogroup when looking for all rt sched groups\n  sched: Simplify mutex_spin_on_owner()\n  sched: Remove rcu_read_lock() from wake_affine()\n  sched: Generalize sleep inside spinlock detection\n  sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT\n  sched: Isolate preempt counting in its own config option\n  sched: Remove pointless in_atomic() definition check\n  ...\n"
    },
    {
      "commit": "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
      "tree": "4ed4c74b70240451065165fda5fb2059f8c6b1e5",
      "parents": [
        "0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc",
        "7fcfd1abd6480d3b9ef17f5759c175e036e835cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (123 commits)\n  perf: Remove the nmi parameter from the oprofile_perf backend\n  x86, perf: Make copy_from_user_nmi() a library function\n  perf: Remove perf_event_attr::type check\n  x86, perf: P4 PMU - Fix typos in comments and style cleanup\n  perf tools: Make test use the preset debugfs path\n  perf tools: Add automated tests for events parsing\n  perf tools: De-opt the parse_events function\n  perf script: Fix display of IP address for non-callchain path\n  perf tools: Fix endian conversion reading event attr from file header\n  perf tools: Add missing \u0027node\u0027 alias to the hw_cache[] array\n  perf probe: Support adding probes on offline kernel modules\n  perf probe: Add probed module in front of function\n  perf probe: Introduce debuginfo to encapsulate dwarf information\n  perf-probe: Move dwarf library routines to dwarf-aux.{c, h}\n  perf probe: Remove redundant dwarf functions\n  perf probe: Move strtailcmp to string.c\n  perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END\n  tracing/kprobe: Update symbol reference when loading module\n  tracing/kprobes: Support module init function probing\n  kprobes: Return -ENOENT if probe point doesn\u0027t exist\n  ...\n"
    },
    {
      "commit": "0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc",
      "tree": "fb98291d321a50de2dfd99f9bcaa33274f0c3952",
      "parents": [
        "391d6276db9fbdedfbc30e1b56390414f0e55988",
        "7f70893173b056df691b2ee7546bb44fd9abae6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:08 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Fix wrong check in list_splice_init_rcu()\n  net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu()\n  sysctl,rcu: Convert call_rcu(free_head) to kfree\n  vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu()\n  vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu()\n  ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu()\n  ipc,rcu: Convert call_rcu(free_un) to kfree_rcu()\n  security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu()\n  security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu()\n  ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu()\n  block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu()\n  scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu()\n  audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()\n  security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu()\n  md,rcu: Convert call_rcu(free_conf) to kfree_rcu()\n"
    },
    {
      "commit": "391d6276db9fbdedfbc30e1b56390414f0e55988",
      "tree": "d22cd2482f5452d616ee981e954074ffc6ae094d",
      "parents": [
        "75b56ec294b074d70f8a676ab02611a3fea76cab",
        "dd4e5d3ac4a76b868daf30e35bd572def96c30ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:49 2011 -0700"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix trace_[soft,hard]irqs_[on,off]() recursion\n  printk: Fix console_sem vs logbuf_lock unlock race\n  printk: Release console_sem after logbuf_lock\n"
    },
    {
      "commit": "75b56ec294b074d70f8a676ab02611a3fea76cab",
      "tree": "d5299adb43ac6fc8dcc50c3e438c7f0cdd452b1c",
      "parents": [
        "6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f",
        "efbe2eee6dc0f179be84292bf269528b3ec365e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix lockdep_no_validate against IRQ states\n  mutex: Make mutex_destroy() an inline function\n  plist: Remove the need to supply locks to plist heads\n  lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option\n"
    }
  ],
  "next": "431bf99d26157d56689e5de65bd27ce9f077fc3f"
}
