)]}'
{
  "log": [
    {
      "commit": "3b87956ea645fb4de7e59c7d0aa94de04be72615",
      "tree": "0dde04e6dfad7cd76afbb31eff72a8f08a574a9c",
      "parents": [
        "76ac21f5ef30e46397e405695eb1240ff0955209"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Jul 22 18:45:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 21:04:20 2010 -0700"
      },
      "message": "net sched: fix race in mirred device removal\n\nThis fixes hang when target device of mirred packet classifier\naction is removed.\n\nIf a mirror or redirection action is configured to cause packets\nto go to another device, the classifier holds a ref count, but was assuming\nthe adminstrator cleaned up all redirections before removing. The fix\nis to add a notifier and cleanup during unregister.\n\nThe new list is implicitly protected by RTNL mutex because\nit is held during filter add/delete as well as notifier.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a35747a5d13b99e076b0222729e0caa48cb69b6",
      "tree": "387e2840fe46edd9cc36027cf188778f2c5ab1ff",
      "parents": [
        "bded64a7ff82f6af56426a4ff2483888e5ad5fe9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 21 21:44:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 22 13:08:56 2010 -0700"
      },
      "message": "macvtap: Limit packet queue length\n\nMark Wagner reported OOM symptoms when sending UDP traffic over\na macvtap link to a kvm receiver.\n\nThis appears to be caused by the fact that macvtap packet queues\nare unlimited in length.  This means that if the receiver can\u0027t\nkeep up with the rate of flow, then we will hit OOM. Of course\nit gets worse if the OOM killer then decides to kill the receiver.\n\nThis patch imposes a cap on the packet queue length, in the same\nway as the tuntap driver, using the device TX queue length.\n\nPlease note that macvtap currently has no way of giving congestion\nnotification, that means the software device TX queue cannot be\nused and packets will always be dropped once the macvtap driver\nqueue fills up.\n\nThis shouldn\u0027t be a great problem for the scenario where macvtap\nis used to feed a kvm receiver, as the traffic is most likely\nexternal in origin so congestion notification can\u0027t be applied\nanyway.\n\nOf course, if anybody decides to complain about guest-to-guest\nUDP packet loss down the track, then we may have to revisit this.\n\nIncidentally, this patch also fixes a real memory leak when\nmacvtap_get_queue fails.\n\nChris Wright noticed that for this patch to work, we need a\nnon-zero TX queue length.  This patch includes his work to change\nthe default macvtap TX queue length to 500.\n\nReported-by: Mark Wagner \u003cmwagner@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0f77d0eae0c58a5a9691a067ada112ceeae2d00",
      "tree": "2bab159a95f51e32dbb4eb2d554328de3190c678",
      "parents": [
        "91a72a70594e5212c97705ca6a694bd307f7a26b"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Wed Jul 14 20:50:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 14 20:50:29 2010 -0700"
      },
      "message": "net: fix problem in reading sock TX queue\n\nFix problem in reading the tx_queue recorded in a socket.  In\ndev_pick_tx, the TX queue is read by doing a check with\nsk_tx_queue_recorded on the socket, followed by a sk_tx_queue_get.\nThe problem is that there is not mutual exclusion across these\ncalls in the socket so it it is possible that the queue in the\nsock can be invalidated after sk_tx_queue_recorded is called so\nthat sk_tx_queue get returns -1, which sets 65535 in queue_index\nand thus dev_pick_tx returns 65536 which is a bogus queue and\ncan cause crash in dev_queue_xmit.\n\nWe fix this by only calling sk_tx_queue_get which does the proper\nchecks.  The interface is that sk_tx_queue_get returns the TX queue\nif the sock argument is non-NULL and TX queue is recorded, else it\nreturns -1.  sk_tx_queue_recorded is no longer used so it can be\ncompletely removed.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcfcc450baaaa44afc1d3c51ef96a53338ff0eb2",
      "tree": "123a988524aec67145c9b6becfdd6d5993525e87",
      "parents": [
        "3390712a474abdcd3de10024dd1062e5928d381c"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Jul 02 07:08:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 05 20:08:05 2010 -0700"
      },
      "message": "net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined\n\nnetif_vdbg() was originally defined as entirely equivalent to\nnetdev_vdbg(), but I assume that it was intended to take the same\nparameters as netif_dbg() etc.  (Currently it is only used by the\nsfc driver, in which I worked on that assumption.)\n\nIn commit a4ed89c I changed the definition used when VERBOSE_DEBUG is\nnot defined, but I failed to notice that the definition used when\nVERBOSE_DEBUG is defined was also not as I expected.  Change that to\nmatch netif_dbg() as well.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2aec372ff4b7e78e79c308104a860ae0ed20950",
      "tree": "0a399810f9a506121bc7effb0a9127792527ea36",
      "parents": [
        "f0796d5c73e59786d09a1e617689d1d415f2db44"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jul 01 13:18:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 02 21:59:08 2010 -0700"
      },
      "message": "linux/net.h: fix kernel-doc warnings\n\nFix kernel-doc warnings in linux/net.h:\n\nWarning(include/linux/net.h:151): No description found for parameter \u0027wq\u0027\nWarning(include/linux/net.h:151): Excess struct/union/enum/typedef member \u0027fasync_list\u0027 description in \u0027socket\u0027\nWarning(include/linux/net.h:151): Excess struct/union/enum/typedef member \u0027wait\u0027 description in \u0027socket\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0796d5c73e59786d09a1e617689d1d415f2db44",
      "tree": "ecb17c65c5b6a162824a1e11fee24364852837f8",
      "parents": [
        "4ef6acff83222f4496ceef7d1f0ee9e50a5bb403"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Jul 01 13:21:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 02 21:59:07 2010 -0700"
      },
      "message": "net: decreasing real_num_tx_queues needs to flush qdisc\n\nReducing real_num_queues needs to flush the qdisc otherwise\nskbs with queue_mappings greater then real_num_tx_queues can\nbe sent to the underlying driver.\n\nThe flow for this is,\n\ndev_queue_xmit()\n\tdev_pick_tx()\n\t\tskb_tx_hash()  \u003d\u003e hash using real_num_tx_queues\n\t\tskb_set_queue_mapping()\n\t...\n\tqdisc_enqueue_root() \u003d\u003e enqueue skb on txq from hash\n...\ndev-\u003ereal_num_tx_queues -\u003d n\n...\nsch_direct_xmit()\n\tdev_hard_start_xmit()\n\t\tndo_start_xmit(skb,dev) \u003d\u003e skb queue set with old hash\n\nskbs are enqueued on the qdisc with skb-\u003equeue_mapping set\n0 \u003c queue_mappings \u003c real_num_tx_queues.  When the driver\ndecreases real_num_tx_queues skb\u0027s may be dequeued from the\nqdisc with a queue_mapping greater then real_num_tx_queues.\n\nThis fixes a case in ixgbe where this was occurring with DCB\nand FCoE. Because the driver is using queue_mapping to map\nskbs to tx descriptor rings we can potentially map skbs to\nrings that no longer exist.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ef6acff83222f4496ceef7d1f0ee9e50a5bb403",
      "tree": "0982d46258047f208c26068252457179f5f13bdf",
      "parents": [
        "7ae80abdba0644e12ac17da567a2db1efc1bf8a8"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Jul 01 13:21:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 02 21:59:07 2010 -0700"
      },
      "message": "sched: qdisc_reset_all_tx is calling qdisc_reset without qdisc_lock\n\nWhen calling qdisc_reset() the qdisc lock needs to be held.  In\nthis case there is at least one driver i4l which is using this\nwithout holding the lock.  Add the locking here.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b2c2ff7a1c04e69842254dd4afe0f8ad4efa439",
      "tree": "705bd91dafd562a38d3833edb30297abf0516459",
      "parents": [
        "08e554b17bfdc2682599c8c2770b088a0187a405"
      ],
      "author": {
        "name": "Saeed Bishara",
        "email": "saeed@marvell.com",
        "time": "Sun Jun 27 00:26:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 13:01:11 2010 -0700"
      },
      "message": "mv643xx_eth: use sw csum for big packets\n\nSome controllers (KW, Dove) limits the TX IP/layer4 checksum offloading to a max size.\n\nSigned-off-by: Saeed Bishara \u003csaeed@marvell.com\u003e\nAcked-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4efd7e833591721bec21cc4730a7f6261417840f",
      "tree": "9982ea86ad73f1142842070f4d9d1bf83ba318a0",
      "parents": [
        "d3ead2413cb99d3e6265577b12537434e229d8c2"
      ],
      "author": {
        "name": "Andreas Steffen",
        "email": "andreas.steffen@strongswan.org",
        "time": "Wed Jun 30 10:41:15 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 10:43:31 2010 -0700"
      },
      "message": "xfrm: fix XFRMA_MARK extraction in xfrm_mark_get\n\nDetermine the size of the xfrm_mark struct, not of its pointer.\n\nSigned-off-by: Andreas Steffen \u003candreas.steffen@strongswan.org\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf988435bd5b53529f4408a8efb1f433f6ddfda9",
      "tree": "7805f577d019f587146b4fd1cf642faacfec2f14",
      "parents": [
        "db048b69037e7fa6a7d9e95a1271a50dc08ae233"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Jun 28 08:45:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 29 01:00:29 2010 -0700"
      },
      "message": "ethtool: Fix potential user buffer overflow for ETHTOOL_{G, S}RXFH\n\nstruct ethtool_rxnfc was originally defined in 2.6.27 for the\nETHTOOL_{G,S}RXFH command with only the cmd, flow_type and data\nfields.  It was then extended in 2.6.30 to support various additional\ncommands.  These commands should have been defined to use a new\nstructure, but it is too late to change that now.\n\nSince user-space may still be using the old structure definition\nfor the ETHTOOL_{G,S}RXFH commands, and since they do not need the\nadditional fields, only copy the originally defined fields to and\nfrom user-space.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f1c14b2e3b1805d3e9e6a306d07f5371ea703a7",
      "tree": "ad5d96e60d1ff4e91f5b23d7ae13884581ae2441",
      "parents": [
        "8ceedea7c2600a1018d20f67e766c0773b59391a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 23 00:32:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 23 11:48:19 2010 -0700"
      },
      "message": "snmp: fix SNMP_ADD_STATS()\n\ncommit aa2ea0586d9d (tcp: fix outsegs stat for TSO segments) incorrectly\nassumed SNMP_ADD_STATS() was used from BH context.\n\nFix this using mib[!in_softirq()] instead of mib[0]\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "597a264b1a9c7e36d1728f677c66c5c1f7e3b837",
      "tree": "22db16f0a7b54ece127e127e152e9172456d9e1c",
      "parents": [
        "00d9d6a185de89edc0649ca4ead58f0283dfcbac"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Jun 03 09:30:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 22:23:34 2010 -0700"
      },
      "message": "net: deliver skbs on inactive slaves to exact matches\n\nCurrently, the accelerated receive path for VLAN\u0027s will\ndrop packets if the real device is an inactive slave and\nis not one of the special pkts tested for in\nskb_bond_should_drop().  This behavior is different then\nthe non-accelerated path and for pkts over a bonded vlan.\n\nFor example,\n\nvlanx -\u003e bond0 -\u003e ethx\n\nwill be dropped in the vlan path and not delivered to any\npacket handlers at all.  However,\n\nbond0 -\u003e vlanx -\u003e ethx\n\nand\n\nbond0 -\u003e ethx\n\nwill be delivered to handlers that match the exact dev,\nbecause the VLAN path checks the real_dev which is not a\nslave and netif_recv_skb() doesn\u0027t drop frames but only\ndelivers them to exact matches.\n\nThis patch adds a sk_buff flag which is used for tagging\nskbs that would previously been dropped and allows the\nskb to continue to skb_netif_recv().  Here we add\nlogic to check for the deliver_no_wcard flag and if it\nis set only deliver to handlers that match exactly.  This\nmakes both paths above consistent and gives pkt handlers\na way to identify skbs that come from inactive slaves.\nWithout this patch in some configurations skbs will be\ndelivered to handlers with exact matches and in others\nbe dropped out right in the vlan path.\n\nI have tested the following 4 configurations in failover modes\nand load balancing modes.\n\n# bond0 -\u003e ethx\n\n# vlanx -\u003e bond0 -\u003e ethx\n\n# bond0 -\u003e vlanx -\u003e ethx\n\n# bond0 -\u003e ethx\n            |\n  vlanx -\u003e --\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8764ab2ca7ab5055e1ca80f9cfa4970c34acb804",
      "tree": "ca0a6ea6c6fabbb98220f5b700981f7f23855f42",
      "parents": [
        "4f4aeb7fd0f7e6ca008bb2147ba36cee13876595"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Fri Jun 04 01:57:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 04 15:56:00 2010 -0700"
      },
      "message": "net: check for refcount if pop a stacked dst_entry\n\nxfrm triggers a warning if dst_pop() drops a refcount\non a noref dst. This patch changes dst_pop() to\nskb_dst_pop(). skb_dst_pop() drops the refcnt only\non a refcounted dst. Also we don\u0027t clone the child\ndst_entry, so it is not refcounted and we can use\nskb_dst_set_noref() in xfrm_output_one().\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5953a303471951a4c2f2127f0b4c74df7ceb7ac2",
      "tree": "13b51217a6f538fe5c72821b1ee65d9bfea72842",
      "parents": [
        "b1faf5666438090a4dc4fceac8502edc7788b7e3",
        "7489aec8eed4f2f1eb3b4d35763bd3ea30b32ef5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:44:57 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:44:57 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "b1faf5666438090a4dc4fceac8502edc7788b7e3",
      "tree": "f90808dea27cc38aff6feed1782e2a5666fa6ee9",
      "parents": [
        "bc284f94f84c3d76e49c6f3df9028c503f9589d9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 31 23:44:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:44:05 2010 -0700"
      },
      "message": "net: sock_queue_err_skb() dont mess with sk_forward_alloc\n\nCorrect sk_forward_alloc handling for error_queue would need to use a\nbacklog of frames that softirq handler could not deliver because socket\nis owned by user thread. Or extend backlog processing to be able to\nprocess normal and error packets.\n\nAnother possibility is to not use mem charge for error queue, this is\nwhat I implemented in this patch.\n\nNote: this reverts commit 29030374\n(net: fix sk_forward_alloc corruptions), since we dont need to lock\nsocket anymore.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7489aec8eed4f2f1eb3b4d35763bd3ea30b32ef5",
      "tree": "fe2450679dc217183421e606b3912641545596bd",
      "parents": [
        "c936e8bd1de2fa50c49e3df6fa5036bf07870b67"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 31 16:41:35 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 31 16:41:35 2010 +0200"
      },
      "message": "netfilter: xtables: stackptr should be percpu\n\ncommit f3c5c1bfd4 (netfilter: xtables: make ip_tables reentrant)\nintroduced a performance regression, because stackptr array is shared by\nall cpus, adding cache line ping pongs. (16 cpus share a 64 bytes cache\nline)\n\nFix this using alloc_percpu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-By: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "64960848abd18d0bcde3f53ffa7ed0b631e6b25d",
      "tree": "8424a1c550a98ce09f127425fde9b7b5f2f5027a",
      "parents": [
        "2903037400a26e7c0cc93ab75a7d62abfacdf485",
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 05:46:45 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 05:46:45 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "3b03117c5cfbb04175b688c79ea4155b8ef812d3",
      "tree": "5d2e3d0d7db98e2b47c7bb51be39bc4ced6a4d97",
      "parents": [
        "fa7eadab4b4aec0139d2429e6f8d13375ff8a658",
        "0f1f694260e0d35b5ce7d471f6e679c3dd4d7d94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:46:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 12:46:17 2010 -0700"
      },
      "message": "Merge branch \u0027slub/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slub/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  SLUB: Allow full duplication of kmalloc array for 390\n  slub: move kmem_cache_node into it\u0027s own cacheline\n"
    },
    {
      "commit": "003386fff3e02e51cea882e60f7d28290113964c",
      "tree": "253001a9a0fc609b757362708edc2dcaab9e2a14",
      "parents": [
        "092405cdb66f060918160ae730640b449ed7b827",
        "51921cb746f56983db5a373ca68deb2b0d3ddf01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:16:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:16:14 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  mm: export generic_pipe_buf_*() to modules\n  fuse: support splice() reading from fuse device\n  fuse: allow splice to move pages\n  mm: export remove_from_page_cache() to modules\n  mm: export lru_cache_add_*() to modules\n  fuse: support splice() writing to fuse device\n  fuse: get page reference for readpages\n  fuse: use get_user_pages_fast()\n  fuse: remove unneeded variable\n"
    },
    {
      "commit": "17d30ac077df253c12c7ba4db8d5cdacfceeb6d1",
      "tree": "991a18cd249d66c7e08faa1b93f014ad169f04f3",
      "parents": [
        "e38c1e54ce51059a1aa8744c895762906cf43b32",
        "191211f50f35deb5b3b80bc7b620cfd4b0a4a2d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:13:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:13:08 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (47 commits)\n  mfd: Rename twl5031 sih modules\n  mfd: Storage class for timberdale should be before const qualifier\n  mfd: Remove unneeded and dangerous clearing of clientdata\n  mfd: New AB8500 driver\n  gpio: Fix inverted rdc321x gpio data out registers\n  mfd: Change rdc321x resources flags to IORESOURCE_IO\n  mfd: Move pcf50633 irq related functions to its own file.\n  mfd: Use threaded irq for pcf50633\n  mfd: pcf50633-adc: Fix potential race in pcf50633_adc_sync_read\n  mfd: Fix pcf50633 bitfield logic in interrupt handler\n  gpio: rdc321x needs to select MFD_CORE\n  mfd: Use menuconfig for quicker config editing\n  ARM: AB3550 board configuration and irq for U300\n  mfd: AB3550 core driver\n  mfd: AB3100 register access change to abx500 API\n  mfd: Renamed ab3100.h to abx500.h\n  gpio: Add TC35892 GPIO driver\n  mfd: Add Toshiba\u0027s TC35892 MFD core\n  mfd: Delay to mask tsc irq in max8925\n  mfd: Remove incorrect wm8350 kfree\n  ...\n"
    },
    {
      "commit": "e38c1e54ce51059a1aa8744c895762906cf43b32",
      "tree": "6af00994b3d07da2db3419346f740ae06f3cfe7e",
      "parents": [
        "3e9345edd8562dc4f9bbca88a598c91c8779a9c4",
        "7b8ddb06e54ad98edeb7951f317aee4d1feda9d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:12:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:12:43 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  DMAENGINE: DMA40 U8500 platform configuration\n  DMA: PL330: Add dma api driver\n"
    },
    {
      "commit": "d28619f1563140526e2f84eae436f39206f40a69",
      "tree": "d93284016a0983c8f27b745a3c50738617e50995",
      "parents": [
        "021fad8b706849c091f6e682bc5df3ce4f9ab4d7",
        "f32764bd2bbb6ea003c158b1d276b4dc9f900348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert quota statistics to generic percpu_counter\n  ext3 uses rb_node \u003d NULL; to zero rb_root.\n  quota: Fixup dquot_transfer\n  reiserfs: Fix resuming of quotas on remount read-write\n  pohmelfs: Remove dead quota code\n  ufs: Remove dead quota code\n  udf: Remove dead quota code\n  quota: rename default quotactl methods to dquot_\n  quota: explicitly set -\u003edq_op and -\u003es_qcop\n  quota: drop remount argument to -\u003equota_on and -\u003equota_off\n  quota: move unmount handling into the filesystem\n  quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n  quota: move remount handling into the filesystem\n  ocfs2: Fix use after free on remount read-only\n\nFix up conflicts in fs/ext4/super.c and fs/ufs/file.c\n"
    },
    {
      "commit": "97ef6f7449da6ceddf9a90fa8851f607b67283dd",
      "tree": "a994fe080741edc1c6ef0281ec72425f25b3f256",
      "parents": [
        "06b2e9886e039c2f1b3048c47e539b80ab4155b0"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 28 15:08:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:02:47 2010 -0700"
      },
      "message": "rapidio: fix new kernel-doc warnings\n\nFix a bunch of new rapidio kernel-doc warnings:\n\nWarning(include/linux/rio.h:123): No description found for parameter \u0027comp_tag\u0027\nWarning(include/linux/rio.h:123): No description found for parameter \u0027phys_efptr\u0027\nWarning(include/linux/rio.h:123): No description found for parameter \u0027em_efptr\u0027\nWarning(include/linux/rio.h:123): No description found for parameter \u0027pwcback\u0027\nWarning(include/linux/rio.h:247): No description found for parameter \u0027set_domain\u0027\nWarning(include/linux/rio.h:247): No description found for parameter \u0027get_domain\u0027\nWarning(drivers/rapidio/rio-scan.c:1133): No description found for parameter \u0027rdev\u0027\nWarning(drivers/rapidio/rio-scan.c:1133): Excess function parameter \u0027port\u0027 description in \u0027rio_init_em\u0027\nWarning(drivers/rapidio/rio.c:349): No description found for parameter \u0027rdev\u0027\nWarning(drivers/rapidio/rio.c:349): Excess function parameter \u0027mport\u0027 description in \u0027rio_request_inb_pwrite\u0027\nWarning(drivers/rapidio/rio.c:393): No description found for parameter \u0027port\u0027\nWarning(drivers/rapidio/rio.c:393): No description found for parameter \u0027local\u0027\nWarning(drivers/rapidio/rio.c:393): No description found for parameter \u0027destid\u0027\nWarning(drivers/rapidio/rio.c:393): No description found for parameter \u0027hopcount\u0027\nWarning(drivers/rapidio/rio.c:393): Excess function parameter \u0027rdev\u0027 description in \u0027rio_mport_get_physefb\u0027\nWarning(drivers/rapidio/rio.c:845): Excess function parameter \u0027local\u0027 description in \u0027rio_std_route_clr_table\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35926ff5fba8245bd1c6ac04155048f6f89232b1",
      "tree": "9afc520f47e29cb3cd80462fe62858f17b1c6cfb",
      "parents": [
        "b612a0553714c6b9744ad0d03f10cac78f3a84b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:00:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:00:03 2010 -0700"
      },
      "message": "Revert \"cpusets: randomize node rotor used in cpuset_mem_spread_node()\"\n\nThis reverts commit 0ac0c0d0f837c499afd02a802f9cf52d3027fa3b, which\ncaused cross-architecture build problems for all the wrong reasons.\nIA64 already added its own version of __node_random(), but the fact is,\nthere is nothing architectural about the function, and the original\ncommit was just badly done. Revert it, since no fix is forthcoming.\n\nRequested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b612a0553714c6b9744ad0d03f10cac78f3a84b1",
      "tree": "9dfb5cb5d13c187ff1f54448f8441512203625d0",
      "parents": [
        "52b0ace7dfe8f70350218017a95d7cab1eb41fbb",
        "2a8e5e3637e2fc058798f5d3626f525729ffaaaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: clean up on forwarded aborted mds request\n  ceph: fix leak of osd authorizer\n  ceph: close out mds, osd connections before stopping auth\n  ceph: make lease code DN specific\n  fs/ceph: Use ERR_CAST\n  ceph: renew auth tickets before they expire\n  ceph: do not resend mon requests on auth ticket renewal\n  ceph: removed duplicated #includes\n  ceph: avoid possible null dereference\n  ceph: make mds requests killable, not interruptible\n  sched: add wait_for_completion_killable_timeout\n"
    },
    {
      "commit": "0f1f694260e0d35b5ce7d471f6e679c3dd4d7d94",
      "tree": "0779df2dc3d993569b776acc70256d7659ded2d0",
      "parents": [
        "73367bd8eef4f4eb311005886aaa916013073265"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Thu May 27 09:17:17 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun May 30 13:02:08 2010 +0300"
      },
      "message": "SLUB: Allow full duplication of kmalloc array for 390\n\nCommit 756dee75872a2a764b478e18076360b8a4ec9045 (\"SLUB: Get rid of dynamic DMA\nkmalloc cache allocation\") makes S390 run out of kmalloc caches.  Increase the\nnumber of kmalloc caches to a safe size.\n\nCc: \u003cstable@kernel.org\u003e [ .33 and .34 ]\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "52b0ace7dfe8f70350218017a95d7cab1eb41fbb",
      "tree": "e474f8e2c5ac1712e1e1155b879420dde4aa3922",
      "parents": [
        "24010e460454ec0d2f4f0213b667b4349cbdb8e1",
        "d6695f09ea30de712662fcf8dd0e8c4d4306a15a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 29 15:31:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 29 15:31:57 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (26 commits)\n  ALSA: snd-usb-caiaq: Bump version number to 1.3.21\n  ALSA: Revert \"ALSA: snd-usb-caiaq: Set default input mode of A4DJ\"\n  ALSA: snd-usb-caiaq: Simplify single case to an \u0027if\u0027\n  ALSA: snd-usb-caiaq: Restore \u0027Control vinyl\u0027 input mode on A4DJ\n  ALSA: hda: Use LPIB for a Shuttle device\n  ALSA: hda: Add support for another Lenovo ThinkPad Edge in conexant codec\n  ALSA: hda: Use LPIB for Sony VPCS11V9E\n  ALSA: usb-audio: fix feature unit parser for UAC2\n  ALSA: asihpi - Minor code cleanup\n  ALSA: asihpi - Add support for new ASI8800 family\n  ALSA: asihpi - Fix bug preventing outstream_write preload from happening\n  ALSA: asihpi - Fix imbalanced lock path in hw_message\n  ALSA: asihpi - Remove support for old ASI8800 family\n  ALSA: asihpi - Add hd radio blend functions\n  ALSA: asihpi - Remove unused io map functions\n  ALSA: usb-audio: add support for UAC2 pitch control\n  ALSA: usb-audio: parse UAC2 endpoint descriptors correctly\n  ALSA: usb-audio: fix return values\n  ALSA: usb-audio: parse more format descriptors with structs\n  sound: Add missing spin_unlock\n  ...\n"
    },
    {
      "commit": "0aa12fb439838a85802ab8b7fbb9bcfc3e6e05cb",
      "tree": "c944cf9abba9a6afb3d1259140c73101d0e222a0",
      "parents": [
        "240ed68eb567d80dd6bab739341999a5ab0ad55d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:30 2010 -0700"
      },
      "message": "sched: add wait_for_completion_killable_timeout\n\nAdd missing _killable_timeout variant for wait_for_completion that will\nreturn when a timeout expires or the task is killed.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5b0daa3474d52bed906c4d5e92b44e10148c6972",
      "tree": "3ed95111a3637d1b64f4c1bf27a0e86a785ca104",
      "parents": [
        "6057fd78a8dcce6269f029b967051d5a2e9b0895"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat May 29 00:12:13 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 29 00:12:13 2010 -0700"
      },
      "message": "skb: make skb_recycle_check() return a bool value\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4f2e5eaac8f5f903ca4a8cc944d26e68745d6bb",
      "tree": "1a8d89561fa5b231202d5287acc2683eccadee7f",
      "parents": [
        "9a90e09854a3c7cc603ab8fc9163f77bb1f66cfa",
        "2671717265ae6e720a9ba5f13fbec3a718983b65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 16:14:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 16:14:17 2010 -0700"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  intel_idle: native hardware cpuidle driver for latest Intel processors\n  ACPI: acpi_idle: touch TS_POLLING only in the non-MWAIT case\n  acpi_pad: uses MONITOR/MWAIT, so it doesn\u0027t need to clear TS_POLLING\n  sched: clarify commment for TS_POLLING\n  ACPI: allow a native cpuidle driver to displace ACPI\n  cpuidle: make cpuidle_curr_driver static\n  cpuidle: add cpuidle_unregister_driver() error check\n  cpuidle: fail to register if !CONFIG_CPU_IDLE\n"
    },
    {
      "commit": "9a90e09854a3c7cc603ab8fc9163f77bb1f66cfa",
      "tree": "c8c5f767dd2351c9db440f003cc14401583bafd3",
      "parents": [
        "d372e7fe4698bde3a00b718f7901a0025dda47ef",
        "d3b383338f105f50724c10a7d81b04a3930e886b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 14:42:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 14:42:18 2010 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)\n  ACPI: Don\u0027t let acpi_pad needlessly mark TSC unstable\n  drivers/acpi/sleep.h: Checkpatch cleanup\n  ACPI: Minor cleanup eliminating redundant PMTIMER_TICKS to NS conversion\n  ACPI: delete unused c-state promotion/demotion data strucutures\n  ACPI: video: fix acpi_backlight\u003dvideo\n  ACPI: EC: Use kmemdup\n  drivers/acpi: use kasprintf\n  ACPI, APEI, EINJ injection parameters support\n  Add x64 support to debugfs\n  ACPI, APEI, Use ERST for persistent storage of MCE\n  ACPI, APEI, Error Record Serialization Table (ERST) support\n  ACPI, APEI, Generic Hardware Error Source memory error support\n  ACPI, APEI, UEFI Common Platform Error Record (CPER) header\n  Unified UUID/GUID definition\n  ACPI Hardware Error Device (PNP0C33) support\n  ACPI, APEI, PCIE AER, use general HEST table parsing in AER firmware_first setup\n  ACPI, APEI, Document for APEI\n  ACPI, APEI, EINJ support\n  ACPI, APEI, HEST table parsing\n  ACPI, APEI, APEI supporting infrastructure\n  ...\n"
    },
    {
      "commit": "edbe77ba94217868caf5f391d2a083729bef3742",
      "tree": "6525dc173ea0f94236b1ad01c1092b9f89d11d7a",
      "parents": [
        "64a4222f7e087b5030eff0f6e47285696089d983",
        "0dc698b93f3eecdda43b22232131324eb41e510c"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:18:20 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:18:20 2010 -0400"
      },
      "message": "Merge branch \u0027misc-2.6.35\u0027 into release\n"
    },
    {
      "commit": "64a4222f7e087b5030eff0f6e47285696089d983",
      "tree": "43f89acec1245d6cc44967d26eb49447e9beed74",
      "parents": [
        "91dd6964390b331beb731623cb59c4a933ff8162",
        "eeb4bcb4771679d7b3446c0293334faee11b090a",
        "e92a716240258989f19c7345e8b135e6d214431a"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:18:12 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:18:12 2010 -0400"
      },
      "message": "Merge branches \u0027video\u0027 and \u0027video-edid\u0027 into release\n"
    },
    {
      "commit": "91dd6964390b331beb731623cb59c4a933ff8162",
      "tree": "2d22bdbd92e1e642fa4a77be4d4bf4cc5cbba2a9",
      "parents": [
        "dc1544ea5d6dfdf29440295788e639e4b44c605a",
        "b6dacf63e9fb2e7a1369843d6cef332f76fca6a3"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:17:27 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:17:27 2010 -0400"
      },
      "message": "Merge branch \u0027acpi_enable\u0027 into release\n"
    },
    {
      "commit": "dc1544ea5d6dfdf29440295788e639e4b44c605a",
      "tree": "fd4a26e78c32a43a7eb59860774f7f960f91a60c",
      "parents": [
        "6e320ec1d98f9eb93d5b2a5d70e2f40dce923f1b",
        "57283776b2b821ba4d592f61cad04d0293412740"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:17:16 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri May 28 16:17:16 2010 -0400"
      },
      "message": "Merge branch \u0027bjorn-pci-root-v4-2.6.35\u0027 into release\n"
    },
    {
      "commit": "72da3bc0cb3e82bd95f278a0c5c988e506e56d13",
      "tree": "db4bf9f9265be3216dfb3d65b49e53d8448e13e2",
      "parents": [
        "8507bb0062bff1431bbcce921efe5cd1186fcff2",
        "045de01a174d9f0734f657eb4b3313d89b4fd5ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (22 commits)\n  netlink: bug fix: wrong size was calculated for vfinfo list blob\n  netlink: bug fix: don\u0027t overrun skbs on vf_port dump\n  xt_tee: use skb_dst_drop()\n  netdev/fec: fix ifconfig eth0 down hang issue\n  cnic: Fix context memory init. on 5709.\n  drivers/net: Eliminate a NULL pointer dereference\n  drivers/net/hamradio: Eliminate a NULL pointer dereference\n  be2net: Patch removes redundant while statement in loop.\n  ipv6: Add GSO support on forwarding path\n  net: fix __neigh_event_send()\n  vhost: fix the memory leak which will happen when memory_access_ok fails\n  vhost-net: fix to check the return value of copy_to/from_user() correctly\n  vhost: fix to check the return value of copy_to/from_user() correctly\n  vhost: Fix host panic if ioctl called with wrong index\n  net: fix lock_sock_bh/unlock_sock_bh\n  net/iucv: Add missing spin_unlock\n  net: ll_temac: fix checksum offload logic\n  net: ll_temac: fix interrupt bug when interrupt 0 is used\n  sctp: dubious bitfields in sctp_transport\n  ipmr: off by one in __ipmr_fill_mroute()\n  ...\n"
    },
    {
      "commit": "89ad6a6173127e5d31bea7a4a45ec23fa5bf4a17",
      "tree": "6feb3d663ee48b790a0be2420647e43bc20c31ad",
      "parents": [
        "aa36c7bf987dfa5597c0f7c46f8fca46b2dd33d2",
        "49837a80b38b79a7c06217b2c40842aeb6fa13b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:07:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:07:48 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  remove detritus left by \"mm: make read_cache_page synchronous\"\n  fix fs/sysv s_dirt handling\n  fat: convert to use the new truncate convention.\n  ext2: convert to use the new truncate convention.\n  tmpfs: convert to use the new truncate convention\n  fs: convert simple fs to new truncate\n  kill spurious reference to vmtruncate\n  fs: introduce new truncate sequence\n  fs/super: fix kernel-doc warning\n  fs/minix: bugfix, number of indirect block ptrs per block depends on block size\n  rename the generic fsync implementations\n  drop unused dentry argument to -\u003efsync\n  fs: Add missing mutex_unlock\n  Fix racy use of anon_inode_getfd() in perf_event.c\n  get rid of the magic around f_count in aio\n  VFS: fix recent breakage of FS_REVAL_DOT\n  Revert \"anon_inode: set S_IFREG on the anon_inode\"\n"
    },
    {
      "commit": "7bb46a6734a7e1ad4beaecc11cae7ed3ff81d30f",
      "tree": "e575d9c55e2a6ccc645dcb3ae2564de458b428f2",
      "parents": [
        "7000d3c424e5bb350e502a477fb0e1ed42f8b10e"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:33 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:33 2010 -0400"
      },
      "message": "fs: introduce new truncate sequence\n\nIntroduce a new truncate calling sequence into fs/mm subsystems. Rather than\nsetattr \u003e vmtruncate \u003e truncate, have filesystems call their truncate sequence\nfrom -\u003esetattr if filesystem specific operations are required. vmtruncate is\ndeprecated, and truncate_pagecache and inode_newsize_ok helpers introduced\npreviously should be used.\n\nsimple_setattr is introduced for simple in-ram filesystems to implement\nthe new truncate sequence. Eventually all filesystems should be converted\nto implement a setattr, and the default code in notify_change should go\naway.\n\nsimple_setsize is also introduced to perform just the ATTR_SIZE portion\nof simple_setattr (ie. changing i_size and trimming pagecache).\n\nTo implement the new truncate sequence:\n- filesystem specific manipulations (eg freeing blocks) must be done in\n  the setattr method rather than -\u003etruncate.\n- vmtruncate can not be used by core code to trim blocks past i_size in\n  the event of write failure after allocation, so this must be performed\n  in the fs code.\n- convert usage of helpers block_write_begin, nobh_write_begin,\n  cont_write_begin, and *blockdev_direct_IO* to use _newtrunc postfixed\n  variants. These avoid calling vmtruncate to trim blocks (see previous).\n- inode_setattr should not be used. generic_setattr is a new function\n  to be used to copy simple attributes into the generic inode.\n- make use of the better opportunity to handle errors with the new sequence.\n\nBig problem with the previous calling sequence: the filesystem is not called\nuntil i_size has already changed.  This means it is not allowed to fail the\ncall, and also it does not know what the previous i_size was. Also, generic\ncode calling vmtruncate to truncate allocated blocks in case of error had\nno good way to return a meaningful error (or, for example, atomically handle\nblock deallocation).\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b061d9247f71cd15edc4c4c4600191a903642c0",
      "tree": "30d92ca82d8286e7a45fba108230ecd23e61673b",
      "parents": [
        "7ea8085910ef3dd4f3cad6845aaa2b580d39b115"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:06 2010 -0400"
      },
      "message": "rename the generic fsync implementations\n\nWe don\u0027t name our generic fsync implementations very well currently.\nThe no-op implementation for in-memory filesystems currently is called\nsimple_sync_file which doesn\u0027t make too much sense to start with,\nthe the generic one for simple filesystems is called simple_fsync\nwhich can lead to some confusion.\n\nThis patch renames the generic file fsync method to generic_file_fsync\nto match the other generic_file_* routines it is supposed to be used\nwith, and the no-op implementation to noop_fsync to make it obvious\nwhat to expect.  In addition add some documentation for both methods.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d7065da038227a4d09a244e6014e0186a6bd21d0",
      "tree": "0b3b30a6ec59aa03e5fb7084eed31f2a5dfc9686",
      "parents": [
        "176306f59ac7a35369cbba87aff13e14c5916074"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 26 15:13:55 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:03:07 2010 -0400"
      },
      "message": "get rid of the magic around f_count in aio\n\n__aio_put_req() plays sick games with file refcount.  What\nit wants is fput() from atomic context; it\u0027s almost always\ndone with f_count \u003e 1, so they only have to deal with delayed\nwork in rare cases when their reference happens to be the\nlast one.  Current code decrements f_count and if it hasn\u0027t\nhit 0, everything is fine.  Otherwise it keeps a pointer\nto struct file (with zero f_count!) around and has delayed\nwork do __fput() on it.\n\nBetter way to do it: use atomic_long_add_unless( , -1, 1)\ninstead of !atomic_long_dec_and_test().  IOW, decrement it\nonly if it\u0027s not the last reference, leave refcount alone\nif it was.  And use normal fput() in delayed work.\n\nI\u0027ve made that atomic_long_add_unless call a new helper -\nfput_atomic().  Drops a reference to file if it\u0027s safe to\ndo in atomic (i.e. if that\u0027s not the last one), tells if\nit had been able to do that.  aio.c converted to it, __fput()\nuse is gone.  req-\u003eki_file *always* contributes to refcount\nnow.  And __fput() became static.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aa36c7bf987dfa5597c0f7c46f8fca46b2dd33d2",
      "tree": "ad9fe2294b45562b434bf7cf9e387624057bbd65",
      "parents": [
        "9dda696f0de87a2e5cfabb147e28c76b7d3c6846",
        "43c9c59185eec7caaff6e9dd8d4c93a4d9836a86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 18:34:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 18:34:58 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  libata: implement dump_id force param\n  libata: disable ATAPI AN by default\n  libata-sff: make BMDMA optional\n  libata-sff: kill dummy BMDMA ops from sata_qstor and pata_octeon_cf\n  libata-sff: separate out BMDMA init\n  libata-sff: separate out BMDMA irq handler\n  libata-sff: ata_sff_irq_clear() is BMDMA specific\n  sata_mv: drop unncessary EH callback resetting\n"
    },
    {
      "commit": "752138df0dc2daaae09379c754caeb08c97905dc",
      "tree": "4908627df11ccb42570fc3525c560f89c444781c",
      "parents": [
        "c0d64cb031c21f163a0ec15cf10844bcf0ceedcf"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat May 22 16:57:26 2010 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu May 27 21:06:58 2010 -0400"
      },
      "message": "cpuidle: make cpuidle_curr_driver static\n\ncpuidle_register_driver() sets cpuidle_curr_driver\ncpuidle_unregister_driver() clears cpuidle_curr_driver\n\nWe should\u0027t expose cpuidle_curr_driver to\npotential modification except via these interfaces.\nSo make it static and create cpuidle_get_driver() to observe it.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "62579266cf9caca5b999560be2b5ceee42fc4d4d",
      "tree": "eda6066624c734ef3057a9dc568ebaf978499c1a",
      "parents": [
        "75907a1153b42100b7a5e960bfe47d208d726309"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Wed May 19 11:39:02 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:38:00 2010 +0200"
      },
      "message": "mfd: New AB8500 driver\n\nAdd a new driver to support the AB8500 Power Management chip, replacing\nthe current AB4500.  The new driver replaces the old one, instead of an\nincremental modification, because this is a substantial overhaul\nincluding:\n\n - Split of the driver into -core and -spi portions, to allow another\n   interface layer to be added\n\n - Addition of interrupt support\n\n - Switch to MFD core API for handling subdevices\n\n - Simplification of the APIs to remove a redundant block parameter\n\n - Rename of the APIs and macros from ab4500_* to ab8500_*\n\n - Rename of the files from ab4500* to ab8500*\n\n - Change of the driver name from ab4500 to ab8500\n\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nAcked-by: Srinidhi Kasagar \u003csrinidhi.kasagar@stericsson.com\u003e\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "fa661258a27aa74aaf741882053d195291cefb75",
      "tree": "73b6e0c7156088f660de465555ee13226ac78242",
      "parents": [
        "812f9e9d424dde9ccb35975c0281edb6f8543735"
      ],
      "author": {
        "name": "Mattias Wallin",
        "email": "mattias.wallin@stericsson.com",
        "time": "Sat May 01 18:26:20 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:45 2010 +0200"
      },
      "message": "mfd: AB3100 register access change to abx500 API\n\nThe interface for the AB3100 is changed to make way for the\nABX500 family of chips: AB3550, AB5500 and future ST-Ericsson\nAnalog Baseband chips. The register access functions are moved\nout to a separate struct abx500_ops. In this way the interface\nis moved from the implementation and the sub functionality drivers\ncan keep their interface intact when chip infrastructure and\ncommunication mechanisms changes. We also define the AB3550\ndevice IDs and the AB3550 platform data struct and convert\nthe catenated 32bit event to an array of 3 x 8bits.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "812f9e9d424dde9ccb35975c0281edb6f8543735",
      "tree": "6c86267a32459639801f6f169a953f691f6eaac7",
      "parents": [
        "d88b25be3584138e53076ea3eea3d886c870470e"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Sat May 01 18:26:07 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:44 2010 +0200"
      },
      "message": "mfd: Renamed ab3100.h to abx500.h\n\nThe goal here is to make way for a more general interface for the\nanalog baseband chips ab3100 ab3550 ab550 and future chips.\n\nThis patch have been divided into two parts since both changing name\nand content of a file is not recommended in git.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b4ecd326b789f1029c5d4a5239d9bd12ecac353d",
      "tree": "387b115b1a911c38a70b8d6c40bacb983bc613d5",
      "parents": [
        "68e488d965a9055c63c0eac4ad1e6568b07e8ee1"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Mon May 10 23:39:47 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:42 2010 +0200"
      },
      "message": "mfd: Add Toshiba\u0027s TC35892 MFD core\n\nThe TC35892 I/O Expander provides 24 GPIOs, a keypad controller, timers,\nand a rotator wheel interface.  This patch adds the MFD core.\n\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b03b4d7cdd8f18395494478634707c6f132080d6",
      "tree": "61f306b5b2842fa65c2813be85ccbbdf867aaddc",
      "parents": [
        "0d7e0e399d7fcd5ddc3313a1aa2135fab3226d8f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 08 10:02:39 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:39 2010 +0200"
      },
      "message": "mfd: Ensure WM831x charger interrupts are acknowledged when suspending\n\nThe charger interrupts on the WM831x are unconditionally a wake source\nfor the system. If the power driver is not able to monitor them (for\nexample, due to the IRQ line not having been wired up on the system)\nthen any charger interrupt will prevent the system suspending for any\nmeaningful amount of time since nothing will ack them.\n\nAvoid this issue by manually acknowledging these interrupts when we\nsuspend the WM831x core device if they are masked. If software is\nactually using the interrupts then they will be unmasked and this\nchange will have no effect.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "752599667048898b6969e06e4637f906b04ec752",
      "tree": "91fd727ff21048eac193a84ff26833ff69647d5d",
      "parents": [
        "31dd6a2672e337f5de188df3e5169ee732798236"
      ],
      "author": {
        "name": "Todd Fischer",
        "email": "todd.fischer@ridgerun.com",
        "time": "Mon Apr 05 17:53:12 2010 -0600"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:38 2010 +0200"
      },
      "message": "input: Touchscreen driver for TPS6507x\n\nAdd touch screen input driver for TPS6507x family of multi-function\nchips.  Uses the TPS6507x MFD driver.  No interrupt support due to\ntesting limitations of current hardware.\n\nSigned-off-by: Todd Fischer \u003ctodd.fischer@ridgerun.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "31dd6a2672e337f5de188df3e5169ee732798236",
      "tree": "d0a12a6622d9a32a107267a4479f6e12a495dbd3",
      "parents": [
        "4ce5ba5ba2dfc8186bf31fe7f2d23ff6b5384124"
      ],
      "author": {
        "name": "Todd Fischer",
        "email": "todd.fischer@ridgerun.com",
        "time": "Thu Apr 08 09:04:55 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:38 2010 +0200"
      },
      "message": "mfd: Add TPS6507x support\n\nTPS6507x are multi function (PM, touchscreen) chipsets from TI.\nThis commit also changes the corresponding regulator driver from being\nstandalone to an MFD subdevice.\n\nSigned-off-by: Todd Fischer \u003ctodd.fischer@ridgerun.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "0bc20bba357f18a0e52f45afc452d0b69cf06f76",
      "tree": "38a1c5edfd04aa04a37afc404d4779244b740c09",
      "parents": [
        "d183fcc975cbbc9c427deb2d7948ab03673995c9"
      ],
      "author": {
        "name": "Todd Fischer",
        "email": "todd.fischer@ridgerun.com",
        "time": "Mon Apr 05 20:23:57 2010 -0600"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:37 2010 +0200"
      },
      "message": "mfd: Add tps6507x board data structure\n\nAdd mfd structure which refrences sub-driver initialization data. For example,\nfor a giving hardware implementation, the voltage regulator sub-driver\ninitialization data provides the mapping betten a voltage regulator and what\nthe output voltage is being used for.\n\nSigned-off-by: Todd Fischer \u003ctodd.fischer@ridgerun.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d183fcc975cbbc9c427deb2d7948ab03673995c9",
      "tree": "0cd444a459bb2bceb675274646e4262d3434573e",
      "parents": [
        "374b72ecacc074f8cfccea5a70bdd64d8953dffd"
      ],
      "author": {
        "name": "Todd Fischer",
        "email": "todd.fischer@ridgerun.com",
        "time": "Mon Apr 05 20:23:56 2010 -0600"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:36 2010 +0200"
      },
      "message": "mfd: Move TPS6507x register definition to header file.\n\nOther sub-drivers for the TPS6507x chip will need to use register\ndefinition so move it out of the source file and into a header file.\n\nSigned-off-by: Todd Fischer \u003ctodd.fischer@ridgerun.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "bd3581323cc02aefc79a21780a4ca8c578642892",
      "tree": "eccf8b03e14bdd16416fa30205c61c128e7ce3ce",
      "parents": [
        "165bce9783ab307368e56b7c1a168520a3791266"
      ],
      "author": {
        "name": "Ira W. Snyder",
        "email": "iws@ovro.caltech.edu",
        "time": "Wed Apr 07 09:43:00 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:32 2010 +0200"
      },
      "message": "mfd: Janz CMOD-IO PCI MODULbus Carrier Board support\n\nThe Janz CMOD-IO PCI MODULbus carrier board is a PCI to MODULbus bridge,\nwhich may host many different types of MODULbus daughterboards, including\nCAN and GPIO controllers.\n\nSigned-off-by: Ira W. Snyder \u003ciws@ovro.caltech.edu\u003e\nReviewed-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "872c1b14e78661086ade8b501888850da2636eee",
      "tree": "384a7cc1ec4f24668bee081e06f126c806ba3c9a",
      "parents": [
        "f03cfcbc843ae6854c69dbc771762b83b3bea15f"
      ],
      "author": {
        "name": "Henrik Kretzschmar",
        "email": "henne@nachtwindheim.de",
        "time": "Fri Mar 26 02:40:13 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:31 2010 +0200"
      },
      "message": "mfd: Section cleanup of 88pm860x driver\n\nThis patch fixes three section mismatches.\n\nWARNING: drivers/mfd/88pm860x.o(.text+0x12): Section mismatch in\nreference from the function pm860x_device_exit() to the function\n.devexit.text:device_irq_exit()\nThe function pm860x_device_exit() references a function in an exit\nsection.\nOften the function device_irq_exit() has valid usage outside the exit\nsection\nand the fix is to remove the __devexit annotation of device_irq_exit.\n\nWARNING: drivers/mfd/88pm860x.o(.text+0xb0): Section mismatch in\nreference from the function pm860x_device_init() to the function\n.devinit.text:device_8606_init()\nThe function pm860x_device_init() references\nthe function __devinit device_8606_init().\nThis is often because pm860x_device_init lacks a __devinit\nannotation or the annotation of device_8606_init is wrong.\n\nWARNING: drivers/mfd/88pm860x.o(.text+0xbe): Section mismatch in\nreference from the function pm860x_device_init() to the function\n.devinit.text:device_8607_init()\nThe function pm860x_device_init() references\nthe function __devinit device_8607_init().\nThis is often because pm860x_device_init lacks a __devinit\nannotation or the annotation of device_8607_init is wrong.\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "e090d506c3f1b314059fb77b177cd4193bb81d6e",
      "tree": "65e589046da3de2ada51415ff3d1598c0dc81085",
      "parents": [
        "f322d5f0097333343bfd92b47258ee997c889263"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Sun Mar 21 01:06:05 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri May 28 01:37:28 2010 +0200"
      },
      "message": "mfd: Add support for the RDC321x southbridge\n\nThis patch adds a new MFD driver for the RDC321x southbridge. This southbridge\nis always present in the RDC321x System-on-a-Chip and provides access to some\nGPIOs as well as a watchdog. Access to these two functions is done using the\nsouthbridge PCI device configuration space.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "c5617b200ac52e35f7e8cf05a17b0a2d50f6b3e9",
      "tree": "40d5e99660c77c5791392d349a93113c044dbf14",
      "parents": [
        "cad719d86e9dbd06634eaba6401e022c8101d6b2",
        "49c177461bfbedeccbab22bf3905db2f9da7f1c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits)\n  tracing: Add __used annotation to event variable\n  perf, trace: Fix !x86 build bug\n  perf report: Support multiple events on the TUI\n  perf annotate: Fix up usage of the build id cache\n  x86/mmiotrace: Remove redundant instruction prefix checks\n  perf annotate: Add TUI interface\n  perf tui: Remove annotate from popup menu after failure\n  perf report: Don\u0027t start the TUI if -D is used\n  perf: Fix getline undeclared\n  perf: Optimize perf_tp_event_match()\n  perf: Remove more code from the fastpath\n  perf: Optimize the !vmalloc backed buffer\n  perf: Optimize perf_output_copy()\n  perf: Fix wakeup storm for RO mmap()s\n  perf-record: Share per-cpu buffers\n  perf-record: Remove -M\n  perf: Ensure that IOC_OUTPUT isn\u0027t used to create multi-writer buffers\n  perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events\n  perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction\n  perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig\n  ...\n"
    },
    {
      "commit": "cad719d86e9dbd06634eaba6401e022c8101d6b2",
      "tree": "ee0aa444e817e5cd29a9dea58dc36d0f3c65a50d",
      "parents": [
        "3ddab4788d4980b1b3dc324fdd105adab3812418",
        "67e67df8da723debf24f7763605776891203e8d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 11:34:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 11:34:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-backlight\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-backlight:\n  gta02: Use pcf50633 backlight driver instead of platform backlight driver.\n  backlight: pcf50633: Register a pcf50633-backlight device in pcf50633 core driver.\n  backlight: Add pcf50633 backlight driver\n  backlight: 88pm860x_bl: fix error handling in pm860x_backlight_probe\n  backlight: max8925_bl: Fix error handling path\n  backlight: l4f00242t03: fix error handling in l4f00242t03_probe\n  backlight: add S6E63M0 AMOLED LCD Panel driver\n  backlight: adp8860: add support for ADP8861 \u0026 ADP8863\n  backlight: mbp_nvidia_bl - Fix DMI_SYS_VENDOR for MacBook1,1\n  backlight: Add Cirrus EP93xx backlight driver\n  backlight: l4f00242t03: Fix regulators handling code in remove function\n  backlight: fix adp8860_bl build errors\n  backlight: new driver for the ADP8860 backlight parts\n  backlight: 88pm860x_bl - potential memory leak\n  backlight: mbp_nvidia_bl - add support for older MacBookPro and MacBook 6,1.\n  backlight: Kconfig cleanup\n  backlight: backlight_device_register() return ERR_PTR()\n"
    },
    {
      "commit": "3ddab4788d4980b1b3dc324fdd105adab3812418",
      "tree": "91b25590723d2a81ecd4d42753412cb8c4897bf0",
      "parents": [
        "d1e0fe252e1c410164127b3000613afeaf47e49f",
        "a7cca8aec9d08231207503e4823e7b47bfa7e596"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 11:34:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 11:34:20 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds:\n  leds: Add mx31moboard MC13783 led support\n  leds: Add mc13783 LED support\n  leds: leds-ss4200: fix led_classdev_unregister twice in error handling\n  leds: leds-lp3944: properly handle lp3944_configure fail in lp3944_probe\n  leds: led-class: set permissions on max_brightness file to 0444\n  leds: leds-gpio: Change blink_set callback to be able to turn off blinking\n  leds: Add LED driver for the Soekris net5501 board\n  leds: 88pm860x - fix checking in probe function\n"
    },
    {
      "commit": "d1e0fe252e1c410164127b3000613afeaf47e49f",
      "tree": "6848bbd6b64d4bb5e64bbd9a17598f3500719776",
      "parents": [
        "cc106eb35ed4abea675bce0d8fe40a46ff0b4a72",
        "6d034059eef080a0cdda92b45baa18cb00a19835"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 11:33:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 11:33:46 2010 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: (23 commits)\n  hwmon: (lm75) Add support for the Texas Instruments TMP105\n  hwmon: (ltc4245) Read only one GPIO pin\n  hwmon: (dme1737) Add SCH5127 support\n  hwmon: (tmp102) Don\u0027t always stop chip at exit\n  hwmon: (tmp102) Fix suspend and resume functions\n  hwmon: (tmp102) Various fixes\n  hwmon: Driver for TI TMP102 temperature sensor\n  hwmon: EMC1403 thermal sensor support\n  hwmon: (applesmc) Add temperature sensor labels to sysfs interface\n  hwmon: (applesmc) Add generic support for MacBook Pro 7\n  hwmon: (applesmc) Add generic support for MacBook Pro 6\n  hwmon: (applesmc) Add support for MacBook Pro 5,3 and 5,4\n  hwmon: (tmp401) Reorganize code to get rid of static forward declarations\n  hwmon: (tmp401) Use constants for sysfs file permissions\n  hwmon: (adm1031) Allow setting update rate\n  hwmon: Add description of the update_rate sysfs attribute\n  hwmon: (lm90) Use programmed update rate\n  hwmon: (f71882fg) Acquire I/O regions while we\u0027re working with them\n  hwmon: (f71882fg) Code cleanup\n  hwmon: (f71882fg) Use strict_stro(l|ul) instead of simple_strto$1\n  ...\n"
    },
    {
      "commit": "70dd6beac02f43a5099fcf5fddf68cfee0cbf479",
      "tree": "53d70a87157eafdf62612922a137fcc365439688",
      "parents": [
        "31f46717997a83bdf6db0dd04810c0a329eb3148"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu May 27 19:58:37 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu May 27 19:58:37 2010 +0200"
      },
      "message": "hwmon: (asus_atk0110) Don\u0027t load if ACPI resources aren\u0027t enforced\n\nWhen the user passes the kernel parameter acpi_enforce_resources\u003dlax,\nthe ACPI resources are no longer protected, so a native driver can\nmake use of them. In that case, we do not want the asus_atk0110 to be\nloaded. Unfortunately, this driver loads automatically due to its\nMODULE_DEVICE_TABLE, so the user ends up with two drivers loaded for\nthe same device - this is bad.\n\nSo I suggest that we prevent the asus_atk0110 driver from loading if\nacpi_enforce_resources\u003dlax.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Luca Tettamanti \u003ckronos.it@gmail.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\n"
    },
    {
      "commit": "4e455c6782bd6bf6a0135c1e1c9f018ec191979e",
      "tree": "b26d342b454b4829344985c968adf16d092dc534",
      "parents": [
        "105a048a4f35f7a74c7cc20b36dd83658b6ec232",
        "dce80a56268fffd6b5ea57b3f6ba3d027a68f05e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:47:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:47:41 2010 -0700"
      },
      "message": "Merge branch \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6\n\n* \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:\n  SFI: add sysfs interface for SFI tables.\n  SFI: add support for v0.81 spec\n"
    },
    {
      "commit": "105a048a4f35f7a74c7cc20b36dd83658b6ec232",
      "tree": "043b1110cda0042ba35d8aae59382bb094d0af3f",
      "parents": [
        "00b9b0af5887fed54e899e3b7f5c2ccf5e739def",
        "9aeead73782c4b8e2a91def36dbf95db28605c95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:43:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:43:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (27 commits)\n  Btrfs: add more error checking to btrfs_dirty_inode\n  Btrfs: allow unaligned DIO\n  Btrfs: drop verbose enospc printk\n  Btrfs: Fix block generation verification race\n  Btrfs: fix preallocation and nodatacow checks in O_DIRECT\n  Btrfs: avoid ENOSPC errors in btrfs_dirty_inode\n  Btrfs: move O_DIRECT space reservation to btrfs_direct_IO\n  Btrfs: rework O_DIRECT enospc handling\n  Btrfs: use async helpers for DIO write checksumming\n  Btrfs: don\u0027t walk around with task-\u003estate !\u003d TASK_RUNNING\n  Btrfs: do aio_write instead of write\n  Btrfs: add basic DIO read/write support\n  direct-io: do not merge logically non-contiguous requests\n  direct-io: add a hook for the fs to provide its own submit_bio function\n  fs: allow short direct-io reads to be completed via buffered IO\n  Btrfs: Metadata ENOSPC handling for balance\n  Btrfs: Pre-allocate space for data relocation\n  Btrfs: Metadata ENOSPC handling for tree log\n  Btrfs: Metadata reservation for orphan inodes\n  Btrfs: Introduce global metadata reservation\n  ...\n"
    },
    {
      "commit": "e4ce30f3779c2ddaa7dfaa4042209e5dbacbada5",
      "tree": "cc64c1dcd16b5dbf71ebc8338b339e6fb04abaee",
      "parents": [
        "b899ebeb05da4287ce845976727e3e83dadd25d5",
        "14ece1028b3ed53ffec1b1213ffc6acaf79ad77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)\n  ext4: Make fsync sync new parent directories in no-journal mode\n  ext4: Drop whitespace at end of lines\n  ext4: Fix compat EXT4_IOC_ADD_GROUP\n  ext4: Conditionally define compat ioctl numbers\n  tracing: Convert more ext4 events to DEFINE_EVENT\n  ext4: Add new tracepoints to track mballoc\u0027s buddy bitmap loads\n  ext4: Add a missing trace hook\n  ext4: restart ext4_ext_remove_space() after transaction restart\n  ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted\n  ext4: Avoid crashing on NULL ptr dereference on a filesystem error\n  ext4: Use bitops to read/modify i_flags in struct ext4_inode_info\n  ext4: Convert calls of ext4_error() to EXT4_ERROR_INODE()\n  ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()\n  ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()\n  ext4: Use our own write_cache_pages()\n  ext4: Show journal_checksum option\n  ext4: Fix for ext4_mb_collect_stats()\n  ext4: check for a good block group before loading buddy pages\n  ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate\n  ext4: Remove extraneous newlines in ext4_msg() calls\n  ...\n\nFixed up trivial conflict in fs/ext4/fsync.c\n"
    },
    {
      "commit": "55ddf14b04bfe5afaab892a8fb12164b803f1dd5",
      "tree": "fd6e6f0b9508628fca8d0cadd4ece199201991b2",
      "parents": [
        "a9a0aff5b56d4c40288c000ff09c3f238b6b6fec",
        "3014420b6b5d0a6483cf5e56c10df180a33e957e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:22:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:22:06 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: schedule for removal\n  firewire: core: use separate timeout for each transaction\n  firewire: core: Fix tlabel exhaustion problem\n  firewire: core: make transaction label allocation more robust\n  firewire: core: clean up config ROM related defined constants\n  ieee1394: mark char device files as not seekable\n  firewire: cdev: mark char device files as not seekable\n  firewire: ohci: cleanups and fix for nonstandard build without debug facility\n  firewire: ohci: wait for PHY register accesses to complete\n  firewire: ohci: fix up configuration of TI chips\n  firewire: ohci: enable 1394a enhancements\n  firewire: ohci: do not clear PHY interrupt status inadvertently\n  firewire: ohci: add a function for reading PHY registers\n\nTrivial conflicts in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "f32764bd2bbb6ea003c158b1d276b4dc9f900348",
      "tree": "7fbabde3796a97b8b121349ea76b22b23238230a",
      "parents": [
        "1513b02c8b537af275ea74fdfb380c618b9e6778"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed May 26 23:21:58 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 27 18:56:27 2010 +0200"
      },
      "message": "quota: Convert quota statistics to generic percpu_counter\n\nGeneric per-cpu counter has some memory overhead but it is negligible for\nmodern systems and embedded systems compile without quota support.  And code\nreuse is a good thing. This patch should fix complain from preemptive kernels\nwhich was introduced by dde9588853b1bde.\n\n[Jan Kara: Fixed patch to work on 32-bit archs as well]\n\nReported-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7eb1053fd00a8f0e2263697638e17da8a251aa74",
      "tree": "dcb9a521c2866d1d0c7c62503696819ead76961b",
      "parents": [
        "03a3f695cb9776cfa7da5e8e6d34fd20dd56510e",
        "388bbcade41ee68d2d1ebb51a538380ea48ae599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:19:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:19:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: usbtouchscreen - support bigger iNexio touchscreens\n  Input: ads7846 - return error on regulator_get() failure\n  Input: twl4030-vibra - correct the power down sequence\n  Input: enable onkey driver of max8925\n  Input: use ABS_CNT rather than (ABS_MAX + 1)\n"
    },
    {
      "commit": "7aac789885512388a66d47280d7e7777ffba1e59",
      "tree": "af4ac98260268889a422dd264102d2f15d5c1983",
      "parents": [
        "3bccd996276b108c138e8176793a26ecef54d573"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Wed May 26 14:45:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:57 2010 -0700"
      },
      "message": "numa: introduce numa_mem_id()- effective local memory node id\n\nIntroduce numa_mem_id(), based on generic percpu variable infrastructure\nto track \"nearest node with memory\" for archs that support memoryless\nnodes.\n\nDefine API in \u003clinux/topology.h\u003e when CONFIG_HAVE_MEMORYLESS_NODES\ndefined, else stubs.  Architectures will define HAVE_MEMORYLESS_NODES\nif/when they support them.\n\nArchs can override definitions of:\n\nnuma_mem_id() - returns node number of \"local memory\" node\nset_numa_mem() - initialize [this cpus\u0027] per cpu variable \u0027numa_mem\u0027\ncpu_to_mem()  - return numa_mem for specified cpu; may be used as lvalue\n\nGeneric initialization of \u0027numa_mem\u0027 occurs in __build_all_zonelists().\nThis will initialize the boot cpu at boot time, and all cpus on change of\nnuma_zonelist_order, or when node or memory hot-plug requires zonelist\nrebuild.  Archs that support memoryless nodes will need to initialize\n\u0027numa_mem\u0027 for secondary cpus as they\u0027re brought on-line.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-arch@vger.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": "7281201922a0063fa60804ce39c277fc98142a47",
      "tree": "4bf089d077b1055e54bc1411dcc0db121d01d9fa",
      "parents": [
        "866707fc2721df8fee637fcf0239628b9231f9ea"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Wed May 26 14:44:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:57 2010 -0700"
      },
      "message": "numa: add generic percpu var numa_node_id() implementation\n\nRework the generic version of the numa_node_id() function to use the new\ngeneric percpu variable infrastructure.\n\nGuard the new implementation with a new config option:\n\n        CONFIG_USE_PERCPU_NUMA_NODE_ID.\n\nArchs which support this new implemention will default this option to \u0027y\u0027\nwhen NUMA is configured.  This config option could be removed if/when all\narchs switch over to the generic percpu implementation of numa_node_id().\nArch support involves:\n\n  1) converting any existing per cpu variable implementations to use\n     this implementation.  x86_64 is an instance of such an arch.\n  2) archs that don\u0027t use a per cpu variable for numa_node_id() will\n     need to initialize the new per cpu variable \"numa_node\" as cpus\n     are brought on-line.  ia64 is an example.\n  3) Defining USE_PERCPU_NUMA_NODE_ID in arch dependent Kconfig--e.g.,\n     when NUMA is configured.  This is required because I have\n     retained the old implementation by default to allow archs to\n     be modified incrementally, as desired.\n\nSubsequent patches will convert x86_64 and ia64 to use this implemenation.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-arch@vger.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": "ae6afc3f5cf53fb97bac2d0a209bb465952742e7",
      "tree": "541e3f4ed4f2600ffe239e2f23341055199329b1",
      "parents": [
        "09eeb1f5f4d9b52ab57820160dea6027bbea82a3"
      ],
      "author": {
        "name": "jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed May 26 14:44:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:56 2010 -0700"
      },
      "message": "vfs: introduce noop_llseek()\n\nThis is an implementation of -\u003ellseek useable for the rare special case\nwhen userspace expects the seek to succeed but the (device) file is\nactually not able to perform the seek.  In this case you use noop_llseek()\ninstead of falling back to the default implementation of -\u003ellseek.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\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": "1ef04370d823a811d2cca9f237097559a6b99b12",
      "tree": "9b8d9feaa2fd47df7e42009128803bee78490bc3",
      "parents": [
        "48c7cf4797d04b3ffcb060fa64c3c500b7371e8b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed May 26 14:44:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:54 2010 -0700"
      },
      "message": "asm-generic: remove ARCH_HAS_SG_CHAIN in scatterlist.h\n\nThere are more architectures that don\u0027t support ARCH_HAS_SG_CHAIN than\nthose that support it.  This removes removes ARCH_HAS_SG_CHAIN in\nasm-generic/scatterlist.h and lets arhictectures to define it.\n\nIt\u0027s clearer than defining ARCH_HAS_SG_CHAIN asm-generic/scatterlist.h and\nundefing it in arhictectures that don\u0027t support it.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@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": "18e98307de0d746cb0845ebf66535ce2184c25a2",
      "tree": "eac998f31e3930ffc1f54e524a2a9bbc82b851e0",
      "parents": [
        "204f3a04449a9a775e465f7d87bcab08f170e59e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed May 26 14:44:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:54 2010 -0700"
      },
      "message": "asm-generic: add NEED_SG_DMA_LENGTH to define sg_dma_len()\n\nThere are only two ways to define sg_dma_len(); use sg-\u003edma_length or\nsg-\u003elength.  This patch introduces NEED_SG_DMA_LENGTH that enables\narchitectures to choose sg-\u003edma_length or sg-\u003elength.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "204f3a04449a9a775e465f7d87bcab08f170e59e",
      "tree": "a28027c04c7f7c5714395d1ebaf39b8c731c26b8",
      "parents": [
        "a48223f9449d0289fc20cd11a98758109830798e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed May 26 14:44:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:54 2010 -0700"
      },
      "message": "asm-generic: remove ISA_DMA_THRESHOLD in scatterlist.h\n\nThis is the first half of the attempt to use asm-generic/scatterlist.h\non every architecture.\n\nThere are only two ways to define scatterlist structure. So it\u0027s easy\nto convert every architecture to use asm-generic/scatterlist.h.\n\nThis patch:\n\nThe trick for ISA_DMA_THRESHOLD in asm-generic/scatterlist.h doesn\u0027t work\nfor powerpc.  This lets architectures defin ISA_DMA_THRESHOLD.\n\nHopefully, we can remove ISA_DMA_THRESHOLD in the future; we can do better\nto decide if the bouncing is necessary or not.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d85cba718efeef9ca00ce3f7f34f5880737aa9b",
      "tree": "d445d35d915b65dac171e58f83c75feb15d625fd",
      "parents": [
        "b83733639a494d5f42fa00a2506563fbd2d3015d"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed May 26 14:44:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:53 2010 -0700"
      },
      "message": "aio: fix the compat vectored operations\n\nThe aio compat code was not converting the struct iovecs from 32bit to\n64bit pointers, causing either EINVAL to be returned from io_getevents, or\nEFAULT as the result of the I/O.  This patch passes a compat flag to\nio_submit to signal that pointer conversion is necessary for a given iocb\narray.\n\nA variant of this was tested by Michael Tokarev.  I have also updated the\nlibaio test harness to exercise this code path with good success.\nFurther, I grabbed a copy of ltp and ran the\ntestcases/kernel/syscall/readv and writev tests there (compiled with -m32\non my 64bit system).  All seems happy, but extra eyes on this would be\nwelcome.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix CONFIG_COMPAT\u003dn build]\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.35.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b83733639a494d5f42fa00a2506563fbd2d3015d",
      "tree": "5aea71a7b0da140d839cc6109091350e1fbc8868",
      "parents": [
        "5b530fc18324602e1ecb70cd280c2194b2656a5e"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed May 26 14:44:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:53 2010 -0700"
      },
      "message": "compat: factor out compat_rw_copy_check_uvector from compat_do_readv_writev\n\nIt was reported in http://lkml.org/lkml/2010/3/8/309 that 32 bit readv and\nwritev AIO operations were not functioning properly.  It turns out that\nthe code to convert the 32bit io vectors to 64 bits was never written.\nThe results of that can be pretty bad, but in my testing, it mostly ended\nup in generating EFAULT as we walked off the list of I/O vectors provided.\n\nThis patch set fixes the problem in my environment.  are greatly\nappreciated.\n\nThis patch:\n\nFactor out code that will be used by both compat_do_readv_writev and the\ncompat aio submission code paths.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.35.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99d1bd2c131b2da10cf451c69e5b8c51761a901b",
      "tree": "ffa4f67b8e092c0a19065160f7beada200334f01",
      "parents": [
        "6d256fa8868b4509310ea201c2d2c04fabea96ab"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed May 26 14:44:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:53 2010 -0700"
      },
      "message": "dma-mapping: remove deprecated dma_sync_single and dma_sync_sg API\n\nSince 2.6.5, it had been commented, \u0027for backwards compatibility,\nremoved in 2.7.x\u0027. Since 2.6.31, it have been marked as __deprecated.\n\nI think that we can remove the API safely now.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@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": "5fd75a7850b5156aa93c9fb6404adb8f563b6e02",
      "tree": "1b5f21a907eb8182e2642c7dee73274d04d24a07",
      "parents": [
        "38388301b7b9d2921b58cfa1cd9b14c02d508c63"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed May 26 14:44:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:52 2010 -0700"
      },
      "message": "dma-mapping: remove unnecessary sync_single_range_* in dma_map_ops\n\nsync_single_range_for_cpu and sync_single_range_for_device hooks are\nunnecessary because sync_single_for_cpu and sync_single_for_device can\nbe used instead.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38388301b7b9d2921b58cfa1cd9b14c02d508c63",
      "tree": "921b3379310e83ebef9fe4d47cb178ee928b4a85",
      "parents": [
        "712d3e22a85156c00bd70dc35efe63e6765b122b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed May 26 14:44:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:52 2010 -0700"
      },
      "message": "swiotlb: remove unnecessary swiotlb_sync_single_range_*\n\nswiotlb_sync_single_range_for_cpu and swiotlb_sync_single_range_for_device\nare unnecessary because swiotlb_sync_single_for_cpu and\nswiotlb_sync_single_for_device can be used instead.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5960164fde9bc2f2a99e751d3393faea316e7e36",
      "tree": "eb4340c46fd459a9a078a9b994b5e940b68a875e",
      "parents": [
        "0a14a130cac9c6826bc81a089b12ab5cbb2b97fc"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed May 26 14:44:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:52 2010 -0700"
      },
      "message": "lib/random32: export pseudo-random number generator for modules\n\nThis patch moves the definition of struct rnd_state and the inline\n__seed() function to linux/random.h.  It renames the static __random32()\nfunction to prandom32() and exports it for use in modules.\n\nprandom32() is useful as a privately-seeded pseudo random number generator\nthat can give the same result every time it is initialized.\n\nFor FCoE FC-BB-6 VN2VN mode self-selected unique FC address generation, we\nneed an pseudo-random number generator seeded with the 64-bit world-wide\nport name.  A truly random generator or one seeded with randomness won\u0027t\ndo because the same sequence of numbers should be generated each time we\nboot or the link comes up.\n\nA prandom32_seed() inline function is added to the header file.  It is\ninlined not for speed, but so the function won\u0027t be expanded in the base\nkernel, but only in the module that uses it.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\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": "0a14a130cac9c6826bc81a089b12ab5cbb2b97fc",
      "tree": "33ab16eec8619bd6187740e2d994b6f058f1bc7d",
      "parents": [
        "f106eee10038c2ee5b6056aaf3f6d5229be6dcdd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:44:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:52 2010 -0700"
      },
      "message": "INIT_SIGHAND: use SIG_DFL instead of NULL\n\nCosmetic, no changes in the compiled code. Just s/NULL/SIG_DFL/ to make\nit more readable and grep-friendly.\n\nNote: probably SIG_IGN makes more sense, we could kill ignore_signals().\nBut then kernel_init() should do flush_signal_handlers() before exec().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Mathias Krause \u003cMathias.Krause@secunet.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@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": "f20011457f41c11edb5ea5038ad0c8ea9f392023",
      "tree": "428377008bd670bc18e6a7bc140bbcb6c275e9f9",
      "parents": [
        "fa2755e20ab0c7215d99c2dc7c262e98a09b01df"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:44:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:52 2010 -0700"
      },
      "message": "pids: init_struct_pid.tasks should never see the swapper process\n\n\"statically initialize struct pid for swapper\" commit 820e45db says:\n\n\tStatically initialize a struct pid for the swapper process (pid_t \u003d\u003d 0)\n\tand attach it to init_task.  This is needed so task_pid(), task_pgrp()\n\tand task_session() interfaces work on the swapper process also.\n\nOK, but:\n\n\t- it doesn\u0027t make sense to add init_task.pids[].node into\n\t  init_struct_pid.tasks[], and in fact this just wrong.\n\n\t  idle threads are special, they shouldn\u0027t be visible on any\n\t  global list. In particular do_each_pid_task(init_struct_pid)\n\t  shouldn\u0027t see swapper.\n\n\t  This is the actual reason why kill(0, SIGKILL) from /sbin/init\n\t  (which starts with 0,0 special pids) crashes the kernel. The\n\t  signal sent to pgid/sid \u003d\u003d 0 must never see idle threads, even\n\t  if the previous patch fixed the crash itself.\n\n\t- we have other idle threads running on the non-boot CPUs, see\n\t  the next patch.\n\nChange INIT_STRUCT_PID/INIT_PID_LINK to create the empty/unhashed\nhlist_head/hlist_node. Like any other idle thread swapper can never exit,\nso detach_pid()-\u003e__hlist_del() is not possible, but we could change\nINIT_PID_LINK() to set pprev \u003d \u0026next if needed.\n\nAll we need is the valid swapper-\u003epids[].pid \u003d\u003d \u0026init_struct_pid.\n\nReported-by: Mathias Krause \u003cmathias.krause@secunet.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Mathias Krause \u003cMathias.Krause@secunet.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@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": "fa2755e20ab0c7215d99c2dc7c262e98a09b01df",
      "tree": "6e28b6ea4984bc22e1a2d16afd71d0e6e65da90c",
      "parents": [
        "72680a191b934377430032f93af15ef50aafb3a8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:44:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:51 2010 -0700"
      },
      "message": "INIT_TASK() should initialize -\u003ethread_group list\n\nThe trivial /sbin/init doing\n\n\tint main(void)\n\t{\n\t\tkill(0, SIGKILL)\n\t}\n\ncrashes the kernel.\n\nThis happens because __kill_pgrp_info(init_struct_pid) also sends SIGKILL\nto the swapper process which runs with the uninitialized -\u003ethread_group.\n\nChange INIT_TASK() to initialize -\u003ethread_group properly.\n\nNote: the real problem is that the swapper process must not be visible to\nsignals, see the next patch. But this change is right anyway and fixes\nthe crash.\n\nReported-and-tested-by: Mathias Krause \u003cmathias.krause@secunet.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Mathias Krause \u003cMathias.Krause@secunet.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@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": "72680a191b934377430032f93af15ef50aafb3a8",
      "tree": "e6f41babe66bf642204b3d92e793f5071739b1d2",
      "parents": [
        "bd4fb654e3a0d83ca8cb138c5e3e6e65407e119c"
      ],
      "author": {
        "name": "Hedi Berriche",
        "email": "hedi@sgi.com",
        "time": "Wed May 26 14:44:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:51 2010 -0700"
      },
      "message": "pids: increase pid_max based on num_possible_cpus\n\nOn a system with a substantial number of processors, the early default\npid_max of 32k will not be enough.  A system with 1664 CPU\u0027s, there are\n25163 processes started before the login prompt.  It\u0027s estimated that with\n2048 CPU\u0027s we will pass the 32k limit.  With 4096, we\u0027ll reach that limit\nvery early during the boot cycle, and processes would stall waiting for an\navailable pid.\n\nThis patch increases the early maximum number of pids available, and\nincreases the minimum number of pids that can be set during runtime.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Hedi Berriche \u003chedi@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: John Stoffel \u003cjohn@stoffel.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a88d6286240f1e8a0cf9c07252e1576169020f5",
      "tree": "8fc7d9d6b00a8f2b319f78b1dd9db489395a99fd",
      "parents": [
        "058f88d672b3161fe511ebe2996c3faef63c1c8e"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed May 26 14:44:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:51 2010 -0700"
      },
      "message": "rapidio: add switch domain routines\n\nAdd switch specific domain routines required for 16-bit routing support in\nswitches with hierarchical implementation of routing tables.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "058f88d672b3161fe511ebe2996c3faef63c1c8e",
      "tree": "fb4bb8d93aef661cc9e24e1e6e2e8bd4edc2e764",
      "parents": [
        "011507e49a696462c30914e2eeebcdda33ed30f8"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed May 26 14:44:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:51 2010 -0700"
      },
      "message": "rapidio: modify initialization of switch operations\n\nModify the way how RapidIO switch operations are declared.  Multiple\nassignments through the linker script replaced by single initialization\ncall.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "933af4a6c4913ab4c0691c8fb27fc305063889cd",
      "tree": "5bc7b63482131f184e006ef0d3346aac79d300cb",
      "parents": [
        "a52c8f521fed43bce53451d7dfddf2b42a2af689"
      ],
      "author": {
        "name": "Thomas Moll",
        "email": "thomas.moll@sysgo.com",
        "time": "Wed May 26 14:44:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:51 2010 -0700"
      },
      "message": "rapidio: add enabling SRIO port RX and TX\n\nAdd the functionality to enable Input receiver and Output transmitter of\nevery port, to allow non-maintenance traffic.\n\nSigned-off-by: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nSigned-off-by: Alexandre Bounine \u003cabounine@tundra.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@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": "e5cabeb3d60f9cd3e3950aff071319ae0e2d08d8",
      "tree": "e866f1a9076608630a40f21f0a50c073dedb0e57",
      "parents": [
        "818a04a0bb93643d57dd8935815de2ff307b58a3"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed May 26 14:43:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:50 2010 -0700"
      },
      "message": "rapidio: add Port-Write handling for EM\n\nAdd RapidIO Port-Write message handling in the context of Error\n   Management Extensions Specification Rev.1.3.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nTested-by: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@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": "07590ff03935a2efbc03bc7861f20c059576a479",
      "tree": "2da1ee2032e1425a138bc2864066a2e10533ce64",
      "parents": [
        "f67231f80126f4e08c79c7b2056989c5c89ad4c6"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed May 26 14:43:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:50 2010 -0700"
      },
      "message": "rapidio: add IDT CPS/TSI switches\n\nExtentions to RapidIO switch support:\n\n1. modify switch route operation declarations to allow using single\n   switch-specific file for family of switches that share the same route\n   table operations.\n\n2. add standard route table operations for switches that that support\n   route table manipulation registers as defined in the Rev.1.3 of RapidIO\n   specification.\n\n3. add clear-route-table operation for switches\n\n4. add CPSxx and TSIxxx families of RapidIO switches\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nTested-by: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Kumar Gala \u003cgalak@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": "31a7c4746e9925512afab30557dd445d677cc802",
      "tree": "7f7b39331aa51b77c159b046d406b12aec24de11",
      "parents": [
        "0a2b9d4c79671b05956806ede5d054e03ae56280"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Wed May 26 14:43:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:49 2010 -0700"
      },
      "message": "ipc/sem.c: cacheline align the ipc spinlock for semaphores\n\nCacheline align the spinlock for sysv semaphores.  Without the patch, the\nspinlock and sem_otime [written by every semop that modified the array]\nand sem_base [read in the hot path of try_atomic_semop()] can be in the\nsame cacheline.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b957e043ee557ca9b6bc451755ecd849b28852a4",
      "tree": "cd5046c854264a71a2de6261a0d2996a098b5c88",
      "parents": [
        "e6bde73b07edeb703d4c89c1daabc09c303de11f"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 26 14:43:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:47 2010 -0700"
      },
      "message": "notifier: change notifier_from_errno(0) to return NOTIFY_OK\n\nThis changes notifier_from_errno(0) to be NOTIFY_OK instead of\nNOTIFY_STOP_MASK | NOTIFY_OK.\n\nCurrently, the notifiers which return encapsulated errno value have to\ndo something like this:\n\n\terr \u003d do_something(); // returns -errno\n\tif (err)\n\t\treturn notifier_from_errno(err);\n\telse\n\t\treturn NOTIFY_OK;\n\nThis change makes the above code simple:\n\n\terr \u003d do_something(); // returns -errno\n\n\treturn return notifier_from_errno(err);\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3ac022cb9dc5883505a88b159d1b240ad1ef405",
      "tree": "bffa035303cbe3c5bde048ac3d3154fb57059e2d",
      "parents": [
        "dd98acf74762764fbc4382a1d9a244f11a2658cc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:47 2010 -0700"
      },
      "message": "proc: turn signal_struct-\u003ecount into \"int nr_threads\"\n\nNo functional changes, just s/atomic_t count/int nr_threads/.\n\nWith the recent changes this counter has a single user, get_nr_threads()\nAnd, none of its callers need the really accurate number of threads, not\nto mention each caller obviously races with fork/exit.  It is only used to\nreport this value to the user-space, except first_tid() uses it to avoid\nthe unnecessary while_each_thread() loop in the unlikely case.\n\nIt is a bit sad we need a word in struct signal_struct for this, perhaps\nwe can change get_nr_threads() to approximate the number of threads using\nsignal-\u003elive and kill -\u003enr_threads later.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e49827cc937a742ae02078b483e3eb78f791a2a",
      "tree": "0f3e0a8483a41b2221c74b8286b2349af03dab04",
      "parents": [
        "6e1be45aa6ba6a36c0312f65ecf311135c73001d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:47 2010 -0700"
      },
      "message": "proc: get_nr_threads() doesn\u0027t need -\u003esiglock any longer\n\nNow that task-\u003esignal can\u0027t go away get_nr_threads() doesn\u0027t need\n-\u003esiglock to read signal-\u003ecount.\n\nAlso, make it inline, move into sched.h, and convert 2 other proc users of\nsignal-\u003ecount to use this (now trivial) helper.\n\nHenceforth get_nr_threads() is the only valid user of signal-\u003ecount, we\nare ready to turn it into \"int nr_threads\" or, perhaps, kill it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a705be6b5e8b05f2ae51536ec709de921960326c",
      "tree": "a4d71651807dabe2dc48bd36cf2e954d7ef967a8",
      "parents": [
        "d40e48e02f3785b9342ee4eb3d7cc9f12981b7f5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:46 2010 -0700"
      },
      "message": "kill the obsolete thread_group_cputime_free() helper\n\nKill the empty thread_group_cputime_free() helper.  It was needed to free\nthe per-cpu data which we no longer have.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Veaceslav Falico \u003cvfalico@redhat.com\u003e\nCc: Stanislaw Gruszka \u003csgruszka@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": "b7b8ff6373d4b910af081f76888395e6df53249d",
      "tree": "128a1b2cf026fb8b9791eaefb6f79f872999a5c6",
      "parents": [
        "4ada856fb0ee62f6fe3aac3de726deac0640d929"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:46 2010 -0700"
      },
      "message": "signals: kill the awful task_rq_unlock_wait() hack\n\nNow that task-\u003esignal can\u0027t go away we can revert the horrible hack added\nby ad474caca3e2a0550b7ce0706527ad5ab389a4d4 (\"fix for\naccount_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under\nrq-\u003elock\").\n\nAnd we can do more cleanups sched_stats.h/posix-cpu-timers.c later.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea6d290ca34c4fd91b7348338c0cc7bdeff94a35",
      "tree": "6e9bd367650d9233c5b6cf1059845f17cb1bc460",
      "parents": [
        "4dec2a91fd7e8815d730afbfdcf085cbf53433ac"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:46 2010 -0700"
      },
      "message": "signals: make task_struct-\u003esignal immutable/refcountable\n\nWe have a lot of problems with accessing task_struct-\u003esignal, it can\n\"disappear\" at any moment.  Even current can\u0027t use its -\u003esignal safely\nafter exit_notify().  -\u003esiglock helps, but it is not convenient, not\nalways possible, and sometimes it makes sense to use task-\u003esignal even\nafter this task has already dead.\n\nThis patch adds the reference counter, sigcnt, into signal_struct.  This\nreference is owned by task_struct and it is dropped in\n__put_task_struct().  Perhaps it makes sense to export\nget/put_signal_struct() later, but currently I don\u0027t see the immediate\nreason.\n\nRename __cleanup_signal() to free_signal_struct() and unexport it.  With\nthe previous changes it does nothing except kmem_cache_free().\n\nChange __exit_signal() to not clear/free -\u003esignal, it will be freed when\nthe last reference to any thread in the thread group goes away.\n\nNote:\n\t- when the last thead exits signal-\u003etty can point to nowhere, see\n\t  the next patch.\n\n\t- with or without this patch signal_struct-\u003ecount should go away,\n\t  or at least it should be \"int nr_threads\" for fs/proc. This will\n\t  be addressed later.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09faef11df8c559a23e2405d123cb2683733a79a",
      "tree": "db8e4c94677be8afebde938c2e6b7ba07b6b6db0",
      "parents": [
        "9c3391684415c9dca239130d9e433a60a4edf04b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:46 2010 -0700"
      },
      "message": "exit: change zap_other_threads() to count sub-threads\n\nChange zap_other_threads() to return the number of other sub-threads found\non -\u003ethread_group list.\n\nOther changes are cosmetic:\n\n\t- change the code to use while_each_thread() helper\n\n\t- remove the obsolete comment about SIGKILL/SIGSTOP\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Veaceslav Falico \u003cvfalico@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": "c70a626d3eba373514c72287c93588b6974a0059",
      "tree": "c23b890cbbeb824e52e1eaee6812bc88496a246d",
      "parents": [
        "685bfd2c48bb3284d31e73ff3151c957d76deda9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:45 2010 -0700"
      },
      "message": "umh: creds: kill subprocess_info-\u003ecred logic\n\nNow that nobody ever changes subprocess_info-\u003ecred we can kill this member\nand related code.  ____call_usermodehelper() always runs in the context of\nfreshly forked kernel thread, it has the proper -\u003ecred copied from its\nparent kthread, keventd.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "685bfd2c48bb3284d31e73ff3151c957d76deda9",
      "tree": "177210787515f48c0eaad5216bd012f4a2fb2149",
      "parents": [
        "898b374af6f71041bd3bceebe257e564f3f1d458"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:45 2010 -0700"
      },
      "message": "umh: creds: convert call_usermodehelper_keys() to use subprocess_info-\u003einit()\n\ncall_usermodehelper_keys() uses call_usermodehelper_setkeys() to change\nsubprocess_info-\u003ecred in advance.  Now that we have info-\u003einit() we can\nchange this code to set tgcred-\u003esession_keyring in context of execing\nkernel thread.\n\nNote: since currently call_usermodehelper_keys() is never called with\nUMH_NO_WAIT, call_usermodehelper_keys()-\u003ekey_get() and umh_keys_cleanup()\nare not really needed, we could rely on install_session_keyring_to_cred()\nwhich does key_get() on success.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "898b374af6f71041bd3bceebe257e564f3f1d458",
      "tree": "b1be6fd3cca69becfc75787eab906338f363d3cd",
      "parents": [
        "a06a4dc3a08201ff6a8a958f935b3cbf7744115f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed May 26 14:42:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:44 2010 -0700"
      },
      "message": "exec: replace call_usermodehelper_pipe with use of umh init function and resolve limit\n\nThe first patch in this series introduced an init function to the\ncall_usermodehelper api so that processes could be customized by caller.\nThis patch takes advantage of that fact, by customizing the helper in\ndo_coredump to create the pipe and set its core limit to one (for our\nrecusrsion check).  This lets us clean up the previous uglyness in the\nusermodehelper internals and factor call_usermodehelper out entirely.\nWhile I\u0027m at it, we can also modify the helper setup to look for a core\nlimit value of 1 rather than zero for our recursion check\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.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": "a06a4dc3a08201ff6a8a958f935b3cbf7744115f",
      "tree": "b338edde5edb31f51e0b7eb86e6c4ce8063c703f",
      "parents": [
        "065add3941bdca54fe04ed3471a96bce9af88793"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed May 26 14:42:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:44 2010 -0700"
      },
      "message": "kmod: add init function to usermodehelper\n\nAbout 6 months ago, I made a set of changes to how the core-dump-to-a-pipe\nfeature in the kernel works.  We had reports of several races, including\nsome reports of apps bypassing our recursion check so that a process that\nwas forked as part of a core_pattern setup could infinitely crash and\nrefork until the system crashed.\n\nWe fixed those by improving our recursion checks.  The new check basically\nrefuses to fork a process if its core limit is zero, which works well.\n\nUnfortunately, I\u0027ve been getting grief from maintainer of user space\nprograms that are inserted as the forked process of core_pattern.  They\ncontend that in order for their programs (such as abrt and apport) to\nwork, all the running processes in a system must have their core limits\nset to a non-zero value, to which I say \u0027yes\u0027.  I did this by design, and\nthink thats the right way to do things.\n\nBut I\u0027ve been asked to ease this burden on user space enough times that I\nthought I would take a look at it.  The first suggestion was to make the\nrecursion check fail on a non-zero \u0027special\u0027 number, like one.  That way\nthe core collector process could set its core size ulimit to 1, and enable\nthe kernel\u0027s recursion detection.  This isn\u0027t a bad idea on the surface,\nbut I don\u0027t like it since its opt-in, in that if a program like abrt or\napport has a bug and fails to set such a core limit, we\u0027re left with a\nrecursively crashing system again.\n\nSo I\u0027ve come up with this.  What I\u0027ve done is modify the\ncall_usermodehelper api such that an extra parameter is added, a function\npointer which will be called by the user helper task, after it forks, but\nbefore it exec\u0027s the required process.  This will give the caller the\nopportunity to get a call back in the processes context, allowing it to do\nwhatever it needs to to the process in the kernel prior to exec-ing the\nuser space code.  In the case of do_coredump, this callback is ues to set\nthe core ulimit of the helper process to 1.  This elimnates the opt-in\nproblem that I had above, as it allows the ulimit for core sizes to be set\nto the value of 1, which is what the recursion check looks for in\ndo_coredump.\n\nThis patch:\n\nCreate new function call_usermodehelper_fns() and allow it to assign both\nan init and cleanup function, as we\u0027ll as arbitrary data.\n\nThe init function is called from the context of the forked process and\nallows for customization of the helper process prior to calling exec.  Its\nreturn code gates the continuation of the process, or causes its exit.\nAlso add an arbitrary data pointer to the subprocess_info struct allowing\nfor data to be passed from the caller to the new process, and the\nsubsequent cleanup process\n\nAlso, use this patch to cleanup the cleanup function.  It currently takes\nan argp and envp pointer for freeing, which is ugly.  Lets instead just\nmake the subprocess_info structure public, and pass that to the cleanup\nand init routines\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.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": "0ac0c0d0f837c499afd02a802f9cf52d3027fa3b",
      "tree": "c20a7306d4b727722556af1aa5565855686aee07",
      "parents": [
        "6adef3ebe570bcde67fd6c16101451ddde5712b5"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Wed May 26 14:42:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:44 2010 -0700"
      },
      "message": "cpusets: randomize node rotor used in cpuset_mem_spread_node()\n\nSome workloads that create a large number of small files tend to assign\ntoo many pages to node 0 (multi-node systems).  Part of the reason is that\nthe rotor (in cpuset_mem_spread_node()) used to assign nodes starts at\nnode 0 for newly created tasks.\n\nThis patch changes the rotor to be initialized to a random node number of\nthe cpuset.\n\n[akpm@linux-foundation.org: fix layout]\n[Lee.Schermerhorn@hp.com: Define stub numa_random() for !NUMA configuration]\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "6adef3ebe570bcde67fd6c16101451ddde5712b5"
}
