)]}'
{
  "log": [
    {
      "commit": "e42d98ebe7d754a2c9fbccd6186721d3ca8679f6",
      "tree": "eed734672410f2eb8fab07fbd14f88bfaf8a882f",
      "parents": [
        "ce2d52cc1364a22fc1a161781e60ee3cbb499a6d"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu May 31 16:26:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "rapidio: add DMA engine support for RIO data transfers\n\nAdds DMA Engine framework support into RapidIO subsystem.\n\nUses DMA Engine DMA_SLAVE interface to generate data transfers to/from\nremote RapidIO target devices.\n\nIntroduces RapidIO-specific wrapper for prep_slave_sg() interface with an\nextra parameter to pass target specific information.\n\nUses scatterlist to describe local data buffer.  Address flat data buffer\non a remote side.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Vinod Koul \u003cvinod.koul@linux.intel.com\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce2d52cc1364a22fc1a161781e60ee3cbb499a6d",
      "tree": "f21a7a5ddfdfc0a470304268928c047399e71c7a",
      "parents": [
        "7820b0715b6fb1378fab41b27fb7aa3950852cb7"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: add rbtree node caching support\n\nWhen I wrote the first patch that added the rbtree support for message\nqueue insertion, it sped up the case where the queue was very full\ndrastically from the original code.  It, however, slowed down the case\nwhere the queue was empty (not drastically though).\n\nThis patch caches the last freed rbtree node struct so we can quickly\nreuse it when we get a new message.  This is the common path for any queue\nthat very frequently goes from 0 to 1 then back to 0 messages in queue.\n\nAndrew Morton didn\u0027t like that we were doing a GFP_ATOMIC allocation in\nmsg_insert, so this patch attempts to speculatively allocate a new node\nstruct outside of the spin lock when we know we need it, but will still\nfall back to a GFP_ATOMIC allocation if it has to.\n\nOnce I added the caching, the necessary various ret \u003d ; spin_unlock\ngyrations in mq_timedsend were getting pretty ugly, so this also slightly\nrefactors that function to streamline the flow of the code and the\nfunction exit.\n\nFinally, while working on getting performance back I made sure that all of\nthe node structs were always fully initialized when they were first used,\nrendering the use of kzalloc unnecessary and a waste of CPU cycles.\n\nThe net result of all of this is:\n\n1) We will avoid a GFP_ATOMIC allocation when possible, but fall back\n   on it when necessary.\n\n2) We will speculatively allocate a node struct using GFP_KERNEL if our\n   cache is empty (and save the struct to our cache if it\u0027s still empty\n   after we have obtained the spin lock).\n\n3) The performance of the common queue empty case has significantly\n   improved and is now much more in line with the older performance for\n   this case.\n\nThe performance changes are:\n\n            Old mqueue      new mqueue      new mqueue + caching\nqueue empty\nsend/recv   305/288ns       349/318ns       310/322ns\n\nI don\u0027t think we\u0027ll ever be able to get the recv performance back, but\nthat\u0027s because the old recv performance was a direct result and\nconsequence of the old methods abysmal send performance.  The recv path\nsimply must do more so that the send path does not incur such a penalty\nunder higher queue depths.\n\nAs it turns out, the new caching code also sped up the various queue full\ncases relative to my last patch.  That could be because of the difference\nbetween the syscall path in 3.3.4-rc5 and 3.3.4-rc6, or because of the\nchange in code flow in the mq_timedsend routine.  Regardless, I\u0027ll take\nit.  It wasn\u0027t huge, and I *would* say it was within the margin for error,\nbut after many repeated runs what I\u0027m seeing is that the old numbers trend\nslightly higher (about 10 to 20ns depending on which test is the one\nrunning).\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7820b0715b6fb1378fab41b27fb7aa3950852cb7",
      "tree": "f5720d49643717253c6c427fab45300ba4818bdf",
      "parents": [
        "113289cc086f80f28acd06f160a7c6423cdd4191"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "tools/selftests: add mq_perf_tests\n\nAdd the mq_perf_tests tool I used when creating my mq performance patch.\nAlso add a local .gitignore to keep the binaries from showing up in git\nstatus output.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "113289cc086f80f28acd06f160a7c6423cdd4191",
      "tree": "4a50ff35f9cc0b320985a76b5f2e8313635b0f81",
      "parents": [
        "2c12ea498f349207c28840c0ed9654321aab7720"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: strengthen checks on mqueue creation\n\nWe already check the mq attr struct if it\u0027s passed in, but now that the\nadmin can set system wide defaults separate from maximums, it\u0027s actually\npossible to set the defaults to something that would overflow.  So, if\nthere is no attr struct passed in to the open call, check the default\nvalues.\n\nWhile we are at it, simplify mq_attr_ok() by making it return 0 or an\nerror condition, so that way if we add more tests to it later, we have the\noption of what error should be returned instead of the calling location\nhaving to pick a possibly inaccurate error code.\n\n[akpm@linux-foundation.org: s/ENOMEM/EOVERFLOW/]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c12ea498f349207c28840c0ed9654321aab7720",
      "tree": "ef0f938e66a8a8b038e5c6be29e7f27294023c7e",
      "parents": [
        "d6629859b36d953a4b1369b749f178736911bf10"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: correct mq_attr_ok test\n\nWhile working on the other parts of the mqueue stuff, I noticed that the\ncalculation for overflow in mq_attr_ok didn\u0027t actually match reality (this\nis especially true since my last patch which changed how we account memory\nslightly).\n\nIn particular, we used to test for overflow using:\n  msgs * msgsize + msgs * sizeof(struct msg_msg *)\n\nThat was never really correct because each message we allocate via\nload_msg() is actually a struct msg_msg followed by the data for the\nmessage (and if struct msg_msg + data exceeds PAGE_SIZE we end up\nallocating struct msg_msgseg structs too, but accounting for them would\nget really tedious, so let\u0027s ignore those...they\u0027re only a pointer in size\nanyway).  This patch updates the calculation to be more accurate in\nregards to maximum possible memory consumption by the mqueue.\n\n[akpm@linux-foundation.org: add a local to simplify overflow-checking expression]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6629859b36d953a4b1369b749f178736911bf10",
      "tree": "154cfc0d8ff3b65f59b9052bcc41edaabf974063",
      "parents": [
        "50069a5851323ba5def0e414a21e234345016870"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: improve performance of send/recv\n\nThe existing implementation of the POSIX message queue send and recv\nfunctions is, well, abysmal.  Even worse than abysmal.  I submitted a\npatch to increase the maximum POSIX message queue limit to 65536 due to\ncustomer needs, however, upon looking over the send/recv implementation, I\nrealized that my customer needs help with that too even if they don\u0027t know\nit.  The basic problem is that, given the fairly typical use case scenario\nfor a large queue of queueing lots of messages all at the same priority (I\nverified with my customer that this is indeed what their app does), the\nmsg_insert routine is basically a frikkin\u0027 bubble sort.  I mean, whoa,\nthat\u0027s *so* middle school.\n\nOK, OK, to not slam the original author too much, I\u0027m sure they didn\u0027t\nenvision a queue depth of 50,000+ messages.  No one would think that\nmoving elements in an array, one at a time, and dereferencing each pointer\nin that array to check priority of the message being pointed too, again\none at a time, for 50,000+ times would be good.  So let\u0027s assume that, as\nis typical, the users have found a way to break our code simply by using\nit in a way we didn\u0027t envision.  Fair enough.\n\n\"So, just how broken is it?\", you ask.  I wondered the same thing, so I\nwrote an app to let me know.  It\u0027s my next patch.  It gave me some\ninteresting results.  Here\u0027s what it tested:\n\nInterference with other apps - In continuous mode, the app just sits there\nand hits a message queue forever, while you go do something productive on\nanother terminal using other CPUs.  You then measure how long it takes you\nto do that something productive.  Then you restart the app in fake\ncontinuous mode, and it sits in a tight loop on a CPU while you repeat\nyour tests.  The whole point of this is to keep one CPU tied up (so it\ncan\u0027t be used in your other work) but in one case tied up hitting the\nmqueue code so we can see the effect of walking that 65,528 element array\none pointer at a time on the global CPU cache.  If it\u0027s bad, then it will\nslow down your app on the other CPUs just by polluting cache mercilessly.\nIn the fake case, it will be in a tight loop, but not polluting cache.\nTesting the mqueue subsystem directly - Here we just run a number of tests\nto see how the mqueue subsystem performs under different conditions.  A\ncouple conditions are known to be worst case for the old system, and some\nroutines, so this tests all of them.\n\nSo, on to the results already:\n\nSubsystem/Test                  Old                         New\n\nTime to compile linux\nkernel (make -j12 on a\n6 core CPU)\n  Running mqueue test     user 49m10.744s             user 45m26.294s\n\t\t\t   sys  5m51.924s              sys  4m59.894s\n\t\t\t total 55m02.668s            total 50m26.188s\n\n  Running fake test       user 45m32.686s             user 45m18.552s\n                           sys  5m12.465s              sys  4m56.468s\n                         total 50m45.151s            total 50m15.020s\n\n  % slowdown from mqueue\n    cache thrashing            ~8%                         ~.5%\n\nAvg time to send/recv (in nanoseconds per message)\n  when queue empty            305/288                    349/318\n  when queue full (65528 messages)\n    constant priority      526589/823                    362/314\n    increasing priority    403105/916                    495/445\n    decreasing priority     73420/594                    482/409\n    random priority        280147/920                    546/436\n\nTime to fill/drain queue (65528 messages, in seconds)\n  constant priority         17.37/.12                    .13/.12\n  increasing priority        4.14/.14                    .21/.18\n  decreasing priority       12.93/.13                    .21/.18\n  random priority            8.88/.16                    .22/.17\n\nSo, I think the results speak for themselves.  It\u0027s possible this\nimplementation could be improved by cacheing at least one priority level\nin the node tree (that would bring the queue empty performance more in\nline with the old implementation), but this works and is *so* much better\nthan what we had, especially for the common case of a single priority in\nuse, that further refinements can be in follow on patches.\n\n[akpm@linux-foundation.org: fix typo in comment, remove stray semicolon]\n[levinsasha928@gmail.com: use correct gfp flags in msg_insert]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Sasha Levin \u003clevinsasha928@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": "50069a5851323ba5def0e414a21e234345016870",
      "tree": "b7a6af308f2416e0da77adc7b59bfa5e84d61989",
      "parents": [
        "cef0184c115e5e4e10498f6548d9526465e72478"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "selftests: add mq_open_tests\n\nAdd a directory to house POSIX message queue subsystem specific tests.\nAdd first test which checks the operation of mq_open() under various\ncorner conditions.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cef0184c115e5e4e10498f6548d9526465e72478",
      "tree": "752c4116e0f93328239db9ff2c2ed730fef3ce0e",
      "parents": [
        "fd1f87d24d492fda464bedf10a5dd5174ff9b065"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: separate mqueue default value from maximum value\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed\nmqueue default value when attr parameter is specified NULL from hard\ncoded value to fs.mqueue.{msg,msgsize}_max sysctl value.\n\nThis made large side effect.  When user need to use two mqueue\napplications 1) using !NULL attr parameter and it require big message\nsize and 2) using NULL attr parameter and only need small size message,\napp (1) require to raise fs.mqueue.msgsize_max and app (2) consume large\nmemory size even though it doesn\u0027t need.\n\nDoug Ledford propsed to switch back it to static hard coded value.\nHowever it also has a compatibility problem.  Some applications might\nstarted depend on the default value is tunable.\n\nThe solution is to separate default value from maximum value.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd1f87d24d492fda464bedf10a5dd5174ff9b065",
      "tree": "fe2de6c714277ee2ea739d1bfa81a0e539f0a46a",
      "parents": [
        "e6315bb154e778391ce64b194756bd3d108dadf6"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: don\u0027t use kmalloc with KMALLOC_MAX_SIZE\n\nKMALLOC_MAX_SIZE is not a good threshold.  It is extremely high and\nproblematic.  Unfortunately, some silly drivers depend on this and we\ncan\u0027t change it.  But any new code needn\u0027t use such extreme ugly high\norder allocations.  It brings us awful fragmentation issues and system\nslowdown.\n\nSigned-off-by: KOSAKI Motohiro \u003cmkosaki@jp.fujitsu.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6315bb154e778391ce64b194756bd3d108dadf6",
      "tree": "6b0df724ed5e52058f61261d93f807ea0ee77d11",
      "parents": [
        "5b5c4d1a1440e94994c73dddbad7be0676cd8b9a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: revert bump up DFLT_*MAX\n\nMqueue limitation is slightly naieve parameter likes other ipcs because\nunprivileged user can consume kernel memory by using ipcs.\n\nThus, too aggressive raise bring us security issue.  Example, current\nsetting allow evil unprivileged user use 256GB (\u003d 256 * 1024 * 1024*1024)\nand it\u0027s enough large to system will belome unresponsive.  Don\u0027t do that.\n\nInstead, every admin should adjust the knobs for their own systems.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b5c4d1a1440e94994c73dddbad7be0676cd8b9a",
      "tree": "fe00ef0f888fbfc40b7542fd8a66cf3368d3d2c7",
      "parents": [
        "02967ea08ede0f8cc7e0526aedffdae65a099b07"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: update maximums for the mqueue subsystem\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed the\nmaximum size of a message in a message queue from INT_MAX to 8192*128.\nUnfortunately, we had customers that relied on a size much larger than\n8192*128 on their production systems.  After reviewing POSIX, we found\nthat it is silent on the maximum message size.  We did find a couple other\nareas in which it was not silent.  Fix up the mqueue maximums so that the\ncustomer\u0027s system can continue to work, and document both the POSIX and\nreal world requirements in ipc_namespace.h so that we don\u0027t have this\nissue crop back up.\n\nAlso, commit 9cf18e1dd74cd0 (\"ipc: HARD_MSGMAX should be higher not lower\non 64bit\") fiddled with HARD_MSGMAX without realizing that the number was\nintentionally in place to limit the msg queue depth to one that was small\nenough to kmalloc an array of pointers (hence why we divided 128k by\nsizeof(long)).  If we wish to meet POSIX requirements, we have no choice\nbut to change our allocation to a vmalloc instead (at least for the large\nqueue size case).  With that, it\u0027s possible to increase our allowed\nmaximum to the POSIX requirements (or more if we choose).\n\n[sfr@canb.auug.org.au: using vmalloc requires including vmalloc.h]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02967ea08ede0f8cc7e0526aedffdae65a099b07",
      "tree": "da66e39cf3023f437f43db1f58d510c99b8478fd",
      "parents": [
        "858ee3784e8105467f1f3017f4ece51cb51d4830"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: enforce hard limits\n\nIn two places we don\u0027t enforce the hard limits for CAP_SYS_RESOURCE apps.\nIn preparation for making more reasonable hard limits, start enforcing\nthem even on CAP_SYS_RESOURCE.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "858ee3784e8105467f1f3017f4ece51cb51d4830",
      "tree": "c95f55ff8bd29be3a8648acc21118a47b07d117b",
      "parents": [
        "93e6f119c0ce8a1bba6e81dc8dd97d67be360844"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: switch back to using non-max values on create\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed\nhow we create a queue that does not include an attr struct passed to\nopen so that it creates the queue with whatever the maximum values are.\nHowever, if the admin has set the maximums to allow flexibility in\ncreating a queue (aka, both a large size and large queue are allowed,\nbut combined they create a queue too large for the RLIMIT_MSGQUEUE of\nthe user), then attempts to create a queue without an attr struct will\nfail.  Switch back to using acceptable defaults regardless of what the\nmaximums are.\n\nNote: so far, we only know of a few applications that rely on this\nbehavior (specifically, set the maximums in /proc, then run the\napplication which calls mq_open() without passing in an attr struct, and\nthe application expects the newly created message queue to have the\nmaximum sizes that were set in /proc used on the mq_open() call, and all\nof those applications that we know of are actually part of regression\ntest suites that were coded to do something like this:\n\nfor size in 4096 65536 $((1024 * 1024)) $((16 * 1024 * 1024)); do\n\techo $size \u003e /proc/sys/fs/mqueue/msgsize_max\n\tmq_open || echo \"Error opening mq with size $size\"\ndone\n\nThese test suites that depend on any behavior like this are broken.  The\nconcept that programs should rely upon the system wide maximum in order\nto get their desired results instead of simply using a attr struct to\nspecify what they want is fundamentally unfriendly programming practice\nfor any multi-tasking OS.\n\nFixing this will break those few apps that we know of (and those app\nauthors recognize the brokenness of their code and the need to fix it).\nHowever, the following patch \"mqueue: separate mqueue default value\"\nallows a workaround in the form of new knobs for the default msg queue\ncreation parameters for any software out there that we don\u0027t already\nknow about that might rely on this behavior at the moment.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93e6f119c0ce8a1bba6e81dc8dd97d67be360844",
      "tree": "6d5131b4134d7aa6ba680a6a55f016bd6e03f319",
      "parents": [
        "29a5c67e7a78815fda0567a867adce467f6e6e5a"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: cleanup definition names and locations\n\nSince commit b231cca4381e (\"message queues: increase range limits\") on\nOct 18, 2008, calls to mq_open() that did not pass in an attribute\nstruct and expected to get default values for the size of the queue and\nthe max message size now get the system wide maximums instead of\nhardwired defaults like they used to get.\n\nThis was uncovered when one of the earlier patches in this patch set\nincreased the default system wide maximums at the same time it increased\nthe hard ceiling on the system wide maximums (a customer specifically\nneeded the hard ceiling brought back up, the new ceiling that commit\nb231cca4381e introduced was too low for their production systems).  By\nincreasing the default maximums and not realising they were tied to any\nattempt to create a message queue without an attribute struct, I had\ninadvertently made it such that all message queue creation attempts\nwithout an attribute struct were failing because the new default\nmaximums would create a queue that exceeded the default rlimit for\nmessage queue bytes.\n\nAs a result, the system wide defaults were brought back down to their\nprevious levels, and the system wide ceilings on the maximums were\nraised to meet the customer\u0027s needs.  However, the fact that the no\nattribute struct behavior of mq_open() could be broken by changing the\nsystem wide maximums for message queues was seen as fundamentally broken\nitself.  So we hardwired the no attribute case back like it used to be.\nBut, then we realized that on the very off chance that some piece of\nsoftware in the wild depended on that behavior, we could work around\nthat issue by adding two new knobs to /proc that allowed setting the\ndefaults for message queues created without an attr struct separately\nfrom the system wide maximums.\n\nWhat is not an option IMO is to leave the current behavior in place.  No\npiece of software should ever rely on setting the system wide maximums\nin order to get a desired message queue.  Such a reliance would be so\nfundamentally multitasking OS unfriendly as to not really be tolerable.\nFortunately, we don\u0027t know of any software in the wild that uses this\nexcept for a regression test program that caught the issue in the first\nplace.  If there is though, we have made accommodations with the two new\n/proc knobs (and that\u0027s all the accommodations such fundamentally broken\nsoftware can be allowed)..\n\nThis patch:\n\nThe various defines for minimums and maximums of the sysctl controllable\nmqueue values are scattered amongst different files and named\ninconsistently.  Move them all into ipc_namespace.h and make them have\nconsistent names.  Additionally, make the number of queues per namespace\nalso have a minimum and maximum and use the same sysctl function as the\nother two settable variables.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29a5c67e7a78815fda0567a867adce467f6e6e5a",
      "tree": "79033c85c4d2a4875e4b17e292f015495b97457b",
      "parents": [
        "e4cc2f873ad0833aa5c4aca56bebe15b9603a1e7"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Thu May 31 16:26:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "kexec: export kexec.h to user space\n\nAdd userspace definitions, guard all relevant kernel structures.  While at\nit document stuff and remove now useless userspace hint.\n\nIt is easy to add the relevant system call to respective libc\u0027s, but it\nseems pointless to have to duplicate the data structures.\n\nThis is based on the kexec-tools headers, with the exception of just using\nint on return (succes or failure) and using size_t instead of \u0027unsigned\nlong int\u0027 for the number of segments argument of kexec_load().\n\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Haren Myneni \u003chbabu@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4cc2f873ad0833aa5c4aca56bebe15b9603a1e7",
      "tree": "f649dffdeb819f64434362f93cb42a7506866751",
      "parents": [
        "2c922c51e6924298f8271d75732964f1ffdecaf2"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "kernel/cpu.c: document clear_tasks_mm_cpumask()\n\nAdd more comments on clear_tasks_mm_cpumask, plus adds a runtime check:\nthe function is only suitable for offlined CPUs, and if called\ninappropriately, the kernel should scream aloud.\n\n[akpm@linux-foundation.org: tweak comment: s/walks up/walks/, use 80 cols]\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c922c51e6924298f8271d75732964f1ffdecaf2",
      "tree": "7ce86f8702cdf9ad93ad37064654fa21a43f411b",
      "parents": [
        "137d1a26c842a384c98dd2a6a605014fddf5c777"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "um: properly check all process\u0027 threads for a live mm\n\nkill_off_processes() might miss a valid process, this is because checking\nfor process-\u003emm is not enough.  Process\u0027 main thread may exit or detach\nits mm via use_mm(), but other threads may still have a valid mm.\n\nTo catch this we use find_lock_task_mm(), which walks up all threads and\nreturns an appropriate task (with task lock held).\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "137d1a26c842a384c98dd2a6a605014fddf5c777",
      "tree": "615db05121d00f246e1aa5b461f173c54c5391dd",
      "parents": [
        "9bd0a077122a6b15069aab7a59c8f50f736fa1dd"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "um: fix possible race on task-\u003emm\n\nChecking for task-\u003emm is dangerous as -\u003emm might disappear (exit_mm()\nassigns NULL under task_lock(), so tasklist lock is not enough).\n\nWe can\u0027t use get_task_mm()/mmput() pair as mmput() might sleep, so let\u0027s\ntake the task lock while we care about its mm.\n\nNote that we should also use find_lock_task_mm() to check all process\u0027\nthreads for a valid mm, but for uml we\u0027ll do it in a separate patch.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bd0a077122a6b15069aab7a59c8f50f736fa1dd",
      "tree": "f76eefc0b3bdb46a01e394cecbf9ac42935bc4cc",
      "parents": [
        "af1be5a578a1ccc9961c55290f8c509a00a69036"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "um: should hold tasklist_lock while traversing processes\n\nTraversing the tasks requires holding tasklist_lock, otherwise it is\nunsafe.\n\np.s.  However, I\u0027m not sure that calling os_kill_ptraced_process() in the\natomic context is correct.  It seem to work, but please take a closer\nlook.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af1be5a578a1ccc9961c55290f8c509a00a69036",
      "tree": "f8659ba36228582a114c7809bdf580640eb626cf",
      "parents": [
        "2214f707de257c35773d5cd68cec9e31b91e01ca"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "blackfin: fix possible deadlock in decode_address()\n\nOleg Nesterov found an interesting deadlock possibility:\n\n\u003e sysrq_showregs_othercpus() does smp_call_function(showacpu)\n\u003e and showacpu() show_stack()-\u003edecode_address(). Now suppose that IPI\n\u003e interrupts the task holding read_lock(tasklist).\n\nTo fix this, blackfin should not grab the write_ variant of the\ntasklist lock, read_ one is enough.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2214f707de257c35773d5cd68cec9e31b91e01ca",
      "tree": "c25a6a2b3f83704fbf03efa6d6c5f8e6ee15c856",
      "parents": [
        "1198c8b9af611bb697d92259095d7cc20f5c961d"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "blackfin: a couple of task-\u003emm handling fixes\n\nThe patch fixes two problems:\n\n1. Working with task-\u003emm w/o getting mm or grabing the task lock is\n   dangerous as -\u003emm might disappear (exit_mm() assigns NULL under\n   task_lock(), so tasklist lock is not enough).\n\n   We can\u0027t use get_task_mm()/mmput() pair as mmput() might sleep,\n   so we have to take the task lock while handle its mm.\n\n2. Checking for process-\u003emm is not enough because process\u0027 main\n   thread may exit or detach its mm via use_mm(), but other threads\n   may still have a valid mm.\n\n   To catch this we use find_lock_task_mm(), which walks up all\n   threads and returns an appropriate task (with task lock held).\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1198c8b9af611bb697d92259095d7cc20f5c961d",
      "tree": "bfb72d1ba5f362aca38cf09857e3d9fcc05dd60a",
      "parents": [
        "73863ab028579ed98c4f1f36d016536b1b415344"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "sh: use clear_tasks_mm_cpumask()\n\nChecking for process-\u003emm is not enough because process\u0027 main thread may\nexit or detach its mm via use_mm(), but other threads may still have a\nvalid mm.\n\nTo fix this we would need to use find_lock_task_mm(), which would walk up\nall threads and returns an appropriate task (with task lock held).\n\nclear_tasks_mm_cpumask() has the issue fixed, so let\u0027s use it.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73863ab028579ed98c4f1f36d016536b1b415344",
      "tree": "8ad66593e4b2ebd7f32acdb2e53dc0bb8dd201f5",
      "parents": [
        "3eaa73bde2fb475b731a0fde7dd11c3ecfb8679c"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "powerpc: use clear_tasks_mm_cpumask()\n\nCurrent CPU hotplug code has some task-\u003emm handling issues:\n\n1. Working with task-\u003emm w/o getting mm or grabing the task lock is\n   dangerous as -\u003emm might disappear (exit_mm() assigns NULL under\n   task_lock(), so tasklist lock is not enough).\n\n   We can\u0027t use get_task_mm()/mmput() pair as mmput() might sleep,\n   so we must take the task lock while handle its mm.\n\n2. Checking for process-\u003emm is not enough because process\u0027 main\n   thread may exit or detach its mm via use_mm(), but other threads\n   may still have a valid mm.\n\n   To fix this we would need to use find_lock_task_mm(), which would\n   walk up all threads and returns an appropriate task (with task\n   lock held).\n\nclear_tasks_mm_cpumask() has all the issues fixed, so let\u0027s use it.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eaa73bde2fb475b731a0fde7dd11c3ecfb8679c",
      "tree": "23c087b9be927d334c3eb3b08f746a8675dae3b9",
      "parents": [
        "cb79295e20a8088a2fd6a9b3cb5f2d889ec36b4d"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "arm: use clear_tasks_mm_cpumask()\n\nChecking for process-\u003emm is not enough because process\u0027 main thread may\nexit or detach its mm via use_mm(), but other threads may still have a\nvalid mm.\n\nTo fix this we would need to use find_lock_task_mm(), which would walk up\nall threads and returns an appropriate task (with task lock held).\n\nclear_tasks_mm_cpumask() has this issue fixed, so let\u0027s use it.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Russell King \u003crmk@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": "cb79295e20a8088a2fd6a9b3cb5f2d889ec36b4d",
      "tree": "e749be4ebd059d9dd1ff109c1cecb7b63109d2e0",
      "parents": [
        "f7505d64f2db5da2d7d94873ddf2cd2524847061"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "cpu: introduce clear_tasks_mm_cpumask() helper\n\nMany architectures clear tasks\u0027 mm_cpumask like this:\n\n\tread_lock(\u0026tasklist_lock);\n\tfor_each_process(p) {\n\t\tif (p-\u003emm)\n\t\t\tcpumask_clear_cpu(cpu, mm_cpumask(p-\u003emm));\n\t}\n\tread_unlock(\u0026tasklist_lock);\n\nDepending on the context, the code above may have several problems,\nsuch as:\n\n1. Working with task-\u003emm w/o getting mm or grabing the task lock is\n   dangerous as -\u003emm might disappear (exit_mm() assigns NULL under\n   task_lock(), so tasklist lock is not enough).\n\n2. Checking for process-\u003emm is not enough because process\u0027 main\n   thread may exit or detach its mm via use_mm(), but other threads\n   may still have a valid mm.\n\nThis patch implements a small helper function that does things\ncorrectly, i.e.:\n\n1. We take the task\u0027s lock while whe handle its mm (we can\u0027t use\n   get_task_mm()/mmput() pair as mmput() might sleep);\n\n2. To catch exited main thread case, we use find_lock_task_mm(),\n   which walks up all threads and returns an appropriate task\n   (with task lock held).\n\nAlso, Per Peter Zijlstra\u0027s idea, now we don\u0027t grab tasklist_lock in\nthe new helper, instead we take the rcu read lock. We can do this\nbecause the function is called after the cpu is taken down and marked\noffline, so no new tasks will get this cpu set in their mm mask.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7505d64f2db5da2d7d94873ddf2cd2524847061",
      "tree": "a10aee9604306826816e8e5fc689201f49d7a6d0",
      "parents": [
        "bca15543736f9be6d84e0bbc262ea7069076b9e6"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "fork: call complete_vfork_done() after clearing child_tid and flushing rss-counters\n\nChild should wake up the parent from vfork() only after finishing all\noperations with shared mm.  There is no sense in using\nCLONE_CHILD_CLEARTID together with CLONE_VFORK, but it looks more accurate\nnow.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bca15543736f9be6d84e0bbc262ea7069076b9e6",
      "tree": "dbca9451c0478011b51a623b32f3b04305e75212",
      "parents": [
        "b1d4d9e0cbd0aecf40c3572e0c8f98de31b3b328"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc/smaps: show amount of nonlinear ptes in vma\n\nCurrently, nonlinear mappings can not be distinguished from ordinary\nmappings.  This patch adds into /proc/pid/smaps line \"Nonlinear: \u003csize\u003e\nkB\", where size is amount of nonlinear ptes in vma, this line appears only\nif VM_NONLINEAR is set.  This information may be useful not only for\ncheckpoint/restore project.\n\nRequested by Pavel Emelyanov.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\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": "b1d4d9e0cbd0aecf40c3572e0c8f98de31b3b328",
      "tree": "5b3dca11bdaa14ce3e34e86016f98634d56fef07",
      "parents": [
        "052fb0d635df5d49dfc85687d94e1a87bf09378d"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc/smaps: carefully handle migration entries\n\nCurrently smaps reports migration entries as \"swap\", as result \"swap\" can\nappears in shared mapping.\n\nThis patch converts migration entries into pages and handles them as usual.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\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": "052fb0d635df5d49dfc85687d94e1a87bf09378d",
      "tree": "2cde635970974b44a7363e5e940d38f20de46d39",
      "parents": [
        "715be1fce0d964aca15618b24f6f415f3cbd03c8"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: report file/anon bit in /proc/pid/pagemap\n\nThis is an implementation of Andrew\u0027s proposal to extend the pagemap file\nbits to report what is missing about tasks\u0027 working set.\n\nThe problem with the working set detection is multilateral.  In the criu\n(checkpoint/restore) project we dump the tasks\u0027 memory into image files\nand to do it properly we need to detect which pages inside mappings are\nreally in use.  The mincore syscall I though could help with this did not.\n First, it doesn\u0027t report swapped pages, thus we cannot find out which\nparts of anonymous mappings to dump.  Next, it does report pages from page\ncache as present even if they are not mapped, and it doesn\u0027t make that has\nnot been cow-ed.\n\nNote, that issue with swap pages is critical -- we must dump swap pages to\nimage file.  But the issues with file pages are optimization -- we can\ntake all file pages to image, this would be correct, but if we know that a\npage is not mapped or not cow-ed, we can remove them from dump file.  The\ndump would still be self-consistent, though significantly smaller in size\n(up to 10 times smaller on real apps).\n\nAndrew noticed, that the proc pagemap file solved 2 of 3 above issues --\nit reports whether a page is present or swapped and it doesn\u0027t report not\nmapped page cache pages.  But, it doesn\u0027t distinguish cow-ed file pages\nfrom not cow-ed.\n\nI would like to make the last unused bit in this file to report whether the\npage mapped into respective pte is PageAnon or not.\n\n[comment stolen from Pavel Emelyanov\u0027s v1 patch]\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "715be1fce0d964aca15618b24f6f415f3cbd03c8",
      "tree": "6bac84d87b61252ce109c361755109a91af009cc",
      "parents": [
        "af5e6171437c9d62d84459b24877c94c23782676"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu May 31 16:26:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "procfs: use more apprioriate types when dumping /proc/N/stat\n\n- use int fpr priority and nice, since task_nice()/task_prio() return that\n\n- field 24: get_mm_rss() returns unsigned long\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af5e6171437c9d62d84459b24877c94c23782676",
      "tree": "06ee8cef7f47a0f4facd84f7676c39001965e549",
      "parents": [
        "f05ed3f1abefd37c08fbf08c766d2abd40607777"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu May 31 16:26:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: pass \"fd\" by value in /proc/*/{fd,fdinfo} code\n\nPass \"fd\" directly, not via pointer -- one less memory read.\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": "f05ed3f1abefd37c08fbf08c766d2abd40607777",
      "tree": "f938f73f6f3ee4bab88ada21212371cd023eca63",
      "parents": [
        "2344bec788b097b2d1198758bd29c583812b864e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu May 31 16:26:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: don\u0027t do dummy rcu_read_lock/rcu_read_unlock on error path\n\nrcu_read_lock()/rcu_read_unlock() is nop for TINY_RCU, but is not a nop\nfor, say, PREEMPT_RCU.\n\nproc_fill_cache() is called without RCU lock, there is no need to\nlock/unlock on error path, simply jump out of the loop.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2344bec788b097b2d1198758bd29c583812b864e",
      "tree": "3ffcf64931b7935ee4e16b81fb6ec6b732436dfa",
      "parents": [
        "e7dcd9990e42ccfc798d4eb55e2dbf9d7d434c6b"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu May 31 16:26:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: use mm_access() instead of ptrace_may_access()\n\nmm_access() handles this much better, and avoids some race conditions.\n\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@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": "e7dcd9990e42ccfc798d4eb55e2dbf9d7d434c6b",
      "tree": "ab9d03a5caa1e3fa5b65a9614f699a05632d33c6",
      "parents": [
        "b409e578d9a4ec95913e06d8fea2a33f1754ea69"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu May 31 16:26:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "proc: remove mm_for_maps()\n\nmm_for_maps() is a simple wrapper for mm_access(), and the name is\nmisleading, so just remove it and use mm_access() directly.\n\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@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": "b409e578d9a4ec95913e06d8fea2a33f1754ea69",
      "tree": "408c5080300bd44410191e3a60477a6ca713343f",
      "parents": [
        "168eeccbc956d2ec083c3a513f7706784ee0dc5f"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu May 31 16:26:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "proc: clean up /proc/\u003cpid\u003e/environ handling\n\nSimilar to e268337dfe26 (\"proc: clean up and fix /proc/\u003cpid\u003e/mem\nhandling\"), move the check of permission to open(), this will simplify\nread() code.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@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": "168eeccbc956d2ec083c3a513f7706784ee0dc5f",
      "tree": "6fb95d3080fadd96ea37b0e8c1bd747a183f8f60",
      "parents": [
        "43e13cc107cf6cd3c15fbe1cef849435c2223d50"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Thu May 31 16:26:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "stack usage: add pid to warning printk in check_stack_usage\n\nIn embedded systems, sometimes the same program (busybox) is the cause of\nmultiple warnings.  Outputting the pid with the program name in the\nwarning printk helps distinguish which instances of a program are using\nthe stack most.\n\nThis is a small patch, but useful.\n\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "43e13cc107cf6cd3c15fbe1cef849435c2223d50",
      "tree": "9a1b3aa79ec2e8374944c23cf57a73790a3fc6ce",
      "parents": [
        "9b3c98cd663750c33434572ff76ba306505eba5a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu May 31 16:26:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "cred: remove task_is_dead() from __task_cred() validation\n\nCommit 8f92054e7ca1 (\"CRED: Fix __task_cred()\u0027s lockdep check and banner\ncomment\"):\n\n    add the following validation condition:\n\n        task-\u003eexit_state \u003e\u003d 0\n\n    to permit the access if the target task is dead and therefore\n    unable to change its own credentials.\n\nOK, but afaics currently this can only help wait_task_zombie() which calls\n__task_cred() without rcu lock.\n\nRemove this validation and change wait_task_zombie() to use task_uid()\ninstead.  This means we do rcu_read_lock() only to shut up the lockdep,\nbut we already do the same in, say, wait_task_stopped().\n\ntask_is_dead() should die, task-\u003eexit_state !\u003d 0 means that this task has\npassed exit_notify(), only do_wait-like code paths should use this.\n\nUnfortunately, we can\u0027t kill task_is_dead() right now, it has already\nacquired buggy users in drivers/staging.  The fix already exists.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b3c98cd663750c33434572ff76ba306505eba5a",
      "tree": "ff01ae7a11c5b0ece5a1c7107fc77276505b7342",
      "parents": [
        "785042f2e275089e22c36b462f6495ce8d91732d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu May 31 16:26:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod.c: fix kernel-doc warning\n\nWarning(kernel/kmod.c:419): No description found for parameter \u0027depth\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "785042f2e275089e22c36b462f6495ce8d91732d",
      "tree": "4e847408b4e675c7c616d357ae9b330f7104fbc0",
      "parents": [
        "81ab6e7b26b453a795d46f2616ed0e31d97f05b9"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: move call_usermodehelper_fns() to .c file and unexport all it\u0027s helpers\n\nIf we move call_usermodehelper_fns() to kmod.c file and EXPORT_SYMBOL it\nwe can avoid exporting all it\u0027s helper functions:\n\tcall_usermodehelper_setup\n\tcall_usermodehelper_setfns\n\tcall_usermodehelper_exec\nAnd make all of them static to kmod.c\n\nSince the optimizer will see all these as a single call site it will\ninline them inside call_usermodehelper_fns().  So we loose the call to\n_fns but gain 3 calls to the helpers.  (Not that it matters)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81ab6e7b26b453a795d46f2616ed0e31d97f05b9",
      "tree": "a8d50eb5b35ad93b793450bfef4d90df34494a2c",
      "parents": [
        "ae3cef7300e9fddc35ad251dd5f27c5b88c8594a"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: convert two call sites to call_usermodehelper_fns()\n\nBoth kernel/sys.c \u0026\u0026 security/keys/request_key.c where inlining the exact\nsame code as call_usermodehelper_fns(); So simply convert these sites to\ndirectly use call_usermodehelper_fns().\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae3cef7300e9fddc35ad251dd5f27c5b88c8594a",
      "tree": "d1f057eaeac5234e9056b3e9fa186c1bd7873bc5",
      "parents": [
        "f0aac6162e945590057dcfb841bdce8fd18ed4f6"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: unexport call_usermodehelper_freeinfo()\n\ncall_usermodehelper_freeinfo() is not used outside of kmod.c.  So unexport\nit, and make it static to kmod.c\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0aac6162e945590057dcfb841bdce8fd18ed4f6",
      "tree": "d27e953fb571ac22dfbfc8a5a251066586742fe8",
      "parents": [
        "b742c341539fc8b8386ef72f0e95758f39fbb4c8"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Thu May 31 16:26:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: use fat_msg_ratelimit() in fat__get_entry()\n\nIf an application tries to lookup (opendir/readdir/stat) 5000 files on a\nfatfs USB device and the device is unplugged, many message occur, shown\nbelow.  This makes the application slow.  So use the new\nfat_msg_ratelimit() decrease the messaging rate.\n\n  #\u003e ./file_lookup_testcase ./files_directory/\n  usb 2-1.4: USB disconnect, device number 4\n  FAT-fs (sda1): FAT read failed (blocknr 2631)\n  FAT-fs (sda1): Directory bread(block 396816) failed\n  FAT-fs (sda1): Directory bread(block 396817) failed\n  FAT-fs (sda1): Directory bread(block 396818) failed\n  FAT-fs (sda1): Directory bread(block 396819) failed\n  FAT-fs (sda1): Directory bread(block 396820) failed\n  FAT-fs (sda1): Directory bread(block 396821) failed\n  FAT-fs (sda1): Directory bread(block 396822) failed\n  FAT-fs (sda1): Directory bread(block 396823) failed\n  FAT-fs (sda1): Directory bread(block 406824) failed\n  FAT-fs (sda1): Directory bread(block 406825) failed\n  FAT-fs (sda1): Directory bread(block 406826) failed\n  FAT-fs (sda1): Directory bread(block 406827) failed\n  FAT-fs (sda1): Directory bread(block 406828) failed\n  FAT-fs (sda1): Directory bread(block 406829) failed\n  FAT-fs (sda1): Directory bread(block 406830) failed\n  FAT-fs (sda1): Directory bread(block 406831) failed\n  FAT-fs (sda1): Directory bread(block 417696) failed\n  FAT-fs (sda1): Directory bread(block 417697) failed\n  FAT-fs (sda1): Directory bread(block 417698) failed\n  FAT-fs (sda1): Directory bread(block 417699) failed\n  FAT-fs (sda1): Directory bread(block 417700) failed\n  FAT-fs (sda1): Directory bread(block 417701) failed\n  FAT-fs (sda1): Directory bread(block 417702) failed\n  FAT-fs (sda1): Directory bread(block 417703) failed\n  FAT-fs (sda1): FAT read failed (blocknr 2631)\n  FAT-fs (sda1): Directory bread(block 396816) failed\n  FAT-fs (sda1): Directory bread(block 396817) failed\n  FAT-fs (sda1): Directory bread(block 396818) failed\n  FAT-fs (sda1): Directory bread(block 396819) failed\n  FAT-fs (sda1): Directory bread(block 396820) failed\n  FAT-fs (sda1): Directory bread(block 396821) failed\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b742c341539fc8b8386ef72f0e95758f39fbb4c8",
      "tree": "ce074fbb28923b08904823128ec0167d9df266da",
      "parents": [
        "78491189ddb6d84d4a4abae992ed891a236d0263"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Thu May 31 16:26:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: add fat_msg_ratelimit()\n\nAdd a fat_msg_ratelimit() to limit the message generation rate.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78491189ddb6d84d4a4abae992ed891a236d0263",
      "tree": "f451b46a2c0a505b6812b696e03604b8613b3df0",
      "parents": [
        "330fe3c4c6509e0418c434b5bcf80e65cffab477"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: switch to fsinfo_inode\n\nCurrently FAT file-system maps the VFS \"superblock\" abstraction to the\nFSINFO block.  The FSINFO block contains non-essential data about the\namount of free clusters and the next free cluster.  FAT file-system can\nalways find out this information by scanning the FAT table, but having it\nin the FSINFO block may speed things up sometimes.  So FAT file-system\nrelies on the VFS superblock write-out services to make sure the FSINFO\nblock is written out to the media from time to time.\n\nThe whole \"superblock write-out\" VFS infrastructure is served by the\n\u0027sync_supers()\u0027 kernel thread, which wakes up every 5 (by default) seconds\nand writes out all dirty superblock using the \u0027-\u003ewrite_super()\u0027 call-back.\n But the problem with this thread is that it wastes power by waking up the\nsystem every 5 seconds no matter what.  So we want to kill it completely\nand thus, we need to make file-systems to stop using the \u0027-\u003ewrite_super\u0027\nVFS service, and then remove it together with the kernel thread.\n\nThis patch switches the FAT FSINFO block management from\n\u0027-\u003ewrite_super()\u0027/\u0027-\u003es_dirt\u0027 to \u0027fsinfo_inode\u0027/\u0027-\u003ewrite_inode\u0027.  Now,\ninstead of setting the \u0027s_dirt\u0027 flag, we just mark the special\n\u0027fsinfo_inode\u0027 inode as dirty and let VFS invoke the \u0027-\u003ewrite_inode\u0027\ncall-back when needed, where we write-out the FSINFO block.\n\nThis patch also makes sure we do not mark the \u0027fsinfo_inode\u0027 inode as\ndirty if we are not FAT32 (FAT16 and FAT12 do not have the FSINFO block)\nor if we are in R/O mode.\n\nAs a bonus, we can also remove the \u0027-\u003esync_fs()\u0027 and \u0027-\u003ewrite_super()\u0027 FAT\ncall-back function because they become unneeded.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\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": "330fe3c4c6509e0418c434b5bcf80e65cffab477",
      "tree": "f170e47fa9fd25bad3a5ce6996fdfbd86daa3706",
      "parents": [
        "90b436657efb1a6d73bf0677fedee8a8c77032f6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: mark superblock as dirty less often\n\nPreparation for further changes.  It touches few functions in fatent.c and\nprevents them from marking the superblock as dirty unnecessarily often.\nNamely, instead of marking it as dirty in the internal tight loops - do it\nonly once at the end of the functions.  And instead of marking it as dirty\nwhile holding the FAT table lock, do it outside the lock.\n\nThe reason for this patch is that marking the superblock as dirty will\nsoon become a little bit heavier operation, so it is cleaner to do this\nonly when it is necessary.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\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": "90b436657efb1a6d73bf0677fedee8a8c77032f6",
      "tree": "ee7e433e5cc1817dd4b9d6fda0a692c0d0ac033f",
      "parents": [
        "020ac5b6bef15785f9dde9de89d2734ff97da733"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "fat: introduce mark_fsinfo_dirty helper\n\nA preparation patch which introduces a \u0027mark_fsinfo_dirty()\u0027 helper\nfunction which just sets the \u0027s_dirt\u0027 flag to 1 so far.  I\u0027ll add more\ncode to this helper later, so I do not mark it as \u0027inline\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\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": "020ac5b6bef15785f9dde9de89d2734ff97da733",
      "tree": "18724448be398af715d45dea42966bf276d2febb",
      "parents": [
        "7bc1bac77a69011550ce0613f4a23712a002d7ad"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "fat: introduce special inode for managing the FSINFO block\n\nThis is patchset makes fatfs stop using the VFS \u0027-\u003ewrite_super()\u0027 method\nfor writing out the FSINFO block.\n\nThe final goal is to get rid of the \u0027sync_supers()\u0027 kernel thread.  This\nkernel thread wakes up every 5 seconds (by default) and calls\n\u0027-\u003ewrite_super()\u0027 for all mounted file-systems.  And the bad thing is that\nthis is done even if all the superblocks are clean.  Moreover, some\nfile-systems do not even need this end they do not register the\n\u0027-\u003ewrite_super()\u0027 method at all (e.g., btrfs).\n\nSo \u0027sync_supers()\u0027 most often just generates useless wake-ups and wastes\npower.  I am trying to make all file-systems independent of\n\u0027-\u003ewrite_super()\u0027 and plan to remove \u0027sync_supers()\u0027 and \u0027-\u003ewrite_super\u0027\ncompletely once there are no more users.\n\nThe \u0027-\u003ewrite_supers()\u0027 method is mostly used by baroque file-systems like\nhfs, udf, etc.  Modern file-systems like btrfs and xfs do not use it.\nThis justifies removing this stuff from VFS completely and make every FS\nself-manage own superblock.\n\nTested with xfstests.\n\nThis patch:\n\nPreparation for further changes.  It introduces a special inode\n(\u0027fsinfo_inode\u0027) in FAT file-system which we\u0027ll later use for managing the\nFSINFO block.  Note, this there is already one special inode (\u0027fat_inode\u0027)\nwhich is used for managing the FAT tables.\n\nIntroduce new \u0027MSDOS_FSINFO_INO\u0027 constant for this special inode.  It is\nsafe to do because FAT file-system does not store inode numbers on the\nmedia but generates them run-time.\n\nI\u0027ve also cleaned up the comment to existing \u0027MSDOS_ROOT_INO\u0027 constant,\nwhile on it.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\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": "7bc1bac77a69011550ce0613f4a23712a002d7ad",
      "tree": "4cf913aa7f3b459afcdb499a41ae25884ff24d87",
      "parents": [
        "11475975dd3c0a8e639f1544ef6530373de5979e"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu May 31 16:26:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "HPFS: remove PRINTK() macro\n\nThe PRINTK() macro isn\u0027t really used.  Let\u0027s just remove it because it\nis ugly and out of date.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nMikulas Patocka \u003cmikulas@artax.karlin.mff.cuni.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11475975dd3c0a8e639f1544ef6530373de5979e",
      "tree": "e20344e3d296d2271eea093c76fa728e1c341510",
      "parents": [
        "a1d494495c69ef0810cd008f59310d2b9db28e36"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 31 16:26:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "nilfs2: flush disk caches in syncing\n\nThere are two cases that the cache flush is needed to avoid data loss\nagainst unexpected hang or power failure.  One is sync file function (i.e.\n nilfs_sync_file) and another is checkpointing ioctl.\n\nThis issues a cache flush request to device for such cases if barrier\nmount option is enabled, and makes sure data really is on persistent\nstorage on their completion.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1d494495c69ef0810cd008f59310d2b9db28e36",
      "tree": "0785413b25f5383bf736d04169151e6a251dd079",
      "parents": [
        "c67e5382fb3f312c95d8d01db40fb398e6da454d"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu May 31 16:26:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "pipe: return -ENOIOCTLCMD instead of -EINVAL on unknown ioctl command\n\nAs described in commit 07d106d0a33d (\"vfs: fix up ENOIOCTLCMD error\nhandling\"), drivers should return -ENOIOCTLCMD if they receive an ioctl\ncommand which they don\u0027t understand.  Doing so will result in -ENOTTY\nbeing returned to userspace, which matches the behaviour of the compat\nlayer if it fails to translate an ioctl command.\n\nThis patch fixes the pipe ioctl to return -ENOIOCTLCMD instead of -EINVAL\nwhen passed an unknown ioctl command.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c67e5382fb3f312c95d8d01db40fb398e6da454d",
      "tree": "6e1830da7102e4f873d05b067aa39ba4425eefbc",
      "parents": [
        "243f3803cf2a3665092c5fd6f924f453694681a6"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Thu May 31 16:26:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "init: disable sparse checking of the mount.o source files\n\nThe init/mount.o source files produce a number of sparse warnings of the\ntype:\n\nwarning: incorrect type in argument 1 (different address spaces)\n   expected char [noderef] \u003casn:1\u003e*dev_name\n   got char *name\n\nThis is due to the syscalls expecting some of the arguments to be user\npointers but they are being passed as kernel pointers.  This is harmless\nbut adds a lot of noise to a sparse build.\n\nTo limit the noise just disable the sparse checking in the relevant source\nfiles, but still display a warning so that the user knows this has been\ndone.\n\nSince the sparse checking has been disabled we can also remove the __user\n__force casts that are scattered thru the source.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "243f3803cf2a3665092c5fd6f924f453694681a6",
      "tree": "a05005eb618c2770a2e56c644ae04d8e36c58c89",
      "parents": [
        "9a4cad4e25b91f48494f13fce3d25ea44bec7472"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 31 16:26:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "checkpatch: suggest pr_\u003clevel\u003e over printk(KERN_\u003cLEVEL\u003e\n\nSuggest the shorter pr_\u003clevel\u003e instead of printk(KERN_\u003cLEVEL\u003e.\n\nPrefer to use pr_\u003clevel\u003e over bare printks.\nPrefer to use pr_warn over pr_warning.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a4cad4e25b91f48494f13fce3d25ea44bec7472",
      "tree": "6b7cbfdf1517792f826f23408b8ca023ee2b3229",
      "parents": [
        "133fd9f5cda2d86904126f4b9fa4e8f4330c9569"
      ],
      "author": {
        "name": "Eric Nelson",
        "email": "eric.nelson@boundarydevices.com",
        "time": "Thu May 31 16:26:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "checkpatch: check for whitespace before semicolon at EOL\n\nRequires --strict option during invocation:\n\t~/linux$ scripts/checkpatch --strict foo.patch\n\nThis tests for a bad habits of mine like this:\n\n\treturn 0 ;\n\nNote that it does allow a special case of a bare semicolon\nfor empty loops:\n\n\twhile (foo())\n\t\t;\n\nSigned-off-by: Eric Nelson \u003ceric.nelson@boundarydevices.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.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": "133fd9f5cda2d86904126f4b9fa4e8f4330c9569",
      "tree": "0e60bfcec85f123243cf1ffe735264527efd6d0e",
      "parents": [
        "725fe002d315c2501c110b7245d3eb4f4535f4d6"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Thu May 31 16:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "vsprintf: further optimize decimal conversion\n\nPrevious code was using optimizations which were developed to work well\neven on narrow-word CPUs (by today\u0027s standards).  But Linux runs only on\n32-bit and wider CPUs.  We can use that.\n\nFirst: using 32x32-\u003e64 multiply and trivial 32-bit shift, we can correctly\ndivide by 10 much larger numbers, and thus we can print groups of 9 digits\ninstead of groups of 5 digits.\n\nNext: there are two algorithms to print larger numbers.  One is generic:\ndivide by 1000000000 and repeatedly print groups of (up to) 9 digits.\nIt\u0027s conceptually simple, but requires an (unsigned long long) /\n1000000000 division.\n\nSecond algorithm splits 64-bit unsigned long long into 16-bit chunks,\nmanipulates them cleverly and generates groups of 4 decimal digits.  It so\nhappens that it does NOT require long long division.\n\nIf long is \u003e 32 bits, division of 64-bit values is relatively easy, and we\nwill use the first algorithm.  If long long is \u003e 64 bits (strange\narchitecture with VERY large long long), second algorithm can\u0027t be used,\nand we again use the first one.\n\nElse (if long is 32 bits and long long is 64 bits) we use second one.\n\nAnd third: there is a simple optimization which takes fast path not only\nfor zero as was done before, but for all one-digit numbers.\n\nIn all tested cases new code is faster than old one, in many cases by 30%,\nin few cases by more than 50% (for example, on x86-32, conversion of\n12345678).  Code growth is ~0 in 32-bit case and ~130 bytes in 64-bit\ncase.\n\nThis patch is based upon an original from Michal Nazarewicz.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Douglas W Jones \u003cjones@cs.uiowa.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "725fe002d315c2501c110b7245d3eb4f4535f4d6",
      "tree": "c68759e4765673eb1f28e220edea40d84d9ff744",
      "parents": [
        "d84970bbaf9a09b3fc60c18ee6d59bc9cb4c3b8a"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu May 31 16:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "vsprintf: correctly handle width when \u0027#\u0027 flag used in %#p format\n\nThe \u0027%p\u0027 output of the kernel\u0027s vsprintf() uses spec.field_width to\ndetermine how many digits to output based on 2 * sizeof(void*) so that all\ndigits of a pointer are shown.  ie.  a pointer will be output as\n\"001A2B3C\" instead of \"1A2B3C\".  However, if the \u0027#\u0027 flag is used in the\nformat (%#p), then the code doesn\u0027t take into account the width of the\n\u00270x\u0027 prefix and will end up outputing \"0x1A2B3C\" instead of \"0x001A2B3C\".\n\nThis patch reworks the \"pointer()\" format hook to include 2 characters for\nthe \u00270x\u0027 prefix if the \u0027#\u0027 flag is included.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d84970bbaf9a09b3fc60c18ee6d59bc9cb4c3b8a",
      "tree": "6ff6ac8a9c40c68e925ed000faae72379e6a3ea8",
      "parents": [
        "97fd75b7b8e0f4e6d3f06b819c89b2555f626fcf"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Thu May 31 16:26:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "kernel/cpu_pm.c: fix various typos\n\nSigned-off-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nAcked-by: Colin Cross \u003cccross@android.com\u003e\nAcked-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97fd75b7b8e0f4e6d3f06b819c89b2555f626fcf",
      "tree": "96a575e38c143ddabe9a35d8ad89f268ccafb569",
      "parents": [
        "499eea6bf9c06df3bf4549954aee6fb3427946ed"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 31 16:26:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "kernel/irq/manage.c: use the pr_foo() infrastructure to prefix printks\n\nUse the module-wide pr_fmt() mechanism rather than open-coding \"genirq: \"\neverywhere.\n\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": "499eea6bf9c06df3bf4549954aee6fb3427946ed",
      "tree": "bdd7c4be7ac845e0511c6b36f91245105ed8fdcf",
      "parents": [
        "5401cf3fac92b35415c1d011e9866a90b8bed88f"
      ],
      "author": {
        "name": "Sasikantha babu",
        "email": "sasikanth.v19@gmail.com",
        "time": "Thu May 31 16:26:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "sethostname/setdomainname: notify userspace when there is a change in uts_kern_table\n\nsethostname() and setdomainname() notify userspace on failure (without\nmodifying uts_kern_table).  Change things so that we only notify userspace\non success, when uts_kern_table was actually modified.\n\nSigned-off-by: Sasikantha babu \u003csasikanth.v19@gmail.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: WANG Cong \u003camwang@redhat.com\u003e\nReviewed-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5401cf3fac92b35415c1d011e9866a90b8bed88f",
      "tree": "24b5dfabfdcfe8966992f90465adb2434ef8bd85",
      "parents": [
        "9ceb5c16f5aa1021e9ef8f5e6c41feba288f963b"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 31 16:26:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": ".mailmap: add Gustavo\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ceb5c16f5aa1021e9ef8f5e6c41feba288f963b",
      "tree": "c46f47dbb86ee69005b47169847adf8f42db66d8",
      "parents": [
        "ee5e5683d8ac3fec876cb6c26792212f773d5898"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu May 31 16:26:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "drivers/message/fusion: use pci_dev-\u003erevision\n\nThis driver uses PCI_CLASS_REVISION instead of PCI_REVISION_ID, so it\nwasn\u0027t converted by 44c10138fd4bbc (\"PCI: Change all drivers to use\npci_device-\u003erevision\").\n\nIn one case, it even reads PCI revision ID without using it -- that code\nis now removed...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nAcked-by: \"Nandigama, Nagalakshmi\" \u003cNagalakshmi.Nandigama@lsi.com\u003e\nCc: Eric Moore \u003ceric.moore@lsi.com\u003e\nAcked-by: Auke Kok \u003cauke-jan.h.kok@intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee5e5683d8ac3fec876cb6c26792212f773d5898",
      "tree": "80268aac11745372df02fb3fbdab669e60a405af",
      "parents": [
        "a3860c1c5dd1137db23d7786d284939c5761d517"
      ],
      "author": {
        "name": "Wei Yang",
        "email": "weiyang@linux.vnet.ibm.com",
        "time": "Thu May 31 16:26:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "kernel/resource.c: correct the comment of allocate_resource()\n\nIn the comment of allocate_resource(), the explanation of parameter max\nand min is not correct.\n\nActually, these two parameters are used to specify the range of the\nresource that will be allocated, not the min/max size that will be\nallocated.\n\nSigned-off-by: Wei Yang \u003cweiyang@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3860c1c5dd1137db23d7786d284939c5761d517",
      "tree": "48d688c6c391ef45f79bdd60815450ca06c5cc1a",
      "parents": [
        "15837294d4ce717f69942f7366e99d4d1d3d9923"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Thu May 31 16:26:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "introduce SIZE_MAX\n\nULONG_MAX is often used to check for integer overflow when calculating\nallocation size.  While ULONG_MAX happens to work on most systems, there\nis no guarantee that `size_t\u0027 must be the same size as `long\u0027.\n\nThis patch introduces SIZE_MAX, the maximum value of `size_t\u0027, to improve\nportability and readability for allocation size validation.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nAcked-by: Alex Elder \u003celder@dreamhost.com\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Pekka Enberg \u003cpenberg@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": "15837294d4ce717f69942f7366e99d4d1d3d9923",
      "tree": "41a7047f7f4bf3747fa162aaeec6a1e0a18fd848",
      "parents": [
        "1cefe28f95da307287a05a6a0c10213f01055e2a"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Thu May 31 16:26:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "CodingStyle: add kmalloc_array() to memory allocators\n\nAdd the new kmalloc_array() to the list of general-purpose memory\nallocators in chapter 14.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nAcked-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Pekka Enberg \u003cpenberg@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": "1cefe28f95da307287a05a6a0c10213f01055e2a",
      "tree": "6810a5c8f413f67d359da6243ee75c60c704d16c",
      "parents": [
        "4f1c28d241d0882f25112d494885cd6084db225b"
      ],
      "author": {
        "name": "Kautuk Consul",
        "email": "consul.kautuk@gmail.com",
        "time": "Thu May 31 16:26:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "um/kernel/trap.c: port OOM changes to handle_page_fault()\n\nCommit d065bd810b6d (\"mm: retry page fault when blocking on disk\ntransfer\") and commit 37b23e0525d3 (\"x86,mm: make pagefault killable\")\nintroduced changes into the x86 pagefault handler for making the page\nfault handler retryable as well as killable.\n\nThese changes reduce the mmap_sem hold time, which is crucial during OOM\nkiller invocation.\n\nPort these changes to um.\n\nSigned-off-by: Kautuk Consul \u003cconsul.kautuk@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f1c28d241d0882f25112d494885cd6084db225b",
      "tree": "4332c441b47b3ce6f29b424d24923aebdc44d7eb",
      "parents": [
        "ecb41a77411358d385e3fde5b4e98a5f3d9cfdd5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 31 16:26:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "security/keys/keyctl.c: suppress memory allocation failure warning\n\nThis allocation may be large.  The code is probing to see if it will\nsucceed and if not, it falls back to vmalloc().  We should suppress any\npage-allocation failure messages when the fallback happens.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecb41a77411358d385e3fde5b4e98a5f3d9cfdd5",
      "tree": "c5c1500b728329151b29310b2ac225063772384d",
      "parents": [
        "621bae79f1a250e443eb83d1f473c533bea493dc"
      ],
      "author": {
        "name": "Sachin Kamat",
        "email": "sachin.kamat@linaro.org",
        "time": "Tue May 29 15:07:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:34 2012 -0700"
      },
      "message": "drivers/rtc/rtc-s3c.c: fix compiler warning\n\nrtc-s3c.c:673:32: warning: `s3c_rtc_drv_data_array\u0027 defined but not used [-Wunused-variable]\n\nSigned-off-by: Sachin Kamat \u003csachin.kamat@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "621bae79f1a250e443eb83d1f473c533bea493dc",
      "tree": "00bd66ff5b79fec03980a2a8d6c99b2fa8eb649f",
      "parents": [
        "ac2dee5984bc78c8ff1893142f7322320d2baf05"
      ],
      "author": {
        "name": "Hannu Heikkinen",
        "email": "ext-hannu.m.heikkinen@nokia.com",
        "time": "Tue May 29 15:07:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:34 2012 -0700"
      },
      "message": "drivers/rtc/rtc-tegra.c: clean up probe/remove routines\n\nUse the devres managed resource functions in the probe routine.  Also\naffects the remove routine where the previously used free and release\nfunctions are not needed.\n\nThe devm_* functions eliminate the need for manual resource releasing and\nsimplify error handling.  Resources allocated by devm_* are freed\nautomatically on driver detach.\n\nSigned-off-by: Hannu Heikkinen \u003cext-hannu.m.heikkinen@nokia.com\u003e\nAcked-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac2dee5984bc78c8ff1893142f7322320d2baf05",
      "tree": "d4664023befbc9509f1e9ebe10efe0a2fddbbe57",
      "parents": [
        "e862e7c4ee52c2d1a0af37a8c3a2bda079042b06"
      ],
      "author": {
        "name": "Rajkumar Kasirajan",
        "email": "rajkumar.kasirajan@stericsson.com",
        "time": "Tue May 29 15:07:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:34 2012 -0700"
      },
      "message": "drivers/rtc/rtc-pl031.c: remove RTC timer interrupt handling\n\nRemove RTT interrupt handling, since PIE mode interrupts are now better\nemulated in generic code via an hrtimer we have no need for this, and\nthere is no codepath in the driver that enables these periodic interrupts\nanyway.\n\nSigned-off-by: Rajkumar Kasirajan \u003crajkumar.kasirajan@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e862e7c4ee52c2d1a0af37a8c3a2bda079042b06",
      "tree": "41284c9cc0bb04039f61b8cbf2719dfa9a0aac5b",
      "parents": [
        "bcffb10f287c89ca6e4f89ef748301a9e22384d0"
      ],
      "author": {
        "name": "Roland Stigge",
        "email": "stigge@antcom.de",
        "time": "Tue May 29 15:07:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:34 2012 -0700"
      },
      "message": "drivers/rtc/rtc-lpc32xx.c: add device tree support\n\nAdds device tree support for rtc-lpc32xx.c\n\nSigned-off-by: Roland Stigge \u003cstigge@antcom.de\u003e\nAcked-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bcffb10f287c89ca6e4f89ef748301a9e22384d0",
      "tree": "ec0394305953a3e28e32b7045ffabc12784c2987",
      "parents": [
        "eb86c3064b3c53837fdfea17df1483d825919894"
      ],
      "author": {
        "name": "Nikolaus Voss",
        "email": "n.voss@weinmann.de",
        "time": "Tue May 29 15:07:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "drivers/rtc/rtc-m41t93.c: don\u0027t let get_time() reset M41T93_FLAG_OF\n\nIf the rtc reports the time might be invalid due to oscillator failure,\nM41T93_FLAG_OF flag must not be reset by get_time() as the read operation\ndoesn\u0027t make the time valid.\n\nWithout this patch, only the first get_time() reported an invalid time,\nthe second get_time() reported a valid time althought the reported time is\nprobably wrong due to oscillator failure.\n\nInstead of resetting in get_time(), with this patch M41T93_FLAG_OF is\nreset in set_time() when a valid time is to be written.\n\nSigned-off-by: Nikolaus Voss \u003cn.voss@weinmann.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb86c3064b3c53837fdfea17df1483d825919894",
      "tree": "0d408fe43f43248477bb521fdd5b6856878199b0",
      "parents": [
        "f8ae97019ff79559416dc2ae9c14af92c2054cba"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Tue May 29 15:07:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "rtc: ds1307: add trickle charger support\n\nSome DS13XX devices have \"trickle chargers\".  Its configuration register\nis at different locations, the setup is the same, though.  Since the\nconfiguration is board specific, introduce a platform_data to this driver.\nTested with a DS1339 on a custom board.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8ae97019ff79559416dc2ae9c14af92c2054cba",
      "tree": "e8224693d0d1e7101e69dac7641351404c2fb7e6",
      "parents": [
        "798115958967c8223f3d17e829a891564e8ea4cb"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Tue May 29 15:07:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "rtc: ds1307: remove superfluous initialization\n\nds1307 was kzalloced, so no need to zero members of the struct.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "798115958967c8223f3d17e829a891564e8ea4cb",
      "tree": "f1dcfcffc32047c74854d5788b08c9114f70408f",
      "parents": [
        "b224b9ac8c42afc40cba170187df3d0cdbb13c20"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "festevam@gmail.com",
        "time": "Tue May 29 15:07:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "rtc: rename CONFIG_RTC_MXC to CONFIG_RTC_DRV_MXC\n\nIn order to keep consistency with other rtc drivers,rename CONFIG_RTC_MXC\nto CONFIG_RTC_DRV_MXC.\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\n[akpm@linux-foundation.org: fix missed arch/arm/configs/imx_v6_v7_defconfig]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b224b9ac8c42afc40cba170187df3d0cdbb13c20",
      "tree": "e626787be01672f796fcc911b1920bbdb288d2f0",
      "parents": [
        "0f20b767e20a800030f51712b699a5c557f2514b"
      ],
      "author": {
        "name": "Fabio Estevam",
        "email": "festevam@gmail.com",
        "time": "Tue May 29 15:07:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "drivers/rtc/Kconfig: place RTC_DRV_IMXDI and RTC_MXC under \"on-CPU RTC drivers\"\n\nRTC_DRV_IMXDI and RTC_MXC are on-chip RTC modules, so move them under\n\"on-CPU RTC drivers\" selection menu.\n\nWhile at it change the dependency of RTC_DRV_IMXDI from ARCH_MX25 to\nSOC_IMX25.\n\nSigned-off-by: Fabio Estevam \u003cfabio.estevam@freescale.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f20b767e20a800030f51712b699a5c557f2514b",
      "tree": "cf918e394e14a3fd85e69494b714bdd65042cce7",
      "parents": [
        "e311c9295912209dcf8e54de5401f8518112b7f8"
      ],
      "author": {
        "name": "Alexander Stein",
        "email": "alexander.stein@systec-electronic.com",
        "time": "Tue May 29 15:07:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "drivers/rtc/rtc-pcf8563.c: add RTC_VL_READ/RTC_VL_CLR ioctl feature\n\nChanges are based on arch/cris/arch-v10/drivers/pcf8563.c\n\n[akpm@linux-foundation.org: fix sparse warning]\nSigned-off-by: Alexander Stein \u003calexander.stein@systec-electronic.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Wu Fengguang \u003cwfg@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e311c9295912209dcf8e54de5401f8518112b7f8",
      "tree": "e1016bbb7d43aa6086ea0ee5d1935b309d43d81c",
      "parents": [
        "84d56b38b9abd36565f74cbf68501cee6206761e"
      ],
      "author": {
        "name": "Alexander Stein",
        "email": "alexander.stein@systec-electronic.com",
        "time": "Tue May 29 15:07:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "rtc: add ioctl to get/clear battery low voltage status\n\nCurrently there is no generic way to get the RTC battery status within an\napplication.  So add an ioctl to read the status bit.  The idea is that\nthe bit is set once a low voltage is detected.  It stays there until it is\nreset using the RTC_VL_CLR ioctl.\n\nSigned-off-by: Alexander Stein \u003calexander.stein@systec-electronic.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84d56b38b9abd36565f74cbf68501cee6206761e",
      "tree": "ce58bb9873512653ba8b6c6e28d8df0685b2063e",
      "parents": [
        "0108c4ff62a0ee324c58175ff6b7000865023498"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue May 29 15:07:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "drivers/rtc/rtc-ep93xx.c: convert to use module_platform_driver()\n\nUse module_platform_driver() to remove the boilerplate code.\n\nAlso, change the probe and remove functions to __devinit/__devexit.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0108c4ff62a0ee324c58175ff6b7000865023498",
      "tree": "e25434c28edbd078b9f70a3f154e7f0981e22306",
      "parents": [
        "7c20342230ff370c397fc4a9c4c1e7a91964bb66"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Tue May 29 15:07:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "rtc/spear: add Device Tree probing capability\n\nSPEAr platforms now support DT and so must convert all drivers support DT.\nThis patch adds DT probing support for rtc and updates its documentation\ntoo.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nCc: Stefan Roese \u003csr@denx.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Rajeev Kumar \u003crajeev-dlh.kumar@st.com\u003e\nCc: Rob Herring \u003crobherring2@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": "7c20342230ff370c397fc4a9c4c1e7a91964bb66",
      "tree": "e9ccb5eaee5bcd4578f7ea30311f2c3830815b9c",
      "parents": [
        "5536805292e64393f57054de66578f17eb1ea994"
      ],
      "author": {
        "name": "Pierre Carrier",
        "email": "pierre@spotify.com",
        "time": "Tue May 29 15:07:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "lib/vsprintf.c: \"%#o\",0 becomes \u00270\u0027 instead of \u002700\u0027\n\nnumber()\u0027s behaviour is slighly changed: 0 becomes \"0\" instead of \"00\"\nwhen using the flag SPECIAL and base 8.\n\nBefore:\nNumber\\Format  %o    %#o  %x    %#x\n            0     0   00    0   0x0\n            1     1   01    1   0x1\n           16    20  020   10  0x10\n\nAfter:\nNumber\\Format  %o    %#o  %x    %#x\n            0     0    0    0   0x0\n            1     1   01    1   0x1\n           16    20  020   10  0x10\n\nSigned-off-by: Pierre Carrier \u003cpierre@spotify.com\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\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": "5536805292e64393f57054de66578f17eb1ea994",
      "tree": "d7c283b123fd1fa0a944b500aba31f01207a98fd",
      "parents": [
        "fd0a37355c4d39affa39d5cd75168fb94b292318"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Tue May 29 15:07:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "radix-tree: fix preload vector size\n\nWe are not preallocating a sufficient number of nodes.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd0a37355c4d39affa39d5cd75168fb94b292318",
      "tree": "66bdbffce2ce960ff4566ed9dd6bd0e5e6f0eee2",
      "parents": [
        "4796dd200db943e36f876e7029552212e5bbdf33"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 29 15:07:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "spinlock_debug: print kallsyms name for lock\n\nWhen a spinlock warning is printed we usually get\n\n BUG: spinlock bad magic on CPU#0, modprobe/111\n  lock: 0xdff09f38, .magic: 00000000, .owner: /0, .owner_cpu: 0\n\nbut it\u0027s nicer to print the symbol for the lock if we have it so that we\ncan avoid \u0027grep dff09f38 /proc/kallsyms\u0027 to find out which lock it was.\nUse kallsyms to print the symbol name so we get something a bit easier to\nread\n\n BUG: spinlock bad magic on CPU#0, modprobe/112\n  lock: test_lock, .magic: 00000000, .owner: \u003cnone\u003e/-1, .owner_cpu: 0\n\nIf the lock is not in kallsyms %ps will fall back to printing the address\ndirectly.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4796dd200db943e36f876e7029552212e5bbdf33",
      "tree": "a594c2b1ce1f4dbc96b25a516e49655917a9fa30",
      "parents": [
        "05a6c8a9226599f921bd0b6e439dbc04df96a6fc"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 29 15:07:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "vsprintf: fix %ps on non symbols when using kallsyms\n\nUsing %ps in a printk format will sometimes fail silently and print the\nempty string if the address passed in does not match a symbol that\nkallsyms knows about.  But using %pS will fall back to printing the full\naddress if kallsyms can\u0027t find the symbol.  Make %ps act the same as %pS\nby falling back to printing the address.\n\nWhile we\u0027re here also make %ps print the module that a symbol comes from\nso that it matches what %pS already does.  Take this simple function for\nexample (in a module):\n\n\tstatic void test_printk(void)\n\t{\n\t\tint test;\n\t\tpr_info(\"with pS: %pS\\n\", \u0026test);\n\t\tpr_info(\"with ps: %ps\\n\", \u0026test);\n\t}\n\nBefore this patch:\n\n with pS: 0xdff7df44\n with ps:\n\nAfter this patch:\n\n with pS: 0xdff7df44\n with ps: 0xdff7df44\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05a6c8a9226599f921bd0b6e439dbc04df96a6fc",
      "tree": "9d95bd7811837139f600a7aa5044e12bf26f6d39",
      "parents": [
        "68aecfb97978fe6730615f92f53c11149e929052"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 29 15:07:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "lib/bitmap.c: fix documentation for scnprintf() functions\n\nThe code comments for bscnl_emit() and bitmap_scnlistprintf() are\ndescribing snprintf() return semantics, but these functions use\nscnprintf() return semantics.  Fix that, and document the\nbitmap_scnprintf() return value as well.\n\nCc: Ryota Ozaki \u003cozaki.ryota@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": "68aecfb97978fe6730615f92f53c11149e929052",
      "tree": "bb94a6c90c670f810c7851b586e552140d51a8a0",
      "parents": [
        "26d7b99b835294ab21e2a2b4b3bdf04b03b0028d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 29 15:07:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "lib/string_helpers.c: make arrays static\n\nMoving these arrays into static storage shrinks the kernel a bit:\n\n   text    data     bss     dec     hex filename\n    723     112      64     899     383 lib/string_helpers.o\n    516     272      64     852     354 lib/string_helpers.o\n\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: \"Aneesh Kumar K.V\" \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26d7b99b835294ab21e2a2b4b3bdf04b03b0028d",
      "tree": "5fc743efbd38408361b7bf99eb1fadebd7a5940d",
      "parents": [
        "17a801f4bfeb8d55df1b05fa7adb16ada504e765"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue May 29 15:07:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "lib/test-kstrtox.c: mark const init data with __initconst instead of __initdata\n\nAs long as there is no other non-const variable marked __initdata in the\nsame compilation unit it doesn\u0027t hurt.  If there were one however\ncompilation would fail with\n\n\terror: $variablename causes a section type conflict\n\nbecause a section containing const variables is marked read only and so\ncannot contain non-const variables.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\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": "17a801f4bfeb8d55df1b05fa7adb16ada504e765",
      "tree": "7aa3a8683c48ff5d5c5fd987f0edbc34171ddb7e",
      "parents": [
        "401dea7f7ade662b77c33ce2498fb5b4f97cb29c"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Tue May 29 15:07:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "list_debug: WARN for adding something already in the list\n\nWe were bitten by this at one point and added an additional sanity test\nfor DEBUG_LIST.  You can\u0027t validly add a list_head to a list where either\nprev or next is the same as the thing you\u0027re adding.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\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": "401dea7f7ade662b77c33ce2498fb5b4f97cb29c",
      "tree": "2e54d2e170e3e9ba0db256e633c91b2f802f9896",
      "parents": [
        "e7e11d8ba807d451857b5c68abe249c7fc2b980f"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Tue May 29 15:07:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "leds: add LM3533 LED driver\n\nAdd sub-driver for the LEDs on National Semiconductor / TI LM3533 lighting\npower chips.\n\nThe chip provides 256 brightness levels, hardware accelerated blinking as\nwell as ambient-light-sensor and pwm input control.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Rob Landley \u003crob@landley.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7e11d8ba807d451857b5c68abe249c7fc2b980f",
      "tree": "d93a84ccd11589da51e93b76924d30d2f8eec626",
      "parents": [
        "44e1e9f8e70506728b02a18e6d03599a6485d67f"
      ],
      "author": {
        "name": "Alexander Stein",
        "email": "alexander.stein@systec-electronic.com",
        "time": "Tue May 29 15:07:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "drivers/leds/leds-pca955x.c: fix race condition while setting brightness on several LEDs\n\nWhen issuing the following command:\n\n  for I in 0 1 2 3 4 5 6 7; do\n    echo 0 \u003e /sys/class/leds/pca955x\\:${I}/brightness;\n  done\n\nIt is possible that all the pca955x_read_ls calls are done sequentially\nbefore any pca955x_write_ls call is done.  This updates the LS only to\nthe last LED update in its set.\n\nFix this by using a global lock for the pca995x device during\npca955x_led_work.  Also used a struct for shared data betreen all LEDs.\n\n[akpm@linux-foundation.org: revert unintentional rename of pca955x_ledsel()]\nSigned-off-by: Alexander Stein \u003calexander.stein@systec-electronic.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44e1e9f8e70506728b02a18e6d03599a6485d67f",
      "tree": "cb50e9faaf6017d44faf6bd5224e209df42aa9d8",
      "parents": [
        "49dca5aebfdeadd4bf27b6cb4c60392147dc35a4"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuahkhan@gmail.com",
        "time": "Tue May 29 15:07:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "leds: add new transient trigger for one shot timer activation\n\nThe leds timer trigger does not currently have an interface to activate a\none shot timer.  The current support allows for setting two timers, one\nfor specifying how long a state to be on, and the second for how long the\nstate to be off.  The delay_on value specifies the time period an LED\nshould stay in on state, followed by a delay_off value that specifies how\nlong the LED should stay in off state.  The on and off cycle repeats until\nthe trigger gets deactivated.  There is no provision for one time\nactivation to implement features that require an on or off state to be\nheld just once and then stay in the original state forever.\n\nWithout one shot timer interface, user space can still use timer trigger\nto set a timer to hold a state, however when user space application\ncrashes or goes away without deactivating the timer, the hardware will be\nleft in that state permanently.\n\nAs a specific example of this use-case, let\u0027s look at vibrate feature on\nphones.  Vibrate function on phones is implemented using PWM pins on SoC\nor PMIC.  There is a need to activate one shot timer to control the\nvibrate feature, to prevent user space crashes leaving the phone in\nvibrate mode permanently causing the battery to drain.\n\nThis trigger exports three properties, activate, state, and duration When\ntransient trigger is activated these properties are set to default values.\n\n- duration allows setting timer value in msecs. The initial value is 0.\n- activate allows activating and deactivating the timer specified by\n  duration as needed. The initial and default value is 0.  This will allow\n  duration to be set after trigger activation.\n- state allows user to specify a transient state to be held for the specified\n  duration.\n\nSigned-off-by: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Jonas Bonn \u003cjonas@southpole.se\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49dca5aebfdeadd4bf27b6cb4c60392147dc35a4",
      "tree": "99172a77186076842dce396469ea9d50f4d16c9f",
      "parents": [
        "6335f8fa974bc284da0f55877935538e1d7b55eb"
      ],
      "author": {
        "name": "Alexander Holler",
        "email": "holler@ahsoftware.de",
        "time": "Tue May 29 15:07:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "leds: heartbeat: stop on shutdown\n\nA halted kernel should not show a heartbeat.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Alexander Holler \u003choller@ahsoftware.de\u003e\nCc: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6335f8fa974bc284da0f55877935538e1d7b55eb",
      "tree": "e6859213e38c0f88c0941814341422e7fc4bcb3c",
      "parents": [
        "8035a50224302f9eb129d210daf263405d5a91fd"
      ],
      "author": {
        "name": "Kim, Milo",
        "email": "Milo.Kim@ti.com",
        "time": "Tue May 29 15:07:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "drivers/leds/leds-lm3530.c: simplify als configuration on initialization\n\nFor better code readability, ALS code is moved to new a function -\nlm3530_als_configure()\n\nSigned-off-by: Milo(Woogyom) Kim \u003cmilo.kim@ti.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Shreshtha Kumar SAHU \u003cshreshthakumar.sahu@stericsson.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8035a50224302f9eb129d210daf263405d5a91fd",
      "tree": "bbb04a17c4efac3ebff5458759fd5dde9f53be5a",
      "parents": [
        "1381187991a196a8a7d046e97bd50eec6c37e8df"
      ],
      "author": {
        "name": "Kim, Milo",
        "email": "Milo.Kim@ti.com",
        "time": "Tue May 29 15:07:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "include/linux/led-lm3530.h: comment correction about the range of brightness\n\nmax brightness is 127, so the range of brt_val should be from 0 to 127\n\nSigned-off-by: Milo(Woogyom) Kim \u003cmilo.kim@ti.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Shreshtha Kumar SAHU \u003cshreshthakumar.sahu@stericsson.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1381187991a196a8a7d046e97bd50eec6c37e8df",
      "tree": "f84e83866b4d15cad012cb40c5b653ce4c49a7d9",
      "parents": [
        "03c091e5b726ada6aaf9af1d0e973679099101e4"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuahkhan@gmail.com",
        "time": "Tue May 29 15:07:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "leds: change ledtrig-timer to use activated flag\n\nChange existing timer trigger to use the new -\u003eactivated flag to set\nactivate successful status in activate routine and check it in deactivate\nroutine to do cleanup.\n\nSigned-off-by: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03c091e5b726ada6aaf9af1d0e973679099101e4",
      "tree": "acbe5d242a76b2296d15804c4cc2766ca1295d4b",
      "parents": [
        "b00961824a33aadec4a825eaeccfbe3db8ec7032"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuahkhan@gmail.com",
        "time": "Tue May 29 15:07:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "leds: change existing triggers to use activated flag\n\nChange existing triggers backlight, gpio, and heartbeat to use the new\n-\u003eactivated flag to set activate successful status in their activate\nroutines and check it in their deactivate routines to do cleanup.\n\nSigned-off-by: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b00961824a33aadec4a825eaeccfbe3db8ec7032",
      "tree": "f3af8c9307bdf3b06b9fc21df9aea0356b89e2b5",
      "parents": [
        "1daef6d27b558d0bde72302ba7062b746887a643"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuahkhan@gmail.com",
        "time": "Tue May 29 15:07:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "leds: add new field to led_classdev struct to save activation state\n\nAdd a new field to led_classdev to save activattion state after activate\nroutine is successful.  This saved state is used in deactivate routine to\ndo cleanup such as removing device files, and free memory allocated during\nactivation.  Currently trigger_data not being null is used for this\npurpose.\n\nExisting triggers will need changes to use this new field.\n\nSigned-off-by: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1daef6d27b558d0bde72302ba7062b746887a643",
      "tree": "ac468cb1810093e81b4d73ff4980d9bd0455cc8e",
      "parents": [
        "872b86be0a285b11b03614456b67fdaf78e86f3d"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Tue May 29 15:07:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "leds: Use kcalloc instead of kzalloc to allocate array\n\nThe advantage of kcalloc is that will prevent integer overflows which\ncould result from the multiplication of number of elements and size and it\nis also a bit nicer to read.\n\nThe semantic patch that makes this change is available\nin https://lkml.org/lkml/2011/11/25/107\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "872b86be0a285b11b03614456b67fdaf78e86f3d",
      "tree": "1bd709cf5e71997b290e3eaf9a4aa8dd16dc49a9",
      "parents": [
        "5ba736311bf6fea25c97e868b7de6d3de8800aba"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuahkhan@gmail.com",
        "time": "Tue May 29 15:07:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "leds: simple_strtoul() cleanup\n\nled-class.c and ledtrig-timer.c still use simple_strtoul().  Change them\nto use kstrtoul() instead of obsolete simple_strtoul().\n\nAlso fix the existing int ret declaration to be ssize_t to match the\nreturn type for _store functions in ledtrig-timer.c.\n\nSigned-off-by: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ba736311bf6fea25c97e868b7de6d3de8800aba",
      "tree": "347d7e042b9fb7bf977daa95441ea0169c918d11",
      "parents": [
        "5bc9ad774c063f6b41965e7314f2c26aa5e465a0"
      ],
      "author": {
        "name": "David Dajun Chen",
        "email": "dchen@diasemi.com",
        "time": "Tue May 29 15:07:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "leds: driver for DA9052/53 PMIC v2\n\nLED Driver for Dialog Semiconductor DA9052/53 PMICs.\n\n[akpm@linux-foundation.org: make led_reg static]\nSigned-off-by: David Dajun Chen \u003cdchen@diasemi.com\u003e\nSigned-off-by: Ashish Jangam \u003cashish.jangam@kpitcummins.com\u003e\nReviewed-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bc9ad774c063f6b41965e7314f2c26aa5e465a0",
      "tree": "838363a1ead69a031fce1eccdc9f732f34275b92",
      "parents": [
        "c8515294a31ec63536eb1a2ba7a38797435dda4f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue May 29 15:07:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "drivers/leds/leds-lp5521.c: fix lp5521_read() error handling\n\nGcc 4.6.2 complains that:\n\n  drivers/leds/leds-lp5521.c: In function `lp5521_load_program\u0027:\n  drivers/leds/leds-lp5521.c:214:21: warning: `mode\u0027 may be used uninitialized in this function [-Wuninitialized]\n  drivers/leds/leds-lp5521.c: In function `lp5521_probe\u0027:\n  drivers/leds/leds-lp5521.c:788:5: warning: `buf\u0027 may be used uninitialized in this function [-Wuninitialized]\n  drivers/leds/leds-lp5521.c:740:6: warning: `ret\u0027 may be used uninitialized in this function [-Wuninitialized]\n\nThese are real problems if lp5521_read() returns an error.  When that\nhappens we should handle it, instead of ignoring it or doing a bitwise\nOR with all the other error codes and continuing.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Milo \u003cMilo.Kim@ti.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8515294a31ec63536eb1a2ba7a38797435dda4f",
      "tree": "a9728f32513a5131ab4ae1e1c0e47be6a6e244dd",
      "parents": [
        "f072c8900c11bc91eb3fa9287bab4ce606632be5"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Tue May 29 15:07:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:31 2012 -0700"
      },
      "message": "backlight: tosa_lcd: use devm_ functions\n\nThe devm_ functions allocate memory that is released when a driver\ndetaches.  This patch uses devm_kzalloc of these functions.\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "f072c8900c11bc91eb3fa9287bab4ce606632be5"
}
