)]}'
{
  "log": [
    {
      "commit": "4b340ae20d0e2366792abe70f46629e576adaf5e",
      "tree": "b0c413a0348e722fbc23d45508224076b6e60f92",
      "parents": [
        "13b52cd44670e3359055e9918d0e766d89836425"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:29 2010 -0700"
      },
      "message": "IPv6: Complete IPV6_DONTFRAG support\n\nFinally add support to detect a local IPV6_DONTFRAG event\nand return the relevant data to the user if they\u0027ve enabled\nIPV6_RECVPATHMTU on the socket.  The next recvmsg() will\nreturn no data, but have an IPV6_PATHMTU as ancillary data.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "793b14731686595a741d9f47726ad8b9a235385a",
      "tree": "915755840b09ed25911bfbc965bc5e186d05383d",
      "parents": [
        "3a737028630bb3c2b9efc38b9ddef2e09b06b808"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:28 2010 -0700"
      },
      "message": "IPv6: data structure changes for new socket options\n\nAdd underlying data structure changes and basic setsockopt()\nand getsockopt() support for IPV6_RECVPATHMTU, IPV6_PATHMTU,\nand IPV6_DONTFRAG.  IPV6_PATHMTU is actually fully functional\nat this point.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b51cc996e81d8a113416d8094fa4a88f8360a51",
      "tree": "e75b98b228bb4e456c30673fcc4b56ffa1d09cf5",
      "parents": [
        "c68ed255265968c3948fa2678bf59d15c471b055",
        "672724403b42da1d276c6cf811e8e34d15efd964"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-debugfs.c\n"
    },
    {
      "commit": "286d1e7f73320be063a5f6af25d3d61c741065c2",
      "tree": "a92926edb04d9eb1fc6bc12e1518988b0359bb8b",
      "parents": [
        "e904f0a4163bc7bd303d2430893d82362df6727e"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Apr 22 14:38:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 18:32:12 2010 -0700"
      },
      "message": "remove DCB_PROTO_VERSION as we don\u0027t do netlink versioning\n\nremove DCB_PROTO_VERSION as we don\u0027t do netlink versioning\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ebfbc06aae941484326c9e7e9c4d85330f63591",
      "tree": "35719a9023c47bdaaf25771c03836a15150dc741",
      "parents": [
        "f68c224fedff2157f3fad7f7da674cbc96567c84"
      ],
      "author": {
        "name": "Andrew Hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Thu Apr 22 16:12:36 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:12:36 2010 -0700"
      },
      "message": "X25: Add if_x25.h and x25 to device identifiers\n\nV2 Feedback from John Hughes.\n- Add header for userspace implementations such as xot/xoe to use\n- Use explicit values for interface stability\n- No changes to driver patches\n\nV1\n- Use identifiers instead of magic numbers for X25 layer 3 to device interface.\n- Also fixed checkpatch notes on updated code.\n\n[ Add new user header to include/linux/Kbuild  -DaveM ]\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40eaf96271526a9f71030dd1a199ce46c045752e",
      "tree": "2921b984a4e1de3d0e13cebf49bc9afcb0551725",
      "parents": [
        "aa2ea0586d9dbe56a334d835a43b45e8c2104e77"
      ],
      "author": {
        "name": "Paul LeoNerd Evans",
        "email": "leonerd@leonerd.org.uk",
        "time": "Thu Apr 22 03:32:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:05:44 2010 -0700"
      },
      "message": "net: Socket filter ancilliary data access for skb-\u003edev-\u003etype\n\nAdd an SKF_AD_HATYPE field to the packet ancilliary data area, giving\naccess to skb-\u003edev-\u003etype, as reported in the sll_hatype field.\n\nWhen capturing packets on a PF_PACKET/SOCK_RAW socket bound to all\ninterfaces, there doesn\u0027t appear to be a way for the filter program to\nactually find out the underlying hardware type the packet was captured\non. This patch adds such ability.\n\nThis patch also handles the case where skb-\u003edev can be NULL, such as on\nnetlink sockets.\n\nSigned-off-by: Paul Evans \u003cleonerd@leonerd.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e802af9cabb011f09b9c19a82faef3dd315f27eb",
      "tree": "9a8ef1163b9b40fef8860b08ea4dcb4ff3916098",
      "parents": [
        "9ccb8975940c4ee51161152e37058e3d9e06c62f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 22 15:24:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 15:24:53 2010 -0700"
      },
      "message": "IPv6: Generic TTL Security Mechanism (final version)\n\nThis patch adds IPv6 support for RFC5082 Generalized TTL Security Mechanism.  \n\nNot to users of mapped address; the IPV6 and IPV4 socket options are seperate.\nThe server does have to deal with both IPv4 and IPv6 socket options\nand the client has to handle the different for each family.\n\nOn client:\n\tint ttl \u003d 255;\n\tgetaddrinfo(argv[1], argv[2], \u0026hint, \u0026result);\n\n\tfor (rp \u003d result; rp !\u003d NULL; rp \u003d rp-\u003eai_next) {\n\t\ts \u003d socket(rp-\u003eai_family, rp-\u003eai_socktype, rp-\u003eai_protocol);\n\t\tif (s \u003c 0) continue;\n\n\t\tif (rp-\u003eai_family \u003d\u003d AF_INET) {\n\t\t\tsetsockopt(s, IPPROTO_IP, IP_TTL, \u0026ttl, sizeof(ttl));\n\t\t} else if (rp-\u003eai_family \u003d\u003d AF_INET6) {\n\t\t\tsetsockopt(s, IPPROTO_IPV6,  IPV6_UNICAST_HOPS, \n\t\t\t\t\t\u0026ttl, sizeof(ttl)))\n\t\t}\n\t\t\t\n\t\tif (connect(s, rp-\u003eai_addr, rp-\u003eai_addrlen) \u003d\u003d 0) {\n\t\t   ...\n\nOn server:\n\tint minttl \u003d 255 - maxhops;\n   \n\tgetaddrinfo(NULL, port, \u0026hints, \u0026result);\n\tfor (rp \u003d result; rp !\u003d NULL; rp \u003d rp-\u003eai_next) {\n\t\ts \u003d socket(rp-\u003eai_family, rp-\u003eai_socktype, rp-\u003eai_protocol);\n\t\tif (s \u003c 0) continue;\n\n\t\tif (rp-\u003eai_family \u003d\u003d AF_INET6)\n\t\t\tsetsockopt(s, IPPROTO_IPV6,  IPV6_MINHOPCOUNT,\n\t\t\t\t\t\u0026minttl, sizeof(minttl));\n\t\tsetsockopt(s, IPPROTO_IP, IP_MINTTL, \u0026minttl, sizeof(minttl));\n\t\t\t\n\t\tif (bind(s, rp-\u003eai_addr, rp-\u003eai_addrlen) \u003d\u003d 0)\n\t\t\tbreak\n...\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1aa8822d577c8714f8d343eea028befbab3da9d",
      "tree": "f4af154b3354cfc1456a257604b348dd9c7e21dc",
      "parents": [
        "6846ad282693bd066645aff6f13d2b279d505314"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors@pelagicore.com",
        "time": "Wed Apr 21 16:33:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 16:33:29 2010 -0700"
      },
      "message": "ks8842: Add platform data for setting mac address\n\nThis patch adds platform data to the ks8842 driver.\n\nVia the platform data a MAC address, to be used by the controller,\ncan be passed.\n\nTo ensure this MAC address is used, the MAC address is written\nafter each hardware reset.\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors@pelagicore.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "989a2979205dd34269382b357e6d4b4b6956b889",
      "tree": "2f504e9f4d8d418dd8fb2d042b076c1318232360",
      "parents": [
        "e5700aff144fbbba46be40049f0c55fb57283777"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 14 09:55:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 16:19:29 2010 -0700"
      },
      "message": "fasync: RCU and fine grained locking\n\nkill_fasync() uses a central rwlock, candidate for RCU conversion, to\navoid cache line ping pongs on SMP.\n\nfasync_remove_entry() and fasync_add_entry() can disable IRQS on a short\nsection instead during whole list scan.\n\nUse a spinlock per fasync_struct to synchronize kill_fasync_rcu() and\nfasync_{remove|add}_entry(). This spinlock is IRQ safe, so sock_fasync()\ndoesnt need its own implementation and can use fasync_helper(), to\nreduce code size and complexity.\n\nWe can remove __kill_fasync() direct use in net/socket.c, and rename it\nto kill_fasync_rcu().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
      "tree": "76508ab431133ca9a085a9e3fa62fbfed607c9fb",
      "parents": [
        "0eae88f31ca2b88911ce843452054139e028771f"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "message": "net: Remove two unnecessary exports (skbuff).\n\nThere is no need to export skb_under_panic() and skb_over_panic() in\nskbuff.c, since these methods are used only in skbuff.c ; this patch\nremoves these two exports. It also marks these functions as \u0027static\u0027\nand removeS the extern declarations of them from\ninclude/linux/skbuff.h\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f79d9bad37cb1e7ef23d60b1dd0b7859957ced9e",
      "tree": "455199d0e2560726656858deffe12b7aa702a522",
      "parents": [
        "3bb065a7420c90421d6bbea5f7cffe36bd79a048"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Apr 19 19:57:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:52:21 2010 -0400"
      },
      "message": "mac80211: add flags for STBC (Space-Time Block Coding)\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e36fa2f7e92f25aab2e3d787dcfe3590817f19d3",
      "tree": "b1bd60b14131dacc72a80efbd2f062935cc43e25",
      "parents": [
        "f5acb907dc24c3822f408211bad1cd6e5d0433cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 21:17:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 01:18:05 2010 -0700"
      },
      "message": "rps: cleanups\n\nstruct softnet_data holds many queues, so consistent use \"sd\" name\ninstead of \"queue\" is better.\n\nAdds a rps_ipi_queued() helper to cleanup enqueue_to_backlog()\n\nAdds a _and_irq_disable suffix to net_rps_action() name, as David\nsuggested.\n\nincr_input_queue_head() becomes input_queue_head_incr()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88751275b8e867d756e4f86ae92afe0232de129f",
      "tree": "011913d98eb65f5e90981da0275c2f5a07c2bee1",
      "parents": [
        "a03b1a5c95e8bcb07512122995bbf5bd3c39f2b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 05:07:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 19 13:20:34 2010 -0700"
      },
      "message": "rps: shortcut net_rps_action()\n\nnet_rps_action() is a bit expensive on NR_CPUS\u003d64..4096 kernels, even if\nRPS is not active.\n\nTom Herbert used two bitmasks to hold information needed to send IPI,\nbut a single LIFO list seems more appropriate.\n\nMove all RPS logic into net_rps_action() to cleanup net_rx_action() code\n(remove two ifdefs)\n\nMove rps_remote_softirq_cpus into softnet_data to share its first cache\nline, filling an existing hole.\n\nIn a future patch, we could call net_rps_action() from process_backlog()\nto make sure we send IPI before handling this cpu backlog.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85341c61361cc45a9cc0e11c01e8f4479ef460ac",
      "tree": "8d5e8e98aaef7f77f9749d851dd409ac356f0258",
      "parents": [
        "375db4810b27306ea400ab39d3d6f7a063ac9ff6",
        "bc293d62b26ec590afc90a9e0a31c45d355b7bd8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 08:35:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 08:35:47 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Make RCU lockdep check the lockdep_recursion variable\n  rcu: Update docs for rcu_access_pointer and rcu_dereference_protected\n  rcu: Better explain the condition parameter of rcu_dereference_check()\n  rcu: Add rcu_access_pointer and rcu_dereference_protected\n"
    },
    {
      "commit": "bc293d62b26ec590afc90a9e0a31c45d355b7bd8",
      "tree": "4b61dee53e849f0ba1d5a7fef58522e224be836e",
      "parents": [
        "50aec0024eccb1d5f540ab64a1958eebcdb9340c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 15 12:50:39 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 19 08:37:19 2010 +0200"
      },
      "message": "rcu: Make RCU lockdep check the lockdep_recursion variable\n\nThe lockdep facility temporarily disables lockdep checking by\nincrementing the current-\u003elockdep_recursion variable.  Such\ndisabling happens in NMIs and in other situations where lockdep\nmight expect to recurse on itself.\n\nThis patch therefore checks current-\u003elockdep_recursion, disabling RCU\nlockdep splats when this variable is non-zero.  In addition, this patch\nremoves the \"likely()\", as suggested by Lai Jiangshan.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nTested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c20100415195039.GA22623@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fec5e652e58fa6017b2c9e06466cb2a6538de5b4",
      "tree": "e034f2a1e7930a0a225bd30896f834ec5e09c084",
      "parents": [
        "b5d43998234331b9c01bd2165fdbb25115f4387f"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "message": "rfs: Receive Flow Steering\n\nThis patch implements receive flow steering (RFS).  RFS steers\nreceived packets for layer 3 and 4 processing to the CPU where\nthe application for the corresponding flow is running.  RFS is an\nextension of Receive Packet Steering (RPS).\n\nThe basic idea of RFS is that when an application calls recvmsg\n(or sendmsg) the application\u0027s running CPU is stored in a hash\ntable that is indexed by the connection\u0027s rxhash which is stored in\nthe socket structure.  The rxhash is passed in skb\u0027s received on\nthe connection from netif_receive_skb.  For each received packet,\nthe associated rxhash is used to look up the CPU in the hash table,\nif a valid CPU is set then the packet is steered to that CPU using\nthe RPS mechanisms.\n\nThe convolution of the simple approach is that it would potentially\nallow OOO packets.  If threads are thrashing around CPUs or multiple\nthreads are trying to read from the same sockets, a quickly changing\nCPU value in the hash table could cause rampant OOO packets--\nwe consider this a non-starter.\n\nTo avoid OOO packets, this solution implements two types of hash\ntables: rps_sock_flow_table and rps_dev_flow_table.\n\nrps_sock_table is a global hash table.  Each entry is just a CPU\nnumber and it is populated in recvmsg and sendmsg as described above.\nThis table contains the \"desired\" CPUs for flows.\n\nrps_dev_flow_table is specific to each device queue.  Each entry\ncontains a CPU and a tail queue counter.  The CPU is the \"current\"\nCPU for a matching flow.  The tail queue counter holds the value\nof a tail queue counter for the associated CPU\u0027s backlog queue at\nthe time of last enqueue for a flow matching the entry.\n\nEach backlog queue has a queue head counter which is incremented\non dequeue, and so a queue tail counter is computed as queue head\ncount + queue length.  When a packet is enqueued on a backlog queue,\nthe current value of the queue tail counter is saved in the hash\nentry of the rps_dev_flow_table.\n\nAnd now the trick: when selecting the CPU for RPS (get_rps_cpu)\nthe rps_sock_flow table and the rps_dev_flow table for the RX queue\nare consulted.  When the desired CPU for the flow (found in the\nrps_sock_flow table) does not match the current CPU (found in the\nrps_dev_flow table), the current CPU is changed to the desired CPU\nif one of the following is true:\n\n- The current CPU is unset (equal to RPS_NO_CPU)\n- Current CPU is offline\n- The current CPU\u0027s queue head counter \u003e\u003d queue tail counter in the\nrps_dev_flow table.  This checks if the queue tail has advanced\nbeyond the last packet that was enqueued using this table entry.\nThis guarantees that all packets queued using this entry have been\ndequeued, thus preserving in order delivery.\n\nMaking each queue have its own rps_dev_flow table has two advantages:\n1) the tail queue counters will be written on each receive, so\nkeeping the table local to interrupting CPU s good for locality.  2)\nthis allows lockless access to the table-- the CPU number and queue\ntail counter need to be accessed together under mutual exclusion\nfrom netif_receive_skb, we assume that this is only called from\ndevice napi_poll which is non-reentrant.\n\nThis patch implements RFS for TCP and connected UDP sockets.\nIt should be usable for other flow oriented protocols.\n\nThere are two configuration parameters for RFS.  The\n\"rps_flow_entries\" kernel init parameter sets the number of\nentries in the rps_sock_flow_table, the per rxqueue sysfs entry\n\"rps_flow_cnt\" contains the number of entries in the rps_dev_flow\ntable for the rxqueue.  Both are rounded to power of two.\n\nThe obvious benefit of RFS (over just RPS) is that it achieves\nCPU locality between the receive processing for a flow and the\napplications processing; this can result in increased performance\n(higher pps, lower latency).\n\nThe benefits of RFS are dependent on cache hierarchy, application\nload, and other factors.  On simple benchmarks, we don\u0027t necessarily\nsee improvement and sometimes see degradation.  However, for more\ncomplex benchmarks and for applications where cache pressure is\nmuch higher this technique seems to perform very well.\n\nBelow are some benchmark results which show the potential benfit of\nthis patch.  The netperf test has 500 instances of netperf TCP_RR\ntest with 1 byte req. and resp.  The RPC test is an request/response\ntest similar in structure to netperf RR test ith 100 threads on\neach host, but does more work in userspace that netperf.\n\ne1000e on 8 core Intel\n   No RFS or RPS\t\t104K tps at 30% CPU\n   No RFS (best RPS config):    290K tps at 63% CPU\n   RFS\t\t\t\t303K tps at 61% CPU\n\nRPC test\ttps\tCPU%\t50/90/99% usec latency\tLatency StdDev\n  No RFS/RPS\t103K\t48%\t757/900/3185\t\t4472.35\n  RPS only:\t174K\t73%\t415/993/2468\t\t491.66\n  RFS\t\t223K\t73%\t379/651/1382\t\t315.61\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02a2956809d88b42b9a1f8003d60a343353b5ea",
      "tree": "58f3375f5b8c54ca68ca32ae30b705e11c2457af",
      "parents": [
        "7f1f5a0060e377ff6a15903487b39223e12b8568"
      ],
      "author": {
        "name": "Grazvydas Ignotas",
        "email": "notasas@gmail.com",
        "time": "Fri Apr 16 13:22:12 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 16 15:47:14 2010 -0400"
      },
      "message": "wl1251: add support for dedicated IRQ line\n\nwl1251 has WLAN_IRQ pin for generating interrupts to host processor,\nwhich is mandatory in SPI mode and optional in SDIO mode (which can\nuse SDIO interrupts instead). However TI recommends using deditated\nIRQ line for SDIO too.\n\nAdd support for using dedicated interrupt line with SDIO, but also leave\nability to switch to SDIO interrupts in case it\u0027s needed.\n\nSigned-off-by: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nReviewed-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3eb14b944f2b5b6efe4e0ae3fe9601db78437d57",
      "tree": "bea3d9ce130de0a73504ab94882115004b826fd6",
      "parents": [
        "791f58c0640f906d3f63518d3f02630dbbafb7a2",
        "5c01d5669356e13f0fb468944c1dd4c6a7e978ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:31:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:31:06 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": "5c01d5669356e13f0fb468944c1dd4c6a7e978ad",
      "tree": "fa43345288d7b25fac92b3b35360a177c4947313",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8",
        "a5e944f1d955f3819503348426763e21e0413ba6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 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\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n"
    },
    {
      "commit": "2fed94c032316d89422d4abfca2a882897489b94",
      "tree": "9381c79a351d2c13f6b87bae550c51689491ded6",
      "parents": [
        "00eef7bd01c7598d195699983c5290d901df19ad",
        "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: cdev: change license of exported header files to MIT license\n  firewire: cdev: comment fixlet\n  firewire: cdev: iso packet documentation\n  firewire: cdev: fix information leak\n  firewire: cdev: require quadlet-aligned headers for transmit packets\n  firewire: cdev: disallow receive packets without header\n"
    },
    {
      "commit": "00eef7bd01c7598d195699983c5290d901df19ad",
      "tree": "14ba0178fc2c5e807282132e689236965b889e91",
      "parents": [
        "250541fca717a5c9b0d3710e737b2ca32ebb6fbc",
        "014f61504af276ba9d9544d8a7401d8f8526eb73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:49:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:49:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - switch mode upon system resume\n  Revert \"Input: wacom - merge out and in prox events\"\n  Input: matrix_keypad - allow platform to disable key autorepeat\n  Input: ALPS - add signature for HP Pavilion dm3 laptops\n  Input: i8042 - spelling fix\n  Input: sparse-keymap - implement safer freeing of the keymap\n  Input: update the status of the Multitouch X driver project\n  Input: clarify the no-finger event in multitouch protocol\n  Input: bcm5974 - retract efi-broken suspend_resume\n  Input: sparse-keymap - free the right keymap on error\n"
    },
    {
      "commit": "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802",
      "tree": "dc7d17175b47cd81fea937ddd4d933aa4871b9f4",
      "parents": [
        "ca658b1e29d6be939207532e337fb640eb697f71"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Apr 11 11:52:12 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 15 17:50:49 2010 +0200"
      },
      "message": "firewire: cdev: change license of exported header files to MIT license\n\nAmong else, this allows projects like libdc1394 to carry copies of the\nABI related header files without them or distributors having to worry\nabout effects on the project\u0027s overall license terms.  Switch to MIT\nlicense as suggested by Kristian.  Also update the year in the\ncopyright statement according to source history.\n\nCc: Jay Fenlason \u003cfenlason@redhat.com\u003e\nAcked-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\n"
    },
    {
      "commit": "fd793d8905720595caede6bd26c5df6c0ecd37f8",
      "tree": "1aab1c7c6db278d0400e9a2e6019955419413a6c",
      "parents": [
        "b0e28f1effd1d840b36e961edc1def81e01b1ca1"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Apr 15 00:16:59 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 00:16:59 2010 -0700"
      },
      "message": "net: CONFIG_SMP should be CONFIG_RPS\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e326e8503dfc73e4f79d488a78ee3d7cde10081f",
      "tree": "04f0c29dfd48edf2de175eec64b24c7164e88e86",
      "parents": [
        "688911c2f5e5e4f33b5a1c32839184f1fdf814ee"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Tue Apr 13 20:21:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 04:49:51 2010 -0700"
      },
      "message": "stmmac: new descriptor field for the driver\u0027s platform\n\nThe new enh_desc is used for selecting the enhanced descriptors\nstructure. There are several scenarios; some chips (mac10/100\nor gmac) want to use the enhanced descriptors; others want the normal\nones.\nFor example, on ST platforms: MAC10/100 uses the normal desc structure\nand the GMAC uses the enhanced one.\nIt can be useful to get this information from the platform.\nThis could also be decided at run-time looking at the chip\u0027s ID number;\nbut it could happen that chips with the same ID want to use different\ndescriptor structure.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c08c68dd76bd6b776bc0eb45a5e8f354ed772cdf",
      "tree": "5324c73474b1e73631392de814e8ecebd5956d5b",
      "parents": [
        "b62730baea32f86fe91a7930e4b7ee8d82778b79"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 09 15:39:11 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 12:20:04 2010 +0200"
      },
      "message": "rcu: Better explain the condition parameter of rcu_dereference_check()\n\nBetter explain the condition parameter of\nrcu_dereference_check() that describes the conditions under\nwhich the dereference is permitted to take place (and\nincorporate Yong Zhang\u0027s suggestion).  This condition is only\nchecked under lockdep proving.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c1270852752-25278-2-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b62730baea32f86fe91a7930e4b7ee8d82778b79",
      "tree": "97910bcb8a0790b10ff687dad901e158a2da63f4",
      "parents": [
        "2ba3abd8186f24c7fb418927025b4e2120e3a362"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Apr 09 15:39:10 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 12:19:51 2010 +0200"
      },
      "message": "rcu: Add rcu_access_pointer and rcu_dereference_protected\n\nThis patch adds variants of rcu_dereference() that handle\nsituations where the RCU-protected data structure cannot change,\nperhaps due to our holding the update-side lock, or where the\nRCU-protected pointer is only to be fetched, not dereferenced.\nThese are needed due to some performance concerns with using\nrcu_dereference() where it is not required, aside from the need\nfor lockdep/sparse checking.\n\nThe new rcu_access_pointer() primitive is for the case where the\npointer is be fetch and not dereferenced.  This primitive may be\nused without protection, RCU or otherwise, due to the fact that\nit uses ACCESS_ONCE().\n\nThe new rcu_dereference_protected() primitive is for the case\nwhere updates are prevented, for example, due to holding the\nupdate-side lock.  This primitive does neither ACCESS_ONCE() nor\nsmp_read_barrier_depends(), so can only be used when updates are\nsomehow prevented.\n\nSuggested-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c1270852752-25278-1-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f0ad0860d01e47a3ffd220564c5c653b3afbe962",
      "tree": "91b69423f472b934daa2c18ae3b7ba065b7c7898",
      "parents": [
        "0c12295a741d3186987f96f518cfbdaf01abb087"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:23 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:34 2010 -0700"
      },
      "message": "ipv4: ipmr: support multiple tables\n\nThis patch adds support for multiple independant multicast routing instances,\nnamed \"tables\".\n\nUserspace multicast routing daemons can bind to a specific table instance by\nissuing a setsockopt call using a new option MRT_TABLE. The table number is\nstored in the raw socket data and affects all following ipmr setsockopt(),\ngetsockopt() and ioctl() calls. By default, a single table (RT_TABLE_DEFAULT)\nis created with a default routing rule pointing to it. Newly created pimreg\ndevices have the table number appended (\"pimregX\"), with the exception of\ndevices created in the default table, which are named just \"pimreg\" for\ncompatibility reasons.\n\nPackets are directed to a specific table instance using routing rules,\nsimilar to how regular routing rules work. Currently iif, oif and mark\nare supported as keys, source and destination addresses could be supported\nadditionally.\n\nExample usage:\n\n- bind pimd/xorp/... to a specific table:\n\nuint32_t table \u003d 123;\nsetsockopt(fd, IPPROTO_IP, MRT_TABLE, \u0026table, sizeof(table));\n\n- create routing rules directing packets to the new table:\n\n# ip mrule add iif eth0 lookup 123\n# ip mrule add oif eth0 lookup 123\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "862465f2e7e90975e7bf0ecfbb171dd3adedd950",
      "tree": "281c43f90130cc23eb581c702afaf4ab226dbff5",
      "parents": [
        "d658f8a0e63b6476148162aa7a3ffffc58dcad52"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:33 2010 -0700"
      },
      "message": "ipv4: ipmr: convert struct mfc_cache to struct list_head\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d658f8a0e63b6476148162aa7a3ffffc58dcad52",
      "tree": "25087c18eb91bbe040cf5c9b5e1710d35e37328f",
      "parents": [
        "e258beb22f4d3ea3dc88586ffc9c990d0eb03380"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:33 2010 -0700"
      },
      "message": "ipv4: ipmr: remove net pointer from struct mfc_cache\n\nNow that cache entries in unres_queue don\u0027t need to be distinguished by their\nnetwork namespace pointer anymore, we can remove it from struct mfc_cache\nadd pass the namespace as function argument to the functions that need it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f87b1dd01b51dc3c789f7a212656a4a87eee1bd",
      "tree": "2ce87a26afecd5c0400a6e743534a402a6ca8aec",
      "parents": [
        "28bb17268b92b0c568f2496e5e631008f9108409"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:31 2010 -0700"
      },
      "message": "net: fib_rules: decouple address families from real address families\n\nDecouple the address family values used for fib_rules from the real\naddress families in socket.h. This allows to use fib_rules for\ncode that is not a real address family without increasing AF_MAX/NPROTO.\n\nValues up to 127 are reserved for real address families and map directly\nto the corresponding AF value, values starting from 128 are for other\nuses. rtnetlink is changed to invoke the AF_UNSPEC dumpit/doit handlers\nfor these families.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acbbc07145b919248c410e1852b953d385be5c97",
      "tree": "bafccb1c98540a2e6758df44ef72b6c2d55a2a78",
      "parents": [
        "829e0015431537176e38812f88fffe1d3250083e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 11 06:56:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 03:32:42 2010 -0700"
      },
      "message": "net: uninline skb_bond_should_drop()\n\nskb_bond_should_drop() is too big to be inlined.\n\nThis patch reduces kernel text size, and its compilation time as well\n(shrinking include/linux/netdevice.h)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "829e0015431537176e38812f88fffe1d3250083e",
      "tree": "585fa8fafbf09d629262f78c3b7ab2f578f35021",
      "parents": [
        "5e10d4a7fc80e4ef310c07a6a547406fef50534a"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Tue Apr 13 00:03:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 03:32:42 2010 -0700"
      },
      "message": "Fix some #includes in CAN drivers (rebased for net-next-2.6)\n\nIn the current implementation, CAN drivers need to #include \u003clinux/can.h\u003e\n_before_ they #include \u003clinux/can/dev.h\u003e, which is both ugly and\nunnecessary.\n\nFix this by including \u003clinux/can.h\u003e in \u003clinux/can/dev.h\u003e and remove the\n#include \u003clinux/can.h\u003e lines from drivers.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd58950a5345f006a318f178705b9250aa54425c",
      "tree": "dcb03a8a7fc911be029bf5d8efc3e98de04b386a",
      "parents": [
        "1b6e66182dab42c42bdac72633dbe35b3dba8f69"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Fri Apr 09 10:01:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 02:58:24 2010 -0700"
      },
      "message": "skbuff: remove unused dev_consume_skb macro definition\n\ndev_consume_skb and kfree_skb_clean have no users and in the case of\nkfree_skb_clean could cause potential build issues since I cannot find\nwhere it is defined.  Based on the patch in which it was introduced it\nappears to have been a bit of leftover code from an earlier version of the\npatch in which kfree_skb_clean was dropped in favor of consume_skb.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed85b565b825566da34e55eee9ad150ed93fdda0",
      "tree": "77b9bad66d0cd6a1b7c657995100d555b8ecb9eb",
      "parents": [
        "7d53b80980a598836c56517290b29aa7b0766ef8"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Apr 07 22:41:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:30:48 2010 -0700"
      },
      "message": "packet: support for TX time stamps on RAW sockets\n\nEnable the SO_TIMESTAMPING socket infrastructure for raw packet sockets.\nWe introduce PACKET_TX_TIMESTAMP for the control message cmsg_type.\n\nSimilar support for UDP and CAN sockets was added in commit\n51f31cabe3ce5345b51e4a4f82138b38c4d5dc91\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0df5dd4aae211edeeeb84f7f84f6d093406d7c22",
      "tree": "6e58bc436b873cf582f20cf0dbd21461c0a56837",
      "parents": [
        "2c61be0a9478258f77b66208a0c4b1f5f8161c3c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 11 16:48:44 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 12 07:55:15 2010 -0400"
      },
      "message": "NFSv4: fix delegated locking\n\nArnaud Giersch reports that NFSv4 locking is broken when we hold a\ndelegation since commit 8e469ebd6dc32cbaf620e134d79f740bf0ebab79 (NFSv4:\nDon\u0027t allow posix locking against servers that don\u0027t support it).\n\nAccording to Arnaud, the lock succeeds the first time he opens the file\n(since we cannot do a delegated open) but then fails after we start using\ndelegated opens.\n\nThe following patch fixes it by ensuring that locking behaviour is\ngoverned by a per-filesystem capability flag that is initially set, but\ngets cleared if the server ever returns an OPEN without the\nNFS4_OPEN_RESULT_LOCKTYPE_POSIX flag being set.\n\nReported-by: Arnaud Giersch \u003carnaud.giersch@iut-bm.univ-fcomte.fr\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "ca658b1e29d6be939207532e337fb640eb697f71",
      "tree": "f22c747e718d12b5be2bc37cfccd6d02aff9fcbe",
      "parents": [
        "aa6fec3cdeb14ecc916eb78c4cd9ed79e4f7fe8d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 12:23:09 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 16:51:13 2010 +0200"
      },
      "message": "firewire: cdev: comment fixlet\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "aa6fec3cdeb14ecc916eb78c4cd9ed79e4f7fe8d",
      "tree": "4beee35aa9f9e31ec542d11075b822de9adbacc6",
      "parents": [
        "9cac00b8f0079d5d3d54ec4dae453d58dec30e7c"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Mar 31 16:26:52 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 16:51:13 2010 +0200"
      },
      "message": "firewire: cdev: iso packet documentation\n\nAdd the missing documentation for iso packets.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2f4084209adc77f9a1c9f38db3019a509e167882",
      "tree": "775657114c885505ecc46605e29ea1470e986f76",
      "parents": [
        "2f10ffcfb28beb35137d9e86992c771b4a6c5f2a",
        "3440c49f5c5ecb4f29b0544aa87da71888404f8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (34 commits)\n  cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch\n  loop: Update mtime when writing using aops\n  block: expose the statistics in blkio.time and blkio.sectors for the root cgroup\n  backing-dev: Handle class_create() failure\n  Block: Fix block/elevator.c elevator_get() off-by-one error\n  drbd: lc_element_by_index() never returns NULL\n  cciss: unlock on error path\n  cfq-iosched: Do not merge queues of BE and IDLE classes\n  cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging\n  i2o: Remove the dangerous kobj_to_i2o_device macro\n  block: remove 16 bytes of padding from struct request on 64bits\n  cfq-iosched: fix a kbuild regression\n  block: make CONFIG_BLK_CGROUP visible\n  Remove GENHD_FL_DRIVERFS\n  block: Export max number of segments and max segment size in sysfs\n  block: Finalize conversion of block limits functions\n  block: Fix overrun in lcm() and move it to lib\n  vfs: improve writeback_inodes_wb()\n  paride: fix off-by-one test\n  drbd: fix al-to-on-disk-bitmap for 4k logical_block_size\n  ...\n"
    },
    {
      "commit": "ce82653d6cfcc95ba88c25908664878459fb1b8d",
      "tree": "ab80dd0055bcb4b9296c28c241f1d1fba229be1f",
      "parents": [
        "d3e06e2b15590b70ea73733fc4612e4741ff46e0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 06 22:36:20 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:12:03 2010 -0700"
      },
      "message": "radix_tree_tag_get() is not as safe as the docs make out [ver #2]\n\nradix_tree_tag_get() is not safe to use concurrently with radix_tree_tag_set()\nor radix_tree_tag_clear().  The problem is that the double tag_get() in\nradix_tree_tag_get():\n\n\t\tif (!tag_get(node, tag, offset))\n\t\t\tsaw_unset_tag \u003d 1;\n\t\tif (height \u003d\u003d 1) {\n\t\t\tint ret \u003d tag_get(node, tag, offset);\n\nmay see the value change due to the action of set/clear.  RCU is no protection\nagainst this as no pointers are being changed, no nodes are being replaced\naccording to a COW protocol - set/clear alter the node directly.\n\nThe documentation in linux/radix-tree.h, however, says that\nradix_tree_tag_get() is an exception to the rule that \"any function modifying\nthe tree or tags (...) must exclude other modifications, and exclude any\nfunctions reading the tree\".\n\nThe problem is that the next statement in radix_tree_tag_get() checks that the\ntag doesn\u0027t vary over time:\n\n\t\t\tBUG_ON(ret \u0026\u0026 saw_unset_tag);\n\nThis has been seen happening in FS-Cache:\n\n\thttps://www.redhat.com/archives/linux-cachefs/2010-April/msg00013.html\n\nTo this end, remove the BUG_ON() from radix_tree_tag_get() and note in various\ncomments that the value of the tag may change whilst the RCU read lock is held,\nand thus that the return value of radix_tree_tag_get() may not be relied upon\nunless radix_tree_tag_set/clear() and radix_tree_delete() are excluded from\nrunning concurrently with it.\n\nReported-by: Romain DEGEZ \u003cromain.degez@smartjog.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc1c183353a113c71675fecd0485e5aa0fe68d72",
      "tree": "25fc50112c80402ab43bd86a3d6b6a99a0c3c128",
      "parents": [
        "4dc86ae1f925b2121d4e75058675895f83e54c71"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Apr 07 19:23:40 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:09:50 2010 -0700"
      },
      "message": "slab: Generify kernel pointer validation\n\nAs suggested by Linus, introduce a kern_ptr_validate() helper that does some\nsanity checks to make sure a pointer is a valid kernel pointer.  This is a\npreparational step for fixing SLUB kmem_ptr_validate().\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97ad9139fd68b5c71f44d28d3f9788d89cfd4916",
      "tree": "a4b270e9fc7c55a4c6fc4df5e13cf399463fde27",
      "parents": [
        "60ece4047e4870c7be28dcf661162d8312c161e7"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Mar 29 11:00:21 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 15:24:07 2010 -0400"
      },
      "message": "mac80211: Moved mesh action codes to a more visible location\n\nGrouped mesh action codes together with the other action codes in\nieee80211.h.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f2df9eac70423838a1f8d410fd3899ddd88317b",
      "tree": "0617f723320d83eca5cef9c964c001014e74213f",
      "parents": [
        "8c11e4ab09ffb975a89802dde0e9aa52a53b8aa5",
        "1144601118507f8b3b676a9a392584d216d3f2cc"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 13:34:54 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 13:34:54 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-4965.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/net/wireless/iwlwifi/iwl-tx.c\n"
    },
    {
      "commit": "45c4d015a92f72ec47acd0c7557abdc0c8a6499d",
      "tree": "8c71c959f3c7c04647336cca27dc18e3cd0bbe0b",
      "parents": [
        "cf90bfe2ebaf9d32f37acbebb7425c280fd6cd30"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "kernel@teksavvy.com",
        "time": "Wed Apr 07 13:52:08 2010 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 08 12:53:57 2010 -0400"
      },
      "message": "libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2)\n\nMost drives from Seagate, Hitachi, and possibly other brands,\ndo not allow LBA28 access to sector number 0x0fffffff (2^28 - 1).\nSo instead use LBA48 for such accesses.\n\nThis bug could bite a lot of systems, especially when the user has\ntaken care to align partitions to 4KB boundaries. On misaligned systems,\nit is less likely to be encountered, since a 4KB read would end at\n0x10000000 rather than at 0x0fffffff.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "cf90bfe2ebaf9d32f37acbebb7425c280fd6cd30",
      "tree": "d3e3f2067dc423721d698d154e15213aa5b0132d",
      "parents": [
        "0a2851b9a837cb025d48bb8118f35ebd12bce4b5",
        "720fc22a7af79d91ec460c80efa92c65c12d105e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 07:45:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 07:45:36 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:\n  ide: Fix IDE taskfile with cfq scheduler\n  ide: Must hold queue lock when requeueing\n  ide: Requeue request after DMA timeout\n"
    },
    {
      "commit": "97f8aefbbfb5aa5c9944e5fa8149f1fdaf71c7b6",
      "tree": "0aea84f87d78183056dceb07b1eb31dc812df3a4",
      "parents": [
        "8dd4bd002a32e787978fcb2be1e6ab09a3eb04ae"
      ],
      "author": {
        "name": "chavey",
        "email": "chavey@google.com",
        "time": "Wed Apr 07 21:54:42 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 21:54:42 2010 -0700"
      },
      "message": "net: fix ethtool coding style errors and warnings\n\nFix coding style errors and warnings output while running checkpatch.pl\non the files net/core/ethtool.c and include/linux/ethtool.h\n\nSigned-off-by: chavey \u003cchavey@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7a413015d2986edf020fba765c906cc9cbcbfc9",
      "tree": "e7d65883c875ddb215e47c14aa3616e4bf1a80e3",
      "parents": [
        "9ff4cfab82d27e9fda72315f911bbaa9516e04bc"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Mar 31 21:56:42 2010 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Apr 08 09:46:19 2010 +0930"
      },
      "message": "virtio: disable multiport console support.\n\nMove MULTIPORT feature and related config changes\nout of exported headers, and disable the feature\nat runtime.\n\nAt this point, it seems less risky to keep code around\nuntil we can enable it than rip it out completely.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "18e225f257663c59ff9d4482f07ffd06361fc2ec",
      "tree": "1e131d82de1a07488272d5724a4e641d6a466345",
      "parents": [
        "8e4795605d1e1b39113818ad7c147b8a867a1f6a"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Wed Apr 07 16:40:09 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 07 16:40:09 2010 -0700"
      },
      "message": "net: fix definition of netdev_for_each_mc_addr()\n\nThe first argument should be called ha, not mclist.  All callers use the\nname \"ha\", but if they used a different name, there would be a compile\nerror.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "098a607091426e79178b9a6c318d993fea131791",
      "tree": "d62c9993e49f90ca962cd763b096911d22d7e051",
      "parents": [
        "618f356b95e37ca0c30b3b513898fda54abd52a6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:47 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:38:05 2010 -0400"
      },
      "message": "mac80211: clean up/fix aggregation code\n\nThe aggregation code has a number of quirks, like\ninventing an unneeded WLAN_BACK_TIMER value and\nleaking memory under certain circumstances during\nstation destruction. Fix these issues by using\nthe regular aggregation session teardown code and\nblocking new aggregation sessions, all before the\nstation is really destructed.\n\nAs a side effect, this gets rid of the long code\nblock to destroy aggregation safely.\n\nAdditionally, rename tid_state_rx which can only\nhave the values IDLE and OPERATIONAL to\ntid_active_rx to make it easier to understand\nthat there is no bitwise stuff going on on the\nRX side -- the TX side remains because it needs\nto keep track of the driver and peer states.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d5cdfacb35ed886271d1ccfffbded98d3447da17",
      "tree": "8233a713949c4c8da8c98e75868efc74d5613c3d",
      "parents": [
        "7590a550b88b8c3cb025f0a8ed58e279ad62e4c1"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Sun Apr 04 09:37:19 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:37:56 2010 -0400"
      },
      "message": "cfg80211: Add local-state-change-only auth/deauth/disassoc\n\ncfg80211 is quite strict on allowing authentication and association\ncommands only in certain states. In order to meet these requirements,\nuser space applications may need to clear authentication or\nassociation state in some cases. Currently, this can be done with\ndeauth/disassoc command, but that ends up sending out Deauthentication\nor Disassociation frame unnecessarily. Add a new nl80211 attribute to\nallow this sending of the frame be skipped, but with all other\ndeauth/disassoc operations being completed.\n\nSimilar state change is also needed for IEEE 802.11r FT protocol in\nthe FT-over-DS case which does not use Authentication frame exchange\nin a transition to another BSS. For this to work with cfg80211, an\nauthentication entry needs to be created for the target BSS without\nsending out an Authentication frame. The nl80211 authentication\ncommand can be used for this purpose, too, with the new attribute to\nindicate that the command is only for changing local state. This\nenables wpa_supplicant to complete FT-over-DS transition successfully.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fb1ae635772d679eb312fa447290fc02cd0e4cf1",
      "tree": "45733f9820da1190cd58bfff080edbb02af961a8",
      "parents": [
        "addb2d6c13993060ae75f5005815b19dd2abdd64",
        "472a474c6630efd195d3738339fd1bdc8aa3b1aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 11:02:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 11:02:23 2010 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:\n  x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards\n  x86: Increase CONFIG_NODES_SHIFT max to 10\n  ibft, x86: Change reserve_ibft_region() to find_ibft_region()\n  x86, hpet: Fix bug in RTC emulation\n  x86, hpet: Erratum workaround for read after write of HPET comparator\n  bootmem, x86: Fix 32bit numa system without RAM on node 0\n  nobootmem, x86: Fix 32bit numa system without RAM on node 0\n  x86: Handle overlapping mptables\n  x86: Make e820_remove_range to handle all covered case\n  x86-32, resume: do a global tlb flush in S4 resume\n"
    },
    {
      "commit": "8725d5416213a145ccc9c236dbd26830ba409e00",
      "tree": "aff10fc98874adfcb7755ec8bc1f2627036e8dc2",
      "parents": [
        "116354d177ba2da37e91cf884e3d11e67f825efd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Apr 06 14:35:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:05 2010 -0700"
      },
      "message": "memcg: fix race in file_mapped accounting\n\nPresently, memcg\u0027s FILE_MAPPED accounting has following race with\nmove_account (happens at rmdir()).\n\n    increment page-\u003emapcount (rmap.c)\n    mem_cgroup_update_file_mapped()           move_account()\n\t\t\t\t\t      lock_page_cgroup()\n\t\t\t\t\t      check page_mapped() if\n\t\t\t\t\t      page_mapped(page)\u003e1 {\n\t\t\t\t\t\tFILE_MAPPED -1 from old memcg\n\t\t\t\t\t\tFILE_MAPPED +1 to old memcg\n\t\t\t\t\t      }\n\t\t\t\t\t      .....\n\t\t\t\t\t      overwrite pc-\u003emem_cgroup\n\t\t\t\t\t      unlock_page_cgroup()\n    lock_page_cgroup()\n    FILE_MAPPED + 1 to pc-\u003emem_cgroup\n    unlock_page_cgroup()\n\nThen,\n\told memcg (-1 file mapped)\n\tnew memcg (+2 file mapped)\n\nThis happens because move_account see page_mapped() which is not guarded\nby lock_page_cgroup().  This patch adds FILE_MAPPED flag to page_cgroup\nand move account information based on it.  Now, all checks are synchronous\nwith lock_page_cgroup().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Andrea Righi \u003carighi@develer.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "116354d177ba2da37e91cf884e3d11e67f825efd",
      "tree": "150227e8a5c9ce8b6dd9333593ed513c8c012686",
      "parents": [
        "57119c34e53bbb8d244c3ff1335ef5145768538f"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Tue Apr 06 14:35:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "pagemap: fix pfn calculation for hugepage\n\nWhen we look into pagemap using page-types with option -p, the value of\npfn for hugepages looks wrong (see below.) This is because pte was\nevaluated only once for one vma although it should be updated for each\nhugepage.  This patch fixes it.\n\n  $ page-types -p 3277 -Nl -b huge\n  voffset   offset  len     flags\n  7f21e8a00 11e400  1       ___U___________H_G________________\n  7f21e8a01 11e401  1ff     ________________TG________________\n               ^^^\n  7f21e8c00 11e400  1       ___U___________H_G________________\n  7f21e8c01 11e401  1ff     ________________TG________________\n               ^^^\n\nOne hugepage contains 1 head page and 511 tail pages in x86_64 and each\ntwo lines represent each hugepage.  Voffset and offset mean virtual\naddress and physical address in the page unit, respectively.  The\ndifferent hugepages should not have the same offset value.\n\nWith this patch applied:\n\n  $ page-types -p 3386 -Nl -b huge\n  voffset   offset   len    flags\n  7fec7a600 112c00   1      ___UD__________H_G________________\n  7fec7a601 112c01   1ff    ________________TG________________\n               ^^^\n  7fec7a800 113200   1      ___UD__________H_G________________\n  7fec7a801 113201   1ff    ________________TG________________\n               ^^^\n               OK\n\nMore info:\n\n- This patch modifies walk_page_range()\u0027s hugepage walker.  But the\n  change only affects pagemap_read(), which is the only caller of hugepage\n  callback.\n\n- Without this patch, hugetlb_entry() callback is called per vma, that\n  doesn\u0027t match the natural expectation from its name.\n\n- With this patch, hugetlb_entry() is called per hugepte entry and the\n  callback can become much simpler.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb1dc0bacb8ddd7ba6a5906c678a5a5a110cf695",
      "tree": "e3389ae1a09bba9cd84d6981a7e49edb449133bb",
      "parents": [
        "2a7268abc48c8009b284bd88605d14fcb65772ec"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang@windriver.com",
        "time": "Tue Apr 06 14:35:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "kernel.h: fix wrong usage of __ratelimit()\n\nWhen __ratelimit() returns 1 this means that we can go ahead.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang@windriver.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1dd3b2843b3b73b7fc2ee47d96310cd1c051371",
      "tree": "ab7d13e076d255dd2c598a3c819e114a854ae85f",
      "parents": [
        "55ab3a1ff843e3f0e24d2da44e71bffa5d853010"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 06 14:35:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "vfs: rename block_fsync() to blkdev_fsync()\n\nRequested by hch, for consistency now it is exported.\n\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55ab3a1ff843e3f0e24d2da44e71bffa5d853010",
      "tree": "092f383aab3dc57d6780348aa9638d01e99041cf",
      "parents": [
        "da258016293f5e82b36db67ac3db3931a4fbbc4d"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Apr 06 14:34:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:04 2010 -0700"
      },
      "message": "raw: fsync method is now required\n\nCommit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new\nhelpers for syncing after writing to O_SYNC file or IS_SYNC inode) broke\nthe raw driver.\n\nWe now call through generic_file_aio_write -\u003e generic_write_sync -\u003e\nvfs_fsync_range.  vfs_fsync_range has:\n\n        if (!fop || !fop-\u003efsync) {\n                ret \u003d -EINVAL;\n                goto out;\n        }\n\nBut drivers/char/raw.c doesn\u0027t set an fsync method.\n\nWe have two options: fix it or remove the raw driver completely.  I\u0027m\nhappy to do either, the fact this has been broken for so long suggests it\nis rarely used.\n\nThe patch below adds an fsync method to the raw driver.  My knowledge of\nthe block layer is pretty sketchy so this could do with a once over.\n\nIf we instead decide to remove the raw driver, this patch might still be\nuseful as a backport to 2.6.33 and 2.6.32.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nTested-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "530cd330dc3865e3107304a6e84fdc332aa72f7d",
      "tree": "414102f790dac9ad80af3c82935e5164b04a1b5e",
      "parents": [
        "a3a2e76c77fa22b114e421ac11dec0c56c3503fb"
      ],
      "author": {
        "name": "David Härdeman",
        "email": "david@hardeman.nu",
        "time": "Tue Apr 06 14:34:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:02 2010 -0700"
      },
      "message": "include/linux/kfifo.h: fix INIT_KFIFO()\n\nDECLARE_KFIFO creates a union with a struct kfifo and a buffer array with\nsize [size + sizeof(struct kfifo)].\n\nINIT_KFIFO then sets the buffer pointer in struct kfifo to point to the\nbeginning of the buffer array which means that the first call to kfifo_in\nwill overwrite members of the struct kfifo.\n\nSigned-off-by: David Härdeman \u003cdavid@hardeman.nu\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b01d0942c2b7a3026d2b7d38b5773d3d00420e06",
      "tree": "c4be20ad3896269075ca01c98ef7fd0962af4a50",
      "parents": [
        "0fdf86754f70e813845af4abaa805165ce57a0bb"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Apr 06 14:34:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 08:38:01 2010 -0700"
      },
      "message": "bitops: remove temporary for_each_bit()\n\nMigration has been completed so remove this now.  There\u0027s one straggler in\nlinux-next\u0027s drivers/mtd/sm_ftl.c.  A patch has been sent.\n\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "c6537d6742985da1fbf12ae26cde6a096fd35b5c",
      "tree": "c6a9bcb6d500f81efc1ead5d32f8d369b1e8ccb4",
      "parents": [
        "459569145516f7967b916c57445feb02c600668c"
      ],
      "author": {
        "name": "Jon Paul Maloy",
        "email": "jon.maloy@ericsson.com",
        "time": "Tue Apr 06 11:40:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 19:50:19 2010 -0700"
      },
      "message": "TIPC: Updated topology subscription protocol according to latest spec\n\nThis patch makes it explicit in the API that all fields in subscriptions and events exchanged with the Topology Server must be in\nnetwork byte order.\nIt also ensures that all fields of a subscription are compared when cancelling a subscription, in order to avoid inadvertent\ncancelling of the wrong subscription.\nFinally, the tipc module version is updated to 2.0.0, to reflect the API change.\n\nSigned-off-by: Jon Maloy \u003cjon.maloy@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a64c0f6b7ec7f758c4ef445e49f479e27fa2236",
      "tree": "291339f33fd32a7076c98d88386b61b2baddc51d",
      "parents": [
        "cfcfe4469cc39625cb8257355c00dd8f35f900aa"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Tue Apr 06 10:52:44 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 06 16:52:06 2010 -0400"
      },
      "message": "libertas/sdio: 8686: set ECSI bit for 1-bit transfers\n\nWhen operating in 1-bit mode, SDAT1 is used as dedicated interrupt line.\nHowever, the 8686 will only drive this line when the ECSI bit is set in\nthe CCCR_IF register.\n\nThanks to Alagu Sankar for pointing me in the right direction.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alagu Sankar \u003calagusankar@embwise.com\u003e\nCc: Volker Ernst \u003cvolker.ernst@txtr.com\u003e\nCc: Dan Williams \u003cdcbw@redhat.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nCc: Bing Zhao \u003cbzhao@marvell.com\u003e\nCc: libertas-dev@lists.infradead.org\nCc: linux-wireless@vger.kernel.org\nCc: linux-mmc@vger.kernel.org\nAcked-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab195c58b864802c15e494f06ae109413e12d50b",
      "tree": "7b86a6c2a673323b0a90cae227f9fc023eb5b3ff",
      "parents": [
        "cb4361c1dc29cd870f664c004b1817106fbce0fa",
        "445d211b0da4e9a6e6d576edff85085c2aaf53df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:36:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:36:31 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  libata: unlock HPA if device shrunk\n  libata: disable NCQ on Crucial C300 SSD\n  libata: don\u0027t whine on spurious IRQ\n"
    },
    {
      "commit": "445d211b0da4e9a6e6d576edff85085c2aaf53df",
      "tree": "039ade5b49cb0bbd388babc369f28f541c76ec96",
      "parents": [
        "68b0ddb289220b6d4d865be128939663be34959d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 10:33:13 2010 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Apr 06 10:55:33 2010 -0400"
      },
      "message": "libata: unlock HPA if device shrunk\n\nSome BIOSes don\u0027t configure HPA during boot but do so while resuming.\nThis causes harddrives to shrink during resume making libata detach\nand reattach them.  This can be worked around by unlocking HPA if old\nsize equals native size.\n\nAdd ATA_DFLAG_UNLOCK_HPA so that HPA unlocking can be controlled\nper-device and update ata_dev_revalidate() such that it sets\nATA_DFLAG_UNLOCK_HPA and fails with -EIO when the above condition is\ndetected.\n\nThis patch fixes the following bug.\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d15396\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Oleksandr Yermolenko \u003cyaa.bta@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "9d32c30542f9ecdb4b96a1a960924c9f403e3562",
      "tree": "accdc04a9b837b3531e4c53f4cd0dfe8b04ec0e0",
      "parents": [
        "5e28d8eb68c12eab9c4a47b42ba993a6420d71d3"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Mon Apr 05 22:29:09 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Apr 05 23:02:00 2010 -0700"
      },
      "message": "Input: matrix_keypad - allow platform to disable key autorepeat\n\nIn an embedded system the matrix_keypad driver might be used to\ninterface with an external control panel and not an actual keyboard.\nOn the control panel some of the keys could be used to turn on/off\nvarious functions.  If key autorepeat is enabled this causes the\nfunction to quickly toggle between the on and off states and makes\noperation difficult.\n\nAdd an option in the platform-specific data to disable the key\nautorepeat.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "5fbfb18d7a5b846946d52c4a10e3aaa213ec31b6",
      "tree": "bcfa13dec8cb2527c3007b3e5f957cb50e571c64",
      "parents": [
        "7da23b86e14b77c094b11a9fa5ef5b3758fc9193"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Apr 01 19:09:40 2010 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 19:50:02 2010 -0700"
      },
      "message": "Fix up possibly racy module refcounting\n\nModule refcounting is implemented with a per-cpu counter for speed.\nHowever there is a race when tallying the counter where a reference may\nbe taken by one CPU and released by another.  Reference count summation\nmay then see the decrement without having seen the previous increment,\nleading to lower than expected count.  A module which never has its\nactual reference drop below 1 may return a reference count of 0 due to\nthis race.\n\nModule removal generally runs under stop_machine, which prevents this\nrace causing bugs due to removal of in-use modules.  However there are\nother real bugs in module.c code and driver code (module_refcount is\nexported) where the callers do not run under stop_machine.\n\nFix this by maintaining running per-cpu counters for the number of\nmodule refcount increments and the number of refcount decrements.  The\nincrements are tallied after the decrements, so any decrement seen will\nalways have its corresponding increment counted.  The final refcount is\nthe difference of the total increments and decrements, preventing a\nlow-refcount from being returned.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b66696e3c0d8fc01efdbc701eba1276618332cb3",
      "tree": "3094ef42787b8e0c900bce1f2391ced081ed1ba4",
      "parents": [
        "9e74e7c81a24aee66024fc477786bd1de84e293b",
        "a32f3926632e71c8aa23ce32fe2625f8d5f792c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:39:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:39:11 2010 -0700"
      },
      "message": "Merge branch \u0027slabh\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc\n\n* \u0027slabh\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:\n  eeepc-wmi: include slab.h\n  staging/otus: include slab.h from usbdrv.h\n  percpu: don\u0027t implicitly include slab.h from percpu.h\n  kmemcheck: Fix build errors due to missing slab.h\n  include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n  iwlwifi: don\u0027t include iwl-dev.h from iwl-devtrace.h\n  x86: don\u0027t include slab.h from arch/x86/include/asm/pgtable_32.h\n\nFix up trivial conflicts in include/linux/percpu.h due to\nis_kernel_percpu_address() having been introduced since the slab.h\ncleanup with the percpu_up.c splitup.\n"
    },
    {
      "commit": "9e74e7c81a24aee66024fc477786bd1de84e293b",
      "tree": "8f172b7e5a86fe6b51e46f1d219e9c0707beab60",
      "parents": [
        "4946d54cb55e86a156216fcfeed5568514b0830f",
        "d5e50daf92df8afcb701fd717b301985691e802f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:16:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 09:16: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  module: add stub for is_module_percpu_address\n  percpu, module: implement and use is_kernel/module_percpu_address()\n  module: encapsulate percpu handling better and record percpu_size\n"
    },
    {
      "commit": "336f5899d287f06d8329e208fc14ce50f7ec9698",
      "tree": "9b762d450d5eb248a6ff8317badb7e223d93ed58",
      "parents": [
        "a4ab2773205e8b94c18625455f85e3b6bb9d7ad6",
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into export-slabh\n"
    },
    {
      "commit": "8ce42c8b7fdf4fc008a6fc7349beb8f4dd5cb774",
      "tree": "bc05326ed8ade9137e3ce5fb5b1d439dcdce266f",
      "parents": [
        "0121b0c771f929bb5298554b70843ab46280c298",
        "6e03bb5ad363fdbe4e1e227cfb78f7978c662e18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 04 12:13:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 04 12:13:10 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Always build the powerpc perf_arch_fetch_caller_regs version\n  perf: Always build the stub perf_arch_fetch_caller_regs version\n  perf, probe-finder: Build fix on Debian\n  perf/scripts: Tuple was set from long in both branches in python_process_event()\n  perf: Fix \u0027perf sched record\u0027 deadlock\n  perf, x86: Fix callgraphs of 32-bit processes on 64-bit kernels\n  perf, x86: Fix AMD hotplug \u0026 constraint initialization\n  x86: Move notify_cpu_starting() callback to a later stage\n  x86,kgdb: Always initialize the hw breakpoint attribute\n  perf: Use hot regs with software sched switch/migrate events\n  perf: Correctly align perf event tracing buffer\n"
    },
    {
      "commit": "1f8438a853667d48055ad38384c63e94b32c6578",
      "tree": "d515b2246023abce5f151f35d70d270fa05b90c7",
      "parents": [
        "f66ef2d0649b220874532dfb83b6b5b368f83591"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Apr 03 15:09:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 15:09:04 2010 -0700"
      },
      "message": "icmp: Account for ICMP out errors\n\nWhen ip_append() fails because of socket limit or memory shortage,\nincrement ICMP_MIB_OUTERRORS counter, so that \"netstat -s\" can report\nthese errors.\n\nLANG\u003dC netstat -s | grep \"ICMP messages failed\"\n    0 ICMP messages failed\n\nFor IPV6, implement ICMP6_MIB_OUTERRORS counter as well.\n\n# grep Icmp6OutErrors /proc/net/dev_snmp6/*\n/proc/net/dev_snmp6/eth0:Icmp6OutErrors                   \t0\n/proc/net/dev_snmp6/lo:Icmp6OutErrors                   \t0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "309795f4bec2d69cd507a631f82065c2198a0825",
      "tree": "b3676be9a8f65f0d828a07e3bd6906bf7cd7b664",
      "parents": [
        "f408e0ce40270559ef80f231843c93baa9947bc5"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:05 2010 -0700"
      },
      "message": "l2tp: Add netlink control API for L2TP\n\nIn L2TPv3, we need to create/delete/modify/query L2TP tunnel and\nsession contexts. The number of parameters is significant. So let\u0027s\nuse netlink. Userspace uses this API to control L2TP tunnel/session\ncontexts in the kernel.\n\nThe previous pppol2tp driver was managed using [gs]etsockopt(). This\nAPI is retained for backwards compatibility. Unlike L2TPv2 which\ncarries only PPP frames, L2TPv3 can carry raw ethernet frames or other\nframe types and these do not always have an associated socket\nfamily. Therefore, we need a way to use L2TP sessions that doesn\u0027t\nrequire a socket type for each supported frame type. Hence netlink is\nused.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f408e0ce40270559ef80f231843c93baa9947bc5",
      "tree": "0a71cda13657bd3c058ed110714f4ac829a50ad2",
      "parents": [
        "0d76751fad7739014485ba5bd388d4f1b4fd4143"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:05 2010 -0700"
      },
      "message": "netlink: Export genl_lock() API for use by modules\n\nThis lets kernel modules which use genl netlink APIs serialize netlink\nprocessing.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d76751fad7739014485ba5bd388d4f1b4fd4143",
      "tree": "25a4525bf6b2ec9f052f22ba98cdfd3ff3a86aa3",
      "parents": [
        "e0d4435f93905f517003cfa7328a36ea19788147"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:04 2010 -0700"
      },
      "message": "l2tp: Add L2TPv3 IP encapsulation (no UDP) support\n\nThis patch adds a new L2TPIP socket family and modifies the core to\nhandle the case where there is no UDP header in the L2TP\npacket. L2TP/IP uses IP protocol 115. Since L2TP/UDP and L2TP/IP\npackets differ in layout, the datapath packet handling code needs\nchanges too. Userspace uses an L2TPIP socket instead of a UDP socket\nwhen IP encapsulation is required.\n\nWe can\u0027t use raw sockets for this because the semantics of raw sockets\ndon\u0027t lend themselves to the socket-per-tunnel model - we need to\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0d4435f93905f517003cfa7328a36ea19788147",
      "tree": "cdf858e601d993405d3fd1f318446dddbf9e6fcb",
      "parents": [
        "f7faffa3ff8ef6ae712ef16312b8a2aa7a1c95fe"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:04 2010 -0700"
      },
      "message": "l2tp: Update PPP-over-L2TP driver to work over L2TPv3\n\nThis patch makes changes to the L2TP PPP code for L2TPv3.\n\nThe existing code has some assumptions about the L2TP header which are\nbroken by L2TPv3. Also the sockaddr_pppol2tp structure of the original\ncode is too small to support the increased size of the L2TPv3 tunnel\nand session id, so a new sockaddr_pppol2tpv3 structure is needed. In\nthe socket calls, the size of this structure is used to tell if the\noperation is for L2TPv2 or L2TPv3.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63f96072f9ba430aa348bc987c3d5a4f48bae301",
      "tree": "7c210e4a03f09c12f302a8f4800e1258660c1068",
      "parents": [
        "fd558d186df2c13a22455373858bae634a4795af"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:02 2010 -0700"
      },
      "message": "ppp: Add ppp_dev_name() exported function\n\nppp_dev_name() gives PPP users visibility of a ppp channel\u0027s device\nname. This can be used by L2TP drivers to dump the assigned PPP\ninterface name.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd558d186df2c13a22455373858bae634a4795af",
      "tree": "ed05523913473b6ba7658c6e8d72a1642cce1851",
      "parents": [
        "21b4aaa14329db793832e865f15000c5c0192ac3"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:02 2010 -0700"
      },
      "message": "l2tp: Split pppol2tp patch into separate l2tp and ppp parts\n\nThis patch splits the pppol2tp driver into separate L2TP and PPP parts\nto prepare for L2TPv3 support. In L2TPv3, protocols other than PPP can\nbe carried, so this split creates a common L2TP core that will handle\nthe common L2TP bits which protocol support modules such as PPP will\nuse.\n\nNote that the existing pppol2tp module is split into l2tp_core and\nl2tp_ppp by this change.\n\nThere are no feature changes here. Internally, however, there are\nsignificant changes, mostly to handle the separation of PPP-specific\ndata from the L2TP session and to provide hooks in the core for\nmodules like PPP to access.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a748ee2426817a95b1f03012d8f339c45c722ae1",
      "tree": "37cb9f8836f05bd49b86eb52ddeff3e98185cc58",
      "parents": [
        "9fc4178b149ae8b0a2fbf83f2f4df3cf8789177b"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:11 2010 -0700"
      },
      "message": "net: move address list functions to a separate file\n\n+little renaming of unicast functions to be smooth with multicast ones\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e11611a5d22252f3f9c169a3c9377eac0c32033",
      "tree": "c4cd71175afb12c63bc5a3961098321ff0546b63",
      "parents": [
        "d4509e5a6edf8862c18d887a642ce4994bde297d",
        "c6c352371c1ce486a62f4eb92e545b05cfcef76b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 02 19:50:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 02 19:50:11 2010 -0700"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  ARM: 5965/1: Fix soft lockup in at91 udc driver\n  ARM: 6006/1: ARM: Use the correct NOP size in memmove for Thumb-2 kernel builds\n  ARM: 6005/1: arm: kprobes: fix register corruption with jprobes\n  ARM: 6003/1: removing compilation warning from pl061.h\n  ARM: 6001/1: removing compilation warning comming from clkdev.h\n  ARM: 6000/1: removing compilation warning comming from \u003casm/irq.h\u003e\n  ARM: 5999/1: Including device.h and resource.h header files in linux/amba/bus.h\n  ARM: 5997/1: ARM: Correct the VFPv3 detection\n  ARM: 5996/1: ARM: Change the mandatory barriers implementation (4/4)\n  ARM: 5995/1: ARM: Add L2x0 outer_sync() support (3/4)\n  ARM: 5994/1: ARM: Add outer_cache_fns.sync function pointer (2/4)\n  ARM: 5993/1: ARM: Move the outer_cache definitions into a separate file (1/4)\n"
    },
    {
      "commit": "24b99d1576e6e330c2eba534a793b6e6dcb37f6b",
      "tree": "c8ad2d4ad7e06161d1b12013e91bf34d5eb9f556",
      "parents": [
        "6da8d866d0d39e9509ff826660f6a86a6757c966",
        "5a7aadfe2fcb0f69e2acc1fbefe22a096e792fc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 02 19:44:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 02 19:44:42 2010 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  Freezer: Fix buggy resume test for tasks frozen with cgroup freezer\n  Freezer: Only show the state of tasks refusing to freeze\n"
    },
    {
      "commit": "8626d3b4328061f5b82b11ae1d6918a0c3602f42",
      "tree": "be2b509a0d47903ff2ac1d10255a760ade82daca",
      "parents": [
        "9092c658bab215b2752fa59d2a36c05b74d1e9e9"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 02 01:05:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 02 14:30:39 2010 -0700"
      },
      "message": "phylib: Support phy module autoloading\n\nWe don\u0027t use the normal hotplug mechanism because it doesn\u0027t work. It will\nload the module some time after the device appears, but that\u0027s not good\nenough for us -- we need the driver loaded _immediately_ because otherwise\nthe NIC driver may just abort and then the phy \u0027device\u0027 goes away.\n\n[bwh: s/phy/mdio/ in module alias, kerneldoc for struct mdio_device_id]\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50d11d190afa4e21284b735bb0a092036f298f0b",
      "tree": "098257e5933d1b1a5cbbc3470cef20a4cb856836",
      "parents": [
        "42be79e37e264557f12860fa4cc84b4de3685954",
        "ab310b5edb8b601bcb02491ed6f7676da4fd1757"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 19:29:17 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 19:29:17 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent\n"
    },
    {
      "commit": "042be38e6106ed70b42d096ab4a1ed4187e510e6",
      "tree": "fb3599873f28cf36dbc76b6cd0a84f3e89e5e8cb",
      "parents": [
        "b4a5e8a1deca7e61ebaffb37344766b0f0e9f327"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Apr 01 14:32:43 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 01 16:12:48 2010 -0700"
      },
      "message": "ibft, x86: Change reserve_ibft_region() to find_ibft_region()\n\nThis allows arch code could decide the way to reserve the ibft.\n\nAnd we should reserve ibft as early as possible, instead of BOOTMEM\nstage, in case the table is in RAM range and is not reserved by BIOS\n(this will often be the case.)\n\nMove to just after find_smp_config().\n\nAlso when CONFIG_NO_BOOTMEM\u003dy, We will not have reserve_bootmem() anymore.\n\n-v2: fix typo about ibft pointed by Konrad Rzeszutek Wilk \u003ckonrad@darnok.org\u003e\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4BB510FB.80601@kernel.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Jones \u003cpjones@redhat.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad@kernel.org\u003e\nCC: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "6072f7491f5ef391a575e18a1165e72a3eef1601",
      "tree": "8d15e02b391f89bc518d6981a9325244d464614b",
      "parents": [
        "9ce41aed0d392246eb788786253f242e829fd5e1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Mar 31 20:11:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 01 01:31:13 2010 -0700"
      },
      "message": "ide: Requeue request after DMA timeout\n\nI noticed that my KVM virtual machines were experiencing IDE\nissues resulting in processes stuck on waiting for buffers to\ncomplete.\n\nThe root cause is of course race conditions in the ancient qemu\nbackend that I\u0027m using.  However, the fact that the guest isn\u0027t\nrecovering is a bug.\n\nI\u0027ve tracked it down to the change made last year to dequeue\nrequests at the start rather than at the end in the IDE layer.\n\ncommit 8f6205cd572fece673da0255d74843680f67f879\nAuthor: Tejun Heo \u003ctj@kernel.org\u003e\nDate:   Fri May 8 11:53:59 2009 +0900\n\n    ide: dequeue in-flight request\n\nThe problem is that the function ide_dma_timeout_retry does not\nrequeue the current request, causing one request to be lost for\neach DMA timeout.\n\nThis patch fixes this by requeueing the request.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e49a5bd38159dfb1928fd25b173bc9de4bbadb21",
      "tree": "85c7c5fcce6df6a6ab6c119c40f6652d7783ec0b",
      "parents": [
        "eb1e79611cc9bfe21978230e3521e77ea2d7874a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 22 19:40:03 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Apr 01 08:26:31 2010 +0200"
      },
      "message": "perf: Use hot regs with software sched switch/migrate events\n\nScheduler\u0027s task migration events don\u0027t work because they always\npass NULL regs perf_sw_event(). The event hence gets filtered\nin perf_swevent_add().\n\nScheduler\u0027s context switches events use task_pt_regs() to get\nthe context when the event occured which is a wrong thing to\ndo as this won\u0027t give us the place in the kernel where we went\nto sleep but the place where we left userspace. The result is\neven more wrong if we switch from a kernel thread.\n\nUse the hot regs snapshot for both events as they belong to the\nnon-interrupt/exception based events family. Unlike page faults\nor so that provide the regs matching the exact origin of the event,\nwe need to save the current context.\n\nThis makes the task migration event working and fix the context\nswitch callchains and origin ip.\n\nExample: perf record -a -e cs\n\nBefore:\n\n    10.91%      ksoftirqd/0                  0  [k] 0000000000000000\n                |\n                --- (nil)\n                    perf_callchain\n                    perf_prepare_sample\n                    __perf_event_overflow\n                    perf_swevent_overflow\n                    perf_swevent_add\n                    perf_swevent_ctx_event\n                    do_perf_sw_event\n                    __perf_sw_event\n                    perf_event_task_sched_out\n                    schedule\n                    run_ksoftirqd\n                    kthread\n                    kernel_thread_helper\n\nAfter:\n\n    23.77%  hald-addon-stor  [kernel.kallsyms]  [k] schedule\n            |\n            --- schedule\n               |\n               |--60.00%-- schedule_timeout\n               |          wait_for_common\n               |          wait_for_completion\n               |          blk_execute_rq\n               |          scsi_execute\n               |          scsi_execute_req\n               |          sr_test_unit_ready\n               |          |\n               |          |--66.67%-- sr_media_change\n               |          |          media_changed\n               |          |          cdrom_media_changed\n               |          |          sr_block_media_changed\n               |          |          check_disk_change\n               |          |          cdrom_open\n\nv2: Always build perf_arch_fetch_caller_regs() now that software\nevents need that too. They don\u0027t need it from modules, unlike trace\nevents, so we keep the EXPORT_SYMBOL in trace_event_perf.c\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e446630c960946b5c1762e4eadb618becef599e7",
      "tree": "7dc73fc57fd1d38f309b208b6dadfddf248cb05f",
      "parents": [
        "598ed9367a36ee1fd4ae3271a54a3547a33975a5"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "maz@misterjones.org",
        "time": "Mon Mar 29 08:57:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 23:51:09 2010 -0700"
      },
      "message": "Add hotplug support to mcp251x driver\n\nChip model can now be selected directly by matching the modalias name\n(instead of filling the .model field in platform_data), and allows the\nmodule to be auto-loaded. Previous behaviour is of course still supported.\n\nConvert the two in-tree users to this feature (icontrol \u0026 zeus).\nTested on an Zeus platform (mcp2515).\n\nSigned-off-by: Marc Zyngier \u003cmaz@misterjones.org\u003e\nAcked-by: Christian Pellegrin \u003cchripell@fsfe.org\u003e\nCc: Edwin Peer \u003cepeer@tmtservices.co.za\u003e\nAcked-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b00fabb4020d17bda4bea59507e09fadf573088d",
      "tree": "db746ff4c223cc5ba98927d9f9421285952c7231",
      "parents": [
        "757b77e2b208490868cf21fd22d796eb9bd199c5"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 29 14:47:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 23:51:08 2010 -0700"
      },
      "message": "netdev: ethtool RXHASH flag\n\nThis adds ethtool and device feature flag to allow control\nof receive hashing offload.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5e50daf92df8afcb701fd717b301985691e802f",
      "tree": "a06b35a25d939fb762d45b563df091d390e0274b",
      "parents": [
        "10fad5e46f6c7bdfb01b1a012380a38e3c6ab346"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 31 11:33:42 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 31 11:33:42 2010 +0900"
      },
      "message": "module: add stub for is_module_percpu_address\n\nFix build for CONFIG_MODULES not enabled by providing a stub\nfor is_module_percpu_address().\n\nkernel/lockdep.c:605: error: implicit declaration of function \u0027is_module_percpu_address\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "9b27105b4a44c54bf91ecd7d0315034ae75684f7",
      "tree": "f23691d85d007358a7e52b92f7f4f6a1d6d9f00c",
      "parents": [
        "edc7616c307ad315159a8aa050142237f524e079"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Mar 30 13:56:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 19:08:50 2010 -0700"
      },
      "message": "net-caif-driver: add CAIF serial driver (ldisc)\n\nAdd CAIF Serial driver. This driver is implemented as a line discipline.\n\ncaif_serial uses the following module parameters:\nser_use_stx - specifies if STart of frame eXtension is in use.\nser_loop    - sets the interface in loopback mode.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f671c54207d8a47129f35a84569fdfda614d2439",
      "tree": "a69b987be7d2465dd0c38061415b648c02d74162",
      "parents": [
        "70596b612c04694806a31dd389bd796c035085fa"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Mar 30 13:56:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 19:08:44 2010 -0700"
      },
      "message": "net-caif: add CAIF socket and configuration headers\n\nAdd CAIF types for Socket Address, Socket Options,\nand configuration parameters for the GPRS IP network interface.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70596b612c04694806a31dd389bd796c035085fa",
      "tree": "e5dc2e4f2507344b6e3b280ed496bf42e3efd60b",
      "parents": [
        "2c45cd43ff791cc4ab6a6332165ad53d7bcb3673"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Mar 30 13:56:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 19:08:43 2010 -0700"
      },
      "message": "net-caif: add CAIF protocol definitions\n\nAdd CAIF definitions to existing header files.\nFiles: if_arp.h, if_ether.h, socket.h.\nTypes: ARPHRD_CAIF, ETH_P_CAIF, AF_CAIF, PF_CAIF, SOL_CAIF, N_CAIF\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de380b55f92986c1a84198149cb71b7228d15fbd",
      "tree": "dce7168802e1e65754c9b6455d0527dfa853168c",
      "parents": [
        "ea5a9f0c3447889abceb7482c391bb977472eab9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:06:43 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "percpu: don\u0027t implicitly include slab.h from percpu.h\n\npercpu.h has always been including slab.h to get k[mz]alloc/free() for\nUP inline implementation.  percpu.h being used by very low level\nheaders including module.h and sched.h, this meant that a lot files\nunintentionally got slab.h inclusion.\n\nLee Schermerhorn was trying to make topology.h use percpu.h and got\nbitten by this implicit inclusion.  The right thing to do is break\nthis ultimately unnecessary dependency.  The previous patch added\nexplicit inclusion of either gfp.h or slab.h to the source files using\nthem.  This patch updates percpu.h such that slab.h is no longer\nincluded from percpu.h.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "6631424fd2efd75e7394b318ad2a8597327857a9",
      "tree": "09cc31036c9c53c5faec578ad68d443fd53e1b3d",
      "parents": [
        "c45140a996b511bccdcbbdbea7e36f001826bdf2",
        "c0cd884af045338476b8e69a61fceb3f34ff22f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:41:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:41:18 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: (33 commits)\n  r8169: offical fix for CVE-2009-4537 (overlength frame DMAs)\n  ipv6: Don\u0027t drop cache route entry unless timer actually expired.\n  tulip: Add missing parens.\n  r8169: fix broken register writes\n  pcnet_cs: add new id\n  bonding: fix broken multicast with round-robin mode\n  drivers/net: Fix continuation lines\n  e1000: do not modify tx_queue_len on link speed change\n  net: ipmr/ip6mr: prevent out-of-bounds vif_table access\n  ixgbe: Do not run all Diagnostic offline tests when VFs are active\n  igb: use correct bits to identify if managability is enabled\n  benet: Fix compile warnnings in drivers/net/benet/be_ethtool.c\n  net: Add MSG_WAITFORONE flag to recvmmsg\n  e1000e: do not modify tx_queue_len on link speed change\n  igbvf: do not modify tx_queue_len on link speed change\n  ipv4: Restart rt_intern_hash after emergency rebuild (v2)\n  ipv4: Cleanup struct net dereference in rt_intern_hash\n  net: fix netlink address dumping in IPv4/IPv6\n  tulip: Fix null dereference in uli526x_rx_packet()\n  gianfar: fix undo of reserve()\n  ...\n"
    },
    {
      "commit": "de329820e920cd9cfbc2127cad26a37026260cce",
      "tree": "c392dbee75854e1f0b950f9d16dcf03214c63e80",
      "parents": [
        "ad4ba059005f18ec9e274966c16d99fc5ce8b2cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:30:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:30:19 2010 -0700"
      },
      "message": "ext3: fix broken handling of EXT3_STATE_NEW\n\nIn commit 9df93939b735 (\"ext3: Use bitops to read/modify\nEXT3_I(inode)-\u003ei_state\") ext3 changed its internal \u0027i_state\u0027 variable to\nuse bitops for its state handling.  However, unline the same ext4\nchange, it didn\u0027t actually change the name of the field when it changed\nthe semantics of it.\n\nAs a result, an old use of \u0027i_state\u0027 remained in fs/ext3/ialloc.c that\ninitialized the field to EXT3_STATE_NEW.  And that does not work\n_at_all_ when we\u0027re now working with individually named bits rather than\nvalues that get masked.  So the code tried to mark the state to be new,\nbut in actual fact set the field to EXT3_STATE_JDATA.  Which makes no\nsense at all, and screws up all the code that checks whether the inode\nwas newly allocated.\n\nIn particular, it made the xattr code unhappy, and caused various random\nbehavior, like apparently\n\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d577911\n\nSo fix the initialization, and rename the field to match ext4 so that we\ndon\u0027t have this happen again.\n\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Daniel J Walsh \u003cdwalsh@redhat.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7905e357ebe67a26d9dc8caa1a0b8346431b5f0d",
      "tree": "134442df2f062caa6cebda1b352948b8209efcec",
      "parents": [
        "083ba279d52bcad20f1dfa3cefd4255cbe82d521",
        "76232ebf898c4d5e657f2b663fbf7108bca80ded"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 29 13:50:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 29 13:50:10 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "367d6acceaacff1adc44f121543effb9c060e575",
      "tree": "d1c75af960ad59a594088df843e3fa662b691415",
      "parents": [
        "55a07517edbf15b83f323644edf346726eccd7e0"
      ],
      "author": {
        "name": "viresh kumar",
        "email": "viresh.kumar@st.com",
        "time": "Mon Mar 29 05:29:56 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Mar 29 17:33:33 2010 +0100"
      },
      "message": "ARM: 6003/1: removing compilation warning from pl061.h\n\npl061.h is using u8 type. including \u003clinux/types.h\u003e in pl061.h to avoid\nwarning.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c36207a4624f15020f2918324405c1c88a5d4cbc",
      "tree": "e70f0955f830e7d32ac196ebe2ce3a22a768e4bf",
      "parents": [
        "325ffc3633f1c30ef89d98d619f7e1497366e77c"
      ],
      "author": {
        "name": "viresh kumar",
        "email": "viresh.kumar@st.com",
        "time": "Mon Mar 29 05:28:32 2010 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Mar 29 17:33:31 2010 +0100"
      },
      "message": "ARM: 5999/1: Including device.h and resource.h header files in linux/amba/bus.h\n\nlinux/amba/bus.h have dependencies on linux/device.h and linux/resource.h, but\nit doesn\u0027t include them. We get compilation errors in our files which include\nbus.h but doesn\u0027t include device.h and resource.h. This patch includes device.h\nand resource.h in linux/amba/bus.h file.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Linux Walleij \u003clinux.ml.walleij@gmail.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a53f4f9efaeb1d87cfae066346979d4d70e1abe9",
      "tree": "d774e3c010b96bc71226d5aedd1df04462629db5",
      "parents": [
        "88be12c440cfa2fa3f5be83507360aac9ea1c54e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 29 13:08:52 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 09:14:47 2010 -0700"
      },
      "message": "SLOW_WORK: CONFIG_SLOW_WORK_PROC should be CONFIG_SLOW_WORK_DEBUG\n\nCONFIG_SLOW_WORK_PROC was changed to CONFIG_SLOW_WORK_DEBUG, but not in all\ninstances.  Change the remaining instances.  This makes the debugfs file\ndisplay the time mark and the owner\u0027s description again.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "10fad5e46f6c7bdfb01b1a012380a38e3c6ab346"
}
