)]}'
{
  "log": [
    {
      "commit": "59b697874529f5c3cbcaf5816b3d6c584af521e8",
      "tree": "c395952c2a0bb9a3027a37a30dd37cc93b1a7c3f",
      "parents": [
        "8387c736fcbaec17890b8d075ee4f4623518b54a"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Fri Feb 26 22:37:40 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Feb 26 22:37:31 2010 +0100"
      },
      "message": "[S390] spinlock: check virtual cpu running status\n\nThis patch introduces a new function that checks the running status\nof a cpu in a hypervisor. This status is not virtualized, so the check\nis only correct if running in an LPAR. On acquiring a spinlock, if the\ncpu holding the lock is scheduled by the hypervisor, we do a busy wait\non the lock. If it is not scheduled, we yield over to that cpu.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "1dcec254afe5bc700a4cacf810b71a28bd994ea9",
      "tree": "f96d7fbd9f1fba0701e3648d2b5d82f3938353f8",
      "parents": [
        "68c6b859846bd078b37c6ca5f3882032f129e72d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 26 22:37:22 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Feb 26 22:37:29 2010 +0100"
      },
      "message": "[S390] uaccess: implement strict user copy checks\n\nSame as on x86 and sparc, besides the fact that enabling the option\nwill just emit compile time warnings instead of errors.\nKeeps allyesconfig kernels compiling.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "fb380aadfe34e8d3ce628cb3e386882351940874",
      "tree": "2607a2f3ee9732516d01a2e5083fbea0476491bb",
      "parents": [
        "957a37ad587f3ef1022f1fe434d818cbed38eb95"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 13 20:44:37 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed Jan 13 20:44:45 2010 +0100"
      },
      "message": "[S390] Move __cpu_logical_map to smp.c\n\nFinally move it to the place where it belongs to and make get rid of\nit for !CONFIG_SMP.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "e5931943d02bf751b1ec849c0d2ade23d76a8d41",
      "tree": "119fe3bc583d0d043d97cb9edd98bad52692a546",
      "parents": [
        "fb3a6bbc912b12347614e5742c7c61416cdb0ca0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 20:08:46 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_rwlock functions to arch_rwlock\n\nName space cleanup for rwlock functions. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "fb3a6bbc912b12347614e5742c7c61416cdb0ca0",
      "tree": "f9dbf8dab23cea6f033a58672ba16abf2ae09ebd",
      "parents": [
        "0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 20:01:19 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_rwlock to arch_rwlock\n\nNot strictly necessary for -rt as -rt does not have non sleeping\nrwlocks, but it\u0027s odd to not have a consistent naming convention.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n\n"
    },
    {
      "commit": "0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62",
      "tree": "e371d17bd73d64332349debbf45962ec67e7269d",
      "parents": [
        "edc35bd72e2079b25f99c5da7d7a65dbbffc4a26"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:01:25 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert __raw_spin* functions to arch_spin*\n\nName space cleanup. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n"
    },
    {
      "commit": "445c89514be242b1b0080056d50bdc1b72adeb5c",
      "tree": "96ed062794ad0fb6a649713c83f009eea382e8b2",
      "parents": [
        "6b6b4792f89346e47437682c7ba3438e6681c0f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 19:49:50 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Convert raw_spinlock to arch_spinlock\n\nThe raw_spin* namespace was taken by lockdep for the architecture\nspecific implementations. raw_spin_* would be the ideal name space for\nthe spinlocks which are not converted to sleeping locks in preempt-rt.\n\nLinus suggested to convert the raw_ to arch_ locks and cleanup the\nname space instead of using an artifical name like core_spin,\natomic_spin or whatever\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: linux-arch@vger.kernel.org\n\n"
    },
    {
      "commit": "6c1e3e79430615d0472dbf9f8fed89c571e66423",
      "tree": "ed7b6fde69c9b74cd6be35f82a7a75cc2fc77775",
      "parents": [
        "1ab947de293f43812276b60cf9fa21127e7a5bb2"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Dec 07 12:51:47 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Dec 07 12:51:34 2009 +0100"
      },
      "message": "[S390] Use do_exception() in pagetable walk usercopy functions.\n\nThe pagetable walk usercopy functions have used a modified copy of the\ndo_exception() function for fault handling. This lead to inconsistencies\nwith recent changes to do_exception(), e.g. performance counters. This\npatch changes the pagetable walk usercopy code to call do_exception()\ndirectly, eliminating the redundancy. A new parameter is added to\ndo_exception() to specify the fault address.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "b11b53342773361f3353b285eb6a3fd6074e7997",
      "tree": "b7fda314933b82d39cb8d30c7882ca3044dd0367",
      "parents": [
        "61365e132ef987f7719af5d2e434db4465957637"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 07 12:51:43 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Dec 07 12:51:33 2009 +0100"
      },
      "message": "[S390] Improve address space mode selection.\n\nIntroduce user_mode to replace the two variables switch_amode and\ns390_noexec. There are three valid combinations of the old values:\n  1) switch_amode \u003d\u003d 0 \u0026\u0026 s390_noexec \u003d\u003d 0\n  2) switch_amode \u003d\u003d 1 \u0026\u0026 s390_noexec \u003d\u003d 0\n  3) switch_amode \u003d\u003d 1 \u0026\u0026 s390_noexec \u003d\u003d 1\nThey get replaced by\n  1) user_mode \u003d\u003d HOME_SPACE_MODE\n  2) user_mode \u003d\u003d PRIMARY_SPACE_MODE\n  3) user_mode \u003d\u003d SECONDARY_SPACE_MODE\nThe new kernel parameter user_mode\u003d[primary,secondary,home] lets\nyou choose the address space mode the user space processes should\nuse. In addition the CONFIG_S390_SWITCH_AMODE config option\nis removed.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "af9d2ff9afaae8040dbf09238b2579f92c93579e",
      "tree": "61ceddb80062cae529b9c5a34cdf7a07566f1a30",
      "parents": [
        "ea2a4d3a3a929ef494952bba57a0ef1a8a877881"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Tue Oct 06 10:34:14 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Tue Oct 06 10:35:10 2009 +0200"
      },
      "message": "[S390] Add EX_TABLE for addressing exception in usercopy functions.\n\nThis patch adds an EX_TABLE entry to mvc{p|s|os} usercopy functions that\nmay be called with KERNEL_DS. In combination with collaborative memory\nmanagement, kernel pages marked as unused may trigger an adressing exception\nin the usercopy functions. This fixes an unhandled addressing exception bug\nwhere strncpy_from_user() is used with len \u003e strnlen and KERNEL_DS, crossing\na page boundary to an unused page.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "0cd6a403e8f86bb24975e4c16ce640a063475515",
      "tree": "c1231230d8407da6149502fbfc9f5152049ef0e1",
      "parents": [
        "78d81f2f844b739b377817cfd279fb6067e191a7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Oct 06 10:34:05 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Tue Oct 06 10:35:08 2009 +0200"
      },
      "message": "[S390] Provide arch specific mdelay implementation.\n\nUse an own implementation instead of the common code udelay loop.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "78d81f2f844b739b377817cfd279fb6067e191a7",
      "tree": "f252e003e3ead8079a35167eea19f54bc4047964",
      "parents": [
        "102e835d5152e4299c1d150d6481b9bd47095998"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Oct 06 10:34:04 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Tue Oct 06 10:35:08 2009 +0200"
      },
      "message": "[S390] Fix enabled udelay for short delays.\n\nWhen udelay() gets called with a delay that would expire before the\nnext clock event it reprograms the clock comparator.\nWhen the interrupt happens the clock comparator won\u0027t be resetted\ntherefore the interrupt condition doesn\u0027t get cleared.\nThe result is an endless timer interrupt loop until the next clock\nevent would expire (stored in lowcore).\nSo udelay() usually would wait much longer for small delays than it\nshould.\n\nFix this by disabling the local tick which makes sure that the clock\ncomparator will be resetted when a timer interrupt happens.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "5075baca2e95840d76210c3cfda56134007462c9",
      "tree": "0cb0078bdbb4c2760d9846eae6466044ba92a21e",
      "parents": [
        "2651fa2bcb1a7b06793441d50dcbf98efda592c6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Jul 07 16:37:09 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 07 16:37:53 2009 +0200"
      },
      "message": "[S390] add __ucmpdi2() helper function\n\nProvide __ucmpdi2() helper function on 31 bit so we don\u0027t run\nagain and again in compile errors like this one:\n\nkernel/built-in.o: In function `T.689\u0027:\nperf_counter.c:(.text+0x56c86): undefined reference to `__ucmpdi2\u0027\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "bb8c29caffdda55d3df0315ff2485f7df7290b1d",
      "tree": "43898cfacf5968156af70a080042bcbd4b4124dd",
      "parents": [
        "9935774217afd4cdda81ffd70e56dc6406710b06"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Jul 07 16:37:05 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 07 16:37:51 2009 +0200"
      },
      "message": "[S390] udelay: disable lockdep to avoid false positives\n\nOur udelay implementation enables interrupts to receive a special timer\ninterrupt regardless of the context it is called from.\nThis might lead to false positive lockdep reports. Since lockdep isn\u0027t\naware of the fact that only a single interrupt source is enabled it\nwarns about possible deadlocks that in reality won\u0027t happen, like\nthe one below.\nTo fix this disable lockdep before enabling interrupts.\n\n[ 254.040888] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 254.040904] [ INFO: inconsistent lock state ]\n[ 254.040910] 2.6.30 #9\n[ 254.040914] ---------------------------------\n[ 254.040920] inconsistent {IN-HARDIRQ-W} -\u003e {HARDIRQ-ON-W} usage.\n[ 254.040927] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:\n[ 254.040934] (sch-\u003elock){?.-...}, at: [\u003c00000000002e4778\u003e] ccw_device_timeout+0x48/0x2f0\n[ 254.040961] {IN-HARDIRQ-W} state was registered at:\n[ 254.040969] [\u003c0000000000096f74\u003e] __lock_acquire+0x9d4/0x188c\n[ 254.040985] [\u003c0000000000097f68\u003e] lock_acquire+0x13c/0x16c\n[ 254.040998] [\u003c00000000004527e0\u003e] _spin_lock+0x74/0xb8\n[ 254.041016] [\u003c0000000000457eb2\u003e] do_IRQ+0xde/0x208\n[ 254.041031] [\u003c000000000002d190\u003e] io_return+0x0/0x8\n[ 254.041049] [\u003c0000000000029faa\u003e] vtime_stop_cpu+0xbe/0x114\n[ 254.041066] irq event stamp: 259629\n[ 254.041076] hardirqs last enabled at (259628): [\u003c000000000045238e\u003e] _spin_unlock_irq+0x5e/0x9c\n[ 254.041095] hardirqs last disabled at (259629): [\u003c000000000045292e\u003e] _spin_lock_irq+0x4a/0xc4\n[ 254.041126] softirqs last enabled at (259614): [\u003c000000000006500e\u003e] __do_softirq+0x296/0x2b0\n[ 254.041137] softirqs last disabled at (259619): [\u003c0000000000024cf6\u003e] do_softirq+0x102/0x108\n[ 254.041147]\n[ 254.041148] other info that might help us debug this:\n[ 254.041153] 2 locks held by swapper/0:\n[ 254.041157] #0: (\u0026priv-\u003etimer){+.-...}, at: [\u003c000000000006bf9a\u003e] run_timer_softirq+0x19a/0x340\n[ 254.041170] #1: (sch-\u003elock){?.-...}, at: [\u003c00000000002e4778\u003e] ccw_device_timeout+0x48/0x2f0\n[ 254.041182]\n[ 254.041310] Call Trace:\n[ 254.041313] ([\u003c00000000000174fc\u003e] show_trace+0x16c/0x170)\n[ 254.041321] [\u003c0000000000017578\u003e] show_stack+0x78/0x104\n[ 254.041327] [\u003c000000000044d0ca\u003e] dump_stack+0xc6/0xd4\n[ 254.041342] [\u003c00000000000949b4\u003e] print_usage_bug+0x1c8/0x1fc\n[ 254.041353] [\u003c0000000000094e8a\u003e] mark_lock+0x4a2/0x670\n[ 254.041364] [\u003c00000000000950e2\u003e] mark_held_locks+0x8a/0xb4\n[ 254.041375] [\u003c0000000000095398\u003e] trace_hardirqs_on_caller+0x74/0x1ac\n[ 254.041388] [\u003c00000000000954fa\u003e] trace_hardirqs_on+0x2a/0x38\n[ 254.041402] [\u003c000000000025f1ec\u003e] __udelay_disabled+0xac/0xfc\n[ 254.041419] [\u003c000000000025f432\u003e] __udelay+0x12a/0x148\n[ 254.041433] [\u003c00000000002d64d8\u003e] cio_commit_config+0x170/0x290\n[ 254.041451] [\u003c00000000002d6978\u003e] cio_disable_subchannel+0x120/0x1cc\n[ 254.041468] [\u003c00000000002e32a4\u003e] ccw_device_recog_done+0x54/0x2f4\n[ 254.041485] [\u003c00000000002e3638\u003e] ccw_device_sense_id_done+0x50/0x90\n[ 254.041508] [\u003c00000000002e615a\u003e] snsid_callback+0xfa/0x3a8\n[ 254.041515] [\u003c00000000002dd96c\u003e] ccwreq_stop+0x80/0x90\n[ 254.041523] [\u003c00000000002dda8e\u003e] ccw_request_timeout+0xc2/0xd0\n[ 254.041530] [\u003c00000000002e2f70\u003e] ccw_device_request_event+0x58/0x90\n[ 254.041537] [\u003c00000000002e47ae\u003e] ccw_device_timeout+0x7e/0x2f0\n[ 254.041555] [\u003c000000000006c02a\u003e] run_timer_softirq+0x22a/0x340\n[ 254.041566] [\u003c0000000000064eb0\u003e] __do_softirq+0x138/0x2b0\n[ 254.041578] [\u003c0000000000024cf6\u003e] do_softirq+0x102/0x108\n[ 254.041590] [\u003c00000000000647ce\u003e] irq_exit+0xee/0x114\n[ 254.041603] [\u003c0000000000457d88\u003e] do_extint+0x130/0x17c\n[ 254.041617] [\u003c000000000002d41e\u003e] ext_no_vtime+0x1e/0x22\n[ 254.041631] [\u003c0000000000029faa\u003e] vtime_stop_cpu+0xbe/0x114\n[ 254.041646] ([\u003c0000000000029f58\u003e] vtime_stop_cpu+0x6c/0x114)\n[ 254.041662] [\u003c000000000001d842\u003e] cpu_idle+0x122/0x1c0\n[ 254.041679] [\u003c00000000004482c6\u003e] start_secondary+0xce/0xe0\n[ 254.041696] [\u003c0000000000000000\u003e] 0x0\n[ 254.041715] [\u003c0000000000000000\u003e] 0x0\n[ 254.041745] INFO: lockdep is turned off.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d06063cc221fdefcab86589e79ddfdb7c0e14b63",
      "tree": "00ccaf8c1992b57a4445d78b9eae25fde0b3ab31",
      "parents": [
        "30c9f3a9fae79517bca595826a19c6855fbb6d32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 10 09:01:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 21 13:08:22 2009 -0700"
      },
      "message": "Move FAULT_FLAG_xyz into handle_mm_fault() callers\n\nThis allows the callers to now pass down the full set of FAULT_FLAG_xyz\nflags to handle_mm_fault().  All callers have been (mechanically)\nconverted to the new calling convention, there\u0027s almost certainly room\nfor architectures to clean up their code and then add FAULT_FLAG_RETRY\nwhen that support is added.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce58ae6f7f6bdd48c87472ff830a6d586ff076b2",
      "tree": "20d9139566563a3fa8ca012e6444a0e6262bb9e2",
      "parents": [
        "76d4e00a05d06c1d1552adea24fcf6182c9d8999"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jun 12 10:26:22 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jun 12 10:27:29 2009 +0200"
      },
      "message": "[S390] implement interrupt-enabling rwlocks\n\narch backend for f5f7eac41db827a47b2163330eecd7bb55ae9f12\n\"Allow rwlocks to re-enable interrupts\".\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "1edad85b16fdda43c8ab809e2779e8bf64ab8bb2",
      "tree": "45e777718c8fda461c2232f2b74b8dc0a04e4ea6",
      "parents": [
        "504665a91498f43d220b7d0942281067283a35f7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Mar 26 15:24:37 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Mar 26 15:24:24 2009 +0100"
      },
      "message": "[S390] use compiler builtin versions of strlen/strcpy/strcat\n\nUse builtin variants if gcc 4 or newer is used to compile the kernel.\nGenerates better code than the asm variants.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "1485c5c88483d200c9c4c71ed7e8eef1a1e317a1",
      "tree": "ad42514ca55815ee6e2468ebc45ee0ef91e6d1db",
      "parents": [
        "e3dd9c2da674993edb5b52acb56a5d954415639b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Mar 26 15:24:04 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Mar 26 15:24:11 2009 +0100"
      },
      "message": "[S390] move EXPORT_SYMBOLs to definitions\n\nMove all EXPORT_SYMBOLs to their corresponding definitions.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2887fc5aa60803b9d6d38c79248805f08d8b0e28",
      "tree": "1aa69da137c2be0a93e9e639750afe065dbdf98a",
      "parents": [
        "cf087343805ebfea2b1234b06fd5f12273e865b1"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Wed Mar 18 13:27:35 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Mar 18 13:28:13 2009 +0100"
      },
      "message": "[S390] Dont check for pfn_valid() in uaccess_pt.c\n\npfn_valid() actually checks for a valid struct page and not for a\nvalid pfn. Using xip mappings w/o struct pages, this will result in\n-EFAULT returned by the (page table walk) user copy functions,\neven though there is valid memory. Those user copy functions don\u0027t\nneed a struct page, so this patch just removes the pfn_valid() check.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "4fa81ed27781a12f6303b9263056635ae74e3e21",
      "tree": "fab8df760ab6a01b9051c67b914c6e6b208607ba",
      "parents": [
        "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Mar 18 13:27:32 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Mar 18 13:28:12 2009 +0100"
      },
      "message": "[S390] __div64_31 broken for CONFIG_MARCH_G5\n\nThe implementation of __div64_31 for G5 machines is broken. The comments\nin __div64_31 are correct, only the code does not do what the comments\nsay. The part \"If the remainder has overflown subtract base and increase\nthe quotient\" is only partially realized, the base is subtracted correctly\nbut the quotient is only increased if the dividend had the last bit set.\nUsing the correct instruction fixes the problem.\n\nCc: stable@kernel.org\nReported-by: Frans Pop \u003celendil@planet.nl\u003e\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "5a0d0e65379256b4da2c9092e197a2c761f51c01",
      "tree": "4dbac2b5498ad7ce1bd88d8bdfe6303169b9560c",
      "parents": [
        "b2300b9efe1b8174833e17f37e975c9da00c388a"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Oct 10 21:33:22 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Oct 10 21:33:58 2008 +0200"
      },
      "message": "[S390] Move private simple udelay function to arch/s390/lib/delay.c.\n\nMove cio\u0027s private simple udelay function to lib/delay.c and turn it\ninto something much more readable. So we have all implementations\nat one place.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d3d238c7744d08c36a114a59cb537d4c0c6c9a86",
      "tree": "df5d69d40dbdaf5e5014a6ce41909e7236a196c1",
      "parents": [
        "95b866d5afcafee00fc9ad70665e48c86d8c4e0f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Oct 03 21:54:59 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Oct 03 21:55:54 2008 +0200"
      },
      "message": "[S390] nohz: Fix __udelay.\n\nThis fixes a regression that came with 934b2857cc576ae53c92a66e63fce7ddcfa74691\n(\"[S390] nohz/sclp: disable timer on synchronous waits.\").\nIf udelay() gets called from a disabled context it sets the clock comparator\nto a value where it expects the next interrupt. When the interrupt happens\nthe clock comparator gets not reset and therefore the interrupt condition\ndoesn\u0027t get cleared. The result is an endless timer interrupt loop.\n\nIn addition this patch fixes also the following:\n\nrcutorture reveals that our __udelay implementation is still buggy,\nsince it might schedule tasklets, but prevents their execution:\n\nNOHZ: local_softirq_pending 42\nNOHZ: local_softirq_pending 02\nNOHZ: local_softirq_pending 142\nNOHZ: local_softirq_pending 02\n\nTo fix this we make sure that only the clock comparator interrupt\nis enabled when the enabled wait psw is loaded.\nAlso no code gets called anymore which might schedule tasklets.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "934b2857cc576ae53c92a66e63fce7ddcfa74691",
      "tree": "4a8e261d16739624bb91ed9f56062ec5f7401227",
      "parents": [
        "3a95e8eb34f595a0144adb6e5513d456319bd8a5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Aug 01 16:39:11 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 01 16:39:30 2008 +0200"
      },
      "message": "[S390] nohz/sclp: disable timer on synchronous waits.\n\nsclp_sync_wait wait synchronously for an sclp interrupt and disables\ntimer interrupts. However on the irq enter paths there is an extra\ncheck if a timer interrupt would be due and calls the timer callback.\nThis would schedule softirqs in the wrong context.\nSo introduce local_tick_enable/disable which prevents this.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "ccf183e469be89e065ed389da9d3f50bd2faa215",
      "tree": "50616cdaf8c01e37bee660e9c8281c708bca007a",
      "parents": [
        "fd781fa25c9e9c6fd1599df060b05e7c4ad724e5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Apr 30 13:38:42 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Apr 30 13:38:46 2008 +0200"
      },
      "message": "[S390] uaccess_mvcos: #ifdef config dependent code.\n\narch/s390/lib/uaccess_mvcos.c:166:\n warning: \u0027strnlen_user_mvcos\u0027 defined but not used\narch/s390/lib/uaccess_mvcos.c:186:\n warning: \u0027strncpy_from_user_mvcos\u0027 defined but not used\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "47494f6a84cdae2740b62e1d86a1860df85d9bbb",
      "tree": "c48f8da0a20949b480fd1658c1ea5da4a78a5e5c",
      "parents": [
        "1e489518da2a49604df2c3281034097274324be9"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Wed Apr 30 13:38:38 2008 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Apr 30 13:38:44 2008 +0200"
      },
      "message": "[S390] remove -traditional\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCC: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "3f12ebce6a004c8e9bf639801842f67e578ee7c6",
      "tree": "ab498a639b84511e56e2c2051e46c804744a1477",
      "parents": [
        "a806170e29c5468b1d641a22518243bdf1b8d58b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:46:27 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:06 2008 +0200"
      },
      "message": "[S390] uaccess: Always access the correct address space.\n\nThe current uaccess page table walk code assumes at a few places that\nany access is a user space access. This is not correct if somebody\nhas issued a set_fs(KERNEL_DS) in advance.\nAdd code which checks which address space we are in and with this make\nsure we access the correct address space. This way we get also rid of\nthe dirty\nif (!currrent-mm)\n\treturn -EFAULT;\nhack in futex_atomic_cmpxchg_pt.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "5a62b192196af9a798e2f2f4c6a1324e7edf2f4b",
      "tree": "0aa96ba3153b257000be22e49befbde2b5bd6917",
      "parents": [
        "d7b906897e9caae452947e33674df0a2d6f7e10f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:46:25 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:05 2008 +0200"
      },
      "message": "[S390] Convert s390 to GENERIC_CLOCKEVENTS.\n\nThis way we get rid of s390\u0027s NO_IDLE_HZ and use the generic dynticks\nvariant instead. In addition we get high resolution timers for free.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "504e75d0ed3389747e40a4aaa4b1f4e569576665",
      "tree": "7e27688729d6cff7b654e87403d3176a358cfce0",
      "parents": [
        "457fb605834504af294916411be128a9b21fc3f6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Mar 20 17:33:38 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Mar 20 17:33:46 2008 +0100"
      },
      "message": "[S390] futex: let futex_atomic_cmpxchg_pt survive early functional tests.\n\na0c1e9073ef7428a14309cba010633a6cd6719ea \"futex: runtime enable pi and\nrobust functionality\" introduces a test wether futex in atomic stuff\nworks or not.\nIt does that by writing to address 0 of the kernel address space. This\nwill crash on older machines where addressing mode switching is enabled\nbut where the mvcos instruction is not available. Page table walking is\ndone by hand and therefore the code tries to access current-\u003emm which\nis NULL.\nTherefore add an extra check, so we survive the early test.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d5b02b3ff1d9a2e1074f559c84ed378cfa6fc3c0",
      "tree": "09cc1de46973bb4a8cd35a2d64d587f1144f38fd",
      "parents": [
        "39f73b2886be3a255d8f4cd669c8c7e7957afbd9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Feb 19 15:29:34 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Feb 19 15:29:35 2008 +0100"
      },
      "message": "[S390] Fix futex_atomic_cmpxchg_std inline assembly.\n\nAdd missing exception table entry so that the kernel can handle\nproctection exceptions as well on the cs instruction. Currently only\nspecification exceptions are handled correctly.\nThe missing entry allows user space to crash the kernel.\n\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "894cdde26b538c77b9943bc72f0570abf6e58e37",
      "tree": "335f75460bd947c4969c9b7a1ec5764b98bf1d2b",
      "parents": [
        "dab5209cd878c146d9f6923f061d1c2725ff210f"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Sat Jan 26 14:11:28 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sat Jan 26 14:11:31 2008 +0100"
      },
      "message": "[S390] do local_irq_restore while spinning in spin_lock_irqsave.\n\nIn s390\u0027s spin_lock_irqsave, interrupts remain disabled while\nspinning. In other architectures like x86 and powerpc, interrupts are\nre-enabled while spinning if IRQ is not masked before spin_lock_irqsave\nis called.\n\nThe following patch re-enables interrupts through local_irq_restore\nwhile spinning for a lock acquisition.\nThis can improve system response.\n\n[heiko.carstens@de.ibm.com: removed saving of pc]\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "3b4beb31759765efdda9f9431aebfedf828bbfe0",
      "tree": "9d8a7de6c484f8f2bbda874f41ebcad4af7c9d53",
      "parents": [
        "9f4b0ba81f158df459fa2cfc98ab1475c090f29c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat Jan 26 14:11:03 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sat Jan 26 14:11:14 2008 +0100"
      },
      "message": "[S390] Remove owner_pc member from raw_spinlock_t.\n\nUsed to contain the address of the holder of the lock. But since the\nspinlock code is not inlined anymore all locks contain the same address\nanyway. And since in addtition nobody complained about that for ages\nits obviously unused. So remove it.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "190a1d722a59725706daf832bc8a511ed62f249d",
      "tree": "fa4441d0f7833062687e7816e09ec73600ac8523",
      "parents": [
        "3610cce87af0693603db171d5b6f6735f5e3dc5b"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Oct 22 12:52:48 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Oct 22 12:52:49 2007 +0200"
      },
      "message": "[S390] 4level-fixup cleanup\n\nGet independent from asm-generic/4level-fixup.h\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "e4aa402e7a3b6b87d8df6243a37171cdcd2f01c2",
      "tree": "7827fd9c19c5d190cd72e649c4a37975a705f2b6",
      "parents": [
        "6f3fa3f0eb8fe4675f8543dd4be3365577e1d487"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Oct 22 12:52:46 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Oct 22 12:52:49 2007 +0200"
      },
      "message": "[S390] Introduce follow_table in uaccess_pt.c\n\nDefine and use follow_table inline in uaccess_pt.c to simplify\nthe code.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "b460cbc581a53cc088ceba80608021dd49c63c43",
      "tree": "83c28d0adbc15f4157c77b40fa60c40a71cb8673",
      "parents": [
        "3743ca05ff464b8a9e345c08a6c9ce30485f9805"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 18 23:39:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define is_global_init() and is_container_init()\n\nis_init() is an ambiguous name for the pid\u003d\u003d1 check.  Split it into\nis_global_init() and is_container_init().\n\nA cgroup init has it\u0027s tsk-\u003epid \u003d\u003d 1.\n\nA global init also has it\u0027s tsk-\u003epid \u003d\u003d 1 and it\u0027s active pid namespace\nis the init_pid_ns.  But rather than check the active pid namespace,\ncompare the task structure with \u0027init_pid_ns.child_reaper\u0027, which is\ninitialized during boot to the /sbin/init process and never changes.\n\nChangelog:\n\n\t2.6.22-rc4-mm2-pidns1:\n\t- Use \u0027init_pid_ns.child_reaper\u0027 to determine if a given task is the\n\t  global init (/sbin/init) process. This would improve performance\n\t  and remove dependence on the task_pid().\n\n\t2.6.21-mm2-pidns2:\n\n\t- [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc,\n\t  ppc,avr32}/traps.c for the _exception() call to is_global_init().\n\t  This way, we kill only the cgroup if the cgroup\u0027s init has a\n\t  bug rather than force a kernel panic.\n\n[akpm@linux-foundation.org: fix comment]\n[sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c]\n[bunk@stusta.de: kernel/pid.c: remove unused exports]\n[sukadev@us.ibm.com: Fix capability.c to work with threaded init]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83c54070ee1a2d05c89793884bea1a03f2851ed4",
      "tree": "dc732f5a9b93fb7004ed23f551bd98b77cc580e0",
      "parents": [
        "d0217ac04ca6591841e5665f518e38064f4e65bd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:47:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fault feedback #2\n\nThis patch completes Linus\u0027s wish that the fault return codes be made into\nbit flags, which I agree makes everything nicer.  This requires requires\nall handle_mm_fault callers to be modified (possibly the modifications\nshould go further and do things like fault accounting in handle_mm_fault --\nhowever that would be for another patch).\n\n[akpm@linux-foundation.org: fix alpha build]\n[akpm@linux-foundation.org: fix s390 build]\n[akpm@linux-foundation.org: fix sparc build]\n[akpm@linux-foundation.org: fix sparc64 build]\n[akpm@linux-foundation.org: fix ia64 build]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Still apparently needs some ARM and PPC loving - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a88367088a6b9964d99694b30d80720f019bea2",
      "tree": "6fe082e731cdf56983934e11ebfcfc1d10664e5b",
      "parents": [
        "285f67227b63309d699f5bda25ba34962503398f"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 10 11:24:14 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 10 11:24:47 2007 +0200"
      },
      "message": "[S390] Bogomips calculation for 64 bit.\n\nThe bogomips calculation triggered via reading from /proc/cpuinfo\ncan return incorrect values if the qrnnd assembly is called with a\npointer in %r2 with any of the upper 32 bits set.\nFix this by using 64 bit division / remainder operation provided by\ngcc instead of calling the assembly.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "cb8c181f288a1157bc717cc7a02412d4d1dc19bc",
      "tree": "cfc2ee0d9644d43ab7728a8e563be320d3348a45",
      "parents": [
        "efd1e8d569b3d35a3a636683c2a9ebffec9c1fcf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 10 22:10:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:53 2007 -0700"
      },
      "message": "[S390]: Fix build on 31-bit.\n\nAllow s390 to properly override the generic\n__div64_32() implementation by:\n\n1) Using obj-y for div64.o in s390\u0027s makefile instead\n   of lib-y\n\n2) Adding the weak attribute to the generic implementation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf6f6aa46feada857a52cb67d99a7c2fe4a70e87",
      "tree": "930dbd9bcd693cd7f3487fe8072bb0548131ff51",
      "parents": [
        "489c80ba8aa9dde8244897cba33a9372c897e531"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Feb 21 10:55:00 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Feb 21 10:55:00 2007 +0100"
      },
      "message": "[S390] prevent softirqs if delay is called disabled\n\nThe new delay implementation uses the clock comparator and an external\ninterrupt even if it is called disabled for interrupts. To do this\nall external interrupt source except clock comparator are switched of\nbefore enabling external interrupts. The external interrupt at the\nend of the delay period may not execute softirqs or we can end up in a\ndead-lock.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "4d284cac76d0bfebc42d76b428c4e44d921200a9",
      "tree": "e99d659aea9c747a3d5b4b4341f84a5cbead265b",
      "parents": [
        "162e006ef59266b9ebf34e3d15ca1f3d9ee956d7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Feb 05 21:18:53 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:53 2007 +0100"
      },
      "message": "[S390] Avoid excessive inlining.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "31ee4b2f40994e8b21691f85cdd4052551a789b7",
      "tree": "1bb167e720e25a2ea9a5168b21cc882f85b18fa8",
      "parents": [
        "31cb4bd31a48f62105d037ad53192b94d4c08f53"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:31 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:31 2007 +0100"
      },
      "message": "[S390] Calibrate delay and bogomips.\n\nPreset the bogomips number to the cpu capacity value reported by\nstore system information in SYSIB 1.2.2. This value is constant\nfor a particular machine model and can be used to determine\nrelative performance differences between machines.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d54853ef8cb17296ac7bce9c77430fb7c80532d0",
      "tree": "649e14d532e17231225a042a7c9a3d9207ad91ee",
      "parents": [
        "c1821c2e9711adc3cd298a16b7237c92a2cee78d"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:19 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:19 2007 +0100"
      },
      "message": "[S390] ETR support.\n\nThis patch adds support for clock synchronization to an external time\nreference (ETR). The external time reference sends an oscillator\nsignal and a synchronization signal every 2^20 microseconds to keep\nthe TOD clocks of all connected servers in sync. For availability\ntwo ETR units can be connected to a machine. If the clock deviates\nfor more than the sync-check tolerance all cpus get a machine check\nthat indicates that the clock is out of sync. For the lovely details\nhow to get the clock back in sync see the code below.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "c1821c2e9711adc3cd298a16b7237c92a2cee78d",
      "tree": "9155b089db35a37d95863125ea4c5f918bd7801b",
      "parents": [
        "86aa9fc2456d8a662f299a70bdb70987209170f0"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Mon Feb 05 21:18:17 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:17 2007 +0100"
      },
      "message": "[S390] noexec protection\n\nThis provides a noexec protection on s390 hardware. Our hardware does\nnot have any bits left in the pte for a hw noexec bit, so this is a\ndifferent approach using shadow page tables and a special addressing\nmode that allows separate address spaces for code and data.\n\nAs a special feature of our \"secondary-space\" addressing mode, separate\npage tables can be specified for the translation of data addresses\n(storage operands) and instruction addresses. The shadow page table is\nused for the instruction addresses and the standard page table for the\ndata addresses.\nThe shadow page table is linked to the standard page table by a pointer\nin page-\u003elru.next of the struct page corresponding to the page that\ncontains the standard page table (since page-\u003eprivate is not really\nprivate with the pte_lock and the page table pages are not in the LRU\nlist).\nDepending on the software bits of a pte, it is either inserted into\nboth page tables or just into the standard (data) page table. Pages of\na vma that does not have the VM_EXEC bit set get mapped only in the\ndata address space. Any try to execute code on such a page will cause a\npage translation exception. The standard reaction to this is a SIGSEGV\nwith two exceptions: the two system call opcodes 0x0a77 (sys_sigreturn)\nand 0x0aad (sys_rt_sigreturn) are allowed. They are stored by the\nkernel to the signal stack frame. Unfortunately, the signal return\nmechanism cannot be modified to use an SA_RESTORER because the\nexception unwinding code depends on the system call opcode stored\nbehind the signal stack frame.\n\nThis feature requires that user space is executed in secondary-space\nmode and the kernel in home-space mode, which means that the addressing\nmodes need to be switched and that the noexec protection only works\nfor user space.\nAfter switching the addressing modes, we cannot use the mvcp/mvcs\ninstructions anymore to copy between kernel and user space. A new\nmvcos instruction has been added to the z9 EC/BC hardware which allows\nto copy between arbitrary address spaces, but on older hardware the\npage tables need to be walked manually.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2b67fc46061b2171fb8fbb55d1ac717abd533569",
      "tree": "d4e9db6e7d51d2fc3cf782bf11e24ed7fbc544a0",
      "parents": [
        "55dff5224abeb734b12c1661c34ccf534955bee7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Feb 05 21:16:47 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:16:47 2007 +0100"
      },
      "message": "[S390] Get rid of a lot of sparse warnings.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d8ad075ef60ca33f1bd8e227eed2202108fd6cd8",
      "tree": "af7763b3cef733e8b98c72067aa457d74af33f5b",
      "parents": [
        "de338a3795bbcb3c3d77591f65118cbec776cc39"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Jan 09 10:18:50 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jan 09 10:18:50 2007 +0100"
      },
      "message": "[S390] don\u0027t call handle_mm_fault() if in an atomic context.\n\nThere are several places in the futex code where a spin_lock is held\nand still uaccesses happen. Deadlocks are avoided by increasing the\npreempt count. The pagefault handler will then not take any locks\nbut will immediately search the fixup tables.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "22155914b66b348b7113a0b3baf96a72bd3f643d",
      "tree": "95e2f8b62a4b13d9364d42656ccb2e1e9cef3ea3",
      "parents": [
        "bff19b1d0b2c62882ca4b8f900b52f410c09e967"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Dec 08 15:53:49 2006 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Dec 08 15:53:49 2006 +0100"
      },
      "message": "[S390] uaccess_pt: add missing down_read() and convert to is_init().\n\nDoesn\u0027t seem to be a good idea to duplicate code :)\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "a866374aecc90c7d90619727ccd851ac096b2fc7",
      "tree": "eabae0b36b5281dcef20563470c7f05549689b8c",
      "parents": [
        "6edaf68a87d17570790fd55f0c451a29ec1d6703"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:32:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:21 2006 -0800"
      },
      "message": "[PATCH] mm: pagefault_{disable,enable}()\n\nIntroduce pagefault_{disable,enable}() and use these where previously we did\nmanual preempt increments/decrements to make the pagefault handler do the\natomic thing.\n\nCurrently they still rely on the increased preempt count, but do not rely on\nthe disabled preemption, this might go away in the future.\n\n(NOTE: the extra barrier() in pagefault_disable might fix some holes on\n       machines which have too many registers for their own good)\n\n[heiko.carstens@de.ibm.com: s390 fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59f35d53fde3987d071ea1c9bf1c9ba29fcb69fe",
      "tree": "50853c1bf3ad3af080707fb2e6b3722d3d86db9e",
      "parents": [
        "d57de5a36791cb1b7285649c62f183b0d3505f7d"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Mon Dec 04 15:40:45 2006 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 04 15:40:45 2006 +0100"
      },
      "message": "[S390] Add dynamic size check for usercopy functions.\n\nUse a wrapper for copy_to/from_user to chose the best usercopy method.\nThe mvcos instruction is better for sizes greater than 256 bytes, if\nmvcos is not available a page table walk is better for sizes greater\nthan 1024 bytes. Also removed the redundant copy_to/from_user_std_small\nfunctions.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "3c1fcfe229e99752c74efb945a4a3f560be04204",
      "tree": "44085d9b599e06a92426141811a6f712beac17aa",
      "parents": [
        "cdc39363d33506b0e067d41fc91f89d186bdf7f7"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sat Sep 30 23:27:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:22 2006 -0700"
      },
      "message": "[PATCH] Directed yield: direct yield of spinlocks for s390.\n\nUse the new diagnose 0x9c in the spinlock implementation for s390.  It\nyields the remaining timeslice of the virtual cpu that tries to acquire a\nlock to the virtual cpu that is the current holder of the lock.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "94c12cc7d196bab34aaa98d38521549fa1e5ef76",
      "tree": "8e0cec0ed44445d74a2cb5160303d6b4dfb1bc31",
      "parents": [
        "25d83cbfaa44e1b9170c0941c3ef52ca39f54ccc"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:56:43 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:56:43 2006 +0200"
      },
      "message": "[S390] Inline assembly cleanup.\n\nMajor cleanup of all s390 inline assemblies. They now have a common\ncoding style. Quite a few have been shortened, mainly by using register\nasm variables. Use of the EX_TABLE macro helps  as well. The atomic ops,\nbit ops and locking inlines new use the Q-constraint if a newer gcc\nis used.  That results in slightly better code.\n\nThanks to Christian Borntraeger for proof reading the changes.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "52149ba6b0ddf3e9d965257cc0513193650b3ea8",
      "tree": "af8097516b3cd9d9f2397080e4cf81414fd4172a",
      "parents": [
        "51dced544e3964b684afc99282ceceaa384b16a8"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:56:03 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:56:03 2006 +0200"
      },
      "message": "[S390] user readable uninitialised kernel memory.\n\nA user space program can read uninitialised kernel memory\nby appending to a file from a bad address and then reading\nthe result back. The cause is the copy_from_user function\nthat does not clear the remaining bytes of the kernel\nbuffer after it got a fault on the user space address.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d9f7a745d55527d0d41684b22506a86c4381f7f1",
      "tree": "ea8870ef06c3723ad59b78aac97bfe8152894c72",
      "parents": [
        "1fce518e8e7de62597c823d6d795cafc694e7910"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:55:39 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 28 16:55:39 2006 +0200"
      },
      "message": "[S390] __div64_32 for 31 bit.\n\nThe clocksource infrastructure introduced with commit\nad596171ed635c51a9eef829187af100cbf8dcf7 broke 31 bit s390.\nThe reason is that the do_div() primitive for 31 bit always\nhad a restriction: it could only divide an unsigned 64 bit\ninteger by an unsigned 31 bit integer. The clocksource code\nnow uses do_div() with a base value that has the most\nsignificant bit set. The result is that clock-\u003ecycle_interval\nhas a funny value which causes the linux time to jump around\nlike mad.\nThe solution is \"obvious\": implement a proper __div64_32\nfunction for 31 bit s390.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6c2a9e6df60478e712f3c3d98b5047778a82a3d7",
      "tree": "6768eb3991f4f1616b211a21ccf1b8e27820ae79",
      "parents": [
        "d02765d1af743567398eb6d523dea0ba5e5e7e8e"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Wed Sep 20 15:59:44 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Sep 20 15:59:44 2006 +0200"
      },
      "message": "[S390] Use alternative user-copy operations for new hardware.\n\nThis introduces new user-copy operations which are optimized for\ncopying more than 256 Bytes on new hardware.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d02765d1af743567398eb6d523dea0ba5e5e7e8e",
      "tree": "9a39c21d9924a8d81ce85254cd3d013dbe50d23e",
      "parents": [
        "6837a8c352efcc5efc70424e9bfd94ff9bfa9a47"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Wed Sep 20 15:59:42 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Sep 20 15:59:42 2006 +0200"
      },
      "message": "[S390] Make user-copy operations run-time configurable.\n\nIntroduces a struct uaccess_ops which allows setting user-copy\noperations at run-time.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "af313e5a4f56b248767d667c3c2436dda767df77",
      "tree": "7cc495fcd98841375a3f3a6a574dd6d9fcd7a7c2",
      "parents": [
        "dc709bd190c130b299ac19d596594256265c042a"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Aug 30 14:33:30 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Aug 30 14:33:30 2006 +0200"
      },
      "message": "[S390] broken copy_in_user function.\n\nThe copy_in_user primitive does not work as advertised. If the source\nand target area are available copy_in_user copies one byte too much.\nIf one of the memory areas is not available it does not copy as much\ndata as it can, but up to 257 bytes less.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d2c993d845781d160a7ef759a3e65c6892c4a270",
      "tree": "f63be38ab83363282c519048849663201f664818",
      "parents": [
        "7e560814de1972e1bfc780616841d7a0032ca467"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jul 12 16:41:55 2006 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Jul 12 16:41:55 2006 +0200"
      },
      "message": "[S390] Fix sparse warnings.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "96567161de0ceed45cd2eb0e5380e3c797f5c0f4",
      "tree": "eb1cf052c95b95052e281f9a0d33ea025ce39dc5",
      "parents": [
        "6a88231fc7da311e4da4ce2011d1a132c80c145a"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@de.ibm.com",
        "time": "Thu Mar 09 17:33:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 09 19:47:38 2006 -0800"
      },
      "message": "[PATCH] s390: Increase spinlock retry code performance\n\nCurrently the code tries up to spin_retry times to grab a lock using the cs\ninstruction.  The cs instruction has exclusive access to a memory region\nand therefore invalidates the appropiate cache line of all other cpus.  If\nthere is contention on a lock this leads to cache line trashing.  This can\nbe avoided if we first check wether a cs instruction is likely to succeed\nbefore the instruction gets actually executed.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "331c46591414f7f92b1cec048009abe89892ee79",
      "tree": "ce19fbf200bcef3d0802f59fb5aed5b17005c089",
      "parents": [
        "e96fb230cc97760e448327c0de612cfba94ca7bf"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Tue Mar 07 21:55:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 08 14:14:01 2006 -0800"
      },
      "message": "[PATCH] s390: fix strnlen_user return value\n\nstrnlen_user is supposed to return then length count + 1 if no terminating \\0\nis found, and it should return 0 on exception.  Found by David Howells\n\u003cdhowells@redhat.com\u003e.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e35a6619e7be59aa38249346327c89207663bb37",
      "tree": "937b4ef45b317dd1b6854c9c5682af3ddeb55faf",
      "parents": [
        "5a1342f77304da8dc698e0ecf09925438764d80f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Feb 14 13:53:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 14 16:09:35 2006 -0800"
      },
      "message": "[PATCH] s390: fix __delay implementation\n\nFix __delay implementation.  Called with an argument \"1\" or \"0\" it would\nloop nearly forever (since (1/2)-1 \u003d 0xffffffff).\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e018ba1fceee5bd306e31f6e3a60934d5f143ac5",
      "tree": "cafd9ebb51ec0158b0f9affcd040ea36c216272b",
      "parents": [
        "5ceba75f121004335616befd2045c8a6b75b2bc4"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Feb 01 03:06:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:23 2006 -0800"
      },
      "message": "[PATCH] s390: Remove CVS generated information\n\n- Remove all CVS generated information like e.g. revision IDs from\n  drivers/s390 and include/asm-s390 (none present in arch/s390).\n\n- Add newline at end of arch/s390/lib/Makefile to avoid diff message.\n\nAcked-by: Andreas Herrmann \u003caherrman@de.ibm.com\u003e\nAcked-by: Frank Pavlic \u003cpavlic@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0152fb37603e3a776768794030b809ae77027aa4",
      "tree": "dc1df7a4e474e6e8c4b6987a22e09c727bb97433",
      "parents": [
        "68c119177890afff4759abda8da2b4ff5e06efa1"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sat Jan 14 13:21:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:09 2006 -0800"
      },
      "message": "[PATCH] s390: spinlock fixes\n\nRemove useless spin_retry_counter and fix compilation for UP kernels.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "347a8dc3b815f0c0fa62a1df075184ffe4cbdcf1",
      "tree": "a6ec76690127e87fe6efa42b6238caadd6c07e7b",
      "parents": [
        "9bbc8346fb21fad3f678220b067450e436e45dbf"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jan 06 00:19:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:53 2006 -0800"
      },
      "message": "[PATCH] s390: cleanup Kconfig\n\nSanitize some s390 Kconfig options.  We have ARCH_S390, ARCH_S390X,\nARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT.  Replace these 6 options by\nS390, 64BIT and COMPAT.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb1c8f93d869b34cacb8b8932e2b83d96a19d720",
      "tree": "a006d078aa02e421a7dc4793c335308204859d36",
      "parents": [
        "4327edf6b8a7ac7dce144313947995538842d8fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:21 2005 -0700"
      },
      "message": "[PATCH] spinlock consolidation\n\nThis patch (written by me and also containing many suggestions of Arjan van\nde Ven) does a major cleanup of the spinlock code.  It does the following\nthings:\n\n - consolidates and enhances the spinlock/rwlock debugging code\n\n - simplifies the asm/spinlock.h files\n\n - encapsulates the raw spinlock type and moves generic spinlock\n   features (such as -\u003ebreak_lock) into the generic code.\n\n - cleans up the spinlock code hierarchy to get rid of the spaghetti.\n\nMost notably there\u0027s now only a single variant of the debugging code,\nlocated in lib/spinlock_debug.c.  (previously we had one SMP debugging\nvariant per architecture, plus a separate generic one for UP builds)\n\nAlso, i\u0027ve enhanced the rwlock debugging facility, it will now track\nwrite-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.\nAll locks have lockup detection now, which will work for both soft and hard\nspin/rwlock lockups.\n\nThe arch-level include files now only contain the minimally necessary\nsubset of the spinlock code - all the rest that can be generalized now\nlives in the generic headers:\n\n include/asm-i386/spinlock_types.h       |   16\n include/asm-x86_64/spinlock_types.h     |   16\n\nI have also split up the various spinlock variants into separate files,\nmaking it easier to see which does what. The new layout is:\n\n   SMP                         |  UP\n   ----------------------------|-----------------------------------\n   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h\n   linux/spinlock_types.h      |  linux/spinlock_types.h\n   asm/spinlock_smp.h          |  linux/spinlock_up.h\n   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h\n   linux/spinlock.h            |  linux/spinlock.h\n\n/*\n * here\u0027s the role of the various spinlock/rwlock related include files:\n *\n * on SMP builds:\n *\n *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the\n *                        initializers\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel\n *                        implementations, mostly inline assembly code\n *\n *   (also included on UP-debug builds:)\n *\n *  linux/spinlock_api_smp.h:\n *                        contains the prototypes for the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n *\n * on UP builds:\n *\n *  linux/spinlock_type_up.h:\n *                        contains the generic, simplified UP spinlock type.\n *                        (which is an empty structure on non-debug builds)\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  linux/spinlock_up.h:\n *                        contains the __raw_spin_*()/etc. version of UP\n *                        builds. (which are NOPs on non-debug, non-preempt\n *                        builds)\n *\n *   (included on UP-non-debug builds:)\n *\n *  linux/spinlock_api_up.h:\n *                        builds the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n */\n\nAll SMP and UP architectures are converted by this patch.\n\narm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via\ncrosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should\nbe mostly fine.\n\nFrom: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\n\n  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).\n  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build\n  non-SMP kernels.  That should be trivial to fix up later if necessary.\n\n  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids\n  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks\n  are well tested and contained entirely inside arch specific code.  I do NOT\n  expect any new issues to arise with them.\n\n If someone does ever need to use debug/metrics with them, then they will\n  need to unravel this hairball between spinlocks, atomic ops, and bit ops\n  that exist only because parisc has exactly one atomic instruction: LDCW\n  (load and clear word).\n\nFrom: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\n\n   ia64 fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Mikael Pettersson \u003cmikpe@csd.uu.se\u003e\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0013a85454c281faaf064ccb576e373a2881aac8",
      "tree": "06fc1af0a321631e89ad0f589214e291bd91d19a",
      "parents": [
        "47003497dd819b10874a2291e54df7dc5cf8be57"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.(none)",
        "time": "Fri Sep 09 20:57:26 2005 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.(none)",
        "time": "Fri Sep 09 20:57:26 2005 +0200"
      },
      "message": "kbuild: m68k,parisc,ppc,ppc64,s390,xtensa use generic asm-offsets.h support\n\nDelete obsoleted parts form arch makefiles and rename to asm-offsets.h\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "951f22d5b1f0eaae35dafc669e3774a0c2084d10",
      "tree": "66c0131b576dadb98026da11d624df453c4c9a7c",
      "parents": [
        "8449d003f323ca7a00eec38905d984ba5ec83a29"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Jul 27 11:44:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:26:04 2005 -0700"
      },
      "message": "[PATCH] s390: spin lock retry\n\nSplit spin lock and r/w lock implementation into a single try which is done\ninline and an out of line function that repeatedly tries to get the lock\nbefore doing the cpu_relax().  Add a system control to set the number of\nretries before a cpu is yielded.\n\nThe reason for the spin lock retry is that the diagnose 0x44 that is used to\ngive up the virtual cpu is quite expensive.  For spin locks that are held only\nfor a short period of time the costs of the diagnoses outweights the savings\nfor spin locks that are held for a longer timer.  The default retry count is\n1000.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
