)]}'
{
  "log": [
    {
      "commit": "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9",
      "tree": "16ea6ca8a2382e399798a087fcbeb63380b21f03",
      "parents": [
        "43f974cdb4ab6d65f849610deb9ef738d62b2e65"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add expectation deletion events\n\nThis patch allows to listen to events that inform about\nexpectations destroyed.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "43f974cdb4ab6d65f849610deb9ef738d62b2e65",
      "tree": "ca9a8a12ee4382921d7fd2e793282b73f1e4d57a",
      "parents": [
        "76b6717bc6ccb715b04e36efc26566a6313ede5f"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@elliptictech.com",
        "time": "Mon Oct 18 11:22:05 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 18 11:22:05 2010 +0200"
      },
      "message": "netfilter: install missing ebtables headers for userspace\n\nThe ebt_ip6.h and ebt_nflog.h headers are not not known to Kbuild and\ntherefore not installed by make headers_install.  Fix that up.\n\nSigned-off-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "9ecdafd883db3c43296797382fc0b2c868144070",
      "tree": "ddb93997596ff2a2a27c084facbae9666c43d131",
      "parents": [
        "75f0a0fd787bfa3ea1a916ca632a5b9e0007cbb7"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:42:02 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:51 2010 +0200"
      },
      "message": "netfilter: xtables: remove unused defines\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "75f0a0fd787bfa3ea1a916ca632a5b9e0007cbb7",
      "tree": "1928cb3401ead89d561e04d4d317422a0ed80283",
      "parents": [
        "243bf6e29eef642de0ff62f1ebf58bc2396d6d6e"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:37:45 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:50 2010 +0200"
      },
      "message": "netfilter: xtables: unify {ip,ip6,arp}t_error_target\n\nUnification of struct *_error_target was forgotten in\nv2.6.16-1689-g1e30a01.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "243bf6e29eef642de0ff62f1ebf58bc2396d6d6e",
      "tree": "79f4eb37b594d320d4750e04ce6e16a7d62177f0",
      "parents": [
        "87a2e70db62fec7348c6e5545eb7b7650c33d81b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:28:00 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:46 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 3/3\n"
    },
    {
      "commit": "87a2e70db62fec7348c6e5545eb7b7650c33d81b",
      "tree": "3aa5dcd79bf7d331c4a69a3a9b1c5b01f00233ad",
      "parents": [
        "12b00c2c025b8af697d9a022ea2e928cad889ef1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:11:22 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:41 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 2/3\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "12b00c2c025b8af697d9a022ea2e928cad889ef1",
      "tree": "9de3f3a1ed8d79052fdd9abe7d72bed594de6140",
      "parents": [
        "eecc545856c8a0f27783a440d25f4ceaa1f95ce8"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 15:56:56 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:36 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 1/3\n\nMany of the used macros are just there for userspace compatibility.\nSubstitute the in-kernel code to directly use the terminal macro\nand stuff the defines into #ifndef __KERNEL__ sections.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "0d1e71b04a04b6912e50926b9987c1e72facb1f3",
      "tree": "1c431b2484ab9bb2911ba8e9e281783cbd922f06",
      "parents": [
        "8be67a6617b3403551fccb67b1c624c659419515"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Allow configuration of persistence engines\n\nAllow the persistence engine of a virtual service to be set, edited\nand unset.\n\nThis feature only works with the netlink user-space interface.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "85999283a21ab2dd37427fdd8c8e8af57223977c",
      "tree": "a78ba043c23182d47cfe473a9a829d8608e2d526",
      "parents": [
        "2fabf35bfcd89445c54cf1e6a5437dd3cf924a92"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:53 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add struct ip_vs_pe\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "001985b2c0cfad48e1dec8e30f4d432eac240dd2",
      "tree": "1fe80a8c34751374a785700c22bb9369d5679c55",
      "parents": [
        "5adbb9fb0c35c38022f79e09fecf15ba8f65f069"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:51 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:23 2010 +0900"
      },
      "message": "netfilter: nf_conntrack_sip: Add callid parser\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "bc01befdcf3e40979eb518085a075cbf0aacede0",
      "tree": "8d6c4352e135ade290f2ba0b68b45cbcffde8af8",
      "parents": [
        "8b008faf92ac8f7eeb65e8cd36077601af7c46db"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Sep 28 21:06:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 28 21:06:34 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add support for user-space expectation helpers\n\nThis patch adds the basic infrastructure to support user-space\nexpectation helpers via ctnetlink and the netfilter queuing\ninfrastructure NFQUEUE. Basically, this patch:\n\n* adds NF_CT_EXPECT_USERSPACE flag to identify user-space\n  created expectations. I have also added a sanity check in\n  __nf_ct_expect_check() to avoid that kernel-space helpers\n  may create an expectation if the master conntrack has no\n  helper assigned.\n* adds some branches to check if the master conntrack helper\n  exists, otherwise we skip the code that refers to kernel-space\n  helper such as the local expectation list and the expectation\n  policy.\n* allows to set the timeout for user-space expectations with\n  no helper assigned.\n* a list of expectations created from user-space that depends\n  on ctnetlink (if this module is removed, they are deleted).\n* includes USERSPACE in the /proc output for expectations\n  that have been created by a user-space helper.\n\nThis patch also modifies ctnetlink to skip including the helper\nname in the Netlink messages if no kernel-space helper is set\n(since no user-space expectation has not kernel-space kernel\nassigned).\n\nYou can access an example user-space FTP conntrack helper at:\nhttp://people.netfilter.org/pablo/userspace-conntrack-helpers/nf-ftp-helper-userspace-POC.tar.bz\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8b008faf92ac8f7eeb65e8cd36077601af7c46db",
      "tree": "033d7dbdc7cf54af84daed6c0293726c1e3e7dd1",
      "parents": [
        "bcac0dfab191cb53b3f9b43c8014a34070ed58ff"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Sep 22 08:36:59 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Sep 22 08:36:59 2010 +0200"
      },
      "message": "netfilter: ctnetlink: allow to specify the expectation flags\n\nWith this patch, you can specify the expectation flags for user-space\ncreated expectations.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f4bc17cdd205ebaa3807c2aa973719bb5ce6a5b2",
      "tree": "c2bbaf2251ba91f4951f6614a9475e04fdec790e",
      "parents": [
        "3575792e005dc9994f15ae72c1c6f401d134177d"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Sep 21 17:35:41 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 21 17:35:41 2010 +0200"
      },
      "message": "ipvs: netfilter connection tracking changes\n\n\tAdd more code to IPVS to work with Netfilter connection\ntracking and fix some problems.\n\n- Allow IPVS to be compiled without connection tracking as in\n2.6.35 and before. This can avoid keeping conntracks for all\nIPVS connections because this costs memory. ip_vs_ftp still\ndepends on connection tracking and NAT as implemented for 2.6.36.\n\n- Add sysctl var \"conntrack\" to enable connection tracking for\nall IPVS connections. For loaded IPVS directors it needs\ntuning of nf_conntrack_max limit.\n\n- Add IP_VS_CONN_F_NFCT connection flag to request the connection\nto use connection tracking. This allows user space to provide this\nflag, for example, in dest-\u003econn_flags. This can be useful to\nrequest connection tracking per real server instead of forcing it\nfor all connections with the \"conntrack\" sysctl. This flag is\nset currently only by ip_vs_ftp and of course by \"conntrack\" sysctl.\n\n- Add ip_vs_nfct.c file to hold all connection tracking code,\nby this way main code should not depend of netfilter conntrack\nsupport.\n\n- Return back the ip_vs_post_routing handler as in 2.6.35 and use\nskb-\u003eipvs_property\u003d1 to allow IPVS to work without connection\ntracking\n\nConnection tracking:\n\n- most of the code is already in 2.6.36-rc\n\n- alter conntrack reply tuple for LVS-NAT connections when first packet\nfrom client is forwarded and conntrack state is NEW or RELATED.\nAdditionally, alter reply for RELATED connections from real server,\nagain for packet in original direction.\n\n- add IP_VS_XMIT_TUNNEL to confirm conntrack (without altering\nreply) for LVS-TUN early because we want to call nf_reset. It is\nneeded because we add IPIP header and the original conntrack\nshould be preserved, not destroyed. The transmitted IPIP packets\ncan reuse same conntrack, so we do not set skb-\u003eipvs_property.\n\n- try to destroy conntrack when the IPVS connection is destroyed.\nIt is not fatal if conntrack disappears before that, it depends\non the used timers.\n\nFix problems from long time:\n\n- add skb-\u003eip_summed \u003d CHECKSUM_NONE for the LVS-TUN transmitters\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3575792e005dc9994f15ae72c1c6f401d134177d",
      "tree": "2383227df0b4ab3418ecb2167535063b7f829f4d",
      "parents": [
        "b23909695c33f53df5f1d16696b1aa5b874c1904"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Sep 17 14:18:16 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 17 14:18:16 2010 +0200"
      },
      "message": "ipvs: extend connection flags to 32 bits\n\n- the sync protocol supports 16 bits only, so bits 0..15 should be\nused only for flags that should go to backup server, bits 16 and\nabove should be allocated for flags not sent to backup.\n\n- use IP_VS_CONN_F_DEST_MASK as mask of connection flags in\ndestination that can be changed by user space\n\n- allow IP_VS_CONN_F_ONE_PACKET to be set in destination\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "053d8f6622701f849fda2ca2c9ae596c13599ba9",
      "tree": "e5dd90cca3a69bc993b5aa860a9eeb8c9178450a",
      "parents": [
        "c9cedbba0fc591e1c0587f838932ca3f3c6fec57",
        "615cc2211c17ed05a2a5d94abdac6c340a8ea508"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:59:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:59:51 2010 -0700"
      },
      "message": "Merge branch \u0027vhost-net\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "cf0ac2b8a759fecbefd80f890c6dbe80ba65fd95",
      "tree": "d5feaeef197dc681d1cdab2e8070ac31f0c43141",
      "parents": [
        "f27e21a813e2c4ca74b30a5443602e75b146db9b",
        "905d64c89e2a9d71d0606904b7c3908633db6072"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 14:58:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 14:58:11 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://oss.oracle.com/git/agrover/linux-2.6\n"
    },
    {
      "commit": "905d64c89e2a9d71d0606904b7c3908633db6072",
      "tree": "ae1f56d4eedebec1a75441d6a66b97aea3e5fe5f",
      "parents": [
        "a46f561b774d90d8616473d56696e7d44fa1c9f1"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:03:54 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:55 2010 -0700"
      },
      "message": "RDS: Remove dead struct from rds.h\n\nflows are an obsolete date type.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "a46f561b774d90d8616473d56696e7d44fa1c9f1",
      "tree": "acfffa1745ee08a8ea863143df745a6e734855e2",
      "parents": [
        "fd128dfa50cfc4f2959dc4aa5d7468d33b988332"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Aug 25 09:34:10 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:54 2010 -0700"
      },
      "message": "RDS: rds.h: Replace u_int[size]_t with uint[size]_t\n\nReplace e.g. u_int32_t types with the more common uint32_t.\n\nReported-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "fd128dfa50cfc4f2959dc4aa5d7468d33b988332",
      "tree": "af53d62ccf9558091ea1d19d5653f913e642d472",
      "parents": [
        "20c72bd5f5f902e5a8745d51573699605bf8d21c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Aug 25 09:32:17 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:52 2010 -0700"
      },
      "message": "RDS: Add rds.h to exported headers list\n\nAlso, a number of changes were made based on the assumption that\nrds.h wasn\u0027t exported, so roll these back.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "20c72bd5f5f902e5a8745d51573699605bf8d21c",
      "tree": "6df337e07d423a0859ab92f25525570e134baba1",
      "parents": [
        "59f740a6aeb2cde2f79fe0df38262d4c1ef35cd8"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Aug 25 05:51:28 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:51 2010 -0700"
      },
      "message": "RDS: Implement masked atomic operations\n\nAdd two CMSGs for masked versions of cswp and fadd. args\nstruct modified to use a union for different atomic op type\u0027s\narguments. Change IB to do masked atomic ops. Atomic op type\nin rds_message similarly unionized.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "2c3a5f9abb1dc5efdab8ba9a568b1661c65fd1e3",
      "tree": "72b6a4c5298fecf46637987fd8ae42296dc90a97",
      "parents": [
        "7e3bd65ebfd5d6cd76b8b979920c632d6e6b4b2a"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Mon Mar 01 16:10:40 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:12:06 2010 -0700"
      },
      "message": "RDS: Add flag for silent ops. Do atomic op before RDMA\n\nAdd a flag to the API so users can indicate they want\nsilent operations. This is needed because silent ops\ncannot be used with USE_ONCE MRs, so we can\u0027t just\nassume silent.\n\nAlso, change send_xmit to do atomic op before rdma op if\nboth are present, and centralize the hairy logic to determine if\nwe want to attempt silent, or not.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "15133f6e67d8d646d0744336b4daa3135452cb0d",
      "tree": "e5675d5a3ab240edc9a66af6b891dd75fa9eabae",
      "parents": [
        "a63273d4992603979ddb181b6a8f07082839b39f"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Tue Jan 12 14:33:38 2010 -0800"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:11:41 2010 -0700"
      },
      "message": "RDS: Implement atomic operations\n\nImplement a CMSG-based interface to do FADD and CSWP ops.\n\nAlter send routines to handle atomic ops.\n\nAdd atomic counters to stats.\n\nAdd xmit_atomic() to struct rds_transport\n\nInline rds_ib_send_unmap_rdma into unmap_rm\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "a6e0fc8514d41dfdd98b1d15cacc432cf040f8af",
      "tree": "48a6b7cbae9fa0637b7f134b2d204740af783237",
      "parents": [
        "a7a4f1c1a52912eb8b3bd4d8f628d83a8b5d69dd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 08 14:15:32 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 14:15:32 2010 -0700"
      },
      "message": "net: introduce rcu_dereference_rtnl\n\nWe use rcu_dereference_check(p, rcu_read_lock_held() ||\nlockdep_rtnl_is_held()) several times in network stack.\n\nMore usages to come too, so its time to create a helper.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56557af19867edb8c0e96f8e26399698a08857f",
      "tree": "2d98f87962a5a08839371ed90b9eaa7f256bea36",
      "parents": [
        "fa2925cf90e612cb9c10c45d0cb8a7c7332e56a7",
        "17134d96735115644cc2f0e2b1bab51ca6e3ab95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 16:00:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 16:00:17 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: bus speed strings should be const\n  PCI hotplug: Fix build with CONFIG_ACPI unset\n  PCI: PCIe: Remove the port driver module exit routine\n  PCI: PCIe: Move PCIe PME code to the pcie directory\n  PCI: PCIe: Disable PCIe port services during port initialization\n  PCI: PCIe: Ask BIOS for control of all native services at once\n  ACPI/PCI: Negotiate _OSC control bits before requesting them\n  ACPI/PCI: Do not preserve _OSC control bits returned by a query\n  ACPI/PCI: Make acpi_pci_query_osc() return control bits\n  ACPI/PCI: Reorder checks in acpi_pci_osc_control_set()\n  PCI: PCIe: Introduce commad line switch for disabling port services\n  PCI: PCIe AER: Introduce pci_aer_available()\n  x86/PCI: only define pci_domain_nr if PCI and PCI_DOMAINS are set\n  PCI: provide stub pci_domain_nr function for !CONFIG_PCI configs\n"
    },
    {
      "commit": "a44a553f827f28d46130c9818dbcb95f4262b96c",
      "tree": "44bd46b1604eb93f15196193a99725f94138af41",
      "parents": [
        "ce7db282a3830f57f5b05ec48288c23a5c4d66d5",
        "93f68f1ef787d97ab688f78a01f446e85bb9a496"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:34:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:34:37 2010 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/pseries: Correct rtas_data_buf locking in dlpar code\n  powerpc/85xx: Add P1021 PCI IDs and quirks\n  arch/powerpc/sysdev/qe_lib/qe.c: Add of_node_put to avoid memory leak\n  arch/powerpc/platforms/83xx/mpc837x_mds.c: Add missing iounmap\n  fsl_rio: fix compile errors\n  powerpc/85xx: Fix compile issue with p1022_ds due to lmb rename to memblock\n  powerpc/85xx: Fix compilation of mpc85xx_mds.c\n  powerpc: Don\u0027t use kernel stack with translation off\n  powerpc/perf_event: Reduce latency of calling perf_event_do_pending\n  powerpc/kexec: Adds correct calling convention for kexec purgatory\n"
    },
    {
      "commit": "ce7db282a3830f57f5b05ec48288c23a5c4d66d5",
      "tree": "8e191c4b2ffa1658d5c014da5cc6230fc58c1a59",
      "parents": [
        "cd4d4fc4137502f88ee871fc015a934dc28535e3",
        "54157c44471f5e266508ac08d270f2bc5857e8bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:08:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:08:37 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: fix a mismatch between code and comment\n  percpu: fix a memory leak in pcpu_extend_area_map()\n  percpu: add __percpu notations to UP allocator\n  percpu: handle __percpu notations in UP accessors\n"
    },
    {
      "commit": "cd4d4fc4137502f88ee871fc015a934dc28535e3",
      "tree": "09dfa0627996ca80d0fcc936b6fbd5080ee6e9d7",
      "parents": [
        "608307e6de2631e37f55f106a7cbbc560cb12751",
        "9c37547ab62f88aac3e1e3c2065b611f811de9b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:08:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:08:17 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: use zalloc_cpumask_var() for gcwq-\u003emayday_mask\n  workqueue: fix GCWQ_DISASSOCIATED initialization\n  workqueue: Add a workqueue chapter to the tracepoint docbook\n  workqueue: fix cwq-\u003enr_active underflow\n  workqueue: improve destroy_workqueue() debuggability\n  workqueue: mark lock acquisition on worker_maybe_bind_and_lock()\n  workqueue: annotate lock context change\n  workqueue: free rescuer on destroy_workqueue\n"
    },
    {
      "commit": "608a5ffc3ee0d6f4aff53e902659201eeaeb9c06",
      "tree": "38658ba63eb2fccaf9f3d23112c84a31a40e257f",
      "parents": [
        "78f220a84f464ff1a74d1b646e9b96bdddc47050",
        "6eb68d6f3bf1707d5d816ea9242b7d38f25b942e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:04:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:04:09 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  tty: fix tty_line must not be equal to number of allocated tty pointers in tty driver\n  serial: bfin_sport_uart: restore transmit frame sync fix\n  serial: fix port type conflict between NS16550A \u0026 U6_16550A\n  MAINTAINERS: orphan isicom\n  vt: Fix console corruption on driver hand-over.\n"
    },
    {
      "commit": "f8f235e5bbf4e61f3e0886a44afb1dc4cfe8f337",
      "tree": "9211554f0542ce636aa1f14ffe58cfa832efa04d",
      "parents": [
        "93f5f7f1249e76a5e8afbdab53f90b10c41fdb61"
      ],
      "author": {
        "name": "Zhenyu Wang",
        "email": "zhenyuw@linux.intel.com",
        "time": "Fri Aug 27 11:08:57 2010 +0800"
      },
      "committer": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Tue Sep 07 11:16:43 2010 +0100"
      },
      "message": "agp/intel: Fix cache control for Sandybridge\n\nSandybridge GTT has new cache control bits in PTE, which controls\ngraphics page cache in LLC or LLC/MLC, so we need to extend the mask\nfunction to respect the new bits.\n\nAnd set cache control to always LLC only by default on Gen6.\n\nSigned-off-by: Zhenyu Wang \u003czhenyuw@linux.intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\n"
    },
    {
      "commit": "73457f0f836956747e0394320be2163c050e96ef",
      "tree": "ec0b11057cce5d93800876f4a89a2bcdbc91b69e",
      "parents": [
        "0b5d404e349c0236b11466c0a4785520c0be6982"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri Aug 06 01:59:14 2010 +0300"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Sep 05 17:01:37 2010 +0300"
      },
      "message": "cgroups: fix API thinko\n\ncgroup_attach_task_current_cg API that have upstream is backwards: we\nreally need an API to attach to the cgroups from another process A to\nthe current one.\n\nIn our case (vhost), a priveledged user wants to attach it\u0027s task to cgroups\nfrom a less priveledged one, the API makes us run it in the other\ntask\u0027s context, and this fails.\n\nSo let\u0027s make the API generic and just pass in \u0027from\u0027 and \u0027to\u0027 tasks.\nAdd an inline wrapper for cgroup_attach_task_current_cg to avoid\nbreaking bisect.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\n"
    },
    {
      "commit": "71cad0554956de87c3fc413b1eac9313887eb14f",
      "tree": "c1b7e900fe2329d689042a1ccf49842135a38a67",
      "parents": [
        "d86b3001a1a6f9b8be15e5e060338de085d2bbbc"
      ],
      "author": {
        "name": "Philippe Langlais",
        "email": "philippe.langlais@stericsson.com",
        "time": "Tue Aug 31 14:19:09 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 03 17:29:04 2010 -0700"
      },
      "message": "serial: fix port type conflict between NS16550A \u0026 U6_16550A\n\nBug seen by Dr. David Alan Gilbert with sparse\n\nSigned-off-by: Philippe Langlais \u003cphilippe.langlais@stericsson.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bc8acf2c8c3e43fcc192762a9f964b3e9a17748b",
      "tree": "e3a91392771a22390e59c24fcb7bad3045ce17d1",
      "parents": [
        "7162f6691e9d39d8d866574687cddb3f1ec65d72"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 02 13:07:41 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 19:06:22 2010 -0700"
      },
      "message": "drivers/net: avoid some skb-\u003eip_summed initializations\n\nfresh skbs have ip_summed set to CHECKSUM_NONE (0)\n\nWe can avoid setting again skb-\u003eip_summed to CHECKSUM_NONE in drivers.\n\nIntroduce skb_checksum_none_assert() helper so that we keep this\nassertion documented in driver sources.\n\nChange most occurrences of :\n\nskb-\u003eip_summed \u003d CHECKSUM_NONE;\n\nby :\n\nskb_checksum_none_assert(skb);\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7162f6691e9d39d8d866574687cddb3f1ec65d72",
      "tree": "c511679caf5c825ede4728870c513f92f4f1616b",
      "parents": [
        "250e061e1d3e26600236a3dd9172e7f5f5916c00",
        "78ab952717b62c0ba6ca7f7a27eaa0486685e45f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 12:45:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 12:45:44 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "78ab952717b62c0ba6ca7f7a27eaa0486685e45f",
      "tree": "a4ab2bfc578f279fc6847031f501d84c75057531",
      "parents": [
        "3e502e63586920f219ed2590f69c1f5a8888cfa4",
        "85f72bc839705294b32b6c16b491c0422f0a71b3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 02 13:30:07 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 02 13:30:07 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "c68839963426d42bdb2c915b435f9860d060e645",
      "tree": "b7ade0bcf08dc6c2a8465cb78bec556079c7c963",
      "parents": [
        "8ed2163ff3b6abc5143d46dea73e523b22a6f987"
      ],
      "author": {
        "name": "Peter Meerwald",
        "email": "pmeerw@pmeerw.net",
        "time": "Thu Sep 02 04:06:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 10:12:05 2010 -0700"
      },
      "message": "net: Improve comments in include/linux/phy.h\n\nCorrect state range of PHY bus addresses (i.e. 0-31) in comment,\nmake spelling of PHY consistent in comments.\n\nSigned-off-by: Peter Meerwald \u003cpmeerw@pmeerw.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86cac58b71227cc34a3d0e78f19585c0eff49ea3",
      "tree": "e3329c4599474c12f17b0de5b2e8e4ff92233853",
      "parents": [
        "aed5029ead26fe47527d9e9f2052cf56b72543f0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 31 18:25:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 01 10:57:55 2010 -0700"
      },
      "message": "skge: add GRO support\n\n- napi_gro_flush() is exported from net/core/dev.c, to avoid\n  an irq_save/irq_restore in the packet receive path.\n- use napi_gro_receive() instead of netif_receive_skb()\n- use napi_gro_flush() before calling __napi_complete()\n- turn on NETIF_F_GRO by default\n- Tested on a Marvell 88E8001 Gigabit NIC\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a28dec2f26013aad89446b1f708f948617bc28a2",
      "tree": "61f9c219e8dc8318bc7f75e5b4c3d7382c8faa85",
      "parents": [
        "5aac4d73dc234fe7be91679b547af2436d7f8d1e"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@mvista.com",
        "time": "Sun Aug 08 18:03:33 2010 +0400"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Tue Aug 31 16:44:24 2010 -0500"
      },
      "message": "powerpc/85xx: Add P1021 PCI IDs and quirks\n\nThis is needed for proper PCI-E support on P1021 SoCs.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@mvista.com\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4dc89133f49b8cfd77ba7e83f5960aed63aaa99e",
      "tree": "7629fa72b5a13cbf48d43659bb396984caf7362a",
      "parents": [
        "ba4fd9d8282f7f856f2287fe8be784d1dfdda28b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 31 07:40:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:37:06 2010 -0700"
      },
      "message": "net: add a comment on netdev-\u003elast_rx\n\nAs some driver authors seem to reintroduce dev-\u003elast_rx use,\nadd a comment to strongly discourage this.\n\nSince commit 6cf3f41e6c0 (bonding, net: Move last_rx update into bonding\nrecv logic), network drivers dont need to update last_rx themselves,\nunless they use this field to implement a timeout.\n\nNot updating last_rx helps not dirtying a cache line, improving\nperformance in SMP.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dca43c75e7e545694a9dd6288553f55c53e2a3a3",
      "tree": "4df6b0b295ecd571fa95004b486d9af1636d6a30",
      "parents": [
        "409456b10f87b28303643fec37543103f9ada00c"
      ],
      "author": {
        "name": "Jerry Chu",
        "email": "hkchu@google.com",
        "time": "Fri Aug 27 19:13:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:23:33 2010 -0700"
      },
      "message": "tcp: Add TCP_USER_TIMEOUT socket option.\n\nThis patch provides a \"user timeout\" support as described in RFC793. The\nsocket option is also needed for the the local half of RFC5482 \"TCP User\nTimeout Option\".\n\nTCP_USER_TIMEOUT is a TCP level socket option that takes an unsigned int,\nwhen \u003e 0, to specify the maximum amount of time in ms that transmitted\ndata may remain unacknowledged before TCP will forcefully close the\ncorresponding connection and return ETIMEDOUT to the application. If\n0 is given, TCP will continue to use the system default.\n\nIncreasing the user timeouts allows a TCP connection to survive extended\nperiods without end-to-end connectivity. Decreasing the user timeouts\nallows applications to \"fail fast\" if so desired. Otherwise it may take\nupto 20 minutes with the current system defaults in a normal WAN\nenvironment.\n\nThe socket option can be made during any state of a TCP connection, but\nis only effective during the synchronized states of a connection\n(ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, or LAST-ACK).\nMoreover, when used with the TCP keepalive (SO_KEEPALIVE) option,\nTCP_USER_TIMEOUT will overtake keepalive to determine when to close a\nconnection due to keepalive failure.\n\nThe option does not change in anyway when TCP retransmits a packet, nor\nwhen a keepalive probe will be sent.\n\nThis option, like many others, will be inherited by an acceptor from its\nlistener.\n\nSigned-off-by: H.K. Jerry Chu \u003chkchu@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "409456b10f87b28303643fec37543103f9ada00c",
      "tree": "f45d3b953de9dbda4f7d8486b48afa0c59395cd7",
      "parents": [
        "2c70b5196262f29b10eb1886293e0c2d75dc3dd9"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 29 21:57:55 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 29 21:57:55 2010 -0700"
      },
      "message": "net: fix datapath typo\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30c0f6a04975d557f3c1a4e640b3808b1231c3ef",
      "tree": "eefc2a8d97765342cb5c2c16d98e5d02e9ebf98a",
      "parents": [
        "e933424c4823596ed231648eeb602b5209960ff6",
        "92b4678efa8ce0de9b1e01a74e3d13c4002a4136"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:11:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:11:04 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  fsnotify: drop two useless bools in the fnsotify main loop\n  fsnotify: fix list walk order\n  fanotify: Return EPERM when a process is not privileged\n  fanotify: resize pid and reorder structure\n  fanotify: drop duplicate pr_debug statement\n  fanotify: flush outstanding perm requests on group destroy\n  fsnotify: fix ignored mask handling between inode and vfsmount marks\n  fanotify: add MAINTAINERS entry\n  fsnotify: reset used_inode and used_vfsmount on each pass\n  fanotify: do not dereference inode_mark when it is unset\n"
    },
    {
      "commit": "06f01e73ef1064d81b010e84941b01a15e2745ed",
      "tree": "0e528b67016e187a22027f329852e14867e65dee",
      "parents": [
        "51bbd47d3641beb4a8c2a35d55488c859b60c82d",
        "04cbe1de6fbda9649a6f25666194e6955d3e717e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:08:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:08:38 2010 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  vgaarb: Wrap vga_(get|put) in CONFIG_VGA_ARB\n  drm/radeon/kms: add missing scratch update in dp_detect\n  drm/modes: Fix CVT-R modeline generation\n  drm: fix regression in drm locking since BKL removal.\n  drm/radeon/kms: remove stray radeon_i2c_destroy\n  drm: mm: fix range restricted allocations\n  drm/nouveau: drop drm_global_mutex before sleeping in submission path\n  drm: export drm_global_mutex for drivers to use\n  drm/nv20: Don\u0027t use pushbuf calls on the original nv20.\n  drm/nouveau: Fix TMDS on some DCB1.5 boards.\n  drm/nouveau: Fix backlight control on PPC machines with an internal TMDS panel.\n  drm/nv30: Apply modesetting to the correct slave encoder\n  drm/nouveau: Use a helper function to match PCI device/subsystem IDs.\n  drm/nv50: add dcb type 14 to enum to prevent compiler complaint\n"
    },
    {
      "commit": "bad849b3dc0fae1297c8d47f846f8d202a6145ed",
      "tree": "d3802e46cbda7f6df30a9b0378e15a8343572a19",
      "parents": [
        "0a3b6e452b403f6e0cf3000da87b19e0fd9c4ba3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 26 16:00:34 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:01:03 2010 -0700"
      },
      "message": "NOMMU: Stub out vm_get_page_prot() if there\u0027s no MMU\n\nStub out vm_get_page_prot() if there\u0027s no MMU.\n\nThis was added by commit 804af2cf6e7a (\"[AGPGART] remove private page\nprotection map\") and is used in commit c07fbfd17e61 (\"fbmem: VM_IO set,\nbut not propagated\") in the fbmem video driver, but the function doesn\u0027t\nexist on NOMMU, resulting in an undefined symbol at link time.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2637d139fb9a1bd428a003b7671fda40a034854f",
      "tree": "7983e0776c95990a545f83275682614e16a71167",
      "parents": [
        "494e2fbe1f8bee22ab2070bd6f4d1a24f7d5fd8b",
        "288933c02b440621d9c8e7bb5f232cfb7bdef7df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 13:55:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 13:55:31 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: pxa27x_keypad - remove input_free_device() in pxa27x_keypad_remove()\n  Input: mousedev - fix regression of inverting axes\n  Input: uinput - add devname alias to allow module on-demand load\n  Input: hil_kbd - fix compile error\n  USB: drop tty argument from usb_serial_handle_sysrq_char()\n  Input: sysrq - drop tty argument form handle_sysrq()\n  Input: sysrq - drop tty argument from sysrq ops handlers\n"
    },
    {
      "commit": "0fb85621df4f9f7c663c6c77c302e821a832c95e",
      "tree": "b5bcb8e79ad6197ba161dbf9687755bb281b83aa",
      "parents": [
        "ff8d6e983185ce19fa92bb836eb52b589957be65"
      ],
      "author": {
        "name": "Tvrtko Ursulin",
        "email": "tvrtko.ursulin@sophos.com",
        "time": "Fri Aug 20 10:02:15 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Aug 27 19:54:09 2010 -0400"
      },
      "message": "fanotify: resize pid and reorder structure\n\nresize pid and reorder the fanotify_event_metadata so it is naturally\naligned and we can work towards dropping the packed attributed\n\nSigned-off-by: Tvrtko Ursulin \u003ctvrtko.ursulin@sophos.com\u003e\nCc: Andreas Dilger \u003cadilger@dilger.ca\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c0692b8fe29fb4d4dad33487aabf3ed7e1e880c0",
      "tree": "39c0c74c2270a285e1a0cfc7958ced7368cf28a6",
      "parents": [
        "3ffc2a905b1faae4c0fe39d66f0752c3a4cbb3c7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:53 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "cfg80211: allow changing port control protocol\n\nSome vendor specified mechanisms for 802.1X-style\nfunctionality use a different protocol than EAP\n(even if EAP is vendor-extensible). Allow setting\nthe ethertype for the protocol when a driver has\nsupport for this. The default if unspecified is\nEAP, of course.\n\nNote: This is suitable only for station mode, not\n      for AP implementation.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "40d0802b3eb47d57e2d57a5244a18cbbe9632e13",
      "tree": "fd45987286080e1f711c2448f6fbdc7d362a0241",
      "parents": [
        "250ad8f55c06eb866cfb57f8d3ea6ff961a7d1d7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 26 22:03:08 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 22:03:08 2010 -0700"
      },
      "message": "gro: __napi_gro_receive() optimizations\n\ncompare_ether_header() can have a special implementation on 64 bit\narches if CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is defined.\n\n__napi_gro_receive() and vlan_gro_common() can avoid a conditional\nbranch to perform device match.\n\nOn x86_64, __napi_gro_receive() has now 38 instructions instead of 53\n\nAs gcc-4.4.3 still choose to not inline it, add inline keyword to this\nperformance critical function.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04cbe1de6fbda9649a6f25666194e6955d3e717e",
      "tree": "cfa16f6b8319bfef9db8a5e9ada9ab030644a55e",
      "parents": [
        "30f4437202daa5315a1033b2084ddce96fea99b6"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Thu Aug 19 21:29:43 2010 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 27 09:10:44 2010 +1000"
      },
      "message": "vgaarb: Wrap vga_(get|put) in CONFIG_VGA_ARB\n\nFix link failure without the vga arbitrator.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ad01b7d480a4a135f974afd5c617c417e0b0542f",
      "tree": "bd69865fb4bb323e697d46c8b0365ec1774a9696",
      "parents": [
        "ac75791aa943c7953521cb4fa7728bf51f9abd2d"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Mon Aug 23 20:40:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 25 16:30:51 2010 -0700"
      },
      "message": "stmmac: make ioaddr \u0027void __iomem *\u0027 rather than unsigned long\n\nThis avoids unnecessary casting and adds the ioaddr in the\nprivate structure.\nThis patch also removes many warning when compile the driver.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e569aa78ba01f7f66e016a4d57310fd041524d17",
      "tree": "eaedc03d42ee2bf6200fc07b080a99bad103def3",
      "parents": [
        "4562487a00445eab96311365ba15c41dc4d043cd",
        "268bae0b6879f238ba57f5f801958d1254e136f7"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:51:42 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:51:42 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/libertas/if_sdio.c\n"
    },
    {
      "commit": "4c5f7d7a1e6cf20ad515dad8a63c0813fac5bcea",
      "tree": "f49374562261f98bb92d0b4773d300eb2cc11d82",
      "parents": [
        "31c726f0963cd022680dacd0c9f0036d7e12a8b2"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kvalo@adurom.com",
        "time": "Sun Aug 22 22:46:28 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:19 2010 -0400"
      },
      "message": "wl12xx: change contact person for the include file\n\nLuciano should be the contact person for the include/linux/spi/wl12xx.h file.\n\nSigned-off-by: Kalle Valo \u003ckvalo@adurom.com\u003e\nAcked-by: Luciano Coelho \u003cluciano.coelho@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8a2e8e5dec7e29c56a46ba176c664ab6a3d04118",
      "tree": "57da96451bead4986dfcd82aadf47ba2c05745ac",
      "parents": [
        "e41e704bc4f49057fc68b643108366e6e6781aa3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 25 10:33:56 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 25 10:33:56 2010 +0200"
      },
      "message": "workqueue: fix cwq-\u003enr_active underflow\n\ncwq-\u003enr_active is used to keep track of how many work items are active\nfor the cpu workqueue, where \u0027active\u0027 is defined as either pending on\nglobal worklist or executing.  This is used to implement the\nmax_active limit and workqueue freezing.  If a work item is queued\nafter nr_active has already reached max_active, the work item doesn\u0027t\nincrement nr_active and is put on the delayed queue and gets activated\nlater as previous active work items retire.\n\ntry_to_grab_pending() which is used in the cancellation path\nunconditionally decremented nr_active whether the work item being\ncancelled is currently active or delayed, so cancelling a delayed work\nitem makes nr_active underflow.  This breaks max_active enforcement\nand triggers BUG_ON() in destroy_workqueue() later on.\n\nThis patch fixes this bug by adding a flag WORK_STRUCT_DELAYED, which\nis set while a work item in on the delayed list and making\ntry_to_grab_pending() decrement nr_active iff the work item is\ncurrently active.\n\nThe addition of the flag enlarges cwq alignment to 256 bytes which is\ngetting a bit too large.  It\u0027s scheduled to be reduced back to 128\nbytes by merging WORK_STRUCT_PENDING and WORK_STRUCT_CWQ in the next\ndevel cycle.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n"
    },
    {
      "commit": "0533943c5c45cce2e26432bf0a6b8e114757c897",
      "tree": "8405db10a70b0a2a9f4c04528e4bcffdbb7189c6",
      "parents": [
        "d7e1a487d31933deba742c1bd3ffe0f73220b729"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Aug 24 03:46:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:57:09 2010 -0700"
      },
      "message": "mlx4_en: UDP RSS support\n\nAdding capability for RSS for UDP traffic, hashing is done based on\nIP addresses and UDP port number.\nThe support depends on HW/FW capabilities.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7699517db435fd24143bd32dd644275e3eeb4c86",
      "tree": "e39bad6758eb4172cd4bafe481803c8f752a2630",
      "parents": [
        "e7c1c2c46201e46f8ce817196507d2ffd3dafd8e"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Aug 24 03:46:23 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:54:51 2010 -0700"
      },
      "message": "mlx4_en: Fixing report in Ethtool get_settings\n\nThe report now based on query from FW, giving the correct tranciever type\nand link speed.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7c1c2c46201e46f8ce817196507d2ffd3dafd8e",
      "tree": "33579da64d2c5dc4502518496097dcf9737e9eb4",
      "parents": [
        "3005ad40b95168aad530f1179cff47411b3ea8da"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Aug 24 03:46:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:54:51 2010 -0700"
      },
      "message": "mlx4_en: Added self diagnostics test implementation\n\nThe selftest includes 5 features:\n1. Interrupt test: Executing commands and receiving command completion\n   on all our interrupt vectors.\n2. Link test: Verifying we are connected to valid link partner.\n3. Speed test: Check that we negotiated link speed correctly.\n4. Registers test: Activate HW health check command.\n5. Loopback test: Send a packet on loopback interface and catch it on RX side.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2e3143e3c46ede22336316b3ff4746727c0d93a",
      "tree": "28fa33bc3ef923614066377e5a954b88cb87148a",
      "parents": [
        "5a46790ca4c40fdb6ed5336d7d6b593c96326b31"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Aug 24 14:48:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:48:10 2010 -0700"
      },
      "message": "tc: add meta match on receive hash\n\nTrivial extension to existing meta data match rules to allow\nmatching on skb receive hash value.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a46790ca4c40fdb6ed5336d7d6b593c96326b31",
      "tree": "84ca2e08453f06361a593484550783110e03c207",
      "parents": [
        "ec550d246e38e1b4ea8604b5c71ccb72e38f3290"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 24 14:46:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:46:53 2010 -0700"
      },
      "message": "include/linux/if_ether.h: Remove unused #define MAC_FMT\n\nLast use was removed, so remove the #define.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75fb60f26befb59dbfa05cb122972642b7bdd219",
      "tree": "be015dd00e7748e45f3691f04a16c204546b3026",
      "parents": [
        "2b8fd9186d9275b07aef43e5bb4e98cd571f9a7d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Aug 23 23:53:11 2010 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Aug 24 13:44:40 2010 -0700"
      },
      "message": "ACPI/PCI: Negotiate _OSC control bits before requesting them \n\nIt is possible that the BIOS will not grant control of all _OSC\nfeatures requested via acpi_pci_osc_control_set(), so it is\nrecommended to negotiate the final set of _OSC features with the\nquery flag set before calling _OSC to request control of these\nfeatures.\n\nTo implement it, rework acpi_pci_osc_control_set() so that the caller\ncan specify the mask of _OSC control bits to negotiate and the mask\nof _OSC control bits that are absolutely necessary to it.  Then,\nacpi_pci_osc_control_set() will run _OSC queries in a loop until\nthe mask of _OSC control bits returned by the BIOS is equal to the\nmask passed to it.  Also, before running the _OSC request\nacpi_pci_osc_control_set() will check if the caller\u0027s required\ncontrol bits are present in the final mask.\n\nUsing this mechanism we will be able to avoid situations in which the\nBIOS doesn\u0027t grant control of certain _OSC features, because they\ndepend on some other _OSC features that have not been requested.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2a5fb7b088f8418958775774dda9427d6c73c522",
      "tree": "8636210464e45eea32025d685ddeb367f595b6a0",
      "parents": [
        "633dd1ea683d907af944bcd9814092efe9869b05"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 18 17:44:36 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:32:04 2010 -0400"
      },
      "message": "nl80211: some documentation fixes\n\nThe nl80211 documentation is currently never\ngenerated, so problems have accumulated. Fix\nmost of the trivial ones.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d2730b2a6a019d14455556019d744ab051e6554b",
      "tree": "e1321ef2496cd0061071df0e1e9adfb1fa317534",
      "parents": [
        "e723ef305c36785c08af9463b3a3ec369dfcedcb"
      ],
      "author": {
        "name": "Gábor Stefanik",
        "email": "netrolller.3d@gmail.com",
        "time": "Mon Aug 16 22:39:16 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:28:11 2010 -0400"
      },
      "message": "b43: N-PHY: Implement MAC PHY clock set\n\nSigned-off-by: Gábor Stefanik \u003cnetrolller.3d@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e161f78e5f63a7f9fd25a766bb7f816a01eb14a",
      "tree": "befd44feeb1f47da1f41e6fc310a223ad67030ff",
      "parents": [
        "ac4c977d16d843f12901595c91773dddb65768a9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 15:38:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:56 2010 -0400"
      },
      "message": "cfg80211/mac80211: extensible frame processing\n\nAllow userspace to register for more than just\naction frames by giving the frame subtype, and\nmake it possible to use this in various modes\nas well.\n\nWith some tweaks and some added functionality\nthis will, in the future, also be usable in AP\nmode and be able to replace the cooked monitor\ninterface currently used in that case.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8ca3eb08097f6839b2206e2242db4179aee3cfb3",
      "tree": "32b9f033230d615d248fa0bbfa1a0c644a422ed8",
      "parents": [
        "9559fcdbff4f93d29af04478bbc48294519424f5"
      ],
      "author": {
        "name": "Luck, Tony",
        "email": "tony.luck@intel.com",
        "time": "Tue Aug 24 11:44:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 12:13:20 2010 -0700"
      },
      "message": "guard page for stacks that grow upwards\n\npa-risc and ia64 have stacks that grow upwards. Check that\nthey do not run into other mappings. By making VM_GROWSUP\n0x0 on architectures that do not ever use it, we can avoid\nsome unpleasant #ifdefs in check_stack_guard_page().\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e41e704bc4f49057fc68b643108366e6e6781aa3",
      "tree": "8cc85208970ba0c9adf533903243e28c506f23ae",
      "parents": [
        "972fa1c5316d18c8297123e08e9b6930ca34f888"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 24 14:22:47 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 24 18:01:32 2010 +0200"
      },
      "message": "workqueue: improve destroy_workqueue() debuggability\n\nNow that the worklist is global, having works pending after wq\ndestruction can easily lead to oops and destroy_workqueue() have\nseveral BUG_ON()s to catch these cases.  Unfortunately, BUG_ON()\ndoesn\u0027t tell much about how the work became pending after the final\nflush_workqueue().\n\nThis patch adds WQ_DYING which is set before the final flush begins.\nIf a work is requested to be queued on a dying workqueue,\nWARN_ON_ONCE() is triggered and the request is ignored.  This clearly\nindicates which caller is trying to queue a work on a dying workqueue\nand keeps the system working in most cases.\n\nLocking rule comment is updated such that the \u0027I\u0027 rule includes\nmodifying the field from destruction path.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6d87f207c04370681b9a710b8dbed0f567491e49",
      "tree": "b6ca4ab9f7358f2ec8088fbadcb5f078a9c022f2",
      "parents": [
        "d20de763548f9948f4534fc816155d8ee48e1d35",
        "f6e6e7799ebcad40fa15e4015beca2d776554302"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 00:21:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 00:21:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  kobject_uevent: fix typo in comments\n  firmware_class: fix typo in error path\n  kobject: Break the kobject namespace defs into their own header\n"
    },
    {
      "commit": "d20de763548f9948f4534fc816155d8ee48e1d35",
      "tree": "66343a0f3a7dc134fab7cfd97f25d8efd5a8de65",
      "parents": [
        "d1b113bb028999e82a8528e1484be8c23fb5a7d9",
        "70ddd47f7d56f17b40f78d21d6f653c84617e450"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 00:20:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 00:20:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (29 commits)\n  ARM: imx: fix build failure concerning otg/ulpi\n  USB: ftdi_sio: add product ID for Lenz LI-USB\n  USB: adutux: fix misuse of return value of copy_to_user()\n  USB: iowarrior: fix misuse of return value of copy_to_user()\n  USB: xHCI: update ring dequeue pointer when process missed tds\n  USB: xhci: Remove buggy assignment in next_trb()\n  USB: ftdi_sio: Add ID for Ionics PlugComputer\n  USB: serial: io_ti.c: don\u0027t return 0 if writing the download record failed\n  USB: otg: twl4030: fix wrong assumption of starting state\n  USB: gadget: Return -ENOMEM on memory allocation failure\n  USB: gadget: fix composite kernel-doc warnings\n  USB: ssu100: set tty_flags in ssu100_process_packet\n  USB: ssu100: add disconnect function for ssu100\n  USB: serial: export symbol usb_serial_generic_disconnect\n  USB: ssu100: rework logic for TIOCMIWAIT\n  USB: ssu100: add register parameter to ssu100_setregister\n  USB: ssu100: remove duplicate #defines in ssu100\n  USB: ssu100: refine process_packet in ssu100\n  USB: ssu100: add locking for port private data in ssu100\n  USB: r8a66597-udc: return -ENOMEM if kzalloc() fails\n  ...\n"
    },
    {
      "commit": "d187abb9a83e6c6b6e9f2ca17962bdeafb4bc903",
      "tree": "16eb22b79042d50834eb2be839d7cb240317c823",
      "parents": [
        "6b8f1ca5581bf9783069cd6bde65ba7a3a470aab"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Aug 11 12:07:13 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 23 20:50:16 2010 -0700"
      },
      "message": "USB: gadget: fix composite kernel-doc warnings\n\nWarning(include/linux/usb/composite.h:284): No description found for parameter \u0027disconnect\u0027\nWarning(drivers/usb/gadget/composite.c:744): No description found for parameter \u0027c\u0027\nWarning(drivers/usb/gadget/composite.c:744): Excess function parameter \u0027cdev\u0027 description in \u0027usb_string_ids_n\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1726442e115a9e58f40747d009a5b4f303e0840a",
      "tree": "fbf95da050125bfa0656292c54bd856cf113db37",
      "parents": [
        "0fdc100bdc4b7ab61ed632962c76dfe539047296"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Aug 23 16:26:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:43:17 2010 -0700"
      },
      "message": "net: increase the size of priv_flags and add IFF_OVS_DATAPATH\n\nIFF_OVS_DATAPATH is a place-holder for the Open vSwitch datapath\nwhich I am preparing to submit for merging.\n\nAs all 16 bits of priv_flags are already assigned flags, also increase\nthe size of priv_flags to 32 bits.\n\nUnfortunately, by my calculations this increases the size of\nstruct net_device by 4 bytes on 32bit architectures and\n8 bytes on 64 bit architectures. I couldn\u0027t see an obvious\nway to avoid that.\n\nCc: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b230ed8ec96c933047dd0625cf95f739e4939a6",
      "tree": "517e761a804a2b2f9631b755abcbf525240b916e",
      "parents": [
        "231cc2aaf14bad3b2325be0b19b8385ff5e75485"
      ],
      "author": {
        "name": "Rasesh Mody",
        "email": "rmody@brocade.com",
        "time": "Mon Aug 23 20:24:12 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 20:24:12 2010 -0700"
      },
      "message": "bna: Brocade 10Gb Ethernet device driver\n\nThis is patch 1/6 which contains linux driver source for\nBrocade\u0027s BR1010/BR1020 10Gb CEE capable ethernet adapter.\n\nSigned-off-by: Debashis Dutt \u003cddutt@brocade.com\u003e\nSigned-off-by: Rasesh Mody \u003crmody@brocade.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1b113bb028999e82a8528e1484be8c23fb5a7d9",
      "tree": "18be926b8f7721e98d6a4517ced58b54937645fb",
      "parents": [
        "9c5ea3675dbe4853eea747542da257c3e6f18de2",
        "cca77b7c81876d819a5806f408b3c29b5b61a815"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 23 18:30:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 23 18:30:30 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: (27 commits)\n  netfilter: fix CONFIG_COMPAT support\n  isdn/avm: fix build when PCMCIA is not enabled\n  header: fix broken headers for user space\n  e1000e: don\u0027t check for alternate MAC addr on parts that don\u0027t support it\n  e1000e: disable ASPM L1 on 82573\n  ll_temac: Fix poll implementation\n  netxen: fix a race in netxen_nic_get_stats()\n  qlnic: fix a race in qlcnic_get_stats()\n  irda: fix a race in irlan_eth_xmit()\n  net: sh_eth: remove unused variable\n  netxen: update version 4.0.74\n  netxen: fix inconsistent lock state\n  vlan: Match underlying dev carrier on vlan add\n  ibmveth: Fix opps during MTU change on an active device\n  ehea: Fix synchronization between HW and SW send queue\n  bnx2x: Update bnx2x version to 1.52.53-4\n  bnx2x: Fix PHY locking problem\n  rds: fix a leak of kernel memory\n  netlink: fix compat recvmsg\n  netfilter: fix userspace header warning\n  ...\n"
    },
    {
      "commit": "8488a38f4d2f43bd55a3e0db4cd57a5bef3af6d6",
      "tree": "104acb0de25090fa4982c24799c2d3d414b9b192",
      "parents": [
        "9ee47476d6734c9deb9ae9ab05d963302f6b6150"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Aug 11 15:01:02 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 23 18:12:46 2010 -0700"
      },
      "message": "kobject: Break the kobject namespace defs into their own header\n\nBreak the kobject namespace defs into their own header to avoid a header file\ninclusion ordering problem between linux/sysfs.h and linux/kobject.h.\n\nThis fixes the build breakage on older versions of gcc.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "21dc330157454046dd7c494961277d76e1c957fe",
      "tree": "4f030efa8d82f7eb9676acd4cfc74921a6d29972",
      "parents": [
        "2d4833aae65589ba4317dd325fe20c8b25c14173"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 23 00:13:46 2010 -0700"
      },
      "message": "net: Rename skb_has_frags to skb_has_frag_list\n\nSKBs can be \"fragmented\" in two ways, via a page array (called\nskb_shinfo(skb)-\u003efrags[]) and via a list of SKBs (called\nskb_shinfo(skb)-\u003efrag_list).\n\nSince skb_has_frags() tests the latter, it\u0027s name is confusing\nsince it sounds more like it\u0027s testing the former.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d4833aae65589ba4317dd325fe20c8b25c14173",
      "tree": "231672eb67197387f94bfda9a0995ddd002dbfbd",
      "parents": [
        "f3c58aceaa3f237ba43735805f4677950327b8ee",
        "6a6d01d374d03bd2f90030200cb78567444addc4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 22:37:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 22:37:04 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/linux/if_pppox.h\n\nFix conflict between Changli\u0027s __packed header file fixes and\nthe new PPTP driver.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09cd2b99c6cdd1e14e84c1febca2fb91e9f4e5ba",
      "tree": "87d9c912d5d73a1017773a5b0d30d564e8a7895c",
      "parents": [
        "48d3ff82698cb0094684aed70446e0a5cbb1a4d0"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Aug 22 17:25:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 21:15:39 2010 -0700"
      },
      "message": "header: fix broken headers for user space\n\n__packed is only defined in kernel space, so we should use\n__attribute__((packed)) for the code shared between kernel and user space.\n\nTwo __attribute() annotations are replaced with __attribute__() too.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fcb12fd2236f49aa8fdc1568ed4ebdfe4fddc6b5",
      "tree": "e4d20f6190bd00156add89f0b0c42c2a8c30bfc1",
      "parents": [
        "cd709aa90648195e5b5823fa90eb0b3fb0e78ee4"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Aug 22 16:41:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 21:09:04 2010 -0700"
      },
      "message": "net: rds: remove duplication type definitions\n\n__be* are defined in linux/types.h now, and in fact, rds.h isn\u0027t exported\nto user space even.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05532121da0728eaedac2a0a5c3cecad3a95d765",
      "tree": "1b1ff9e02b87527868c7698f0369d00d4c86a0a0",
      "parents": [
        "2436243a39de56f03d38c74139261cc61bea8456"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Aug 22 21:03:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 21:03:33 2010 -0700"
      },
      "message": "net: 802.1q: make vlan_hwaccel_do_receive() return void\n\nvlan_hwaccel_do_receive() always returns 0, so make it return void.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8287fc864643beaf1623c92aceb1ab38eae0648",
      "tree": "f24ab1748d6b96fe612e9d2744680d1f128ce38e",
      "parents": [
        "773bc97397ea2cfc2ff3c075f712aaf376ed7cb0"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Aug 22 18:37:27 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 22 18:37:27 2010 -0700"
      },
      "message": "net: use __be16 instead of u16 for the userspace code\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2eebf582c9b3106abb9c33f4fc0a347fb9391037",
      "tree": "0fab23d7e456713815890fc01a148132b9b857f8",
      "parents": [
        "84e1ab4d875922c034db7f4f814ac445a20a14bd"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Aug 18 12:25:50 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Aug 22 20:28:16 2010 -0400"
      },
      "message": "fanotify: flush outstanding perm requests on group destroy\n\nWhen an fanotify listener is closing it may cause a deadlock between the\nlistener and the original task doing an fs operation.  If the original task\nis waiting for a permissions response it will be holding the srcu lock.  The\nlistener cannot clean up and exit until after that srcu lock is syncronized.\nThus deadlock.  The fix introduced here is to stop accepting new permissions\nevents when a listener is shutting down and to grant permission for all\noutstanding events.  Thus the original task will eventually release the srcu\nlock and the listener can complete shutdown.\n\nReported-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "bc584c5107bfd97e2aa41c798e3b213bcdd4eae7",
      "tree": "13cb518e2f4f2aac46aefbbaacb6e4fa3fbb58a2",
      "parents": [
        "a28e0852d45e65d9edf249c36e432b5e0a80f01d",
        "1ab335d8f85792e3b107ff8237d53cf64db714df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 10:08:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 22 10:08:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slab: fix object alignment\n  slub: add missing __percpu markup in mm/slub_def.h\n"
    },
    {
      "commit": "739a91ef0625e0e4a40b835f4f891313c47915df",
      "tree": "bfcb025c8b446a81e82f0b57ad76168996ce49bc",
      "parents": [
        "81ce790bd75d49a0d119f5d7b27405e1d9b1bd57"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Aug 21 06:23:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:40:14 2010 -0700"
      },
      "message": "net_sched: cls_flow: add key rxhash\n\nWe can use rxhash to classify the traffic into flows. As rxhash maybe\nsupplied by NIC or RPS, it is cheaper.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3c6e7ad09cebbad1a3dea077668062136626fd2",
      "tree": "698022508a8d8c76a5d2cf55e50232079d6b1f42",
      "parents": [
        "c3227e546c574172e77616270a16a04eae561b8f",
        "48d3ff82698cb0094684aed70446e0a5cbb1a4d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:32:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:32:24 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "00959ade36acadc00e757f87060bf6e4501d545f",
      "tree": "9bfe790d4a8b63b0e6653388da73dfd777eea8ff",
      "parents": [
        "1003489e06c04d807c783a8958f2ccc9aed7a244"
      ],
      "author": {
        "name": "Dmitry Kozlov",
        "email": "xeb@mail.ru",
        "time": "Sat Aug 21 23:05:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 21 23:05:39 2010 -0700"
      },
      "message": "PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol)\n\nPPP: introduce \"pptp\" module which implements point-to-point tunneling protocol using pppox framework\nNET: introduce the \"gre\" module for demultiplexing GRE packets on version criteria\n     (required to pptp and ip_gre may coexists)\nNET: ip_gre: update to use the \"gre\" module\n\nThis patch introduces then pptp support to the linux kernel which\ndramatically speeds up pptp vpn connections and decreases cpu usage in\ncomparison of existing user-space implementation\n(poptop/pptpclient). There is accel-pptp project\n(https://sourceforge.net/projects/accel-pptp/) to utilize this module,\nit contains plugin for pppd to use pptp in client-mode and modified\npptpd (poptop) to build high-performance pptp NAS.\n\nThere was many changes from initial submitted patch, most important are:\n1. using rcu instead of read-write locks\n2. using static bitmap instead of dynamically allocated\n3. using vmalloc for memory allocation instead of BITS_PER_LONG + __get_free_pages\n4. fixed many coding style issues\nThanks to Eric Dumazet.\n\nSigned-off-by: Dmitry Kozlov \u003cxeb@mail.ru\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "297c5eee372478fc32fec5fe8eed711eedb13f3d",
      "tree": "18415eae0833ff4767943f985900524d6b1d73f1",
      "parents": [
        "36423a5ed5e4ea95ceedb68fad52965033e11639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 16:24:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 08:49:21 2010 -0700"
      },
      "message": "mm: make the vma list be doubly linked\n\nIt\u0027s a really simple list, and several of the users want to go backwards\nin it to find the previous vma.  So rather than have to look up the\nprevious entry with \u0027find_vma_prev()\u0027 or something similar, just make it\ndoubly linked instead.\n\nTested-by: Ian Campbell \u003cijc@hellion.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8905aaafb4b5d9764c5b4b54c7d03eb41bb0a7e9",
      "tree": "04e4884e809a627723c9d9924e23b045c6673e91",
      "parents": [
        "77edf0c7515cd8268a0cce2daa3f3c87e9afe005"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Aug 19 09:52:28 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Aug 21 00:37:40 2010 -0700"
      },
      "message": "Input: uinput - add devname alias to allow module on-demand load\n\nRecent modprobe and udev versions allow to create device nodes\nfor modules which are not loaded. Only the first access will cause\nthe in-kernel module loader to pull-in the module. Systems which\nnever access the device node will not needlessly load the module,\nand no longer need init scripts or other facilities to unconditionally\nload it.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "6ee9f4b4affe751d313d2538999aeec134d413a6",
      "tree": "e7515b333f1770db976de4d6989cc3bc7955b322",
      "parents": [
        "f335397d177c906256ee1bba28e8c49e8ec63817"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 17 21:15:47 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Aug 21 00:37:39 2010 -0700"
      },
      "message": "USB: drop tty argument from usb_serial_handle_sysrq_char()\n\nSince handle_sysrq() does not take tty as argument anymore we can\ndrop it from usb_serial_handle_sysrq_char() as well.\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f335397d177c906256ee1bba28e8c49e8ec63817",
      "tree": "b6911d0b40940cbec9083769856e7744d5461e22",
      "parents": [
        "1495cc9df4e81f5a8fa9b0b8f1034b14d24b7d8c"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 17 21:15:47 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Aug 21 00:34:45 2010 -0700"
      },
      "message": "Input: sysrq - drop tty argument form handle_sysrq()\n\nSysrq operations do not accept tty argument anymore so no need to pass\nit to us.\n\n[Stephen Rothwell \u003csfr@canb.auug.org.au\u003e: fix build breakage in drm code\n caused by sysrq using bool but not including linux/types.h]\n\n[Sachin Sant \u003csachinp@in.ibm.com\u003e: fix build breakage in s390 keyboadr\n driver]\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "b35de43b31040828f83046f40fd34ba33146409d",
      "tree": "693ffff84f463da3a7d81d8bd7bb26e144d7d499",
      "parents": [
        "c81476df1b4241aefba4ff83a7701b3a926bd7ce"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: implement missing __kfifo_skip_r()\n\nkfifo_skip() is currently broken, due to the missing of the internal\nhelper function.  Add it.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb4d40654505e47aa9d2035bb97f631fa61d14b4",
      "tree": "bed2a1c5026e9797c0ed48c67c48b050e7f07e3c",
      "parents": [
        "49e8ab03ebcacd8e37660ffec20c0c46721a2800"
      ],
      "author": {
        "name": "Grégoire Baron",
        "email": "baronchon@n7mm.org",
        "time": "Wed Aug 18 13:10:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 20 01:42:59 2010 -0700"
      },
      "message": "net/sched: add ACT_CSUM action to update packets checksums\n\nnet/sched: add ACT_CSUM action to update packets checksums\n\nACT_CSUM can be called just after ACT_PEDIT in order to re-compute some\naltered checksums in IPv4 and IPv6 packets. The following checksums are\nsupported by this patch:\n - IPv4: IPv4 header, ICMP, IGMP, TCP, UDP \u0026 UDPLite\n - IPv6: ICMPv6, TCP, UDP \u0026 UDPLite\nIt\u0027s possible to request in the same action to update different kind of\nchecksums, if the packets flow mix TCP, UDP and UDPLite, ...\n\nAn example of usage is done in the associated iproute2 patch.\n\nVersion 3 changes:\n - remove useless goto instructions\n - improve IPv6 hop options decoding\n\nVersion 2 changes:\n - coding style correction\n - remove useless arguments of some functions\n - use stack in tcf_csum_dump()\n - add tcf_csum_skb_nextlayer() to factor code\n\nSigned-off-by: Gregoire Baron \u003cbaronchon@n7mm.org\u003e\nAcked-by: jamal \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1495cc9df4e81f5a8fa9b0b8f1034b14d24b7d8c",
      "tree": "7a08852f9fb0cb3073367ef84c0218af0b5479f7",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 17 21:15:46 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 19 22:07:06 2010 -0700"
      },
      "message": "Input: sysrq - drop tty argument from sysrq ops handlers\n\nNoone is using tty argument so let\u0027s get rid of it.\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "e760702ed8333588f9f21e7bf6597873993006f1",
      "tree": "75a0be41c269d953a48edfa3d052a08352f85bcd",
      "parents": [
        "dbe5775bbc00116ed5699babfe17c54f32eb34c3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Aug 17 19:03:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 17:16:23 2010 -0700"
      },
      "message": "net: introduce proto_ports_offset()\n\nIntroduce proto_ports_offset() for getting the position of the ports or\nSPI in the message of a protocol.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2244d07bfa2097cb00600da91c715a8aa547917e",
      "tree": "44d67d9ffba3697fffeb05c13e88aa76ebc3fd4a",
      "parents": [
        "4d5870ec103e6569851b9710f0093f072b08439a"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "socketcan@hartkopp.net",
        "time": "Tue Aug 17 08:59:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 00:08:30 2010 -0700"
      },
      "message": "net: simplify flags for tx timestamping\n\nThis patch removes the abstraction introduced by the union skb_shared_tx in\nthe shared skb data.\n\nThe access of the different union elements at several places led to some\nconfusion about accessing the shared tx_flags e.g. in skb_orphan_try().\n\n    http://marc.info/?l\u003dlinux-netdev\u0026m\u003d128084897415886\u0026w\u003d2\n\nSigned-off-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e243f5b6de35b6fc394bc2e1e1737afe538e7e0c",
      "tree": "fac660342a3ceb80099e2cb39ead0465c5530312",
      "parents": [
        "a49f37eed22b74221f271811ea41323654e40dad"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Aug 15 10:03:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 18 23:34:26 2010 -0700"
      },
      "message": "netfilter: fix userspace header warning\n\n\"make headers_check\" issued the following warning:\n\n  CHECK   include/linux/netfilter (64 files)\nusr/include/linux/netfilter/xt_ipvs.h:19: found __[us]{8,16,32,64} type without #include \u003clinux/types.h\u003e\n\nFix this by as suggested including linux/types.h.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a49f37eed22b74221f271811ea41323654e40dad",
      "tree": "479815196c1fa81aeb9df013eff572f1c63b759e",
      "parents": [
        "e5093aec2e6b60c3df2420057ffab9ed4a6d2792"
      ],
      "author": {
        "name": "Sachin Sanap",
        "email": "ssanap@marvell.com",
        "time": "Fri Aug 13 21:22:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 18 23:30:42 2010 -0700"
      },
      "message": "net: add Fast Ethernet driver for PXA168.\n\nSigned-off-by: Sachin Sanap \u003cssanap@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145c3ae46b37993b0debb0b3da6256daea4a6ec5",
      "tree": "0dbff382ce36b23b3d2dbff87d3eaab73a07a2a4",
      "parents": [
        "81ca03a0e2ea0207b2df80e0edcf4c775c07a505",
        "99b7db7b8ffd6bb755eb0a175596421a0b581cb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 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  fs: brlock vfsmount_lock\n  fs: scale files_lock\n  lglock: introduce special lglock and brlock spin locks\n  tty: fix fu_list abuse\n  fs: cleanup files_lock locking\n  fs: remove extra lookup in __lookup_hash\n  fs: fs_struct rwlock to spinlock\n  apparmor: use task path helpers\n  fs: dentry allocation consolidation\n  fs: fix do_lookup false negative\n  mbcache: Limit the maximum number of cache entries\n  hostfs -\u003efollow_link() braino\n  hostfs: dumb (and usually harmless) tpyo - strncpy instead of strlcpy\n  remove SWRITE* I/O types\n  kill BH_Ordered flag\n  vfs: update ctime when changing the file\u0027s permission by setfacl\n  cramfs: only unlock new inodes\n  fix reiserfs_evict_inode end_writeback second call\n"
    },
    {
      "commit": "86ea51d4a27ec79e9da7d2ce0c4a58f1dc4544c0",
      "tree": "dadb5d86c9f05bdbfe3180c3b307630c08f721b3",
      "parents": [
        "3b89f56783a4ef796190ef1192c25e72e0b986b6",
        "5c79a5ae23e72fa12f1c7c528f62bf3ea35da0dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:26:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:26:17 2010 -0700"
      },
      "message": "Merge branch \u0027merge-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027merge-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi.h: missing kernel-doc notation, please fix\n  of: fix missing headers for of_address_to_resource() in MTD and SysACE drivers\n  of: Fix missing includes\n  ata: update for of_device to platform_device replacement\n  microblaze: Fix of: eliminate of_device-\u003enode and dev_archdata-\u003e{of,prom}_node\n  microblaze: Fix of/address: Merge all of the bus translation code\n  booting-without-of: Remove nonexistent chapters from TOC, fix numbering\n"
    },
    {
      "commit": "6416ccb7899960868f5016751fb81bf25213d24f",
      "tree": "457069571211e4ece844dc332a2f9673705a5bde",
      "parents": [
        "2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:38 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:48 2010 -0400"
      },
      "message": "fs: scale files_lock\n\nfs: scale files_lock\n\nImprove scalability of files_lock by adding per-cpu, per-sb files lists,\nprotected with an lglock. The lglock provides fast access to the per-cpu lists\nto add and remove files. It also provides a snapshot of all the per-cpu lists\n(although this is very slow).\n\nOne difficulty with this approach is that a file can be removed from the list\nby another CPU. We must track which per-cpu list the file is on with a new\nvariale in the file struct (packed into a hole on 64-bit archs). Scalability\ncould suffer if files are frequently removed from different cpu\u0027s list.\n\nHowever loads with frequent removal of files imply short interval between\nadding and removing the files, and the scheduler attempts to avoid moving\nprocesses too far away. Also, even in the case of cross-CPU removal, the\nhardware has much more opportunity to parallelise cacheline transfers with N\ncachelines than with 1.\n\nA worst-case test of 1 CPU allocating files subsequently being freed by N CPUs\ndegenerates to contending on a single lock, which is no worse than before. When\nmore than one CPU are allocating files, even if they are always freed by\ndifferent CPUs, there will be more parallelism than the single-lock case.\n\nTesting results:\n\nOn a 2 socket, 8 core opteron, I measure the number of times the lock is taken\nto remove the file, the number of times it is removed by the same CPU that\nadded it, and the number of times it is removed by the same node that added it.\n\nBooting:    locks\u003d  25049 cpu-hits\u003d  23174 (92.5%) node-hits\u003d  23945 (95.6%)\nkbuild -j16 locks\u003d2281913 cpu-hits\u003d2208126 (96.8%) node-hits\u003d2252674 (98.7%)\ndbench 64   locks\u003d4306582 cpu-hits\u003d4287247 (99.6%) node-hits\u003d4299527 (99.8%)\n\nSo a file is removed from the same CPU it was added by over 90% of the time.\nIt remains within the same node 95% of the time.\n\nTim Chen ran some numbers for a 64 thread Nehalem system performing a compile.\n\n                throughput\n2.6.34-rc2      24.5\n+patch          24.9\n\n                us      sys     idle    IO wait (in %)\n2.6.34-rc2      51.25   28.25   17.25   3.25\n+patch          53.75   18.5    19      8.75\n\nSo significantly less CPU time spent in kernel code, higher idle time and\nslightly higher throughput.\n\nSingle threaded performance difference was within the noise of microbenchmarks.\nThat is not to say penalty does not exist, the code is larger and more memory\naccesses required so it will be slightly slower.\n\nCc: linux-kernel@vger.kernel.org\nCc: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d",
      "tree": "1712fcb512310a80a7d2c7f92b30ce91750efaf1",
      "parents": [
        "d996b62a8df1d935b01319bf8defb95b5709f7b8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:37 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:48 2010 -0400"
      },
      "message": "lglock: introduce special lglock and brlock spin locks\n\nlglock: introduce special lglock and brlock spin locks\n\nThis patch introduces \"local-global\" locks (lglocks). These can be used to:\n\n- Provide fast exclusive access to per-CPU data, with exclusive access to\n  another CPU\u0027s data allowed but possibly subject to contention, and to provide\n  very slow exclusive access to all per-CPU data.\n- Or to provide very fast and scalable read serialisation, and to provide\n  very slow exclusive serialisation of data (not necessarily per-CPU data).\n\nBrlocks are also implemented as a short-hand notation for the latter use\ncase.\n\nThanks to Paul for local/global naming convention.\n\nCc: linux-kernel@vger.kernel.org\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d996b62a8df1d935b01319bf8defb95b5709f7b8",
      "tree": "d81f8240da776336845a2063555d7bb4dce684bd",
      "parents": [
        "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:36 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "tty: fix fu_list abuse\n\ntty: fix fu_list abuse\n\ntty code abuses fu_list, which causes a bug in remount,ro handling.\n\nIf a tty device node is opened on a filesystem, then the last link to the inode\nremoved, the filesystem will be allowed to be remounted readonly. This is\nbecause fs_may_remount_ro does not find the 0 link tty inode on the file sb\nlist (because the tty code incorrectly removed it to use for its own purpose).\nThis can result in a filesystem with errors after it is marked \"clean\".\n\nTaking idea from Christoph\u0027s initial patch, allocate a tty private struct\nat file-\u003eprivate_data and put our required list fields in there, linking\nfile and tty. This makes tty nodes behave the same way as other device nodes\nand avoid meddling with the vfs, and avoids this bug.\n\nThe error handling is not trivial in the tty code, so for this bugfix, I take\nthe simple approach of using __GFP_NOFAIL and don\u0027t worry about memory errors.\nThis is not a problem because our allocator doesn\u0027t fail small allocs as a rule\nanyway. So proper error handling is left as an exercise for tty hackers.\n\n[ Arguably filesystem\u0027s device inode would ideally be divorced from the\ndriver\u0027s pseudo inode when it is opened, but in practice it\u0027s not clear whether\nthat will ever be worth implementing. ]\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8",
      "tree": "e48400d1a33f8d2e68589ccfd61637aa64462f08",
      "parents": [
        "b04f784e5d19ed58892833dae845738972cea260"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:35 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: cleanup files_lock locking\n\nfs: cleanup files_lock locking\n\nLock tty_files with a new spinlock, tty_files_lock; provide helpers to\nmanipulate the per-sb files list; unexport the files_lock spinlock.\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a4419b5b2a77f3f4537c14f7ad7df95770655dd",
      "tree": "ad66519a92b995920ecada788e4a08e265747545",
      "parents": [
        "44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:33 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:46 2010 -0400"
      },
      "message": "fs: fs_struct rwlock to spinlock\n\nfs: fs_struct rwlock to spinlock\n\nstruct fs_struct.lock is an rwlock with the read-side used to protect root and\npwd members while taking references to them. Taking a reference to a path\ntypically requires just 2 atomic ops, so the critical section is very small.\nParallel read-side operations would have cacheline contention on the lock, the\ndentry, and the vfsmount cachelines, so the rwlock is unlikely to ever give a\nreal parallelism increase.\n\nReplace it with a spinlock to avoid one or two atomic operations in typical\npath lookup fastpath.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "9cb569d601e0b93e01c20a22872270ec663b75f6"
}
