)]}'
{
  "log": [
    {
      "commit": "6eedf8d30d2b48e86fbcee1a32fb2fa5f42219ee",
      "tree": "adc0b6174ca3eb7d284b7daba9bf820286fac94e",
      "parents": [
        "a9bd4a3e070ba7494f154e1a11687a8a957d88dc"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 01:48:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "proc: move Kconfig to fs/proc/Kconfig\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9bd4a3e070ba7494f154e1a11687a8a957d88dc",
      "tree": "6e2736fc369308e417f61d8d25c5079136073cb4",
      "parents": [
        "881adb85358309ea9c6f707394002719982ec607"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 01:48:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "proc: remove pathetic remount code\n\nMS_RMT_MASK will unmask changes in do_remount_sb() anyway.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "881adb85358309ea9c6f707394002719982ec607",
      "tree": "e4ffc2f6ca6013bab97bdb77b80e98b46a8d01e1",
      "parents": [
        "6e644c3126149b65460610fe5a00d8a162092abe"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 01:48:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "proc: always do -\u003erelease\n\nCurrent two-stage scheme of removing PDE emphasizes one bug in proc:\n\n\t\topen\n\t\t\t\trmmod\n\t\t\t\tremove_proc_entry\n\t\tclose\n\n-\u003erelease won\u0027t be called because -\u003eproc_fops were cleared.  In simple\ncases it\u0027s small memory leak.\n\nFor every -\u003eopen, -\u003erelease has to be done.  List of openers is introduced\nwhich is traversed at remove_proc_entry() if neeeded.\n\nDiscussions with Al long ago (sigh).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e644c3126149b65460610fe5a00d8a162092abe",
      "tree": "74d324773bc25767832d19c662c7c4cf489554b3",
      "parents": [
        "cd9a6f1078ed07fe919667b73e829f3bac485573"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "move proc_kmsg_operations to fs/proc/internal.h\n\nThis patch moves the extern of struct proc_kmsg_operations to\nfs/proc/internal.h and adds an #include \"internal.h\" to fs/proc/kmsg.c\nso that the latter sees the former.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd9a6f1078ed07fe919667b73e829f3bac485573",
      "tree": "a43f145a95fc9ecb0f7b262b3423c9c9ad7cad69",
      "parents": [
        "25377479de7539fdc871a0f0ecaa39da42353bbc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "unexport proc_clear_tty\n\nWith the removal of the Solaris binary emulation the export of\nproc_clear_tty became unused.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Alan Cox \u003calan@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": "25377479de7539fdc871a0f0ecaa39da42353bbc",
      "tree": "646e6e55935b26fcb3f5d489b9f08ab021c9ddb3",
      "parents": [
        "d991696263a704be7f41ac186f1a0ed17963c260"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 25 01:48:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "dell_rbu: use memory_read_from_buffer()\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Abhay Salunke \u003cAbhay_Salunke@dell.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d991696263a704be7f41ac186f1a0ed17963c260",
      "tree": "8fd4d80ad8ddc7551b57de2a44d8d4cbc9699038",
      "parents": [
        "04ebd4aee52b06a2c38127d9208546e5b96f3a19"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 25 01:48:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "fs/partitions/efi: convert to pr_debug\n\nconvert the local Dprintk() compile time debug printk wrappers to the\ngeneric pr_debug() wrapper.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04ebd4aee52b06a2c38127d9208546e5b96f3a19",
      "tree": "25014f06e7bf53ec0b51d717a6a8d0cfb545d985",
      "parents": [
        "d805dda412346225a50af2d399d958a4bc676c38"
      ],
      "author": {
        "name": "Abdel Benamrouche",
        "email": "draconux@gmail.com",
        "time": "Fri Jul 25 01:48:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "block/ioctl.c and fs/partition/check.c: check value returned by add_partition()\n\nNow that add_partition() has been aught to propagate errors, let\u0027s check them.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Abdel Benamrouche \u003cdraconux@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d805dda412346225a50af2d399d958a4bc676c38",
      "tree": "34ac3439f553627677ec7d3531f40cbd254a6e0c",
      "parents": [
        "abe19b7b822a8fdbe3dbfd6e066d0698b4eefb06"
      ],
      "author": {
        "name": "Abdel Benamrouche",
        "email": "draconux@gmail.com",
        "time": "Fri Jul 25 01:48:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "fs/partition/check.c: fix return value warning\n\nfs/partitions/check.c:381: warning: ignoring return value of ___device_add___,\n  declared with attribute warn_unused_result\n\n[akpm@linux-foundation.org: multiple-return-statements-per-function are evil]\nSigned-off-by: Abdel Benamrouche \u003cdraconux@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abe19b7b822a8fdbe3dbfd6e066d0698b4eefb06",
      "tree": "1b0ec57d3716c12c87502127bc34900777bd02b7",
      "parents": [
        "f37e66173e0cc09b4e5a89eb0294abbefc15f435"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 25 01:48:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "dcdbas: use memory_read_from_buffer()\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Doug Warzecha \u003cDouglas_Warzecha@dell.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f37e66173e0cc09b4e5a89eb0294abbefc15f435",
      "tree": "a96d0e759aca8ad9edeff0620765d99ed24d632f",
      "parents": [
        "ec905a18656daa4d9300bad2bebc02d5dba7883d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 25 01:48:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "firmware: use memory_read_from_buffer()\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Markus Rechberger \u003cmarkus.rechberger@amd.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec905a18656daa4d9300bad2bebc02d5dba7883d",
      "tree": "3f8c2a7822e36d1870ba045405034711639b8780",
      "parents": [
        "ace7dd96695769f9d76980c7e52139e73228221c"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 25 01:48:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "drivers/misc/phantom: note PCI\n\nTell users that the driver is only for PCI devices to stop asking for\nsupport of firewire and parallel devices.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "ace7dd96695769f9d76980c7e52139e73228221c",
      "tree": "dd45e597af2b612c9467eb75ea88c1313ca4fffc",
      "parents": [
        "1df0092477b8b2df605812e298624f5c35bb4805"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 25 01:48:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "Char: mxser, various cleanups\n\n- remove unused macro\n- some whitespace cleanup\n- useless debug prints removal\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "1df0092477b8b2df605812e298624f5c35bb4805",
      "tree": "ddc518c7ebcfff07b60479c1ff751bd8f1e17407",
      "parents": [
        "83766bc63f7e49b0215811026e7802bd09a9c7e1"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 25 01:48:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "Char: mxser, remove predefined isa support\n\nRemove a support of ISA addresses predefined at compile time.  It is\nunused (filled by zeroes) and prolongs the code.  Don\u0027t initialize global\narray and add `ioaddr\u0027 module param description.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "83766bc63f7e49b0215811026e7802bd09a9c7e1",
      "tree": "b36b3ac4c695f5c3951fe7e434d54836d080fd9e",
      "parents": [
        "729f0edbecd0c59c82ee9bf92009acc7e984c425"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 25 01:48:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "Char: mxser, prints cleanup\n\n- use dev_* for printing in pci probe function\n- move ISA p[rints directly into isa find function, do not postpone it.\n  Remove macros bound to it then.\n- prepend some prints by \"mxser: \" to know what it belongs to\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "729f0edbecd0c59c82ee9bf92009acc7e984c425",
      "tree": "b3308d40584c849150b73520110eaed7df75a3e0",
      "parents": [
        "72800df9ba3199df02a95b3830c49fbf16ec4a6d"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 25 01:48:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "Char: mxser, update documentation\n\nUpdate Documentation/moxa-smartio to the later document from the mxser\npackage.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "72800df9ba3199df02a95b3830c49fbf16ec4a6d",
      "tree": "0c51326b74d052134019735a3c0da76a13ae0068",
      "parents": [
        "41aee9a121fd0c31ae22dfe57e8f9ee9d6d85c25"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 25 01:48:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "Char: mxser, globals cleanup\n\n- remove unused mxvar_diagflag\n- move mxser_msr into the only user/function\n- GMStatus, hmm, fix race-prone access to it. We need only one instance for\n  real, not MXSER_PORTS. Move it to MOXA_GETMSTATUS ioctl.\n- mxser_mon_ext, almost the same, but alloc it on heap, since it has more than\n  2 kilos.\n- fix indexing, `i\u0027 is not the index value, `i * MXSER_PORTS_PER_BOARD + j\u0027 is\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "41aee9a121fd0c31ae22dfe57e8f9ee9d6d85c25",
      "tree": "0b55efab61c97366b053e026ad31e711b69d4d82",
      "parents": [
        "6ee8928d94841aa764aeaf645ad16daff811dc26"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 25 01:48:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "Char: mxser, ioctl cleanup\n\n- remove break ctl from ioctl handler, it\u0027s never reached, since\n  tty_ops-\u003ebreak_ctl is defined (mxser break handling is done in software)\n- mark MOXA_GET_MAJOR as deprecated\n- fix TIOCGICOUNT (some retval non-checks of put_user). Use copy_to_user\n  to whole structure instead.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "6ee8928d94841aa764aeaf645ad16daff811dc26",
      "tree": "04570a3c34e5589e910412f2850fa1b2345eafa2",
      "parents": [
        "236b8756a2b6f90498d45b2c36d43e5372f2d4b8"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 25 01:48:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "nwflash: use simple_read_from_buffer()\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "236b8756a2b6f90498d45b2c36d43e5372f2d4b8",
      "tree": "bdca24e185d88914b1f2074166f9aa4be353b40f",
      "parents": [
        "b8e35919653d76e7dceb8d3b8569c4ec1004d546"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "dsp56k: BKL pushdown\n\nPush the BKL down into the driver ioctl methods\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "b8e35919653d76e7dceb8d3b8569c4ec1004d546",
      "tree": "39d61f03073d2481bf2a9e708554dde57ef37a14",
      "parents": [
        "6d535d3e6ad395345750c361bd2b7f1b9429455d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "ds1302: push down the BKL into the driver ioctl code\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d535d3e6ad395345750c361bd2b7f1b9429455d",
      "tree": "c00178880958f2d81a1e57c5372e5cdfb828e60c",
      "parents": [
        "e05e9f7c4aeb82eaa23e46b29580ff514590c641"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "ppdev: wrap ioctl handler in driver and push lock down\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "e05e9f7c4aeb82eaa23e46b29580ff514590c641",
      "tree": "84b84201f10307ca935e5cc90f74c235625575d5",
      "parents": [
        "11af7478addd34c42999b3b84095903ed9e67038"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "ixj: push BKL into driver and wrap ioctls\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11af7478addd34c42999b3b84095903ed9e67038",
      "tree": "90f5fb01fe1b49cef020c275f448d7eed2fbe3a9",
      "parents": [
        "f6759fdcfd79ff1827fd5d4ddfe876164466d30d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "sx: push BKL down into the firmware ioctl handler\n\nAlso fix the capability checking for firmware load.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "f6759fdcfd79ff1827fd5d4ddfe876164466d30d",
      "tree": "df722e40c8858a97a8c72430caaa57ff0a202a85",
      "parents": [
        "909d145f0decbc4f17955e1fc4122a669a51fbc0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "rio: push down the BKL into the firmware ioctl handler\n\nTTY side is already done.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "909d145f0decbc4f17955e1fc4122a669a51fbc0",
      "tree": "fbda85c9ecb7e75684e94ef5a070ffcaf7a6ccde",
      "parents": [
        "47be36a24defbd19aea1354c416ec99f291c7ab8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "mwave: ioctl BKL pushdown\n\nPush the BKL down to the point it wraps the actual mwave method handlers\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Yani Ioannou \u003cyani.ioannou@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": "47be36a24defbd19aea1354c416ec99f291c7ab8",
      "tree": "575f4cb98d9b2f18da600031d1ea9383aed4a441",
      "parents": [
        "76528a42e2c5199a1208909318a9c9948d25d0b7"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "ip2: push BKL down for the firmware interface\n\n(The tty side is already done)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "76528a42e2c5199a1208909318a9c9948d25d0b7",
      "tree": "7565f1d46813ae236f4a1c700ed8377bebe0add7",
      "parents": [
        "372572e9b1dcc5e36091199be63766d13e5a8ae0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 25 01:48:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "efirtc: push down the BKL\n\nPush it down as far as the EFI method calls.  Someone who knows EFI can do\nthe other bits.  Also fix another wrong unknown ioctl return.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "372572e9b1dcc5e36091199be63766d13e5a8ae0",
      "tree": "7ea092d462eb56951cff0d3614d71731ae3445ca",
      "parents": [
        "8d1e120f695e9bcf01585e052577dc1e099033f9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:43 2008 -0700"
      },
      "message": "#if 0 hpet_unregister()\n\nThis patch #if 0\u0027s the unused hpet_unregister().\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d1e120f695e9bcf01585e052577dc1e099033f9",
      "tree": "355d3f6f53352414f2f2cf9245933ea1604355a0",
      "parents": [
        "79885b227740b9c7d3057f2de556f4098d37cc8f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "proper extern for mwave_s_mdd\n\nThis patch adds a proper extern for mwave_s_mdd in\ndrivers/char/mwave/mwavedd.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79885b227740b9c7d3057f2de556f4098d37cc8f",
      "tree": "8e61116e5bfd7aa50ed6f8359b8baf150d637780",
      "parents": [
        "7833351b5260b3a58b54a0c2e7065001d986d749"
      ],
      "author": {
        "name": "Edgar E. Iglesias",
        "email": "edgar.iglesias@axis.com",
        "time": "Fri Jul 25 01:48:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "elf: use ELF_CORE_EFLAGS for kcore ELF header flags\n\nELF_CORE_EFLAGS is already used by the binfmt_elf coredumper to set correct\narch specific ELF header flags on coredumps.  Use it for kcore dumps as well.\nAt the moment, this affects the CRIS and the H8300 arch.\n\nSigned-off-by: Edgar E. Iglesias \u003cedgar@axis.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7833351b5260b3a58b54a0c2e7065001d986d749",
      "tree": "44703d905bfb3d729ba5a30be8e7a2c7316bd4d9",
      "parents": [
        "9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "pty: remove unused UNIX98_PTY_COUNT options\n\nThe h8300 and sparc options somehow survived when the code stopped using\nCONFIG_UNIX98_PTY_COUNT.\n\nReviewed-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e",
      "tree": "064ce99674f144b681f8d365d1e20d99c8078d0c",
      "parents": [
        "f1a43f93f0f3bab418800eaccb9e2e3b5427e173"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc: do not use a negative value to re-enable msgmni automatic recomputing\n\nThis patch proposes an alternative to the \"magical\npositive-versus-negative number trick\" Andrew complained about last week\nin http://lkml.org/lkml/2008/6/24/418.\n\nThis had been introduced with the patches that scale msgmni to the amount\nof lowmem.  With these patches, msgmni has a registered notification\nroutine that recomputes msgmni value upon memory add/remove or ipc\nnamespace creation/ removal.\n\nWhen msgmni is changed from user space (i.e.  value written to the proc\nfile), that notification routine is unregistered, and the way to make it\nregistered back is to write a negative value into the proc file.  This is\nthe \"magical positive-versus-negative number trick\".\n\nTo fix this, a new proc file is introduced: /proc/sys/kernel/auto_msgmni.\nThis file acts as ON/OFF for msgmni automatic recomputing.\n\nWith this patch, the process is the following:\n1) kernel boots in \"automatic recomputing mode\"\n   /proc/sys/kernel/msgmni contains the value that has been computed (depends\n                           on lowmem)\n   /proc/sys/kernel/automatic_msgmni contains \"1\"\n\n2) echo \u003cval\u003e \u003e /proc/sys/kernel/msgmni\n   . sets msg_ctlmni to \u003cval\u003e\n   . de-activates automatic recomputing (i.e. if, say, some memory is added\n     msgmni won\u0027t be recomputed anymore)\n   . /proc/sys/kernel/automatic_msgmni now contains \"0\"\n\n3) echo \"0\" \u003e /proc/sys/kernel/automatic_msgmni\n   . de-activates msgmni automatic recomputing\n     this has the same effect as 2) except that msg_ctlmni\u0027s value stays\n     blocked at its current value)\n\n3) echo \"1\" \u003e /proc/sys/kernel/automatic_msgmni\n   . recomputes msgmni\u0027s value based on the current available memory size\n     and number of ipc namespaces\n   . re-activates automatic recomputing for msgmni.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Solofo Ramangalahy \u003cSolofo.Ramangalahy@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1a43f93f0f3bab418800eaccb9e2e3b5427e173",
      "tree": "d39b73f1de7f16c74f5c304646dbadc728689fa8",
      "parents": [
        "380af1b33b3ff92df5cda96329b58f5d1b6b5a53"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Jul 25 01:48:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc: use simple_read_from_buffer()\n\nAlso this patch kills unneccesary trailing NULL character.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "380af1b33b3ff92df5cda96329b58f5d1b6b5a53",
      "tree": "9a47d66c18e4aae2093a708a7509c0f188ee0bd1",
      "parents": [
        "a1193f8ec091cd8fd309cc2982abe4499f6f2b4d"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: rewrite undo list locking\n\nThe attached patch:\n- reverses the locking order of ulp-\u003elock and sem_lock:\n  Previously, it was first ulp-\u003elock, then inside sem_lock.\n  Now it\u0027s the other way around.\n- converts the undo structure to rcu.\n\nBenefits:\n- With the old locking order, IPC_RMID could not kfree the undo structures.\n  The stale entries remained in the linked lists and were released later.\n- The patch fixes a a race in semtimedop(): if both IPC_RMID and a semget() that\n  recreates exactly the same id happen between find_alloc_undo() and sem_lock,\n  then semtimedop() would access already kfree\u0027d memory.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "a1193f8ec091cd8fd309cc2982abe4499f6f2b4d",
      "tree": "b12f2ed903fea86cfc1fd34ddb464ecfc59e5452",
      "parents": [
        "2c0c29d414087f3b021059673c20a7088f5f1fff"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: convert sem_array.sem_pending to struct list_head\n\nsem_array.sem_pending is a double linked list, the attached patch converts\nit to struct list_head.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "2c0c29d414087f3b021059673c20a7088f5f1fff",
      "tree": "713b226382814837840b0ed2a42b909dbb6cfaf9",
      "parents": [
        "4daa28f6d8f5cda8ea0f55048e3c8811c384cbdd"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: remove unused entries from struct sem_queue\n\nsem_queue.sma and sem_queue.id were never used, the attached patch removes\nthem.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nReviewed-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "4daa28f6d8f5cda8ea0f55048e3c8811c384cbdd",
      "tree": "934bfbd7932a18da8295d9e21727985d1ea16311",
      "parents": [
        "00c2bf85d8febfcfddde63822043462b026134ff"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Fri Jul 25 01:48:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc/sem.c: convert undo structures to struct list_head\n\nThe undo structures contain two linked lists, the attached patch replaces\nthem with generic struct list_head lists.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@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": "00c2bf85d8febfcfddde63822043462b026134ff",
      "tree": "25dbdf6d713408da992eace1168c45244d13c2a7",
      "parents": [
        "983bfb7db303cfde56ae5bbf4e0f2f46e38c9576"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc: get rid of ipc_lock_down()\n\nRemove the ipc_lock_down() routines: they used to call idr_find() locklessly\n(given that the ipc ids lock was already held), so they are not needed\nanymore.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "983bfb7db303cfde56ae5bbf4e0f2f46e38c9576",
      "tree": "d107ca3c03e2c84e3d58c6f9e53879d3486e9c5f",
      "parents": [
        "cf481c20c476ad2c0febdace9ce23f5a4db19582"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "ipc: call idr_find() without locking in ipc_lock()\n\nCall idr_find() locklessly from ipc_lock(), since the idr tree is now RCU\nprotected.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf481c20c476ad2c0febdace9ce23f5a4db19582",
      "tree": "4c46587ad6da3b40d9e7f2db93514f4d9045bc99",
      "parents": [
        "f9c46d6ea5ce138a886c3a0f10a46130afab75f5"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "idr: make idr_remove rcu-safe\n\nIntroduce the free_layer() routine: it is the one that actually frees memory\nafter a grace period has elapsed.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9c46d6ea5ce138a886c3a0f10a46130afab75f5",
      "tree": "1eedc2428866fb0b3f9f864e52ffb6eaf00911a4",
      "parents": [
        "3219b3b7456d5cf15ba7b1fe7b1bcf15ce8840e2"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "idr: make idr_find rcu-safe\n\nMake idr_find rcu-safe: it can now be called inside an rcu_read critical\nsection.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3219b3b7456d5cf15ba7b1fe7b1bcf15ce8840e2",
      "tree": "a7743ab2924063ff1b5dca4d835e760c8d4c7edf",
      "parents": [
        "944ca05c7b4972f2ebf37262e0f4933d178ad6db"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:48:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "idr: make idr_get_new* rcu-safe\n\nMake the idr_get_new* routines rcu-safe.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "944ca05c7b4972f2ebf37262e0f4933d178ad6db",
      "tree": "5fb7558b8247bb56b7c1781808e7eaf08e8fff4e",
      "parents": [
        "f098ad655f4dd8e3da98ffbeda9cedcc4459c01a"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:47:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "idr: error checking factorization\n\nDo some code factorization in the return code analysis.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f098ad655f4dd8e3da98ffbeda9cedcc4459c01a",
      "tree": "c94831a25240a3257b77cdb93ec1469e3d4faf85",
      "parents": [
        "4ae537892ab9858f71c78701f4651ad1ca531a1b"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:47:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "idr: fix a printk call\n\nFix the incomplete printk call.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ae537892ab9858f71c78701f4651ad1ca531a1b",
      "tree": "c40baaaff4edc958d0fc642104a17c5a98b049de",
      "parents": [
        "2027d1abc25ff770cc3bc936abd33570ce85d85a"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:47:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "idr: rename some of the idr APIs internal routines\n\nThis is a trivial patch that renames:\n\n   . alloc_layer to get_from_free_list since it idr_pre_get that actually\n     allocates memory.\n   . free_layer to move_to_free_list since memory is not actually freed there.\n\nThis makes things more clear for the next patches.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2027d1abc25ff770cc3bc936abd33570ce85d85a",
      "tree": "0b98b112518d3325deaaad5e8ee78c001235471e",
      "parents": [
        "95b68dec0d52c7b8fea3698b3938cf3ab936436b"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Fri Jul 25 01:47:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "idr: change the idr structure\n\nAfter scalability problems have been detected when using the sysV ipcs, I have\nproposed to use an RCU based implementation of the IDR api instead (see\nthreads http://lkml.org/lkml/2008/4/11/212 and\nhttp://lkml.org/lkml/2008/4/29/295).\n\nThis resulted in many people asking to convert the idr API and make it rcu\nsafe (because most of the code was duplicated and thus unmaintanable and\nunreviewable).\n\nSo here is a first attempt.\n\nThe important change wrt to the idr API itself is during idr removes: idr\nlayers are freed after a grace period, instead of being moved to the free\nlist.\n\nThe important change wrt to ipcs, is that idr_find() can now be called\nlocklessly inside a rcu read critical section.\n\nHere are the results I\u0027ve got for the pmsg test sent by Manfred:\n\n   2.6.25-rc3-mm1   2.6.25-rc3-mm1+   2.6.25-mm1   Patched 2.6.25-mm1\n1         1168441           1064021       876000               947488\n2         1094264            921059      1549592              1730685\n3         2082520           1738165      1694370              2324880\n4         2079929           1695521       404553              2400408\n5         2898758            406566       391283              3246580\n6         2921417            261275       263249              3752148\n7         3308761            126056       191742              4243142\n8         3329456            100129       141722              4275780\n\n1st column: stock 2.6.25-rc3-mm1\n2nd column: 2.6.25-rc3-mm1 + ipc patches (store ipcs into idrs)\n3nd column: stock 2.6.25-mm1\n4th column: 2.6.25-mm1 + this pacth series.\n\nThis patch:\n\nAdd an rcu_head to the idr_layer structure in order to free it after a grace\nperiod.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Jim Houston \u003cjim.houston@comcast.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95b68dec0d52c7b8fea3698b3938cf3ab936436b",
      "tree": "f56e090e0b6831c1ba416189e9fc32bfeb3ebac9",
      "parents": [
        "8448502cfc915f70e3f8923849ade27d472044cb"
      ],
      "author": {
        "name": "Chandru",
        "email": "chandru@in.ibm.com",
        "time": "Fri Jul 25 01:47:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "calgary iommu: use the first kernels TCE tables in kdump\n\nkdump kernel fails to boot with calgary iommu and aacraid driver on a x366\nbox.  The ongoing dma\u0027s of aacraid from the first kernel continue to exist\nuntil the driver is loaded in the kdump kernel.  Calgary is initialized\nprior to aacraid and creation of new tce tables causes wrong dma\u0027s to\noccur.  Here we try to get the tce tables of the first kernel in kdump\nkernel and use them.  While in the kdump kernel we do not allocate new tce\ntables but instead read the base address register contents of calgary\niommu and use the tables that the registers point to.  With these changes\nthe kdump kernel and hence aacraid now boots normally.\n\nSigned-off-by: Chandru Siddalingappa \u003cchandru@in.ibm.com\u003e\nAcked-by: Muli Ben-Yehuda \u003cmuli@il.ibm.com\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": "8448502cfc915f70e3f8923849ade27d472044cb",
      "tree": "964522eb36ea5424ece910092da5dce773c1f6cc",
      "parents": [
        "8de6d308bab4f67fcf953562f9f08f9527cad72d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:41 2008 -0700"
      },
      "message": "workqueues: do CPU_UP_CANCELED if CPU_UP_PREPARE fails\n\nThe bug was pointed out by Akinobu Mita \u003cakinobu.mita@gmail.com\u003e, and this\npatch is based on his original patch.\n\nworkqueue_cpu_callback(CPU_UP_PREPARE) expects that if it returns\nNOTIFY_BAD, _cpu_up() will send CPU_UP_CANCELED then.\n\nHowever, this is not true since\n\n\t\"cpu hotplug: cpu: deliver CPU_UP_CANCELED only to NOTIFY_OKed callbacks with CPU_UP_PREPARE\"\n\tcommit: a0d8cdb652d35af9319a9e0fb7134de2a276c636\n\nThe callback which has returned NOTIFY_BAD will not receive\nCPU_UP_CANCELED.  Change the code to fulfil the CPU_UP_CANCELED logic if\nCPU_UP_PREPARE fails.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReported-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8de6d308bab4f67fcf953562f9f08f9527cad72d",
      "tree": "d896d82088d50a6c9d56300225605c5658f44549",
      "parents": [
        "ef1ca236b8d645349ed6569598ae3f6c1b9511c0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: schedule_on_each_cpu() can use schedule_work_on()\n\nschedule_on_each_cpu() can use schedule_work_on() to avoid the code\nduplication.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef1ca236b8d645349ed6569598ae3f6c1b9511c0",
      "tree": "a193741b4aca43c90fcf2bf8be0d999d27b99eba",
      "parents": [
        "a67da70dc0955580665f5444f318b92e69a3c272"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: queue_work() can use queue_work_on()\n\nqueue_work() can use queue_work_on() to avoid the code duplication.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a67da70dc0955580665f5444f318b92e69a3c272",
      "tree": "204164627e0fb6495516b24cca005845f492f600",
      "parents": [
        "69b895fd13d73aebf62b75502eb6513d43057ba3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: lockdep annotations for flush_work()\n\nAdd lockdep annotations to flush_work() and update the comment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69b895fd13d73aebf62b75502eb6513d43057ba3",
      "tree": "138f50e8a8e73e6d9de755edb0f217759605e5bf",
      "parents": [
        "3da1c84c00c7e5fa8348336bd8c342f9128b0f14"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "S390 topology: don\u0027t use kthread() for arch_reinit_sched_domains()\n\nNow that it is safe to use get_online_cpus() we can revert\n\n\t[S390] cpu topology: Fix possible deadlock.\n\tcommit: fd781fa25c9e9c6fd1599df060b05e7c4ad724e5\n\nand call arch_reinit_sched_domains() directly from topology_work_fn().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.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": "3da1c84c00c7e5fa8348336bd8c342f9128b0f14",
      "tree": "af960c65a670319fa86846a493a6d97f9fb37cd9",
      "parents": [
        "8616a89ab761239c963eea3a63be383f127cc7e8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: make get_online_cpus() useable for work-\u003efunc()\n\nworkqueue_cpu_callback(CPU_DEAD) flushes cwq-\u003ethread under\ncpu_maps_update_begin().  This means that the multithreaded workqueues\ncan\u0027t use get_online_cpus() due to the possible deadlock, very bad and\nvery old problem.\n\nIntroduce the new state, CPU_POST_DEAD, which is called after\ncpu_hotplug_done() but before cpu_maps_update_done().\n\nChange workqueue_cpu_callback() to use CPU_POST_DEAD instead of CPU_DEAD.\nThis means that create/destroy functions can\u0027t rely on get_online_cpus()\nany longer and should take cpu_add_remove_lock instead.\n\n[akpm@linux-foundation.org: fix CONFIG_SMP\u003dn]\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.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": "8616a89ab761239c963eea3a63be383f127cc7e8",
      "tree": "b74212be00198b64d0c3fcbf552e0e3ced01a350",
      "parents": [
        "db700897224b5ebdf852f2d38920ce428940d059"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: schedule_on_each_cpu: use flush_work()\n\nChange schedule_on_each_cpu() to use flush_work() instead of\nflush_workqueue(), this way we don\u0027t wait for other work_struct\u0027s which\ncan be queued meanwhile.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db700897224b5ebdf852f2d38920ce428940d059",
      "tree": "98f0052929e79b35393352addde70fa5e97b8dee",
      "parents": [
        "1a4d9b0aa0d3c50314e57525a5e5ec2cfc48b4c8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: implement flush_work()\n\nMost of users of flush_workqueue() can be changed to use cancel_work_sync(),\nbut sometimes we really need to wait for the completion and cancelling is not\nan option. schedule_on_each_cpu() is good example.\n\nAdd the new helper, flush_work(work), which waits for the completion of the\nspecific work_struct. More precisely, it \"flushes\" the result of of the last\nqueue_work() which is visible to the caller.\n\nFor example, this code\n\n\tqueue_work(wq, work);\n\t/* WINDOW */\n\tqueue_work(wq, work);\n\n\tflush_work(work);\n\ndoesn\u0027t necessary work \"as expected\". What can happen in the WINDOW above is\n\n\t- wq starts the execution of work-\u003efunc()\n\n\t- the caller migrates to another CPU\n\nnow, after the 2nd queue_work() this work is active on the previous CPU, and\nat the same time it is queued on another. In this case flush_work(work) may\nreturn before the first work-\u003efunc() completes.\n\nIt is trivial to add another helper\n\n\tint flush_work_sync(struct work_struct *work)\n\t{\n\t\treturn flush_work(work) || wait_on_work(work);\n\t}\n\nwhich works \"more correctly\", but it has to iterate over all CPUs and thus\nit much slower than flush_work().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nAcked-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a4d9b0aa0d3c50314e57525a5e5ec2cfc48b4c8",
      "tree": "2ea94cce9fe2cfbcfdc2fd25d33e57f31e0b2699",
      "parents": [
        "565b9b14e7f48131bca58840aa404bbef058fa89"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "workqueues: insert_work: use \"list_head *\" instead of \"int tail\"\n\ninsert_work() inserts the new work_struct before or after cwq-\u003eworklist,\ndepending on the \"int tail\" parameter. Change it to accept \"list_head *\"\ninstead, this shrinks .text a bit and allows us to insert the barrier\nafter specific work_struct.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "565b9b14e7f48131bca58840aa404bbef058fa89",
      "tree": "7925875b10dae248a9fa887c6881c544f59c6173",
      "parents": [
        "a94e2d408eaedbd85aae259621d46fafc10479a2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: format_corename: fix the \"core_uses_pid\" logic\n\nI don\u0027t understand why the multi-thread coredump implies the core_uses_pid\nbehaviour, but we shouldn\u0027t use mm-\u003emm_users for that.  This counter can\nbe incremented by get_task_mm().  Use the valued returned by\ncoredump_wait() instead.\n\nAlso, remove the \"const char *pattern\" argument, format_corename() can use\ncore_pattern directly.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a94e2d408eaedbd85aae259621d46fafc10479a2",
      "tree": "d853f7b2e183875c6ad90fb6ab38e084b037d043",
      "parents": [
        "182c515fd2a942623aed4e4e0e0b37fe96571b05"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: kill mm-\u003ecore_done\n\nNow that we have core_state-\u003edumper list we can use it to wake up the\nsub-threads waiting for the coredump completion.\n\nThis uglifies the code and .text grows by 47 bytes, but otoh mm_struct\nlessens by sizeof(struct completion).  Also, with this change we can\ndecouple exit_mm() from the coredumping code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "182c515fd2a942623aed4e4e0e0b37fe96571b05",
      "tree": "2b792a4efbb3577e90986ee92d7e1d5d708d0174",
      "parents": [
        "83914441f94c6f2cd468ca97365f6c34f418706e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: elf_fdpic_core_dump: use core_state-\u003edumper list\n\nKill the nasty rcu_read_lock() + do_each_thread() loop, use the list\nencoded in mm-\u003ecore_state instead, s/GFP_ATOMIC/GFP_KERNEL/.\n\nThis patch allows futher cleanups in binfmt_elf_fdpic.c.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: 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": "83914441f94c6f2cd468ca97365f6c34f418706e",
      "tree": "bbeb67d51e277b0caedb52072f3ac83fcf779d5a",
      "parents": [
        "b564daf806d492dd4f7afe9b6c83b8d35d137669"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: elf_core_dump: use core_state-\u003edumper list\n\nKill the nasty rcu_read_lock() + do_each_thread() loop, use the list\nencoded in mm-\u003ecore_state instead, s/GFP_ATOMIC/GFP_KERNEL/.\n\nThis patch allows futher cleanups in binfmt_elf.c, in particular we can\nkill the parallel info-\u003ethreads list.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "b564daf806d492dd4f7afe9b6c83b8d35d137669",
      "tree": "fbd6d186035b9a0a270fca97887da5d6b106a60c",
      "parents": [
        "9d5b327bf198d2720666de958dcc2ae219d86952"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: construct the list of coredumping threads at startup time\n\nbinfmt-\u003ecore_dump() has to iterate over the all threads in system in order\nto find the coredumping threads and construct the list using the\nGFP_ATOMIC allocations.\n\nWith this patch each thread allocates the list node on exit_mm()\u0027s stack and\nadds itself to the list.\n\nThis allows us to do further changes:\n\n\t- simplify -\u003ecore_dump()\n\n\t- change exit_mm() to clear -\u003emm first, then wait for -\u003ecore_done.\n\t  this makes the coredumping process visible to oom_kill\n\n\t- kill mm-\u003ecore_done\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "9d5b327bf198d2720666de958dcc2ae219d86952",
      "tree": "2eba6fe178581c2291393a061ff42d09da95386b",
      "parents": [
        "c5f1cc8c1828486a61ab3e575da6e2c62b34d399"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:40 2008 -0700"
      },
      "message": "coredump: make mm-\u003ecore_state visible to -\u003ecore_dump()\n\nMove the \"struct core_state core_state\" from coredump_wait() to\ndo_coredump(), this makes mm-\u003ecore_state visible to binfmt-\u003ecore_dump().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "c5f1cc8c1828486a61ab3e575da6e2c62b34d399",
      "tree": "9cc88e7d1dae063482e1e9117ded747578cbd7ad",
      "parents": [
        "8cd9c249128a59e8e833d454a784b0cbd338d468"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: turn core_state-\u003enr_threads into atomic_t\n\nTurn core_state-\u003enr_threads into atomic_t and kill now unneeded\ndown_write(\u0026mm-\u003emmap_sem) in exit_mm().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "8cd9c249128a59e8e833d454a784b0cbd338d468",
      "tree": "54adf775bdd63fd55fc52b5ac70130a17058d866",
      "parents": [
        "999d9fc1670bc082928b93b11d1f2e0e417d973c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: simplify core_state-\u003enr_threads calculation\n\nChange zap_process() to return int instead of incrementing\nmm-\u003ecore_state-\u003enr_threads directly.  Change zap_threads() to set\nmm-\u003ecore_state only on success.\n\nThis patch restores the original size of .text, and more importantly now\n-\u003enr_threads is used in two places only.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "999d9fc1670bc082928b93b11d1f2e0e417d973c",
      "tree": "e540e7fd2fab970ba2be5e39ac9f8282a373bc24",
      "parents": [
        "32ecb1f26dd50eeaac4e3f4dea4541c97848e459"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: move mm-\u003ecore_waiters into struct core_state\n\nMove mm-\u003ecore_waiters into \"struct core_state\" allocated on stack.  This\nshrinks mm_struct a little bit and allows further changes.\n\nThis patch mostly does s/core_waiters/core_state.  The only essential\nchange is that coredump_wait() must clear mm-\u003ecore_state before return.\n\nThe coredump_wait()\u0027s path is uglified and .text grows by 30 bytes, this\nis fixed by the next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "32ecb1f26dd50eeaac4e3f4dea4541c97848e459",
      "tree": "4c2f3b6af9ff6babf2f395432de8e870508f2ec3",
      "parents": [
        "24d5288f06ed8b3a368eba967d587cdb012dfdf7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: turn mm-\u003ecore_startup_done into the pointer to struct core_state\n\nmm-\u003ecore_startup_done points to \"struct completion startup_done\" allocated\non the coredump_wait()\u0027s stack.  Introduce the new structure, core_state,\nwhich holds this \"struct completion\".  This way we can add more info\nvisible to the threads participating in coredump without enlarging\nmm_struct.\n\nNo changes in affected .o files.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "24d5288f06ed8b3a368eba967d587cdb012dfdf7",
      "tree": "77844e275f2e3bcdc64427e64633e82f0207476d",
      "parents": [
        "15b9f360c0316c06d37c09b02d85565edbaf9dd3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: elf_core_dump: skip kernel threads\n\nlinux_binfmt-\u003ecore_dump() runs before the process does exit_aio(), this\nmeans that we can hit the kernel thread which shares the same -\u003emm.\nAfaics, nothing really bad can happen, but perhaps it makes sense to fix\nthis minor bug.\n\nIt is sad we have to iterate over all threads in system and use\nGFP_ATOMIC.  Hopefully we can kill theses ugly do_each_thread()s, but this\nneeds some nontrivial changes in mm_struct and do_coredump.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "15b9f360c0316c06d37c09b02d85565edbaf9dd3",
      "tree": "5e874b98b6f16ca1f376f5e4bd480da7ae5143b6",
      "parents": [
        "246bb0b1deb29726990620d8b5e55ca29f331362"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "coredump: zap_threads() must skip kernel threads\n\nThe main loop in zap_threads() must skip kthreads which may use the same\nmm.  Otherwise we \"kill\" this thread erroneously (for example, it can not\nfork or exec after that), and the coredumping task stucks in the\nTASK_UNINTERRUPTIBLE state forever because of the wrong -\u003ecore_waiters\ncount.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "246bb0b1deb29726990620d8b5e55ca29f331362",
      "tree": "5173b9e0c1d18934a8b2693c690a7162acb1bca8",
      "parents": [
        "7b34e4283c685f5cc6ba6d30e939906eee0d4bcf"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "kill PF_BORROWED_MM in favour of PF_KTHREAD\n\nKill PF_BORROWED_MM.  Change use_mm/unuse_mm to not play with -\u003eflags, and\ndo s/PF_BORROWED_MM/PF_KTHREAD/ for a couple of other users.\n\nNo functional changes yet.  But this allows us to do further\nfixes/cleanups.\n\noom_kill/ptrace/etc often check \"p-\u003emm !\u003d NULL\" to filter out the\nkthreads, this is wrong because of use_mm().  The problem with\nPF_BORROWED_MM is that we need task_lock() to avoid races.  With this\npatch we can check PF_KTHREAD directly, or use a simple lockless helper:\n\n\t/* The result must not be dereferenced !!! */\n\tstruct mm_struct *__get_task_mm(struct task_struct *tsk)\n\t{\n\t\tif (tsk-\u003eflags \u0026 PF_KTHREAD)\n\t\t\treturn NULL;\n\t\treturn tsk-\u003emm;\n\t}\n\nNote also ecard_task().  It runs with -\u003emm !\u003d NULL, but it\u0027s the kernel\nthread without PF_BORROWED_MM.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "7b34e4283c685f5cc6ba6d30e939906eee0d4bcf",
      "tree": "6822edd5c63db79e97b8c5379a18a058bc5405ff",
      "parents": [
        "3d749b9e676b26584a47e75c235aa6f69d0697ae"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "introduce PF_KTHREAD flag\n\nIntroduce the new PF_KTHREAD flag to mark the kernel threads.  It is set\nby INIT_TASK() and copied to the forked childs (we could set it in\nkthreadd() along with PF_NOFREEZE instead).\n\ndaemonize() was changed as well.  In that case testing of PF_KTHREAD is\nracy, but daemonize() is hopeless anyway.\n\nThis flag is cleared in do_execve(), before search_binary_handler().\nProbably not the best place, we can do this in exec_mmap() or in\nstart_thread(), or clear it along with PF_FORKNOEXEC.  But I think this\ndoesn\u0027t matter in practice, and if do_execve() fails kthread should die\nsoon.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "3d749b9e676b26584a47e75c235aa6f69d0697ae",
      "tree": "2db2dab84cde07c4872ac5e8d4078f2a3fc4271d",
      "parents": [
        "364d3c13c17f45da6d638011078d4c4d3070d719"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "ptrace: simplify ptrace_stop()-\u003esigkill_pending() path\n\n1. SIGKILL can\u0027t be blocked, remove this check from sigkill_pending().\n\n2. When ptrace_stop() sees sigkill_pending() \u003d\u003d T, it can just return.\n   Kill \"int killed\" and simplify the code. This also is more correct,\n   the tracer shouldn\u0027t see us in TASK_TRACED if we are not going to\n   stop.\n\nI strongly believe this code needs further changes.  We should do the \"was\nthis task killed\" check unconditionally, currently it depends on\narch_ptrace_stop_needed().  On the other hand, sigkill_pending() isn\u0027t\nvery clever.  If the task was killed tkill(SIGKILL), the signal can be\nalready dequeued if the caller is do_exit().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "364d3c13c17f45da6d638011078d4c4d3070d719",
      "tree": "2e6215dd458010cd92786ac7d67053c5d5171c74",
      "parents": [
        "f22ab814a24e654b1de24db0c5f8b57b5ab2026a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "ptrace: give more respect to SIGKILL\n\nptrace_stop() has some complicated checks to prevent the scheduling in the\nTASK_TRACED state with the pending SIGKILL, but these checks are racy, and\nthey depend on arch_ptrace_stop_needed().\n\nThis patch assumes that the traced task should die asap if it was killed by\nSIGKILL, in that case schedule()-\u003esignal_pending_state() has no reason to\nignore the TASK_WAKEKILL part of TASK_TRACED, and we can kill this nasty\nspecial case.\n\nNote: do_exit()-\u003eptrace_notify() is special, the killed task can already\ndequeue SIGKILL at this point. Another indication that fatal_signal_pending()\nis not exactly right.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\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": "f22ab814a24e654b1de24db0c5f8b57b5ab2026a",
      "tree": "827f3fe1c94ba9cfd180f199ea6d2dc2dfa885df",
      "parents": [
        "bc64efd220dcd4449aef8dd2564d73127b583b09"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:47:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "include/asm/ptrace.h userspace headers cleanup\n\nThis patch contains the following cleanups for the asm/ptrace.h\nuserspace headers:\n\n- include/asm-generic/Kbuild.asm already lists ptrace.h, remove\n  the superfluous listings in the Kbuild files of the following\n  architectures:\n  - cris\n  - frv\n  - powerpc\n  - x86\n- don\u0027t expose function prototypes and macros to userspace:\n  - arm\n  - blackfin\n  - cris\n  - mn10300\n  - parisc\n- remove #ifdef CONFIG_\u0027s around #define\u0027s:\n  - blackfin\n  - m68knommu\n- sh: AFAIK __SH5__ should work in both kernel and userspace,\n      no need to leak CONFIG_SUPERH64 to userspace\n- xtensa: cosmetical change to remove empty\n            #ifndef __ASSEMBLY__ #else #endif\n          from the userspace headers\n\nNot changed by this patch is the fact that the following architectures\nhave a different struct pt_regs depending on CONFIG_ variables:\n- h8300\n- m68knommu\n- mips\n\nThis does not work in userspace.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc64efd220dcd4449aef8dd2564d73127b583b09",
      "tree": "21739809b2ab9b13677cae99f175c3983114abc6",
      "parents": [
        "d8878ba3f05ae5bbfad5a6e72e5121c0ea35f989"
      ],
      "author": {
        "name": "Gustavo Fernando Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Fri Jul 25 01:47:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "kernel/signal.c: change vars pid and tgid types to pid_t\n\nChange the type of pid and tgid variables from int to the POSIX type\npid_t.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "d8878ba3f05ae5bbfad5a6e72e5121c0ea35f989",
      "tree": "31fbf7bd9605c103d8ef9e538beb54da8df04540",
      "parents": [
        "e4901f92a8dbe843e76651a50f7a2a6dd3d53474"
      ],
      "author": {
        "name": "Michael Kerrisk",
        "email": "mtk.manpages@googlemail.com",
        "time": "Fri Jul 25 01:47:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:39 2008 -0700"
      },
      "message": "signals: make siginfo_t si_utime + si_sstime report times in USER_HZ, not HZ\n\nIn the switch to configurable HZ in 2.6, the treatment of the si_utime and\nsi_stime fields that are exposed to userland via the siginfo structure\nlooks to have been botched.  As things stand, these fields report times in\nunits of HZ, so that userland gets information that varies depending on\nthe HZ that the kernel was configured with.  This patch changes the\nreported values to use USER_HZ units.\n\nSigned-off-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "e4901f92a8dbe843e76651a50f7a2a6dd3d53474",
      "tree": "4cfd5edd17fcf1fe5e4372611c561928a99107d0",
      "parents": [
        "2b201a9eddf509e8e935b45e573648e36f4b623f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "coredump: zap_threads: comments \u0026\u0026 use while_each_thread()\n\nNo changes in fs/exec.o\n\nThe for_each_process() loop in zap_threads() is very subtle, it is not\nclear why we don\u0027t race with fork/exit/exec.  Add the fat comment.\n\nAlso, change the code to use while_each_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "2b201a9eddf509e8e935b45e573648e36f4b623f",
      "tree": "84cbb34667bcde5566e5c3d127c9089bb9792dab",
      "parents": [
        "92413d771e7123304fb4b9efd2a00cccc946e383"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "signals: do_signal_stop: kill the SIGNAL_UNKILLABLE check\n\nfae5fa44f1fd079ffbed8e0add929dd7bbd1347f changed do_signal_stop() to check\nSIGNAL_UNKILLABLE, this wasn\u0027t needed.  If signal_group_exit() \u003d\u003d F, the\nsignal sent to SIGNAL_UNKILLABLE task must be already filtered out by the\ncaller, get_signal_to_deliver().  And if signal_group_exit() \u003d\u003d T we are\nnot going to stop.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "92413d771e7123304fb4b9efd2a00cccc946e383",
      "tree": "c973360a9bec6c965b9f4b41923357feec14aa3a",
      "parents": [
        "3854a771821c970065e3203a0b40ddc4101538cc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "signals: dequeue_signal: don\u0027t check SIGNAL_GROUP_EXIT when setting SIGNAL_STOP_DEQUEUED\n\ndequeue_signal() checks SIGNAL_GROUP_EXIT before setting\nSIGNAL_STOP_DEQUEUED.  This was added by\n788e05a67c343fa22f2ae1d3ca264e7f15c25eaf a long ago to avoid the\ncoredump/SIGSTOP race.\n\nSince then the related code was changed, and now this subtle check is both\nincomplete and unneeded at the same time.  It is incomplete because\nnowadays exec() doesn\u0027t set SIGNAL_GROUP_EXIT, so in fact we should check\nsignal_group_exit() to avoid a similar race.  Fortunately, we doesn\u0027t need\nthe check at all.  The only function which relies on SIGNAL_STOP_DEQUEUED\nis do_signal_stop(), and it ignores this flag if signal_group_exit() \u003d\u003d T,\nthis covers the SIGNAL_GROUP_EXIT case.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "3854a771821c970065e3203a0b40ddc4101538cc",
      "tree": "b6f56b8d426c4a9682dfc8605a08a5c60f96a599",
      "parents": [
        "100360f03077663b7bef3af44805b6cf700c3bee"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "__exit_signal: don\u0027t take rcu lock\n\nThere is no reason for rcu_read_lock() in __exit_signal().  tsk-\u003esighand\ncan only be changed if tsk does exec, obviously this is not possible.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "100360f03077663b7bef3af44805b6cf700c3bee",
      "tree": "338cedfd71101fdaeb317fc0692d1bf93bd3a1a7",
      "parents": [
        "d4434207616980885205c605697868c0f07e4378"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "signals: change collect_signal() to return void\n\nWith the recent changes collect_signal() always returns true.  Change it\nto return void and update the single caller.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4434207616980885205c605697868c0f07e4378",
      "tree": "82415d69b92557e09d57f42c49aba05ef4775a89",
      "parents": [
        "6715ca451cfff1c9ce4b33ad9918a1dacf43997c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "signals: collect_signal: simplify the \"still_pending\" logic\n\nFactor out sigdelset() calls and remove the \"still_pending\" variable.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "6715ca451cfff1c9ce4b33ad9918a1dacf43997c",
      "tree": "a66cdfd7026e7ad40ad0675a35ff35886216ed5f",
      "parents": [
        "96347e7759e2e433c427defa0fa1adfc8cce6226"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "signals: collect_signal: remove the unneeded sigismember() check\n\ncollect_signal() checks sigismember(\u0026list-\u003esignal, sig), this is not\nneeded.  This \"sig\" was just found by next_signal(), so it must be valid.\n\nWe have a (completely broken) call to -\u003enotifier in between, but it must\nnot play with sigpending-\u003esignal bits or unlock -\u003esiglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "96347e7759e2e433c427defa0fa1adfc8cce6226",
      "tree": "0b78316c887be06b269288d7306d6cac038fe644",
      "parents": [
        "4b7a1304267bff68260ae861784b27130e805be3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "posix timers: release_posix_timer: kill the bogus put_task_struct(-\u003eit_process);\n\nrelease_posix_timer() can\u0027t be called with -\u003eit_process !\u003d NULL.  Once\nsys_timer_create() sets -\u003eit_process it must not call\nrelease_posix_timer(), otherwise we can race with another thread doing\nsys_timer_delete(), this timer is visible to idr_find() and unlocked.\n\nThe same is true for two other callers (actually, for any possible\ncaller), sys_timer_delete() and itimer_delete().  They must clear\n-\u003eit_process before unlock_timer() + release_posix_timer().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "4b7a1304267bff68260ae861784b27130e805be3",
      "tree": "65065cc702a9d73fba4a85d0bdab5ed326a5b479",
      "parents": [
        "da5ef6bb96158b0fc0d808704237a453af449124"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "posix timers: timer_delete: remove the bogus \"-\u003eit_process !\u003d NULL\" check\n\nsys_timer_delete() and itimer_delete() check \"timer-\u003eit_process !\u003d NULL\",\nthis looks completely bogus.  -\u003eit_process \u003d\u003d NULL means that this timer\nis already under destruction or it is not fully initialized, this must not\nhappen.\n\n\tsys_timer_delete: the timer is locked, and lock_timer() can\u0027t succeed\n\tif -\u003eit_process \u003d\u003d NULL.\n\n\titimer_delete: it is called by exit_itimers() when there are no other\n\tthreads which can play with signal_struct-\u003eposix_timers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "da5ef6bb96158b0fc0d808704237a453af449124",
      "tree": "a63113cc3f60c2a6916697bbb06d3c677fa7c121",
      "parents": [
        "02412483777651a26b19a75e49c2a451a174ca9c"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Jul 25 01:47:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "cpuset: two minor code-cleanups\n\nIn cpuset_update_task_memory_state() local variable struct task_struct\n*tsk \u003d current;\n\nAnd local variable tsk is used 14 times and statement task_cs(tsk) is used\ntwice in this function.  So using task_cs(tsk) instead of task_cs(current)\nis better for readability.\n\nAnd \"(struct cgroup_scanner *)\u0026scan\" is not good for readability also.\n(and \"container_of\" is used in cpuset_do_move_task(), not\n\"(cpuset_hotplug_scanner *)scan\")\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02412483777651a26b19a75e49c2a451a174ca9c",
      "tree": "2289c80253b5e6be9b3fe3635e919bbe7a3bd03d",
      "parents": [
        "489a5393a20dcbf91104052120eb2eff8791b61b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Jul 25 01:47:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "cpuset: code-cleanup for started_after\n\ncgroup(cgroup_scan_tasks) will initialize heap-\u003egt for us.  This patch\nremoves started_after() and its helper-function.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "489a5393a20dcbf91104052120eb2eff8791b61b",
      "tree": "63ed72ce1a7a5e4c5d361e8d1c7a876183d8bbf9",
      "parents": [
        "c372e817afc629fea9ff6321313325ed0b4a855b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Jul 25 01:47:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "cpuset: don\u0027t pass empty cpumasks to partition_sched_domains()\n\nI create lots of empty cpusets(empty cpumasks) and turn off the\n\"sched_load_balance\" in top cpuset.\n\nI found that all these empty cpumasks are passed to\npartition_sched_domains() in rebuild_sched_domains(), it\u0027s very\ntime-consuming for partition_sched_domains() and it\u0027s not need.\n\nIt also reduce memory consumed and some works in rebuild_sched_domains()\ntoo.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c372e817afc629fea9ff6321313325ed0b4a855b",
      "tree": "931188486a41a7923e4eb9b658a272b256b3c048",
      "parents": [
        "f9b4fb8dabf38fb456c97f01aace07cb6e7c1723"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jul 25 01:47:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "cpuset: avoid unnecessary sched domains rebuilding\n\nWhen changing \u0027sched_relax_domain_level\u0027, don\u0027t rebuild sched domains if\n\u0027cpus\u0027 is empty or \u0027sched_load_balance\u0027 is not set.\n\nAlso make the comments of rebuild_sched_domains() more readable.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: 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": "f9b4fb8dabf38fb456c97f01aace07cb6e7c1723",
      "tree": "07fbf909044858d6c50b4098f94c8f084df3924c",
      "parents": [
        "0b2f630a28d53b5a2082a5275bc3334b10373508"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Jul 25 01:47:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "cpusets: update task\u0027s cpus_allowed and mems_allowed after CPU/NODE offline/online\n\nThe bug is that a task may run on the cpu/node which is not in its\ncpuset.cpus/ cpuset.mems.\n\nIt can be reproduced by the following commands:\n-----------------------------------\n# mkdir /dev/cpuset\n# mount -t cpuset xxx /dev/cpuset\n# mkdir /dev/cpuset/0\n# echo 0-1 \u003e /dev/cpuset/0/cpus\n# echo 0 \u003e /dev/cpuset/0/mems\n# echo $$ \u003e /dev/cpuset/0/tasks\n# echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n# echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n-----------------------------------\n\nThere is only CPU0 in cpuset.cpus, but the task in this cpuset runs on\nboth CPU0 and CPU1.\n\nIt is because the task\u0027s cpu_allowed didn\u0027t get updated after we did CPU\noffline/online manipulation.  Similar for mem_allowed.\n\nThis patch fixes this bug expect for root cpuset.  Because there is a\nproblem about root cpuset, in that whether it is necessary to update all\nthe tasks in root cpuset or not after cpu/node offline/online.\n\nIf updating, some kernel threads which is bound into a specified cpu will\nbe unbound.\n\nIf not updating, there is a bug in root cpuset.  This bug is also caused\nby offline/online manipulation.  For example, there is a dual-cpu machine.\n we create a sub cpuset in root cpuset and assign 1 to its cpus.  And then\nwe attach some tasks into this sub cpuset.  After this, we offline CPU1.\nNow, the tasks in this new cpuset are moved into root cpuset automatically\nbecause there is no cpu in sub cpuset.  Then we online CPU1, we find all\nthe tasks which doesn\u0027t belong to root cpuset originally just run on CPU0.\n\nMaybe we need to add a flag in the task_struct to mark which task can\u0027t be\nunbound?\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@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": "0b2f630a28d53b5a2082a5275bc3334b10373508",
      "tree": "24f7aa54cedcf941b89f59c964873f3034e76b23",
      "parents": [
        "628f42355389cfb596ca3a5a5f64fb9054a2a06a"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Jul 25 01:47:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "cpusets: restructure the function update_cpumask() and update_nodemask()\n\nExtract two functions from update_cpumask() and update_nodemask().They\nwill be used later for updating tasks\u0027 cpus_allowed and mems_allowed after\nCPU/NODE offline/online.\n\n[lizf@cn.fujitsu.com: build fix]\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: David Rientjes \u003crientjes@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": "628f42355389cfb596ca3a5a5f64fb9054a2a06a",
      "tree": "a1a19788e554f4345f80ae835edcb5ad2402533a",
      "parents": [
        "12b9804419cfb1c1bdac413f6c373af3b88d154b"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: limit change shrink usage\n\nShrinking memory usage at limit change.\n\n[akpm@linux-foundation.org: coding-style fixes]\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "12b9804419cfb1c1bdac413f6c373af3b88d154b",
      "tree": "eff535da51774e53395a9fec0418bc5332009d3e",
      "parents": [
        "cede86acd8bd5d2205dec28db8ac86410a3a19e8"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "res_counter: limit change support ebusy\n\nAdd an interface to set limit.  This is necessary to memory resource\ncontroller because it shrinks usage at set limit.\n\nOther controllers may not need this interface to shrink usage because\nshrinking is not necessary or impossible.\n\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "cede86acd8bd5d2205dec28db8ac86410a3a19e8",
      "tree": "67ad2d42cadee0b6f9a4de21e06602faae8d8604",
      "parents": [
        "accf163e6ab729f1fc5fffaa0310e498270bf4e7"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jul 25 01:47:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: clean up checking of the disabled flag\n\nThose checks are unnecessary, because when the subsystem is disabled\nit can\u0027t be mounted, so those functions won\u0027t get called.\n\nThe check is needed in functions which will be called in other places\nexcept cgroup.\n\n[hugh@veritas.com: further checking of disabled flag]\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "accf163e6ab729f1fc5fffaa0310e498270bf4e7",
      "tree": "798d5c97aa10bd26018fb1175a176c9d57560a39",
      "parents": [
        "b76734e5e34e1889ab9fc5f3756570b1129f0f50"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: remove a redundant check\n\nBecause of remove refcnt patch, it\u0027s very rare case to that\nmem_cgroup_charge_common() is called against a page which is accounted.\n\nmem_cgroup_charge_common() is called when.\n 1. a page is added into file cache.\n 2. an anon page is _newly_ mapped.\n\nA racy case is that a newly-swapped-in anonymous page is referred from\nprural threads in do_swap_page() at the same time.\n(a page is not Locked when mem_cgroup_charge() is called from do_swap_page.)\n\nAnother case is shmem. It charges its page before calling add_to_page_cache().\nThen, mem_cgroup_charge_cache() is called twice. This case is handled in\nmem_cgroup_cache_charge(). But this check may be too hacky...\n\nSigned-off-by : KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@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": "b76734e5e34e1889ab9fc5f3756570b1129f0f50",
      "tree": "9929c25da8b9c29fcb0c5394023f66b7668cdfa1",
      "parents": [
        "c9b0ed51483cc2fc42bb801b6675c4231b0e4634"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: add hints for branch\n\nShowing brach direction for obvious conditions.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@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": "c9b0ed51483cc2fc42bb801b6675c4231b0e4634",
      "tree": "1d322b4bfcaad3296752f6efcab918d1b13b50a3",
      "parents": [
        "69029cd550284e32de13d6dd2f77b723c8a0e444"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: helper function for relcaim from shmem.\n\nA new call, mem_cgroup_shrink_usage() is added for shmem handling and\nrelacing non-standard usage of mem_cgroup_charge/uncharge.\n\nNow, shmem calls mem_cgroup_charge() just for reclaim some pages from\nmem_cgroup.  In general, shmem is used by some process group and not for\nglobal resource (like file caches).  So, it\u0027s reasonable to reclaim pages\nfrom mem_cgroup where shmem is mainly used.\n\n[hugh@veritas.com: shmem_getpage release page sooner]\n[hugh@veritas.com: mem_cgroup_shrink_usage css_put]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69029cd550284e32de13d6dd2f77b723c8a0e444",
      "tree": "b57b87e5025b6c01722f39302cb98d0dfcd58940",
      "parents": [
        "e8589cc189f96b87348ae83ea4db38eaac624135"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: remove refcnt from page_cgroup\n\nmemcg: performance improvements\n\nPatch Description\n 1/5 ... remove refcnt fron page_cgroup patch (shmem handling is fixed)\n 2/5 ... swapcache handling patch\n 3/5 ... add helper function for shmem\u0027s memory reclaim patch\n 4/5 ... optimize by likely/unlikely ppatch\n 5/5 ... remove redundunt check patch (shmem handling is fixed.)\n\nUnix bench result.\n\n\u003d\u003d 2.6.26-rc2-mm1 + memory resource controller\nExecl Throughput                           2915.4 lps   (29.6 secs, 3 samples)\nC Compiler Throughput                      1019.3 lpm   (60.0 secs, 3 samples)\nShell Scripts (1 concurrent)               5796.0 lpm   (60.0 secs, 3 samples)\nShell Scripts (8 concurrent)               1097.7 lpm   (60.0 secs, 3 samples)\nShell Scripts (16 concurrent)               565.3 lpm   (60.0 secs, 3 samples)\nFile Read 1024 bufsize 2000 maxblocks    1022128.0 KBps  (30.0 secs, 3 samples)\nFile Write 1024 bufsize 2000 maxblocks   544057.0 KBps  (30.0 secs, 3 samples)\nFile Copy 1024 bufsize 2000 maxblocks    346481.0 KBps  (30.0 secs, 3 samples)\nFile Read 256 bufsize 500 maxblocks      319325.0 KBps  (30.0 secs, 3 samples)\nFile Write 256 bufsize 500 maxblocks     148788.0 KBps  (30.0 secs, 3 samples)\nFile Copy 256 bufsize 500 maxblocks       99051.0 KBps  (30.0 secs, 3 samples)\nFile Read 4096 bufsize 8000 maxblocks    2058917.0 KBps  (30.0 secs, 3 samples)\nFile Write 4096 bufsize 8000 maxblocks   1606109.0 KBps  (30.0 secs, 3 samples)\nFile Copy 4096 bufsize 8000 maxblocks    854789.0 KBps  (30.0 secs, 3 samples)\nDc: sqrt(2) to 99 decimal places         126145.2 lpm   (30.0 secs, 3 samples)\n\n                     INDEX VALUES\nTEST                                        BASELINE     RESULT      INDEX\n\nExecl Throughput                                43.0     2915.4      678.0\nFile Copy 1024 bufsize 2000 maxblocks         3960.0   346481.0      875.0\nFile Copy 256 bufsize 500 maxblocks           1655.0    99051.0      598.5\nFile Copy 4096 bufsize 8000 maxblocks         5800.0   854789.0     1473.8\nShell Scripts (8 concurrent)                     6.0     1097.7     1829.5\n                                                                 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n     FINAL SCORE                                                     991.3\n\n\u003d\u003d 2.6.26-rc2-mm1 + this set \u003d\u003d\nExecl Throughput                           3012.9 lps   (29.9 secs, 3 samples)\nC Compiler Throughput                       981.0 lpm   (60.0 secs, 3 samples)\nShell Scripts (1 concurrent)               5872.0 lpm   (60.0 secs, 3 samples)\nShell Scripts (8 concurrent)               1120.3 lpm   (60.0 secs, 3 samples)\nShell Scripts (16 concurrent)               578.0 lpm   (60.0 secs, 3 samples)\nFile Read 1024 bufsize 2000 maxblocks    1003993.0 KBps  (30.0 secs, 3 samples)\nFile Write 1024 bufsize 2000 maxblocks   550452.0 KBps  (30.0 secs, 3 samples)\nFile Copy 1024 bufsize 2000 maxblocks    347159.0 KBps  (30.0 secs, 3 samples)\nFile Read 256 bufsize 500 maxblocks      314644.0 KBps  (30.0 secs, 3 samples)\nFile Write 256 bufsize 500 maxblocks     151852.0 KBps  (30.0 secs, 3 samples)\nFile Copy 256 bufsize 500 maxblocks      101000.0 KBps  (30.0 secs, 3 samples)\nFile Read 4096 bufsize 8000 maxblocks    2033256.0 KBps  (30.0 secs, 3 samples)\nFile Write 4096 bufsize 8000 maxblocks   1611814.0 KBps  (30.0 secs, 3 samples)\nFile Copy 4096 bufsize 8000 maxblocks    847979.0 KBps  (30.0 secs, 3 samples)\nDc: sqrt(2) to 99 decimal places         128148.7 lpm   (30.0 secs, 3 samples)\n\n                     INDEX VALUES\nTEST                                        BASELINE     RESULT      INDEX\n\nExecl Throughput                                43.0     3012.9      700.7\nFile Copy 1024 bufsize 2000 maxblocks         3960.0   347159.0      876.7\nFile Copy 256 bufsize 500 maxblocks           1655.0   101000.0      610.3\nFile Copy 4096 bufsize 8000 maxblocks         5800.0   847979.0     1462.0\nShell Scripts (8 concurrent)                     6.0     1120.3     1867.2\n                                                                 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n     FINAL SCORE                                                    1004.6\n\nThis patch:\n\nRemove refcnt from page_cgroup().\n\nAfter this,\n\n * A page is charged only when !page_mapped() \u0026\u0026 no page_cgroup is assigned.\n\t* Anon page is newly mapped.\n\t* File page is added to mapping-\u003etree.\n\n * A page is uncharged only when\n\t* Anon page is fully unmapped.\n\t* File page is removed from LRU.\n\nThere is no change in behavior from user\u0027s view.\n\nThis patch also removes unnecessary calls in rmap.c which was used only for\nrefcnt mangement.\n\n[akpm@linux-foundation.org: fix warning]\n[hugh@veritas.com: fix shmem_unuse_inode charging]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8589cc189f96b87348ae83ea4db38eaac624135",
      "tree": "6693422dc81e6da78c4ad892b0d326fb7f946dda",
      "parents": [
        "508b7be0a5b06b64203512ed9b34191cddc83f56"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: better migration handling\n\nThis patch changes page migration under memory controller to use a\ndifferent algorithm.  (thanks to Christoph for new idea.)\n\nBefore:\n - page_cgroup is migrated from an old page to a new page.\nAfter:\n - a new page is accounted , no reuse of page_cgroup.\n\nPros:\n\n - We can avoid compliated lock depndencies and races in migration.\n\nCons:\n\n - new param to mem_cgroup_charge_common().\n\n - mem_cgroup_getref() is added for handling ref_cnt ping-pong.\n\nThis version simplifies complicated lock dependency in page migraiton\nunder memory resource controller.\n\n  new refcnt sequence is following.\n\na mapped page:\n  prepage_migration() ..... +1 to NEW page\n  try_to_unmap()      ..... all refs to OLD page is gone.\n  move_pages()        ..... +1 to NEW page if page cache.\n  remap...            ..... all refs from *map* is added to NEW one.\n  end_migration()     ..... -1 to New page.\n\n  page\u0027s mapcount + (page_is_cache) refs are added to NEW one.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "508b7be0a5b06b64203512ed9b34191cddc83f56",
      "tree": "48b1be978a74d7c2b333efe8a2d1a1187bfe67f0",
      "parents": [
        "a181b0e888a1d917edcab57cd73ccf7d8e75a46c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jul 25 01:47:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:37 2008 -0700"
      },
      "message": "memcg: avoid unnecessary initialization\n\n* remove over-killing initialization (in fast path)\n* makeing the condition for PAGE_CGROUP_FLAG_ACTIVE be more obvious.\n\nSigned-off-by: KAMEAZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "a181b0e888a1d917edcab57cd73ccf7d8e75a46c"
}
