)]}'
{
  "log": [
    {
      "commit": "91e86e560d0b3ce4c5fc64fd2bbb99f856a30a4e",
      "tree": "26d7afb8373474a4d44d0eba4130499676c35bc7",
      "parents": [
        "b5908548537ccd3ada258ca5348df7ffc93e5a06"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 10 12:56:12 2010 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 12 21:20:08 2010 -0500"
      },
      "message": "tracing: Fix recursive user stack trace\n\nThe user stack trace can fault when examining the trace. Which\nwould call the do_page_fault handler, which would trace again,\nwhich would do the user stack trace, which would fault and call\ndo_page_fault again ...\n\nThus this is causing a recursive bug. We need to have a recursion\ndetector here.\n\n[ Resubmitted by Jiri Olsa ]\n\n[ Eric Dumazet recommended using __this_cpu_* instead of __get_cpu_* ]\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1289390172-9730-3-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "13b9b6e746d753d43270a78dd39694912646b5d9",
      "tree": "e7c4f657a21f7a94daa12b3880f1383ce27b58cf",
      "parents": [
        "034c6efa4616e5ff6253549e973e7fef12899324"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 10 22:19:24 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 10 22:19:24 2010 -0500"
      },
      "message": "tracing: Fix module use of trace_bprintk()\n\nOn use of trace_printk() there\u0027s a macro that determines if the format\nis static or a variable. If it is static, it defaults to __trace_bprintk()\notherwise it uses __trace_printk().\n\nA while ago, Lai Jiangshan added __trace_bprintk(). In that patch, we\ndiscussed a way to allow modules to use it. The difference between\n__trace_bprintk() and __trace_printk() is that for faster processing,\njust the format and args are stored in the trace instead of running\nit through a sprintf function. In order to do this, the format used\nby the __trace_bprintk() had to be persistent.\n\nSee commit 1ba28e02a18cbdbea123836f6c98efb09cbf59ec\n\nThe problem comes with trace_bprintk() where the module is unloaded.\nThe pointer left in the buffer is still pointing to the format.\n\nTo solve this issue, the formats in the module were copied into kernel\ncore. If the same format was used, they would use the same copy (to prevent\nmemory leak). This all worked well until we tried to merge everything.\n\nAt the time this was written, Lai Jiangshan, Frederic Weisbecker,\nIngo Molnar and myself were all touching the same code. When this was\nmerged, we lost the part of it that was in module.c. This kept out the\ncopying of the formats and unloading the module could cause bad pointers\nleft in the ring buffer.\n\nThis patch adds back (with updates required for current kernel) the\nmodule code that sets up the necessary pointers.\n\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "eed01528a45dc4138e9a08064b4b6cc1a9426899",
      "tree": "c7b4256b4158abc74338f14ac2071ec33c52d7e6",
      "parents": [
        "7e55055e5bb00085051ca59c570c83a820e1e0ee"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Oct 26 16:08:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 10 22:58:39 2010 +0100"
      },
      "message": "perf_events: Fix time tracking in samples\n\nThis patch corrects time tracking in samples. Without this patch\nboth time_enabled and time_running are bogus when user asks for\nPERF_SAMPLE_READ.\n\nOne uses PERF_SAMPLE_READ to sample the values of other counters\nin each sample. Because of multiplexing, it is necessary to know\nboth time_enabled, time_running to be able to scale counts correctly.\n\nIn this second version of the patch, we maintain a shadow\ncopy of ctx-\u003etime which allows us to compute ctx-\u003etime without\ncalling update_context_time() from NMI context. We avoid the\nissue that update_context_time() must always be called with\nctx-\u003elock held.\n\nWe do not keep shadow copies of the other event timings\nbecause if the lead event is overflowing then it is active\nand thus it\u0027s been scheduled in via event_sched_in() in\nwhich case neither tstamp_stopped, tstamp_running can be modified.\n\nThis timing logic only applies to samples when PERF_SAMPLE_READ\nis used.\n\nNote that this patch does not address timing issues related\nto sampling inheritance between tasks. This will be addressed\nin a future patch.\n\nWith this patch, the libpfm4 example task_smpl now reports\ncorrect counts (shown on 2.4GHz Core 2):\n\n$ task_smpl -p 2400000000 -e unhalted_core_cycles:u,instructions_retired:u,baclears  noploop 5\nnoploop for 5 seconds\nIIP:0x000000004006d6 PID:5596 TID:5596 TIME:466,210,211,430 STREAM_ID:33 PERIOD:2,400,000,000 ENA\u003d1,010,157,814 RUN\u003d1,010,157,814 NR\u003d3\n\t2,400,000,254 unhalted_core_cycles:u (33)\n\t2,399,273,744 instructions_retired:u (34)\n\t53,340 baclears (35)\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4cc6e14b.1e07e30a.256e.5190@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "433039e97f672b81e6c8f6daef385dcf035c6e29",
      "tree": "0b4b181cf1db4019ae34dccc49e06945e4df117b",
      "parents": [
        "4b4a2700f462102569b407102c60d3b9cf4432a0"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Nov 05 16:17:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 17:45:35 2010 -0700"
      },
      "message": "watchdog: Fix section mismatch and potential undefined behavior.\n\nCommit d9ca07a05ce1 (\"watchdog: Avoid kernel crash when disabling\nwatchdog\") introduces a section mismatch.\n\nNow that we reference no_watchdog from non-__init code it can no longer\nbe __initdata.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0a70217107e6f9844628120412cb27bb4cea194",
      "tree": "3c805ee6cfe97afee77b226e0cf5d36135e82dda",
      "parents": [
        "b312e131cb88b83b6edc7a017b0249b4ea176edc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Nov 05 16:53:42 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:16:03 2010 -0700"
      },
      "message": "posix-cpu-timers: workaround to suppress the problems with mt exec\n\nposix-cpu-timers.c correctly assumes that the dying process does\nposix_cpu_timers_exit_group() and removes all !CPUCLOCK_PERTHREAD\ntimers from signal-\u003ecpu_timers list.\n\nBut, it also assumes that timer-\u003eit.cpu.task is always the group\nleader, and thus the dead -\u003etask means the dead thread group.\n\nThis is obviously not true after de_thread() changes the leader.\nAfter that almost every posix_cpu_timer_ method has problems.\n\nIt is not simple to fix this bug correctly. First of all, I think\nthat timer-\u003eit.cpu should use struct pid instead of task_struct.\nAlso, the locking should be reworked completely. In particular,\ntasklist_lock should not be used at all. This all needs a lot of\nnontrivial and hard-to-test changes.\n\nChange __exit_signal() to do posix_cpu_timers_exit_group() when\nthe old leader dies during exec. This is not the fix, just the\ntemporary hack to hide the problem for 2.6.37 and stable. IOW,\nthis is obviously wrong but this is what we currently have anyway:\ncpu timers do not work after mt exec.\n\nIn theory this change adds another race. The exiting leader can\ndetach the timers which were attached to the new leader. However,\nthe window between de_thread() and release_task() is small, we\ncan pretend that sys_timer_create() was called before de_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "408af87a397a8ddef56ad39a79481f592aa1ac1a",
      "tree": "b1e2aeafa2ade41e7b64a0025fa050f3be83d5c7",
      "parents": [
        "9a8a0caddec7f77174a33e53f5ee9e87181b6232"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Nov 04 21:44:41 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 08:21:34 2010 -0700"
      },
      "message": "Clean up relay_alloc_page_array() slightly by using vzalloc rather than vmalloc and memset\n\nWe can optimize kernel/relay.c::relay_alloc_page_array() slightly by\nusing vzalloc.  The patch makes these changes:\n\n - use vzalloc instead of vmalloc+memset.\n - remove redundant local variable \u0027array\u0027.\n - declare local \u0027pa_size\u0027 as const.\n\nCuts down nicely on both source and object-code size.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82279e6bd7643da1b3fbda42555c3238c7b00d38",
      "tree": "e3f846e0a7daf6966375809ff4317f9eb57a9af9",
      "parents": [
        "bb8430a2c8fe2b726033017daadf73c69b0348ea",
        "4600d7c493f354a3e338a35bcf8a3bfbe815776a",
        "4882720b267b7b1d1b0ce08334b205f0329d4615"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "message": "Merge branches \u0027irq-core-for-linus\u0027 and \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix up irq_node() for irq_data changes.\n  genirq: Add single IRQ reservation helper\n  genirq: Warn if enable_irq is called before irq is set up\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  semaphore: Remove mutex emulation\n  staging: Final semaphore cleanup\n  jbd2: Convert jbd2_slab_create_sem to mutex\n  hpfs: Convert sbi-\u003ehpfs_creation_de to mutex\n\nFix up trivial change/delete conflicts with deleted \u0027dream\u0027 drivers\n(drivers/staging/dream/camera/{mt9d112.c,mt9p012_fox.c,mt9t013.c,s5k3e2fx.c})\n"
    },
    {
      "commit": "f02a38d86a14b6e544e218d806ffb0442785f62b",
      "tree": "84aace4aaf4b018c48f25ec2831888354baae16c",
      "parents": [
        "925d169f5b86fe57e2f5264ea574cce9a89b719d",
        "169ed55bd30305b933f52bfab32a58671d44ab68",
        "7b79462a20826a7269322113c68ca78d5f67c0bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:43:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:43:26 2010 -0700"
      },
      "message": "Merge branches \u0027perf-fixes-for-linus\u0027 and \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  jump label: Add work around to i386 gcc asm goto bug\n  x86, ftrace: Use safe noops, drop trap test\n  jump_label: Fix unaligned traps on sparc.\n  jump label: Make arch_jump_label_text_poke_early() optional\n  jump label: Fix error with preempt disable holding mutex\n  oprofile: Remove deprecated use of flush_scheduled_work()\n  oprofile: Fix the hang while taking the cpu offline\n  jump label: Fix deadlock b/w jump_label_mutex vs. text_mutex\n  jump label: Fix module __init section race\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Check irq_remapped instead of remapping_enabled in destroy_irq()\n"
    },
    {
      "commit": "120a795da07c9a02221ca23464c28a7c6ad7de1d",
      "tree": "14e0f5ab35e9397f4a1b2f5e24b8394a601aa409",
      "parents": [
        "af2951325bd6c26cb2c91943c7b11aed53504056"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 02:54:44 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:43 2010 -0400"
      },
      "message": "audit mmap\n\nNormal syscall audit doesn\u0027t catch 5th argument of syscall.  It also\ndoesn\u0027t catch the contents of userland structures pointed to be\nsyscall argument, so for both old and new mmap(2) ABI it doesn\u0027t\nrecord the descriptor we are mapping.  For old one it also misses\nflags.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ab263f47c9781a644de8b28013434b645082922e",
      "tree": "bae72a448f5d5f37fb5c762a4c336fe731523dfd",
      "parents": [
        "207032051a5ed38df332729ba42e98e9a1e60434"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:41 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:42 2010 -0400"
      },
      "message": "audit: Use rcu for task lookup protection\n\nProtect the task lookups in audit_receive_msg() with rcu_read_lock()\ninstead of tasklist_lock and use lock/unlock_sighand to protect\nagainst the exit race.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "207032051a5ed38df332729ba42e98e9a1e60434",
      "tree": "632311aa731ce8cda33888b54816837f2d1529bd",
      "parents": [
        "3c80fe4ac9cfb13b1bfa4edf1544e8b656716694"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:35 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:42 2010 -0400"
      },
      "message": "audit: Do not send uninitialized data for AUDIT_TTY_GET\n\naudit_receive_msg() sends uninitialized data for AUDIT_TTY_GET when\nthe task was not found.\n\nSend reply only when task was found.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c80fe4ac9cfb13b1bfa4edf1544e8b656716694",
      "tree": "c605435b642323cd76eea9567a43d8c67b9c9db1",
      "parents": [
        "f7a998a9491f2da1d3e44d150aa611d10093da4f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:31 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:25 2010 -0400"
      },
      "message": "audit: Call tty_audit_push_task() outside preempt disabled\n\nWhile auditing all tasklist_lock read_lock sites I stumbled over the\nfollowing call chain:\n\naudit_prepare_user_tty()\n  read_lock(\u0026tasklist_lock);\n  tty_audit_push_task();\n     mutex_lock(\u0026buf-\u003emutex);\n\n     --\u003e buf-\u003emutex is locked with preemption disabled.\n\nSolve this by acquiring a reference to the task struct under\nrcu_read_lock and call tty_audit_push_task outside of the preempt\ndisabled region.\n\nMove all code which needs to be protected by sighand lock into\ntty_audit_push_task() and use lock/unlock_sighand as we do not hold\ntasklist_lock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f7a998a9491f2da1d3e44d150aa611d10093da4f",
      "tree": "5d7c32eff458aeab7bcfeafd2d27e377b1f2b970",
      "parents": [
        "b8800aa5d9c7e4e2869321c77b80f322a0d9663a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 02:18:32 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 02:18:32 2010 -0400"
      },
      "message": "in untag_chunk() we need to do alloc_chunk() a bit earlier\n\n... while we are not holding spinlocks.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b8800aa5d9c7e4e2869321c77b80f322a0d9663a",
      "tree": "27bda6447f0b2ab2eec7beafcef090da489222fa",
      "parents": [
        "d29be158a68254f58cf1fbf60ce1e89557a321aa"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 20 17:23:50 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 01:42:19 2010 -0400"
      },
      "message": "audit: make functions static\n\nI was doing some namespace checks and found some simple stuff in\naudit that could be cleaned up. Make some functions static, and\nput const on make_reply payload arg.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d29be158a68254f58cf1fbf60ce1e89557a321aa",
      "tree": "cd42581516bc189c2e1d83b15fad984c7001561c",
      "parents": [
        "2d10d8737ccdba752d60106abbc6ed4f37404923"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Thu Sep 16 18:14:11 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 01:41:57 2010 -0400"
      },
      "message": "Audit: add support to match lsm labels on user audit messages\n\nAdd support for matching by security label (e.g. SELinux context) of\nthe sender of an user-space audit record.\n\nThe audit filter code already allows user space to configure such\nfilters, but they were ignored during evaluation.  This patch implements\nevaluation of these filters.\n\nFor example, after application of this patch, PAM authentication logs\ncaused by cron can be disabled using\n\tauditctl -a user,never -F subj_type\u003dcrond_t\n\nSigned-off-by: Miloslav Trmac \u003cmitr@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1e431a9d6478940c0b5fcfa1c17a336fc0683409",
      "tree": "ce6b454ecbad4f535b9a18ef8605f8218a409ee6",
      "parents": [
        "75d73126fd490e26a9bdfc2338ca068e71563e0b",
        "ff10b88b5a05c8f1646dd15fb9f6093c1384ff6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 11:49:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 11:49:38 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb,ppc: Individual register get/set for ppc\n  kgdbts: prevent re-entry to kgdbts before it unregisters\n  debug_core,x86,blackfin: Clean up hw debug disable API\n  kdb: Fix early debugging crash regression\n  kgdb,arm: fix register dump\n  kdb: fix per_cpu command to remove supress mask\n  kdb: Add kdb kernel module sample\n"
    },
    {
      "commit": "d7ba979d45272385ce0fdf141d922e61ff48e07b",
      "tree": "713ffb5f2e079c6abdeb15cd4830a014df12db9b",
      "parents": [
        "578bd4dfcda63d2ef15f025f1d5d55c0e56b9660"
      ],
      "author": {
        "name": "Dongdong Deng",
        "email": "dongdong.deng@windriver.com",
        "time": "Wed Aug 18 06:02:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:41 2010 -0500"
      },
      "message": "debug_core,x86,blackfin: Clean up hw debug disable API\n\nThe kgdb_disable_hw_debug() was an architecture specific function for\ndisabling all hardware breakpoints on a per cpu basis when entering\nthe debug core.\n\nThis patch will remove the weak function kdbg_disable_hw_debug() and\nchange it into a call back which lives with the rest of hw breakpoint\ncall backs in struct kgdb_arch.\n\nSigned-off-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "578bd4dfcda63d2ef15f025f1d5d55c0e56b9660",
      "tree": "1c8e62b55dff82b64a0e4148134074cf4d8ffdae",
      "parents": [
        "834b2964b7ab047610da038e42d61dc8dac6339a"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:41 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:41 2010 -0500"
      },
      "message": "kdb: Fix early debugging crash regression\n\nThe kdb_current legally be equal to NULL in the early boot of the x86\narch.  The problem pcan be observed by booting with the kernel arguments:\n\n    earlyprintk\u003dvga ekgdboc\u003dkbd kgdbwait\n\nThe kdb shell will oops on entry and recursively fault because it\ncannot get past the final stage of shell initialization.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "931ea24819f2bd40cca2dc214558bfcc3c91549e",
      "tree": "1ae4c97345544e206879160abe69f406bc61a351",
      "parents": [
        "4aad8f51d0672f1c95e2cf0e1bc7b9ab42d8e1ea"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 08:04:16 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:40 2010 -0500"
      },
      "message": "kdb: fix per_cpu command to remove supress mask\n\nRusty pointed out that the per_cpu command uses up lots of space on\nthe stack and the cpu supress mask is probably not needed.\n\nThis patch removes the need for the supress mask as well as fixing up\nthe following problems with the kdb per_cpu command:\n  * The per_cpu command should allow an address as an argument\n  * When you have more data than can be displayed on one screen allow\n    the user to break out of the print loop.\n\nReported-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "95bcd683fb694a3e2d0538bf486430a0dfbb4111",
      "tree": "c170ccfd23480b971065c3e700f64d590050fc87",
      "parents": [
        "de31c3ca8179d7c21def7ecb56e4fec0c8659d36"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 29 11:02:43 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 29 12:56:13 2010 -0400"
      },
      "message": "jump label: Make arch_jump_label_text_poke_early() optional\n\nSome archs do not need to do anything special for jump labels on\nstartup (like MIPS).  This patch adds a weak function stub for\narch_jump_label_text_poke_early();\n\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1286218615-24011-2-git-send-email-ddaney@caviumnetworks.com\u003e\nLKML-Reference: \u003c20101015201037.703989993@goodmis.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "de31c3ca8179d7c21def7ecb56e4fec0c8659d36",
      "tree": "63a488e1e3778c328074aaa47cb062b910d9c902",
      "parents": [
        "91bad2f8d3057482b9afb599f14421b007136960"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Oct 18 10:38:58 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 29 12:55:55 2010 -0400"
      },
      "message": "jump label: Fix error with preempt disable holding mutex\n\nKprobes and jump label were having a race between mutexes that\nwas fixed by reordering the jump label. But this reordering\nmoved the jump label mutex into a preempt disable location.\n\nThis patch does a little fiddling to move the grabbing of\nthe jump label mutex from inside the preempt disable section\nand still keep the order correct between the mutex and the\nkprobes lock.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "53113b06e48c6c38f7612c1f8043b8a0d2adf72b",
      "tree": "b50f098b72b6389fde956d8272c08169ff2b53cc",
      "parents": [
        "37542b6a7e73e81f8c066a48e6911e476ee3b22f",
        "a4cdbd8bfb87ceff455aae85727077889b75001b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:06:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:06:25 2010 -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: (29 commits)\n  braino in internal.h\n  convert simple cases of nfs-related -\u003eget_sb() to -\u003emount()\n  convert btrfs\n  convert ceph\n  convert gfs2\n  convert afs\n  convert ecryptfs\n  convert sysfs\n  convert cgroup and cpuset\n  switch get_sb_ns() users\n  switch procfs to -\u003emount()\n  setting -\u003eproc_mnt doesn\u0027t belong in proc_get_sb()\n  convert cifs\n  convert nilfs\n  switch logfs to -\u003emount()\n  logfs: fix a leak in get_sb\n  logfs get_sb, part 3\n  logfs get_sb, part 2\n  logfs get_sb massage, part 1\n  convert v9fs\n  ...\n"
    },
    {
      "commit": "37542b6a7e73e81f8c066a48e6911e476ee3b22f",
      "tree": "39da99d28803b18c223eebe45c3170992ee08b7e",
      "parents": [
        "c07724e5b868c603f2a65f3855c77b23454db3ed",
        "d4a6f3c32c39132318454e77d59ab14b06f6eb02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:05:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:05:33 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched_stat: Update sched_info_queue/dequeue() code comments\n  sched, cgroup: Fixup broken cgroup movement\n"
    },
    {
      "commit": "f7e835710ab5f6e43933c983f38f2d2e262b718c",
      "tree": "6acdc8212053398e6913dc5c0d8392edcf202f05",
      "parents": [
        "ceefda6931806972ecf550bd8231dce4a4178953"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 26 13:23:11 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:17:06 2010 -0400"
      },
      "message": "convert cgroup and cpuset\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e9f29c9a56ca06d0effa557823a737cbe7ec09f7",
      "tree": "c331c4aa741a8f384ee13d0b08bd340c23164b16",
      "parents": [
        "800416f799e0723635ac2d720ad4449917a1481c",
        "1af3c2e45e7a641e774bbb84fa428f2f0bf2d9c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 11:59:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 11:59:52 2010 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (27 commits)\n  x86: allocate space within a region top-down\n  x86: update iomem_resource end based on CPU physical address capabilities\n  x86/PCI: allocate space from the end of a region, not the beginning\n  PCI: allocate bus resources from the top down\n  resources: support allocating space within a region from the top down\n  resources: handle overflow when aligning start of available area\n  resources: ensure callback doesn\u0027t allocate outside available space\n  resources: factor out resource_clip() to simplify find_resource()\n  resources: add a default alignf to simplify find_resource()\n  x86/PCI: MMCONFIG: fix region end calculation\n  PCI: Add support for polling PME state on suspended legacy PCI devices\n  PCI: Export some PCI PM functionality\n  PCI: fix message typo\n  PCI: log vendor/device ID always\n  PCI: update Intel chipset names and defines\n  PCI: use new ccflags variable in Makefile\n  PCI: add PCI_MSIX_TABLE/PBA defines\n  PCI: add PCI vendor id for STmicroelectronics\n  x86/PCI: irq and pci_ids patch for Intel Patsburg DeviceIDs\n  PCI: OLPC: Only enable PCI configuration type override on XO-1\n  ...\n"
    },
    {
      "commit": "91bad2f8d3057482b9afb599f14421b007136960",
      "tree": "ea5e09e74107593dcfc192c65c1395ed22674df4",
      "parents": [
        "b842f8faf6c7dc2005c6a70631c1a91bac02f180"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Oct 01 17:23:48 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 28 09:17:40 2010 -0400"
      },
      "message": "jump label: Fix deadlock b/w jump_label_mutex vs. text_mutex\n\nregister_kprobe() downs the \u0027text_mutex\u0027 and then calls\njump_label_text_reserved(), which downs the \u0027jump_label_mutex\u0027.\nHowever, the jump label code takes those mutexes in the reverse\norder.\n\nFix by requiring the caller of jump_label_text_reserved() to do\nthe jump label locking via the newly added: jump_label_lock(),\njump_label_unlock(). Currently, kprobes is the only user\nof jump_label_text_reserved().\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c759032c48d5e30c27f0bba003d09bffa8e9f28bb.1285965957.git.jbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b842f8faf6c7dc2005c6a70631c1a91bac02f180",
      "tree": "fa4c5ed7136be2e39b728173fcae2385b119bcef",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Oct 01 17:23:41 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 28 09:17:02 2010 -0400"
      },
      "message": "jump label: Fix module __init section race\n\nJump label uses is_module_text_address() to ensure that the module\n__init sections are valid before updating them. However, between the\ncheck for a valid module __init section and the subsequent jump\nlabel update, the module\u0027s __init section could be freed out from under\nus.\n\nWe fix this potential race by adding a notifier callback to the\nMODULE_STATE_LIVE state. This notifier is called *after* the __init\nsection has been run but before it is going to be freed. In the\ncallback, the jump label code zeros the key value for any __init jump\ncode within the module, and we add a check for a non-zero key value when\nwe update jump labels. In this way we require no additional data\nstructures.\n\nThanks to Mathieu Desnoyers for pointing out this race condition.\n\nReported-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003cc6f037b7598777668025ceedd9294212fd95fa34.1285965957.git.jbaron@redhat.com\u003e\n\n[ Renamed remove_module_init() to remove_jump_label_module_init()\n  as suggested by Masami Hiramatsu. ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bdab225015fbbb45ccd8913f5d7c01b2bf67d8b2",
      "tree": "5ef62301face958977a084bf2b6c5300296a25f2",
      "parents": [
        "7c5814c7199851c5fe9395d08fc1ab3c8c1531ea",
        "7c7fcf762e405eb040ee10d22d656a791f616122"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300: (44 commits)\n  MN10300: Save frame pointer in thread_info struct rather than global var\n  MN10300: Change \"Matsushita\" to \"Panasonic\".\n  MN10300: Create a defconfig for the ASB2364 board\n  MN10300: Update the ASB2303 defconfig\n  MN10300: ASB2364: Add support for SMSC911X and SMC911X\n  MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA\n  MN10300: Generic time support\n  MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support\n  MN10300: Map userspace atomic op regs as a vmalloc page\n  MN10300: And Panasonic AM34 subarch and implement SMP\n  MN10300: Delete idle_timestamp from irq_cpustat_t\n  MN10300: Make various interrupt priority settings configurable\n  MN10300: Optimise do_csum()\n  MN10300: Implement atomic ops using atomic ops unit\n  MN10300: Make the FPU operate in non-lazy mode under SMP\n  MN10300: SMP TLB flushing\n  MN10300: Use the [ID]PTEL2 registers rather than [ID]PTEL for TLB control\n  MN10300: Make the use of PIDR to mark TLB entries controllable\n  MN10300: Rename __flush_tlb*() to local_flush_tlb*()\n  MN10300: AM34 erratum requires MMUCTR read and write on exception entry\n  ...\n"
    },
    {
      "commit": "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
      "tree": "c1a7a8bda41b99caa4b4a0fe320fc73278879f7d",
      "parents": [
        "f66dd539feb849a3a00f7fac67c026e0935e373a",
        "e25804a0327dad954f7d43803178fdef2fd35b4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf python scripting: Add futex-contention script\n  perf python scripting: Fixup cut\u0027n\u0027paste error in sctop script\n  perf scripting: Shut up \u0027perf record\u0027 final status\n  perf record: Remove newline character from perror() argument\n  perf python scripting: Support fedora 11 (audit 1.7.17)\n  perf python scripting: Improve the syscalls-by-pid script\n  perf python scripting: print the syscall name on sctop\n  perf python scripting: Improve the syscalls-counts script\n  perf python scripting: Improve the failed-syscalls-by-pid script\n  kprobes: Remove redundant text_mutex lock in optimize\n  x86/oprofile: Fix uninitialized variable use in debug printk\n  tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n  perf probe: Fix format specified for Dwarf_Off parameter\n  perf trace: Fix detection of script extension\n  perf trace: Use $PERF_EXEC_PATH in canned report scripts\n  perf tools: Document event modifiers\n  perf tools: Remove direct slang.h include\n  perf_events: Fix for transaction recovery in group_sched_in()\n  perf_events: Revert: Fix transaction recovery in group_sched_in()\n  perf, x86: Use NUMA aware allocations for PEBS/BTS/DS allocations\n  ...\n"
    },
    {
      "commit": "f66dd539feb849a3a00f7fac67c026e0935e373a",
      "tree": "a211f0229581ce38655c393f1673826111f9abba",
      "parents": [
        "17bb51d56cdc8cbf252031db3107de034cfeb44c",
        "87acf5ad87b275660e2508e6935b570a20b6a073"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:47:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:47:39 2010 -0700"
      },
      "message": "Merge branch \u0027module\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027module\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  NULL-terminate all pci_device_id tables\n  (trivial) Fix compiler warning in kernel/modules.c\n"
    },
    {
      "commit": "61d8e11e519ee7912ab59610fba1aaf08e3c1d84",
      "tree": "f06e035c88cbf508eb6e24875b878ee78d581cf8",
      "parents": [
        "c3b92ce9e75f6353104fc7f8e32fb9fdb2550ad0"
      ],
      "author": {
        "name": "Zimny Lech",
        "email": "napohybelskurwysynom2010@gmail.com",
        "time": "Wed Oct 27 15:34:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "Remove duplicate includes from many files\n\nSigned-off-by: Zimny Lech \u003cnapohybelskurwysynom2010@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": "5de1cb2d0f1c1e5475d2bedf65b76828f8cdde22",
      "tree": "2f3dbb20f08bfbbdd1f4da144f9c18fec9cce7aa",
      "parents": [
        "144ecf310eb52d9df607b9b7eeb096743e232a96"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Wed Oct 27 15:34:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "kernel/resource.c: handle reinsertion of an already-inserted resource\n\nIf the same resource is inserted to the resource tree (maybe not on\npurpose), a dead loop will be created.  In this situation, The kernel does\nnot report any warning or error :(\n\n  The command below will show a endless print.\n  #cat /proc/iomem\n\n[akpm@linux-foundation.org: add WARN_ON()]\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d57af9b2142f31a39dcfdeb30776baadfc802827",
      "tree": "a89233b1e57b152c9bebf7bb516dd51920602969",
      "parents": [
        "3d9e0cf1fe007b88db55d43dfdb6839e1a029ca5"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Wed Oct 27 15:34:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "taskstats: use real microsecond granularity for CPU times\n\nThe taskstats interface uses microsecond granularity for the user and\nsystem time values.  The conversion from cputime to the taskstats values\nuses the cputime_to_msecs primitive which effectively limits the\ngranularity to milliseconds.  Add the cputime_to_usecs primitive for\narchitectures that have better, more precise CPU time values.  Remove\ncputime_to_msecs primitive because there are no more users left.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Luck Tony \u003ctony.luck@intel.com\u003e\nCc: Shailabh Nagar \u003cnagar1234@in.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Shailabh Nagar \u003cnagar@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d9e0cf1fe007b88db55d43dfdb6839e1a029ca5",
      "tree": "508a9c06b48d5a232d669c6f95b4d3e8e4c2950c",
      "parents": [
        "9323312592cca636d7c2580dc85fa4846efa86a2"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Wed Oct 27 15:34:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "taskstats: split fill_pid function\n\nSeparate the finding of a task_struct by pid or tgid from filling the\ntaskstats data. This makes the code more readable.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9323312592cca636d7c2580dc85fa4846efa86a2",
      "tree": "b73ce3e0a5302f7b30498460b13504517169eb3c",
      "parents": [
        "85893120699f8bae8caa12a8ee18ab5fceac978e"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Wed Oct 27 15:34:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "taskstats: separate taskstats commands\n\nMove each taskstats command into a single function.  This makes the code\nmore readable and makes it easier to add new commands.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85893120699f8bae8caa12a8ee18ab5fceac978e",
      "tree": "07fb62d6c8818e8feab72d4bd78b3e4a2bbbb829",
      "parents": [
        "db9e5679d6aecb17253f41bd06d98194800f9c01"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Oct 27 15:34:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "delayacct: align to 8 byte boundary on 64-bit systems\n\nprepare_reply() sets up an skb for the response.  The payload contains:\n\n +--------------------------------+\n | genlmsghdr - 4 bytes           |\n +--------------------------------+\n | NLA header - 4 bytes           | /* Aggregate header */\n +-+------------------------------+\n | | NLA header - 4 bytes         | /* PID header */\n | +------------------------------+\n | | pid/tgid   - 4 bytes         |\n | +------------------------------+\n | | NLA header - 4 bytes         | /* stats header */\n | + -----------------------------+ \u003c- oops. aligned on 4 byte boundary\n | | struct taskstats - 328 bytes |\n +-+------------------------------+\n\nThe start of the taskstats struct must be 8 byte aligned on IA64 (and\nother systems with 8 byte alignment rules for 64-bit types) or runtime\nalignment warnings will be issued.\n\nThis patch pads the pid/tgid field out to sizeof(long), which forces the\nalignment of taskstats.  The getdelays userspace code is ok with this\nsince it assumes 32-bit pid/tgid and then honors that header\u0027s length\nfield.\n\nAn array is used to avoid exposing kernel memory contents to userspace in\nthe response.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478735e38887077ac77a9756121b6ce0cb956e2f",
      "tree": "7b42110f71b1711f56cbbc0a01f00894b221337d",
      "parents": [
        "f2c66cd8eeddedb440f33bc0f5cec1ed7ae376cb"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Oct 27 15:34:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:13 2010 -0700"
      },
      "message": "/proc/stat: fix scalability of irq sum of all cpu\n\nIn /proc/stat, the number of per-IRQ event is shown by making a sum each\nirq\u0027s events on all cpus.  But we can make use of kstat_irqs().\n\nkstat_irqs() do the same calculation, If !CONFIG_GENERIC_HARDIRQ,\nit\u0027s not a big cost. (Both of the number of cpus and irqs are small.)\n\nIf a system is very big and CONFIG_GENERIC_HARDIRQ, it does\n\n\tfor_each_irq()\n\t\tfor_each_cpu()\n\t\t\t- look up a radix tree\n\t\t\t- read desc-\u003eirq_stat[cpu]\nThis seems not efficient. This patch adds kstat_irqs() for\nCONFIG_GENRIC_HARDIRQ and change the calculation as\n\n\tfor_each_irq()\n\t\tlook up radix tree\n\t\tfor_each_cpu()\n\t\t\t- read desc-\u003eirq_stat[cpu]\n\nThis reduces cost.\n\nA test on (4096cpusp, 256 nodes, 4592 irqs) host (by Jack Steiner)\n\n%time cat /proc/stat \u003e /dev/null\n\nBefore Patch:\t 2.459 sec\nAfter Patch :\t  .561 sec\n\n[akpm@linux-foundation.org: unexport kstat_irqs, coding-style tweaks]\n[akpm@linux-foundation.org: fix unused variable \u0027per_irq_sum\u0027]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d16e15f5b029fc7d03540ba0e5fb23b0abb0ebe0",
      "tree": "382a6779f4eee476d86538372f0f6586d64ddb8b",
      "parents": [
        "895021552d6ffe8a4d076cb5c4b1e700c33e96e1"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:34:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:13 2010 -0700"
      },
      "message": "exit: add lock context annotation on find_new_reaper()\n\nfind_new_reaper() releases and regrabs tasklist_lock but was missing\nproper annotations.  Add it.  This remove following sparse warning:\n\n warning: context imbalance in \u0027find_new_reaper\u0027 - unexpected unlock\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Roland McGrath \u003croland@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": "9b1bf12d5d51bca178dea21b04a0805e29d60cf1",
      "tree": "902a2c0e5882a2152da59a589958d6426dc84643",
      "parents": [
        "b84011508360d6885a9d95a235ec77d56f133377"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Oct 27 15:34:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:12 2010 -0700"
      },
      "message": "signals: move cred_guard_mutex from task_struct to signal_struct\n\nOleg Nesterov pointed out we have to prevent multiple-threads-inside-exec\nitself and we can reuse -\u003ecred_guard_mutex for it.  Yes, concurrent\nexecve() has no worth.\n\nLet\u0027s move -\u003ecred_guard_mutex from task_struct to signal_struct.  It\nnaturally prevent multiple-threads-inside-exec.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@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": "b84011508360d6885a9d95a235ec77d56f133377",
      "tree": "471f4aecda99cb5f82b0fa957887c10d5d176960",
      "parents": [
        "b8ed374e202e23caaf9bd77dcadc9de6447faaa8"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:34:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:12 2010 -0700"
      },
      "message": "signals: annotate lock context change on ptrace_stop()\n\nptrace_stop() releases and regrabs current-\u003esighand-\u003esiglock but was\nmissing proper annotation.  Add it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oleg Nesterov \u003coleg@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": "b8ed374e202e23caaf9bd77dcadc9de6447faaa8",
      "tree": "ea97fe186c7e0c0ee8cd61e0fc94dc42f635fd3b",
      "parents": [
        "5ef45079dd9c8f2e9c7aa788dc3121835ae52863"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:34:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:12 2010 -0700"
      },
      "message": "signals: annotate lock_task_sighand()\n\nlock_task_sighand() grabs sighand-\u003esiglock in case of returning non-NULL\nbut unlock_task_sighand() releases it unconditionally.  This leads sparse\nto complain about the lock context imbalance.  Rename and wrap\nlock_task_sighand() using __cond_lock() macro to make sparse happy.\n\nSuggested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@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": "9fed81dc40f5a1ac2783bcc78d4029873be72894",
      "tree": "6eee883c2a782380f277e045f6a7258ef949a9a6",
      "parents": [
        "4abf986960ecda6a87fc2f795aacf888a2f0127e"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:33:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:10 2010 -0700"
      },
      "message": "ptrace: cleanup ptrace_request()\n\nUse new \u0027datavp\u0027 and \u0027datalp\u0027 variables to remove unnecesary castings.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Roland McGrath \u003croland@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": "4abf986960ecda6a87fc2f795aacf888a2f0127e",
      "tree": "39601ac75c3b92a3894722287bd9068a8b5e68d0",
      "parents": [
        "c4b5ed250eebf854d40f27b43362c80f115cb57a"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:33:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:10 2010 -0700"
      },
      "message": "ptrace: change signature of sys_ptrace() and friends\n\nSince userspace API of ptrace syscall defines @addr and @data as void\npointers, it would be more appropriate to define them as unsigned long in\nkernel.  Therefore related functions are changed also.\n\n\u0027unsigned long\u0027 is typically used in other places in kernel as an opaque\ndata type and that using this helps cleaning up a lot of warnings from\nsparse.\n\nSuggested-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Roland McGrath \u003croland@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": "c4b5ed250eebf854d40f27b43362c80f115cb57a",
      "tree": "870b5385ea51c0afbf3865fe6d7e3de3130dbbbe",
      "parents": [
        "26174efd42100eefac67732c0c12f41a205fa335"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 15:33:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:10 2010 -0700"
      },
      "message": "ptrace: annotate lock context change on exit_ptrace()\n\nexit_ptrace() releases and regrabs tasklist_lock but was missing proper\nannotation.  Add it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45531757b45cae0ce64c5aff08c2534d5a0fa3e7",
      "tree": "df9651eb91e4515684e055fa9454dce009be9ab4",
      "parents": [
        "f4a2589feaef0a9b737a3e582b37ee96695bb25f"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:33:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroup: notify ns_cgroup deprecated\n\nThe ns_cgroup will be removed very soon.  Let\u0027s warn, for this version,\nns_cgroup is deprecated.\n\nMake ns_cgroup and clone_children exclusive.  If the clone_children is set\nand the ns_cgroup is mounted, let\u0027s fail with EINVAL when the ns_cgroup\nsubsys is created (a printk will help the user to understand why the\ncreation fails).\n\nUpdate the feature remove schedule file with the deprecated ns_cgroup.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4a2589feaef0a9b737a3e582b37ee96695bb25f",
      "tree": "ea5eb5c6f2c1f826893271b861d63272efd6546d",
      "parents": [
        "32a8cf235e2f192eb002755076994525cdbaa35a"
      ],
      "author": {
        "name": "Evgeny Kuznetsov",
        "email": "ext-eugeny.kuznetsov@nokia.com",
        "time": "Wed Oct 27 15:33:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroups: add check for strcpy destination string overflow\n\nFunction \"strcpy\" is used without check for maximum allowed source string\nlength and could cause destination string overflow.  Check for string\nlength is added before using \"strcpy\".  Function now is return error if\nsource string length is more than a maximum.\n\nakpm: presently considered NotABug, but add the check for general\nfuture-safeness and robustness.\n\nSigned-off-by: Evgeny Kuznetsov \u003cEXT-Eugeny.Kuznetsov@nokia.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32a8cf235e2f192eb002755076994525cdbaa35a",
      "tree": "a4d849c31703d18365e063a4cc7627bfd13ca253",
      "parents": [
        "97978e6d1f2da0073416870410459694fbdbfd9b"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:33:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroup: make the mount options parsing more accurate\n\nCurrent behavior:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n(1) When we mount a cgroup, we can specify the \u0027all\u0027 option which\n    means to enable all the cgroup subsystems.  This is the default option\n    when no option is specified.\n\n(2) If we want to mount a cgroup with a subset of the supported cgroup\n    subsystems, we have to specify a subsystems name list for the mount\n    option.\n\n(3) If we specify another option like \u0027noprefix\u0027 or \u0027release_agent\u0027,\n    the actual code wants the \u0027all\u0027 or a subsystem name option specified\n    also.  Not critical but a bit not friendly as we should assume (1) in\n    this case.\n\n(4) Logically, the \u0027all\u0027 option is mutually exclusive with a subsystem\n    name, but this is not detected.\n\nIn other words:\n succeed : mount -t cgroup -o all,freezer cgroup /cgroup\n\t\u003d\u003e is it \u0027all\u0027 or \u0027freezer\u0027 ?\n fails : mount -t cgroup -o noprefix cgroup /cgroup\n\t\u003d\u003e succeed if we do \u0027-o noprefix,all\u0027\n\nThe following patches consolidate a bit the mount options check.\n\nNew behavior:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n(1) untouched\n(2) untouched\n(3) the \u0027all\u0027 option will be by default when specifying other than\n    a subsystem name option\n(4) raises an error\n\nIn other words:\n fails   : mount -t cgroup -o all,freezer cgroup /cgroup\n succeed : mount -t cgroup -o noprefix cgroup /cgroup\n\nFor the sake of lisibility, the if ... then ... else ... if ...\nindentation when parsing the options has been changed to:\nif ... then\n\t...\n\tcontinue\nfi\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97978e6d1f2da0073416870410459694fbdbfd9b",
      "tree": "e8ff2fe4119d03fa54a45e8a101adbf9fb91a385",
      "parents": [
        "2d3cbf8bc852ac1bc3d098186143c5973f87b753"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:33:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:09 2010 -0700"
      },
      "message": "cgroup: add clone_children control file\n\nThe ns_cgroup is a control group interacting with the namespaces.  When a\nnew namespace is created, a corresponding cgroup is automatically created\ntoo.  The cgroup name is the pid of the process who did \u0027unshare\u0027 or the\nchild of \u0027clone\u0027.\n\nThis cgroup is tied with the namespace because it prevents a process to\nescape the control group and use the post_clone callback, so the child\ncgroup inherits the values of the parent cgroup.\n\nUnfortunately, the more we use this cgroup and the more we are facing\nproblems with it:\n\n(1) when a process unshares, the cgroup name may conflict with a\n    previous cgroup with the same pid, so unshare or clone return -EEXIST\n\n(2) the cgroup creation is out of control because there may have an\n    application creating several namespaces where the system will\n    automatically create several cgroups in his back and let them on the\n    cgroupfs (eg.  a vrf based on the network namespace).\n\n(3) the mix of (1) and (2) force an administrator to regularly check\n    and clean these cgroups.\n\nThis patchset removes the ns_cgroup by adding a new flag to the cgroup and\nthe cgroupfs mount option.  It enables the copy of the parent cgroup when\na child cgroup is created.  We can then safely remove the ns_cgroup as\nthis flag brings a compatibility.  We have now to manually create and add\nthe task to a cgroup, which is consistent with the cgroup framework.\n\nThis patch:\n\nSent as an answer to a previous thread around the ns_cgroup.\n\nhttps://lists.linux-foundation.org/pipermail/containers/2009-June/018627.html\n\nIt adds a control file \u0027clone_children\u0027 for a cgroup.  This control file\nis a boolean specifying if the child cgroup should be a clone of the\nparent cgroup or not.  The default value is \u0027false\u0027.\n\nThis flag makes the child cgroup to call the post_clone callback of all\nthe subsystem, if it is available.\n\nAt present, the cpuset is the only one which had implemented the\npost_clone callback.\n\nThe option can be set at mount time by specifying the \u0027clone_children\u0027\nmount option.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d3cbf8bc852ac1bc3d098186143c5973f87b753",
      "tree": "5507f0efa192ac6df884fb0118bfd0e28d758662",
      "parents": [
        "0bdba580ab052a21e3eda2764ed22d9ee962392b"
      ],
      "author": {
        "name": "Tomasz Buchert",
        "email": "tomasz.buchert@inria.fr",
        "time": "Wed Oct 27 15:33:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:08 2010 -0700"
      },
      "message": "cgroup_freezer: update_freezer_state() does incorrect state transitions\n\nThere are 4 state transitions possible for a freezer.  Only FREEZING -\u003e\nFROZEN transaction is done lazily.  This patch allows update_freezer_state\nonly to perform this transaction and renames the function to\nupdate_if_frozen.\n\nMoreover is_task_frozen_enough function is removed and its every occurence\nis replaced with frozen().  Therefore for a group to become FROZEN every\ntask must be frozen.\n\nThe previous version could trigger a following bug: When cgroup is in the\nprocess of freezing (but none of its tasks are frozen yet),\nupdate_freezer_state() (called from freezer_read or freezer_write) would\nincorrectly report that a group is \u0027THAWED\u0027 (because nfrozen \u003d 0),\nallowing the transaction FREEZING -\u003e THAWED without writing anything to\n\u0027freezer.state\u0027.  This is incorrect according to the documentation.  This\ncould result in a \u0027THAWED\u0027 cgroup with frozen tasks inside.\n\nA code to reproduce this bug is available here:\nhttp://pentium.hopto.org/~thinred/repos/linux-misc/freezer_bug2.c\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Tomasz Buchert \u003ctomasz.buchert@inria.fr\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bdba580ab052a21e3eda2764ed22d9ee962392b",
      "tree": "9d8fb958c8612a9c72b8662d9b51c12c76ccd0bb",
      "parents": [
        "d5de4ddb1bc430289bede76c0d87cabee93f749a"
      ],
      "author": {
        "name": "Tomasz Buchert",
        "email": "tomasz.buchert@inria.fr",
        "time": "Wed Oct 27 15:33:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:08 2010 -0700"
      },
      "message": "cgroup_freezer: fix can_attach() to prohibit moving from/to freezing/frozen cgroups\n\nIt is possible to move a task from its cgroup even if this group is\n\u0027FREEZING\u0027.  This results in a nasty bug - the moved task will become\nfrozen OUTSIDE its original cgroup and will remain in a permanent \u0027D\u0027\nstate.\n\nThis patch allows to migrate the task only between THAWED cgroups.\n\nThis behavior was observed and easily reproduced on a single core laptop.\nNotice that reproducibility depends highly on the machine used.  Program\nand instructions how to reproduce the bug can be fetched from:\nhttp://pentium.hopto.org/~thinred/repos/linux-misc/freezer_bug.c\n\nSigned-off-by: Tomasz Buchert \u003ctomasz.buchert@inria.fr\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5de4ddb1bc430289bede76c0d87cabee93f749a",
      "tree": "142ebbc437d2d6e5c47eda6c37847eb058d2851e",
      "parents": [
        "abffc0207f12563f17bbde96e4cc0d9f3d7e2a53"
      ],
      "author": {
        "name": "Tomasz Buchert",
        "email": "tomasz.buchert@inria.fr",
        "time": "Wed Oct 27 15:33:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:08 2010 -0700"
      },
      "message": "cgroup_freezer: unnecessary test in cgroup_freezing_or_frozen()\n\nThe root freezer_state is always CGROUP_THAWED so we can remove the\nspecial case from the code.  The test itself can be handy and is extracted\nto static function.\n\nSigned-off-by: Tomasz Buchert \u003ctomasz.buchert@inria.fr\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a5f65df5a0fcbaa35e5417c0420d691fee4ac56",
      "tree": "5d7bd3754c23817860bb34f0a54e0f3584b0ff00",
      "parents": [
        "3b950de9c94b4b9fde4f1340358ab52ce0f34be0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 27 17:28:36 2010 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 27 17:28:36 2010 +0100"
      },
      "message": "Typedef SMP call function pointer\n\nTypedef the pointer to the function to be called by smp_call_function() and\nfriends:\n\n\ttypedef void (*smp_call_func_t)(void *info);\n\nas it is used in a fair number of places.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "abbce906d05ec37289cd0c3b4e35b2db26eab19b",
      "tree": "b3919579d27e040bd4005f08073f9fbe12090387",
      "parents": [
        "f9ba5375a8aae4aeea6be15df77e24707a429812"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Sep 20 01:58:08 2010 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 27 20:33:05 2010 +1030"
      },
      "message": "(trivial) Fix compiler warning in kernel/modules.c\n\nBuilding with CONFIG_KALLSYMS\u003dn gives following warning:\n\n/mnt/src/linux-git/kernel/module.c: In function ‘post_relocation’:\n/mnt/src/linux-git/kernel/module.c:2534:2: warning: passing argument 2 of ‘add_kallsyms’ discards qualifiers from pointer target type\n/mnt/src/linux-git/kernel/module.c:2038:13: note: expected ‘struct load_info *’ but argument is of type ‘const struct load_info *’\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "426e1f5cec4821945642230218876b0e89aafab1",
      "tree": "2728ace018d0698886989da586210ef1543a7098",
      "parents": [
        "9e5fca251f44832cb996961048ea977f80faf6ea",
        "63997e98a3be68d7cec806d22bf9b02b2e1daabb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -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: (52 commits)\n  split invalidate_inodes()\n  fs: skip I_FREEING inodes in writeback_sb_inodes\n  fs: fold invalidate_list into invalidate_inodes\n  fs: do not drop inode_lock in dispose_list\n  fs: inode split IO and LRU lists\n  fs: switch bdev inode bdi\u0027s correctly\n  fs: fix buffer invalidation in invalidate_list\n  fsnotify: use dget_parent\n  smbfs: use dget_parent\n  exportfs: use dget_parent\n  fs: use RCU read side protection in d_validate\n  fs: clean up dentry lru modification\n  fs: split __shrink_dcache_sb\n  fs: improve DCACHE_REFERENCED usage\n  fs: use percpu counter for nr_dentry and nr_dentry_unused\n  fs: simplify __d_free\n  fs: take dcache_lock inside __d_path\n  fs: do not assign default i_ino in new_inode\n  fs: introduce a per-cpu last_ino allocator\n  new helper: ihold()\n  ...\n"
    },
    {
      "commit": "ee2f154a598e96df2ebb01648a7699373bc085c7",
      "tree": "30de15c8024271552a4fd5bf9fc813c0787ea91c",
      "parents": [
        "003bb8ab7cecbfd1830bbccf9c6a9e2047d27c5c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Oct 26 14:17:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:32:41 2010 -0700"
      },
      "message": "docbook: add more wait/wake/completion to device-drivers docbook\n\nAdd more wait, wake, and completion interfaces to the device-drivers\ndocbook.\n\nFix kernel-doc notation in the added files.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5d87d851d76a390d0fab2f77bd1d563d69ee586",
      "tree": "4056332405b630e3bd2663beb3dcbf16955095cd",
      "parents": [
        "674dff6507d3f9b110219ea125cf5e1213c9acef"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: declare printk_ratelimit_state in ratelimit.h\n\nAdding declaration of printk_ratelimit_state in ratelimit.h removes\npotential build breakage and following sparse warning:\n\n kernel/printk.c:1426:1: warning: symbol \u0027printk_ratelimit_state\u0027 was not declared. Should it be static?\n\n[akpm@linux-foundation.org: remove unneeded ifdef]\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "674dff6507d3f9b110219ea125cf5e1213c9acef",
      "tree": "ce1799340d42aa814e6b4d4311c6bcf6ff2c5f5c",
      "parents": [
        "8155c02a44a95562e1ae0999360eb31288d7195a"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: change type of \u0027boot_delay\u0027 to int *\n\nget_option() takes its 2nd arg as int * so passing boot_delay to it\ncaused following warnings from sparse:\n\n kernel/printk.c:223:27: warning: incorrect type in argument 2 (different signedness)\n kernel/printk.c:223:27:    expected int *pint\n kernel/printk.c:223:27:    got unsigned int static [toplevel] *\u003cnoident\u003e\n\nSince boot_delay can\u0027t grow more than 10,000 changing it to \u0027int *\u0027\nwill not produce any problem.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8155c02a44a95562e1ae0999360eb31288d7195a",
      "tree": "65a5d03b8ce866b149d50f9a9d6b798fbeae715b",
      "parents": [
        "6c095efd82e8f6a98515426a733110f91cf0a709"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: add lock context annotation\n\nacquire_console_semaphore_for_printk() releases logbuf_lock but\nwas missing proper annotation. Add it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c095efd82e8f6a98515426a733110f91cf0a709",
      "tree": "32352a70fff2b51c6f948df514c80e2dd0cb053d",
      "parents": [
        "5f2365d8c24aec8dbedf49c69b7601c7cfaee2c1"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "printk: fixup declaration of kmsg_reasons\n\nMove redundant \u0027const\u0027 after \u0027*\u0027 to make pointer itself const\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ce6494dbd8909718840bb88d5a699ef6ce5c212",
      "tree": "7803fc3f194969a736ae3a12b51e2cada7b98fbd",
      "parents": [
        "ca51c5a76345b28c6f1b742f9f5f0a6fc9afd9ca"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Oct 26 14:22:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:15 2010 -0700"
      },
      "message": "stop_machine: convert cpu notifier to return encapsulate errno value\n\nIn commit e6bde73b07edeb703d4c89c1daabc09c303de11f (\"cpu-hotplug: return\nbetter errno on cpu hotplug failure\"), the cpu notifier can return an\nencapsulated errno value.\n\nThis converts the cpu notifier to return an encapsulated errno value for\nstop_machine().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: 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": "ca51c5a76345b28c6f1b742f9f5f0a6fc9afd9ca",
      "tree": "2165800008473681383c565031b5f3fedb729d09",
      "parents": [
        "518de9b39e854542de59bfb8b9f61c8f7ecf808b"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Tue Oct 26 14:22:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:15 2010 -0700"
      },
      "message": "kernel/stop_machine.c: fix unused variable warning\n\nkernel/stop_machine.c: In function `cpu_stopper_thread\u0027:\nkernel/stop_machine.c:265: warning: unused variable `ksym_buf\u0027\n\nksym_buf[] is unused if WARN_ON() is a no-op.\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "518de9b39e854542de59bfb8b9f61c8f7ecf808b",
      "tree": "06cd1dd303a1526501783589ec61696570c0ffa8",
      "parents": [
        "571428be550fbe37160596995e96ad398873fcbd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 26 14:22:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:15 2010 -0700"
      },
      "message": "fs: allow for more than 2^31 files\n\nRobin Holt tried to boot a 16TB system and found af_unix was overflowing\na 32bit value :\n\n\u003cquote\u003e\n\nWe were seeing a failure which prevented boot.  The kernel was incapable\nof creating either a named pipe or unix domain socket.  This comes down\nto a common kernel function called unix_create1() which does:\n\n        atomic_inc(\u0026unix_nr_socks);\n        if (atomic_read(\u0026unix_nr_socks) \u003e 2 * get_max_files())\n                goto out;\n\nThe function get_max_files() is a simple return of files_stat.max_files.\nfiles_stat.max_files is a signed integer and is computed in\nfs/file_table.c\u0027s files_init().\n\n        n \u003d (mempages * (PAGE_SIZE / 1024)) / 10;\n        files_stat.max_files \u003d n;\n\nIn our case, mempages (total_ram_pages) is approx 3,758,096,384\n(0xe0000000).  That leaves max_files at approximately 1,503,238,553.\nThis causes 2 * get_max_files() to integer overflow.\n\n\u003c/quote\u003e\n\nFix is to let /proc/sys/fs/file-nr \u0026 /proc/sys/fs/file-max use long\nintegers, and change af_unix to use an atomic_long_t instead of atomic_t.\n\nget_max_files() is changed to return an unsigned long.  get_nr_files() is\nchanged to return a long.\n\nunix_nr_socks is changed from atomic_t to atomic_long_t, while not\nstrictly needed to address Robin problem.\n\nBefore patch (on a 64bit kernel) :\n# echo 2147483648 \u003e/proc/sys/fs/file-max\n# cat /proc/sys/fs/file-max\n-18446744071562067968\n\nAfter patch:\n# echo 2147483648 \u003e/proc/sys/fs/file-max\n# cat /proc/sys/fs/file-max\n2147483648\n# cat /proc/sys/fs/file-nr\n704     0       2147483648\n\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nTested-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "571428be550fbe37160596995e96ad398873fcbd",
      "tree": "eddfb410db3ae0260f5a0a5d4301869ba02779e9",
      "parents": [
        "562f5e638de4ef451226552fe8dd7847bacea24e"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:22:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:15 2010 -0700"
      },
      "message": "kernel/user.c: add lock release annotation on free_user()\n\nfree_user() releases uidhash_lock but was missing annotation.  Add it.\nThis removes following sparse warnings:\n\n include/linux/spinlock.h:339:9: warning: context imbalance in \u0027free_user\u0027 - unexpected unlock\n kernel/user.c:120:6: warning: context imbalance in \u0027free_uid\u0027 - wrong count at exit\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dhaval Giani \u003cdhaval.giani@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": "ca1cab37d91cbe8a8333732540d43cabb54cfa85",
      "tree": "ea936dc8e5eb80b02fdf1d970bcb6f2e836051b9",
      "parents": [
        "99dc829256bb8cfcb1f58b7f118893fdbf608e60"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Oct 26 14:22:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:14 2010 -0700"
      },
      "message": "workqueues: s/ON_STACK/ONSTACK/\n\nSilly though it is, completions and wait_queue_heads use foo_ONSTACK\n(COMPLETION_INITIALIZER_ONSTACK, DECLARE_COMPLETION_ONSTACK,\n__WAIT_QUEUE_HEAD_INIT_ONSTACK and DECLARE_WAIT_QUEUE_HEAD_ONSTACK) so I\nguess workqueues should do the same thing.\n\ns/INIT_WORK_ON_STACK/INIT_WORK_ONSTACK/\ns/INIT_DELAYED_WORK_ON_STACK/INIT_DELAYED_WORK_ONSTACK/\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\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": "3ecb01df3261d3b1f02ccfcf8384e2a255d2a1d0",
      "tree": "1fe91114d8829a511db48d757c787cfede3b929c",
      "parents": [
        "b6472776816af1ed52848c93d26e3edb3b17adab"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Oct 26 14:22:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:13 2010 -0700"
      },
      "message": "use clear_page()/copy_page() in favor of memset()/memcpy() on whole pages\n\nAfter all that\u0027s what they are intended for.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61ecdb801ef2cd28e32442383106d7837d76deac",
      "tree": "3ec4f04e09cc4a9b76dafaaa0c4dfd07e825e632",
      "parents": [
        "2e30244a7cc1ff09013a1238d415b4076406388e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 26 14:21:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:08 2010 -0700"
      },
      "message": "mm: strictly nested kmap_atomic()\n\nEnsure kmap_atomic() usage is strictly nested\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d5992d2ac7dc09aed8ab537cba074589f0f0a52",
      "tree": "0fbb51026e8aa13ddd7a6516c04471ceb97bc277",
      "parents": [
        "0f4d208f1975f16f269134cee5f44c1f048581da"
      ],
      "author": {
        "name": "Ying Han",
        "email": "yinghan@google.com",
        "time": "Tue Oct 26 14:21:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:05 2010 -0700"
      },
      "message": "oom: add per-mm oom disable count\n\nIt\u0027s pointless to kill a task if another thread sharing its mm cannot be\nkilled to allow future memory freeing.  A subsequent patch will prevent\nkills in such cases, but first it\u0027s necessary to have a way to flag a task\nthat shares memory with an OOM_DISABLE task that doesn\u0027t incur an\nadditional tasklist scan, which would make select_bad_process() an O(n^2)\nfunction.\n\nThis patch adds an atomic counter to struct mm_struct that follows how\nmany threads attached to it have an oom_score_adj of OOM_SCORE_ADJ_MIN.\nThey cannot be killed by the kernel, so their memory cannot be freed in\noom conditions.\n\nThis only requires task_lock() on the task that we\u0027re operating on, it\ndoes not require mm-\u003emmap_sem since task_lock() pins the mm and the\noperation is atomic.\n\n[rientjes@google.com: changelog and sys_unshare() code]\n[rientjes@google.com: protect oom_disable_count with task_lock in fork]\n[rientjes@google.com: use old_mm for oom_disable_count in exec]\nSigned-off-by: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7f8567db9a7f6b3151b0b275e245c1cef0d9c70",
      "tree": "f04a01581e86ec2b8c175b9f27648679c70d592c",
      "parents": [
        "a1862e31079149a52b6223776228c3aee493d4a7"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 26 15:41:33 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 26 15:33:31 2010 -0700"
      },
      "message": "resources: support allocating space within a region from the top down\n\nAllocate space from the top of a region first, then work downward,\nif an architecture desires this.\n\nWhen we allocate space from a resource, we look for gaps between children\nof the resource.  Previously, we always looked at gaps from the bottom up.\nFor example, given this:\n\n    [mem 0xbff00000-0xf7ffffff] PCI Bus 0000:00\n      [mem 0xbff00000-0xbfffffff] gap -- available\n      [mem 0xc0000000-0xdfffffff] PCI Bus 0000:02\n      [mem 0xe0000000-0xf7ffffff] gap -- available\n\nwe attempted to allocate from the [mem 0xbff00000-0xbfffffff] gap first,\nthen the [mem 0xe0000000-0xf7ffffff] gap.\n\nWith this patch an architecture can choose to allocate from the top gap\n[mem 0xe0000000-0xf7ffffff] first.\n\nWe can\u0027t do this across the board because iomem_resource.end is initialized\nto 0xffffffff_ffffffff on 64-bit architectures, and most machines can\u0027t\naddress the entire 64-bit physical address space.  Therefore, we only\nallocate top-down if the arch requests it by clearing\n\"resource_alloc_from_bottom\".\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a1862e31079149a52b6223776228c3aee493d4a7",
      "tree": "f70f7e3f33f63dcf77428b745f0dd01ecbee8e24",
      "parents": [
        "6909ba14c25b4db6be2ff89f4fa0fac2d70151a0"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 26 15:41:28 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 26 15:33:28 2010 -0700"
      },
      "message": "resources: handle overflow when aligning start of available area\n\nIf tmp.start is near ~0, ALIGN(tmp.start) may overflow, which would\nmake us think there\u0027s more available space than there really is.  We\nwould likely return something that conflicts with a previous resource,\nwhich would cause a failure when allocate_resource() requests the newly-\nallocated region.\n\nReference: https://bugzilla.redhat.com/show_bug.cgi?id\u003d646027\nReported-by: Fabrice Bellet \u003cfabrice@bellet.info\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6909ba14c25b4db6be2ff89f4fa0fac2d70151a0",
      "tree": "1b663f1bba58f51b94bfc8372bea6d2c9295ec67",
      "parents": [
        "5d6b1fa301b13cc651ee717a9b518124dea2f814"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 26 15:41:23 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 26 15:33:26 2010 -0700"
      },
      "message": "resources: ensure callback doesn\u0027t allocate outside available space\n\nThe alignment callback returns a proposed location, which may have been\nadjusted to avoid ISA aliases or for other architecture-specific reasons.\n\nWe already had a check (\"tmp.start \u003c tmp.end\") to make sure the callback\ndoesn\u0027t return an area that extends past the available area.  This patch\nreworks the check to make sure it doesn\u0027t return an area that extends\neither below or above the available area.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5d6b1fa301b13cc651ee717a9b518124dea2f814",
      "tree": "53958650b23a85cbd1b58ebd9346fe62603c3a0d",
      "parents": [
        "a9cea017411c95ec789092971f9baaef1f826883"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 26 15:41:18 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 26 15:33:24 2010 -0700"
      },
      "message": "resources: factor out resource_clip() to simplify find_resource()\n\nThis factors out the min/max clipping to simplify find_resource().\nNo functional change.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a9cea017411c95ec789092971f9baaef1f826883",
      "tree": "c26c60f9c4b4e73eccd9ce6597daa250270691e6",
      "parents": [
        "1ca98fa652bb5dc3c8793335db9ccc5d0f2e1f65"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 26 15:41:13 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 26 15:33:22 2010 -0700"
      },
      "message": "resources: add a default alignf to simplify find_resource()\n\nThis removes a test from find_resource(), which is getting cluttered.\nNo functional change.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5c16d2c813a7490408e966f52b881e70fc8d7f77",
      "tree": "3a2a4286a674d2e009f84687b5d0b74809774c28",
      "parents": [
        "5df414c61e1b6f15bdc3759f292c7404286c9827",
        "b8b2663bd7c9da04ac804659b9f617c199d0252c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 26 13:14:02 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 26 13:14:02 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/ringbuffer-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "312d3ca856d369bb04d0443846b85b4cdde6fa8a",
      "tree": "cf95d01cffaf02bf53c2bb0f7c2c924279ec6eeb",
      "parents": [
        "9c82ab9c9e16cb9edf17bd0d31f3d6904afce04f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 10 05:36:23 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:12 2010 -0400"
      },
      "message": "fs: use percpu counter for nr_dentry and nr_dentry_unused\n\nThe nr_dentry stat is a globally touched cacheline and atomic operation\ntwice over the lifetime of a dentry. It is used for the benfit of userspace\nonly. Turn it into a per-cpu counter and always decrement it in d_free instead\nof doing various batching operations to reduce lock hold times in the callers.\n\nBased on an earlier patch from Nick Piggin \u003cnpiggin@suse.de\u003e.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "85fe4025c616a7c0ed07bc2fc8c5371b07f3888c",
      "tree": "7a5db7accb6192f2911f2473b4e3191227b914cc",
      "parents": [
        "f991bd2e14210fb93d722cb23e54991de20e8a3d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 23 11:19:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "fs: do not assign default i_ino in new_inode\n\nInstead of always assigning an increasing inode number in new_inode\nmove the call to assign it into those callers that actually need it.\nFor now callers that need it is estimated conservatively, that is\nthe call is added to all filesystems that do not assign an i_ino\nby themselves.  For a few more filesystems we can avoid assigning\nany inode number given that they aren\u0027t user visible, and for others\nit could be done lazily when an inode number is actually needed,\nbut that\u0027s left for later patches.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f",
      "tree": "88787e77ba8a253d0a26aeda4bd5e58532d592e0",
      "parents": [
        "646ec4615cd05972581c9c5342ed7a1e77df17bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 11:11:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "new helper: ihold()\n\nClones an existing reference to inode; caller must already hold one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cffbc8aa334f55c9ed42d25202eb3ebf3a97c195",
      "tree": "dab046695754e2cec1a7ab7a64b236e976d94360",
      "parents": [
        "be1a16a0ae29a7c90081a657b64aa51cb1a65a27"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Sat Oct 23 05:03:02 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:09 2010 -0400"
      },
      "message": "fs: Convert nr_inodes and nr_unused to per-cpu counters\n\nThe number of inodes allocated does not need to be tied to the\naddition or removal of an inode to/from a list. If we are not tied\nto a list lock, we could update the counters when inodes are\ninitialised or destroyed, but to do that we need to convert the\ncounters to be per-cpu (i.e. independent of a lock). This means that\nwe have the freedom to change the list/locking implementation\nwithout needing to care about the counters.\n\nBased on a patch originally from Eric Dumazet.\n\n[AV: cleaned up a bit, fixed build breakage on weird configs\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e360c38abe2c70eae3ba5a8a17f17671d8b77c5",
      "tree": "319034360c667ac704bce87b1a0856657bf67e4b",
      "parents": [
        "fde214d414218fb6cace35708730986bcc94fb53"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 05 09:32:55 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:20 2010 -0400"
      },
      "message": "fs: allow for more than 2^31 files\n\nAndrew,\n\nCould you please review this patch, you probably are the right guy to\ntake it, because it crosses fs and net trees.\n\nNote : /proc/sys/fs/file-nr is a read-only file, so this patch doesnt\ndepend on previous patch (sysctl: fix min/max handling in\n__do_proc_doulongvec_minmax())\n\nThanks !\n\n[PATCH V4] fs: allow for more than 2^31 files\n\nRobin Holt tried to boot a 16TB system and found af_unix was overflowing\na 32bit value :\n\n\u003cquote\u003e\n\nWe were seeing a failure which prevented boot.  The kernel was incapable\nof creating either a named pipe or unix domain socket.  This comes down\nto a common kernel function called unix_create1() which does:\n\n        atomic_inc(\u0026unix_nr_socks);\n        if (atomic_read(\u0026unix_nr_socks) \u003e 2 * get_max_files())\n                goto out;\n\nThe function get_max_files() is a simple return of files_stat.max_files.\nfiles_stat.max_files is a signed integer and is computed in\nfs/file_table.c\u0027s files_init().\n\n        n \u003d (mempages * (PAGE_SIZE / 1024)) / 10;\n        files_stat.max_files \u003d n;\n\nIn our case, mempages (total_ram_pages) is approx 3,758,096,384\n(0xe0000000).  That leaves max_files at approximately 1,503,238,553.\nThis causes 2 * get_max_files() to integer overflow.\n\n\u003c/quote\u003e\n\nFix is to let /proc/sys/fs/file-nr \u0026 /proc/sys/fs/file-max use long\nintegers, and change af_unix to use an atomic_long_t instead of\natomic_t.\n\nget_max_files() is changed to return an unsigned long.\nget_nr_files() is changed to return a long.\n\nunix_nr_socks is changed from atomic_t to atomic_long_t, while not\nstrictly needed to address Robin problem.\n\nBefore patch (on a 64bit kernel) :\n# echo 2147483648 \u003e/proc/sys/fs/file-max\n# cat /proc/sys/fs/file-max\n-18446744071562067968\n\nAfter patch:\n# echo 2147483648 \u003e/proc/sys/fs/file-max\n# cat /proc/sys/fs/file-max\n2147483648\n# cat /proc/sys/fs/file-nr\n704     0       2147483648\n\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nTested-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5260562754c0aa4b95eebb1f851eaccce7286365",
      "tree": "5702b9da6869d2769e4e88472b2c39b643187174",
      "parents": [
        "74eb94b218d087798a52c0b4f1379b635287a4b8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Oct 25 23:41:11 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 16:24:06 2010 -0700"
      },
      "message": "MN10300: Fix the PERCPU() alignment to allow for workqueues\n\nIn the MN10300 arch, we occasionally see an assertion being tripped in\nalloc_cwqs() at the following line:\n\n        /* just in case, make sure it\u0027s actually aligned */\n  ---\u003e  BUG_ON(!IS_ALIGNED(wq-\u003ecpu_wq.v, align));\n        return wq-\u003ecpu_wq.v ? 0 : -ENOMEM;\n\nThe values are:\n\n        wa-\u003ecpu_wq.v \u003d\u003e 0x902776e0\n        align \u003d\u003e 0x100\n\nand align is calculated by the following:\n\n        const size_t align \u003d max_t(size_t, 1 \u003c\u003c WORK_STRUCT_FLAG_BITS,\n                                   __alignof__(unsigned long long));\n\nThis is because the pointer in question (wq-\u003ecpu_wq.v) loses some of its\nlower bits to control flags, and so the object it points to must be\nsufficiently aligned to avoid the need to use those bits for pointing to\nthings.\n\nCurrently, 4 control bits and 4 colour bits are used in normal\ncircumstances, plus a debugging bit if debugging is set.  This requires\nthe cpu_workqueue_struct struct to be at least 256 bytes aligned (or 512\nbytes aligned with debugging).\n\nPERCPU() alignment on MN13000, however, is only 32 bytes as set in\nvmlinux.lds.S.  So we set this to PAGE_SIZE (4096) to match most other\narches and stick a comment in alloc_cwqs() for anyone else who triggers\nthe assertion.\n\nReported-by: Akira Takeuchi \u003ctakeuchi.akr@jp.panasonic.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Mark Salter \u003cmsalter@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43948f50276eca010a22726860dfe9a4e8130136",
      "tree": "7c84a90e5d0fb88ae5972d2bc7b5f1c70cf34650",
      "parents": [
        "2c78ffeca98fcd5a1dfd4a322438944506ed5e64"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Oct 25 22:18:01 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 25 15:51:55 2010 +0200"
      },
      "message": "kprobes: Remove redundant text_mutex lock in optimize\n\nRemove text_mutex locking in optimize_all_kprobes, because\nthis function doesn\u0027t modify text. It simply queues probes on\noptimization list for kprobe_optimizer worker thread.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101025131801.19160.70939.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "d4a6f3c32c39132318454e77d59ab14b06f6eb02",
      "tree": "c693c2293b9183df06f5a5891659fe2090425bff",
      "parents": [
        "b2b5ce022acf5e9f52f7b78c5579994fdde191d4"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Sun Oct 24 16:28:47 2010 +0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 24 13:29:01 2010 +0200"
      },
      "message": "sched_stat: Update sched_info_queue/dequeue() code comments\n\nRemove some sched_info_queue(), sched_info_dequeue() code comment.\nWe no longer belongs to the era of O(1) and we don\u0027t use active or expired\narray anymore.\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003cAANLkTi\u003dREu0WzOp5N\u003dnVT1\u003dZJ\u003dZA+MZFV+4CHSJ3Q-Yv@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa7b250c252cc8e6b1daf0e1eada5eba42a1a68d",
      "tree": "936134db39aad1c95910d051050b02913fc6a393",
      "parents": [
        "b8ecad8b2f8757d51632b1ea6d602c1f7b9760a2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Oct 21 22:17:19 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 20:06:38 2010 +0200"
      },
      "message": "tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Kosina \u003ctrivial@kernel.org\u003e\nLKML-Reference: \u003ccd9855af60d7d90e9f55fc7afd0ed23fcdaa6f52.1287724261.git.joe@perches.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b8ecad8b2f8757d51632b1ea6d602c1f7b9760a2",
      "tree": "5a03029dbf02df606fa48a82525eb321e59b5c33",
      "parents": [
        "eea4a0b19a2719e3e23b5450dd9fbe97789d2a57",
        "8bfb5e7d6a14b29cffddd113f4b0be7d9aafc1e8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 20:05:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 20:05:43 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent\n"
    },
    {
      "commit": "02f36038c568111ad4fc433f6fa760ff5e38fab4",
      "tree": "78e6ef15798c6e9d1052eab7f7d3a0db0ec908e5",
      "parents": [
        "6c2754c28f2388a276fe21edde826f2113c8f60e",
        "676cb02dc32adef13d9efb5ea52079e4ede1e3ec",
        "07bd8516a2f967aa67904c68ab97bb896a448b09",
        "50f2d7f682f9c0ed58191d0982fe77888d59d162",
        "892df7f81c31ce7f85778aa78094e8d1f19b8413",
        "68f4d5a00adaab33b136fce2c72d5c377b39b0b0",
        "b365a85c68161ea5db5476eb8845a91ceb1777ea",
        "6554287b1de0448f1e02e200d02b43914e997d15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 08:25:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 08:25:36 2010 -0700"
      },
      "message": "Merge branches \u0027softirq-for-linus\u0027, \u0027x86-debug-for-linus\u0027, \u0027x86-numa-for-linus\u0027, \u0027x86-quirks-for-linus\u0027, \u0027x86-setup-for-linus\u0027, \u0027x86-uv-for-linus\u0027 and \u0027x86-vm86-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027softirq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softirqs: Make wakeup_softirqd static\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, asm: Restore parentheses around one pushl_cfi argument\n  x86, asm: Fix ancient-GAS workaround\n  x86, asm: Fix CFI macro invocations to deal with shortcomings in gas\n\n* \u0027x86-numa-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA\n\n* \u0027x86-quirks-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: HPET force enable for CX700 / VIA Epia LT\n\n* \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, setup: Use string copy operation to optimze copy in kernel compression\n\n* \u0027x86-uv-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, UV: Use allocated buffer in tlb_uv.c:tunables_read()\n\n* \u0027x86-vm86-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, vm86: Fix preemption bug for int1 debug and int3 breakpoint handlers.\n"
    },
    {
      "commit": "8814011679d1a47d8b0158fc991727a5859471a0",
      "tree": "f5d84ea8dba4fb7e18312deb04ff51ba35f9b901",
      "parents": [
        "5cc103506289de7ee0a0b526ae0381541990cad4",
        "495363d380b4f4745bd8677912688654afc44020"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 20:35:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 20:35:12 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kdb,debug_core: adjust master cpu switch logic against new debug_core locking\n  debug_core: refactor locking for master/slave cpus\n  x86,kgdb: remove unnecessary call to kgdb_correct_hw_break()\n  debug_core: disable hw_breakpoints on all cores in kgdb_cpu_enter()\n  kdb,kgdb: fix sparse fixups\n  kdb: Fix oops in kdb_unregister\n  kdb,ftdump: Remove reference to internal kdb include\n  kdb: Allow kernel loadable modules to add kdb shell functions\n  debug_core: stop rcu warnings on kernel resume\n  debug_core: move all watch dog syncs to a single function\n  x86,kgdb: fix debugger hw breakpoint test regression in 2.6.35\n"
    },
    {
      "commit": "91b745016c12d440386c40fb76ab69c8e08cbc06",
      "tree": "881a26a43b3ee924c0979a54b38c7a87d79d7f1a",
      "parents": [
        "04cc69768e7d1f40d98b79d23d203674553b4da2",
        "daaae6b010ac0f60c9c35e481589966f9f1fcc22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:13:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:13:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: remove in_workqueue_context()\n  workqueue: Clarify that schedule_on_each_cpu is synchronous\n  memory_hotplug: drop spurious calls to flush_scheduled_work()\n  shpchp: update workqueue usage\n  pciehp: update workqueue usage\n  isdn/eicon: don\u0027t call flush_scheduled_work() from diva_os_remove_soft_isr()\n  workqueue: add and use WQ_MEM_RECLAIM flag\n  workqueue: fix HIGHPRI handling in keep_working()\n  workqueue: add queue_work and activate_work trace points\n  workqueue: prepare for more tracepoints\n  workqueue: implement flush[_delayed]_work_sync()\n  workqueue: factor out start_flush_work()\n  workqueue: cleanup flush/cancel functions\n  workqueue: implement alloc_ordered_workqueue()\n\nFix up trivial conflict in fs/gfs2/main.c as per Tejun\n"
    },
    {
      "commit": "495363d380b4f4745bd8677912688654afc44020",
      "tree": "647032c22f9e77f91578dcae864776849dbcbfa8",
      "parents": [
        "dfee3a7b92208b30f77876068aece9ea571270c2"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri May 21 08:46:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:13 2010 -0500"
      },
      "message": "kdb,debug_core: adjust master cpu switch logic against new debug_core locking\n\nThe kdb shell needs to enforce switching back to the original CPU that\ntook the exception before restoring normal kernel execution.  Resuming\nfrom a different CPU than what took the original exception will cause\nproblems with spin locks that are freed from the a different processor\nthan had taken the lock.\n\nThe special logic in dbg_cpu_switch() can go away entirely with\nbecause the state of what cpus want to be masters or slaves will\nremain unchanged between entry and exit of the debug_core exception\ncontext.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "dfee3a7b92208b30f77876068aece9ea571270c2",
      "tree": "de243b8c2e1a3b5dea007b1fb79f1e7b4a8263ba",
      "parents": [
        "39a0715f5ace92268190c89e246fd1cf741dbaea"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri May 21 08:46:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:13 2010 -0500"
      },
      "message": "debug_core: refactor locking for master/slave cpus\n\nFor quite some time there have been problems with memory barriers and\nvarious races with NMI on multi processor systems using the kernel\ndebugger.  The algorithm for entering the kernel debug core and\nresuming kernel execution was racy and had several known edge case\nproblems with attempting to debug something on a heavily loaded system\nusing breakpoints that are hit repeatedly and quickly.\n\nThe prior \"locking\" design entry worked as follows:\n\n  * The atomic counter kgdb_active was used with atomic exchange in\n    order to elect a master cpu out of all the cpus that may have\n    taken a debug exception.\n  * The master cpu increments all elements of passive_cpu_wait[].\n  * The master cpu issues the round up cpus message.\n  * Each \"slave cpu\" that enters the debug core increments its own\n    element in cpu_in_kgdb[].\n  * Each \"slave cpu\" spins on passive_cpu_wait[] until it becomes 0.\n  * The master cpu debugs the system.\n\nThe new scheme removes the two arrays of atomic counters and replaces\nthem with 2 single counters.  One counter is used to count the number\nof cpus waiting to become a master cpu (because one or more hit an\nexception). The second counter is use to indicate how many cpus have\nentered as slave cpus.\n\nThe new entry logic works as follows:\n\n  * One or more cpus enters via kgdb_handle_exception() and increments\n    the masters_in_kgdb. Each cpu attempts to get the spin lock called\n    dbg_master_lock.\n  * The master cpu sets kgdb_active to the current cpu.\n  * The master cpu takes the spinlock dbg_slave_lock.\n  * The master cpu asks to round up all the other cpus.\n  * Each slave cpu that is not already in kgdb_handle_exception()\n    will enter and increment slaves_in_kgdb.  Each slave will now spin\n    try_locking on dbg_slave_lock.\n  * The master cpu waits for the sum of masters_in_kgdb and slaves_in_kgdb\n    to be equal to the sum of the online cpus.\n  * The master cpu debugs the system.\n\nIn the new design the kgdb_active can only be changed while holding\ndbg_master_lock.  Stress testing has not turned up any further\nentry/exit races that existed in the prior locking design.  The prior\nlocking design suffered from atomic variables not being truly atomic\n(in the capacity as used by kgdb) along with memory barrier races.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\n"
    },
    {
      "commit": "c1bb9a9c1911036549c5cdfb23f32d7d20ffdc5a",
      "tree": "8d86976df36697e54ae3582d6c30b7355a942647",
      "parents": [
        "91b152aa85bbcf076e269565394c31964f940371"
      ],
      "author": {
        "name": "Dongdong Deng",
        "email": "dongdong.deng@windriver.com",
        "time": "Mon Sep 13 06:58:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:12 2010 -0500"
      },
      "message": "debug_core: disable hw_breakpoints on all cores in kgdb_cpu_enter()\n\nThe slave cpus do not have the hw breakpoints disabled upon entry to\nthe debug_core and as a result could cause unrecoverable recursive\nfaults on badly placed breakpoints, or get out of sync with the arch\nspecific hw breakpoint operations.\n\nThis patch addresses the problem by invoking kgdb_disable_hw_debug()\nearlier in kgdb_enter_cpu for each cpu that enters the debug core.\n\nThe hw breakpoint dis/enable flow should be:\n\nmaster_debug_cpu   slave_debug_cpu\n         \\              /\n          kgdb_cpu_enter\n                |\n        kgdb_disable_hw_debug --\u003e uninstall pre-enabled hw_breakpoint\n                |\n do add/rm dis/enable operates to hw_breakpoints on master_debug_cpu..\n                |\n        correct_hw_break --\u003e correct/install the enabled hw_breakpoint\n                |\n           leave_kgdb\n\nSigned-off-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "91b152aa85bbcf076e269565394c31964f940371",
      "tree": "32b2a8684877a15b050ef21c8ddcd583b695538d",
      "parents": [
        "75d14edee5689716b55afe467acfc13206a31f95"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 23 09:20:14 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:12 2010 -0500"
      },
      "message": "kdb,kgdb: fix sparse fixups\n\nFix the following sparse warnings:\n\nkdb_main.c:328:5: warning: symbol \u0027kdbgetu64arg\u0027 was not declared. Should it be static?\nkgdboc.c:246:12: warning: symbol \u0027kgdboc_early_init\u0027 was not declared. Should it be static?\nkgdb.c:652:26: warning: incorrect type in argument 1 (different address spaces)\nkgdb.c:652:26:    expected void const *ptr\nkgdb.c:652:26:    got struct perf_event *[noderef] \u003casn:3\u003e*pev\n\nThe one in kgdb.c required the (void * __force) because of the return\ncode from register_wide_hw_breakpoint looking like:\n\n        return (void __percpu __force *)ERR_PTR(err);\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "75d14edee5689716b55afe467acfc13206a31f95",
      "tree": "2646d65a43916e2eac7e24e8b23f1f82918b6702",
      "parents": [
        "e3bda3ac33d3bf3e5a4049e2cabe82d3caaffc26"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Oct 11 10:20:14 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:12 2010 -0500"
      },
      "message": "kdb: Fix oops in kdb_unregister\n\nNothing should try to use kdb_commands directly as sometimes it is\nnull.  Instead, use the for_each_kdbcmd() iterator.\n\nThis particular problem dates back to the initial kdb merge (2.6.35),\nbut at that point nothing was dynamically unregistering commands from\nthe kdb shell.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "e3bda3ac33d3bf3e5a4049e2cabe82d3caaffc26",
      "tree": "e8ce99ce6b807b5929b8dd0920fcbefa8a59bc1c",
      "parents": [
        "f7030bbc446430ecd12c9ad02cf0ea94934e5f91"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Oct 11 10:20:14 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:11 2010 -0500"
      },
      "message": "kdb,ftdump: Remove reference to internal kdb include\n\nNow that include/linux/kdb.h properly exports all the functions\nrequired to dynamically add a kdb shell command, the reference to the\nprivate kdb header can be removed.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "f7030bbc446430ecd12c9ad02cf0ea94934e5f91",
      "tree": "1a281ffa0c2686fa898081781a0c7b9bbc2d5b00",
      "parents": [
        "fb70b5888b70b0b50f738fbfc019445493112eb1"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Oct 11 10:20:14 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:11 2010 -0500"
      },
      "message": "kdb: Allow kernel loadable modules to add kdb shell functions\n\nIn order to allow kernel modules to dynamically add a command to the\nkdb shell the kdb_register, kdb_register_repeat, kdb_unregister, and\nkdb_printf need to be exported as GPL symbols.\n\nAny kernel module that adds a dynamic kdb shell function should only\nneed to include linux/kdb.h.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "fb70b5888b70b0b50f738fbfc019445493112eb1",
      "tree": "ee35bfc0e78af0702756d15e05ed09f0f56e18ac",
      "parents": [
        "16cdc628c3aed47d02205135b7e2f01e0064f566"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 13 12:44:04 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:10 2010 -0500"
      },
      "message": "debug_core: stop rcu warnings on kernel resume\n\nWhen returning from the kernel debugger reset the rcu jiffies_stall\nvalue to prevent the rcu stall detector from sending NMI events which\ninvoke a stack dump for each cpu in the system.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "16cdc628c3aed47d02205135b7e2f01e0064f566",
      "tree": "8f8709ee2b9e2c5f38e1261dcc773887d092f73d",
      "parents": [
        "fad99fac2627e2cc0ebfe07fcb5046c0b4e103f9"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 06 11:47:14 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 22 15:34:10 2010 -0500"
      },
      "message": "debug_core: move all watch dog syncs to a single function\n\nMove the various clock and watch dog syncs to a single function in\nadvance of adding another sync for the rcu stall detector.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
      "tree": "3bb53b7806c1baba6cc24b91724a9264cceccd39",
      "parents": [
        "c37927d4359e81b85de644f8fb08878717cf5f3f",
        "6d7bccc2215c37205ede6c9cf84db64e7c4f9443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:01 2010 -0700"
      },
      "message": "Merge branch \u0027vfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027vfs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: (30 commits)\n  BKL: remove BKL from freevxfs\n  BKL: remove BKL from qnx4\n  autofs4: Only declare function when CONFIG_COMPAT is defined\n  autofs: Only declare function when CONFIG_COMPAT is defined\n  ncpfs: Lock socket in ncpfs while setting its callbacks\n  fs/locks.c: prepare for BKL removal\n  BKL: Remove BKL from ncpfs\n  BKL: Remove BKL from OCFS2\n  BKL: Remove BKL from squashfs\n  BKL: Remove BKL from jffs2\n  BKL: Remove BKL from ecryptfs\n  BKL: Remove BKL from afs\n  BKL: Remove BKL from USB gadgetfs\n  BKL: Remove BKL from autofs4\n  BKL: Remove BKL from isofs\n  BKL: Remove BKL from fat\n  BKL: Remove BKL from ext2 filesystem\n  BKL: Remove BKL from do_new_mount()\n  BKL: Remove BKL from cgroup\n  BKL: Remove BKL from NTFS\n  ...\n"
    },
    {
      "commit": "5704e44d283e907623e3775c1262f206a2c48cf3",
      "tree": "0a981b24173e90854e7b7d812b35859e1e5f0174",
      "parents": [
        "91151240ed8e97cc4457dae4094153c2744f1eb8",
        "6de5bd128d381ad88ac6d419a5e597048eb468cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:43:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:43:11 2010 -0700"
      },
      "message": "Merge branch \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  BKL: introduce CONFIG_BKL.\n  dabusb: remove the BKL\n  sunrpc: remove the big kernel lock\n  init/main.c: remove BKL notations\n  blktrace: remove the big kernel lock\n  rtmutex-tester: make it build without BKL\n  dvb-core: kill the big kernel lock\n  dvb/bt8xx: kill the big kernel lock\n  tlclk: remove big kernel lock\n  fix rawctl compat ioctls breakage on amd64 and itanic\n  uml: kill big kernel lock\n  parisc: remove big kernel lock\n  cris: autoconvert trivial BKL users\n  alpha: kill big kernel lock\n  isapnp: BKL removal\n  s390/block: kill the big kernel lock\n  hpet: kill BKL, add compat_ioctl\n"
    },
    {
      "commit": "2656c36699677238edc9ec1fea79039f1fddbcb6",
      "tree": "4fd8b68709598b5c581b3792ad2fc7481be76e12",
      "parents": [
        "d4429f608abde89e8bc1e24b43cd503feb95c496"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 22 14:47:57 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 22 16:10:29 2010 +0200"
      },
      "message": "genirq: Warn if enable_irq is called before irq is set up\n\nThe recent changes in the genirq core unearthed a bug in arch/um which\ncalled enable_irq() before the interrupt was set up.\n\nWarn and return instead of crashing the machine with a NULL pointer\ndereference.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\n"
    }
  ],
  "next": "eea4a0b19a2719e3e23b5450dd9fbe97789d2a57"
}
