)]}'
{
  "log": [
    {
      "commit": "46bcf14f44d8f31ecfdc8b6708ec15a3b33316d9",
      "tree": "4d2a200387242e1ed2d95ccd367c77750379e8cc",
      "parents": [
        "e7dfc8dbdf9a7fa1ef04c63100a71f4102b82ed3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Dec 06 09:29:43 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 09:29:43 2010 -0800"
      },
      "message": "filter: fix sk_filter rcu handling\n\nPavel Emelyanov tried to fix a race between sk_filter_(de|at)tach and\nsk_clone() in commit 47e958eac280c263397\n\nProblem is we can have several clones sharing a common sk_filter, and\nthese clones might want to sk_filter_attach() their own filters at the\nsame time, and can overwrite old_filter-\u003ercu, corrupting RCU queues.\n\nWe can not use filter-\u003ercu without being sure no other thread could do\nthe same thing.\n\nSwitch code to a more conventional ref-counting technique : Do the\natomic decrement immediately and queue one rcu call back when last\nreference is released.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25888e30319f8896fc656fc68643e6a078263060",
      "tree": "ae484d38b1250da885d3939dd9a97e667fbc871d",
      "parents": [
        "50a4205333c5e545551f1f82b3004ca635407c5c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 25 04:11:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 09:45:15 2010 -0800"
      },
      "message": "af_unix: limit recursion level\n\nIts easy to eat all kernel memory and trigger NMI watchdog, using an\nexploit program that queues unix sockets on top of others.\n\nlkml ref : http://lkml.org/lkml/2010/11/25/8\n\nThis mechanism is used in applications, one choice we have is to have a\nrecursion limit.\n\nOther limits might be needed as well (if we queue other types of files),\nsince the passfd mechanism is currently limited by socket receive queue\nsizes only.\n\nAdd a recursion_level to unix socket, allowing up to 4 levels.\n\nEach time we send an unix socket through sendfd mechanism, we copy its\nrecursion level (plus one) to receiver. This recursion level is cleared\nwhen socket receive queue is emptied.\n\nReported-by: Марк Коренберг \u003csocketpair@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07bfa524d4c67acbb6b6fbdd1dea923d07853c04",
      "tree": "6e3819f13d3f4efa9c099cf227b1d42b1bc78620",
      "parents": [
        "93908d192686d8285dd6441ff855df92a40103d2",
        "3bf30b56c4f0a1c4fae34050b7db4527c92891e8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 11:56:09 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 11:56:09 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "ef22b7b65f0eda9015becc7bff225a399914a242",
      "tree": "15801292a4a57bc71552685e10f21e1e8094efc8",
      "parents": [
        "b52b97a339c0f2d76dfd6a31466d3f1b05c5cf7e"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Nov 18 09:40:04 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:40:04 2010 -0800"
      },
      "message": "net: Fix duplicate volatile warning.\n\njiffies is defined as \"volatile\".\n\n  extern unsigned long volatile __jiffy_data jiffies;\n\nACCESS_ONCE() uses \"volatile\".\nAs a result, some compilers warn duplicate `volatile\u0027 for ACCESS_ONCE(jiffies).\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "309075cf08ed92a7d2c0e22b7653c5daabbd7ad1",
      "tree": "65b181daa85a0b7e92460a1f71139ff50de07eb4",
      "parents": [
        "62370e2b9376ea7b76e0423de28ccb322c17e2da"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Fri Nov 12 08:53:56 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 15:00:42 2010 -0500"
      },
      "message": "cfg80211: fix WIPHY_FLAG_IBSS_RSN bit\n\nWIPHY_FLAG_IBSS_RSN is BIT(7) as is WIPHY_FLAG_CONTROL_PORT_PROTOCOL. Change\nto BIT(8).\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62370e2b9376ea7b76e0423de28ccb322c17e2da",
      "tree": "9c931b3bc1b5f1ef5b681de3cf567bda783e61a7",
      "parents": [
        "7379efeacb707f49729080791a7a562d8996aec4"
      ],
      "author": {
        "name": "Arnd Hannemann",
        "email": "arnd@arndnet.de",
        "time": "Thu Nov 11 11:44:32 2010 -0600"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 15:00:42 2010 -0500"
      },
      "message": "b43legacy: Fix compile on ARM architecture\n\nWhen b43legacy is compiled on the arm platform, the following errors are seen:\n\n  CC [M]  drivers/net/wireless/b43legacy/xmit.o\nIn file included from include/net/dst.h:11,\nfrom drivers/net/wireless/b43legacy/xmit.c:31:\ninclude/net/dst_ops.h:28: error: expected \u0027:\u0027, \u0027,\u0027, \u0027;\u0027, \u0027}\u0027 or \u0027__attribute__\u0027\n   before \u0027____cacheline_aligned_in_smp\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_fast\u0027:\ninclude/net/dst_ops.h:33: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_slow\u0027:\ninclude/net/dst_ops.h:41: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_add\u0027:\ninclude/net/dst_ops.h:49: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_init\u0027:\ninclude/net/dst_ops.h:55: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_destroy\u0027:\ninclude/net/dst_ops.h:60: error: \u0027struct dst_ops\u0027 has no member named\n   \u0027pcpuc_entries\u0027\nmake[4]: *** [drivers/net/wireless/b43legacy/xmit.o] Error 1\nmake[3]: *** [drivers/net/wireless/b43legacy] Error 2\nmake[2]: *** [drivers/net/wireless] Error 2\nmake[1]: *** [drivers/net] Error 2\nmake: *** [drivers] Error 2\n\nThe cause is a missing include of \u003clinux/cache.h\u003e, which is present for\ni386 and x86_64 architectures, but not for arm.\n\nSigned-off-by: Arnd Hannemann \u003carnd@arndnet.de\u003e\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9457b24a0955bbdd2e89220a75de69fe09501bba",
      "tree": "cb484848e14cc2705c4513ad3ec1f0420a4d55db",
      "parents": [
        "80ef913f5e6a84551545016cea709f5e96d0cda6",
        "0597d1b99fcfc2c0eada09a698f85ed413d4ba84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 17:17:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 17:17:55 2010 -0800"
      },
      "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: (66 commits)\n  can-bcm: fix minor heap overflow\n  gianfar: Do not call device_set_wakeup_enable() under a spinlock\n  ipv6: Warn users if maximum number of routes is reached.\n  docs: Add neigh/gc_thresh3 and route/max_size documentation.\n  axnet_cs: fix resume problem for some Ax88790 chip\n  ipv6: addrconf: don\u0027t remove address state on ifdown if the address is being kept\n  tcp: Don\u0027t change unlocked socket state in tcp_v4_err().\n  x25: Prevent crashing when parsing bad X.25 facilities\n  cxgb4vf: add call to Firmware to reset VF State.\n  cxgb4vf: Fail open if link_start() fails.\n  cxgb4vf: flesh out PCI Device ID Table ...\n  cxgb4vf: fix some errors in Gather List to skb conversion\n  cxgb4vf: fix bug in Generic Receive Offload\n  cxgb4vf: don\u0027t implement trivial (and incorrect) ndo_select_queue()\n  ixgbe: Look inside vlan when determining offload protocol.\n  bnx2x: Look inside vlan when determining checksum proto.\n  vlan: Add function to retrieve EtherType from vlan packets.\n  virtio-net: init link state correctly\n  ucc_geth: Fix deadlock\n  ucc_geth: Do not bring the whole IF down when TX failure.\n  ...\n"
    },
    {
      "commit": "8d987e5c75107ca7515fa19e857cfa24aab6ec8f",
      "tree": "6392c5f08f0df39d42a079336f6be3960ac404dc",
      "parents": [
        "67286640f638f5ad41a946b9a3dc75327950248f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 09 23:24:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:12:00 2010 -0800"
      },
      "message": "net: avoid limits overflow\n\nRobin Holt tried to boot a 16TB machine and found some limits were\nreached : sysctl_tcp_mem[2], sysctl_udp_mem[2]\n\nWe can switch infrastructure to use long \"instead\" of \"int\", now\natomic_long_t primitives are available for free.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43b81f85ebfbed9c720f3c27ec7f364930aa3b5e",
      "tree": "9e741f629267b9e7742f42c62e77200a8c336b15",
      "parents": [
        "86c2c0a8a4965ae5cbc0ff97ed39a4472e8e9b23"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Nov 07 19:58:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 07 19:58:05 2010 -0800"
      },
      "message": "net dst: need linux/cache.h for ____cacheline_aligned_in_smp.\n\nPresently the b43legacy build fails on an sh randconfig:\n\nIn file included from include/net/dst.h:12,\n                 from drivers/net/wireless/b43legacy/xmit.c:32:\ninclude/net/dst_ops.h:28: error: expected \u0027:\u0027, \u0027,\u0027, \u0027;\u0027, \u0027}\u0027 or \u0027__attribute__\u0027 before \u0027____cacheline_aligned_in_smp\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_fast\u0027:\ninclude/net/dst_ops.h:33: error: \u0027struct dst_ops\u0027 has no member named \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_get_slow\u0027:\ninclude/net/dst_ops.h:41: error: \u0027struct dst_ops\u0027 has no member named \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_add\u0027:\ninclude/net/dst_ops.h:49: error: \u0027struct dst_ops\u0027 has no member named \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_init\u0027:\ninclude/net/dst_ops.h:55: error: \u0027struct dst_ops\u0027 has no member named \u0027pcpuc_entries\u0027\ninclude/net/dst_ops.h: In function \u0027dst_entries_destroy\u0027:\ninclude/net/dst_ops.h:60: error: \u0027struct dst_ops\u0027 has no member named \u0027pcpuc_entries\u0027\nmake[5]: *** [drivers/net/wireless/b43legacy/xmit.o] Error 1\nmake[5]: *** Waiting for unfinished jobs....\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b4a2700f462102569b407102c60d3b9cf4432a0",
      "tree": "d326b404c99ca477d47aa0e06eb64f0b3e2d8347",
      "parents": [
        "f69fa76482e654f7d94e4aa40ea0ebf04363396a",
        "22e76c849d505d87c5ecf3d3e6742a65f0ff4860"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 15:25:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 15:25:48 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: (41 commits)\n  inet_diag: Make sure we actually run the same bytecode we audited.\n  netlink: Make nlmsg_find_attr take a const nlmsghdr*.\n  fib: fib_result_assign() should not change fib refcounts\n  netfilter: ip6_tables: fix information leak to userspace\n  cls_cgroup: Fix crash on module unload\n  memory corruption in X.25 facilities parsing\n  net dst: fix percpu_counter list corruption and poison overwritten\n  rds: Remove kfreed tcp conn from list\n  rds: Lost locking in loop connection freeing\n  de2104x: fix panic on load\n  atl1 : fix panic on load\n  netxen: remove unused firmware exports\n  caif: Remove noisy printout when disconnecting caif socket\n  caif: SPI-driver bugfix - incorrect padding.\n  caif: Bugfix for socket priority, bindtodev and dbg channel.\n  smsc911x: Set Ethernet EEPROM size to supported device\u0027s size\n  ipv4: netfilter: ip_tables: fix information leak to userland\n  ipv4: netfilter: arp_tables: fix information leak to userland\n  cxgb4vf: remove call to stop TX queues at load time.\n  cxgb4: remove call to stop TX queues at load time.\n  ...\n"
    },
    {
      "commit": "6b8c92ba07287578718335ce409de8e8d7217e40",
      "tree": "2faf1c0398cd6236af4193dd78c4e27207358fc2",
      "parents": [
        "1f1b9c9990205759aae31b7734b0ede41a867f32"
      ],
      "author": {
        "name": "Nelson Elhage",
        "email": "nelhage@ksplice.com",
        "time": "Wed Nov 03 16:35:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 04 12:26:34 2010 -0700"
      },
      "message": "netlink: Make nlmsg_find_attr take a const nlmsghdr*.\n\nThis will let us use it on a nlmsghdr stored inside a netlink_callback.\n\nSigned-off-by: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c24a5d1b4f48900f3ed1b1ad70c51f1983df822",
      "tree": "c40f3756a0b64af118e64dd8f345c6e6649e66a8",
      "parents": [
        "f2527ec436fd675f08a8e7434f6e940688cb96d0"
      ],
      "author": {
        "name": "Sjur Brændeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Mon Nov 01 11:52:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 03 18:50:03 2010 -0700"
      },
      "message": "caif: SPI-driver bugfix - incorrect padding.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2527ec436fd675f08a8e7434f6e940688cb96d0",
      "tree": "f3c723c652b58cd4862d635e598a4ad88eedec64",
      "parents": [
        "6cc0e949afe757d240fba4ad1839a27f66c3bd72"
      ],
      "author": {
        "name": "André Carvalho de Matos",
        "email": "andre.carvalho.matos@stericsson.com",
        "time": "Mon Nov 01 11:52:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 03 18:50:03 2010 -0700"
      },
      "message": "caif: Bugfix for socket priority, bindtodev and dbg channel.\n\nChanges:\no Bugfix: SO_PRIORITY for SOL_SOCKET could not be handled\n  in caif\u0027s setsockopt,  using the struct sock attribute priority instead.\n\no Bugfix: SO_BINDTODEVICE for SOL_SOCKET could not be handled\n  in caif\u0027s setsockopt,  using the struct sock attribute ifindex instead.\n\no Wrong assert statement for RFM layer segmentation.\n\no CAIF Debug channels was not working over SPI, caif_payload_info\n  containing padding info must be initialized.\n\no Check on pointer before dereferencing when unregister dev in caif_dev.c\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1840897ab5d39b2e510c610ee262ded79919e718",
      "tree": "0b7fe95e3eda357d35b0d017f2b678b652307827",
      "parents": [
        "d56f84e7e317c69adefb2454a3d538a6d7e11e4b",
        "a4765fa7bfb92d5b9de19a503674b6624f95a7ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:17:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:17:12 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: (34 commits)\n  b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd\n  mac80211: fix failure to check kmalloc return value in key_key_read\n  libertas: Fix sd8686 firmware reload\n  ath9k: Fix incorrect access of rate flags in RC\n  netfilter: xt_socket: Make tproto signed in socket_mt6_v1().\n  stmmac: enable/disable rx/tx in the core with a single write.\n  net: atarilance - flags should be unsigned long\n  netxen: fix kdump\n  pktgen: Limit how much data we copy onto the stack.\n  net: Limit socket I/O iovec total length to INT_MAX.\n  USB: gadget: fix ethernet gadget crash in gether_setup\n  fib: Fix fib zone and its hash leak on namespace stop\n  cxgb3: Fix panic in free_tx_desc()\n  cxgb3: fix crash due to manipulating queues before registration\n  8390: Don\u0027t oops on starting dev queue\n  dccp ccid-2: Stop polling\n  dccp: Refine the wait-for-ccid mechanism\n  dccp: Extend CCID packet dequeueing interface\n  dccp: Return-value convention of hc_tx_send_packet()\n  igbvf: fix panic on load\n  ...\n"
    },
    {
      "commit": "4aa2c466a7733af093a526e9d1cdd0b3b90d47e9",
      "tree": "093d99b6c728867a8eb9548463d94661e3d0799e",
      "parents": [
        "b1424ed91076db0b19ba4141856150df9b717dde"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Oct 28 02:00:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 28 10:27:03 2010 -0700"
      },
      "message": "fib: Fix fib zone and its hash leak on namespace stop\n\nWhen we stop a namespace we flush the table and free one, but the\nadded fn_zone-s (and their hashes if grown) are leaked. Need to free.\nTries releases all its stuff in the flushing code.\n\nShame on us - this bug exists since the very first make-fib-per-net\npatches in 2.6.27 :(\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b165d60145b717261a0234f989c442c2b68b6ec0",
      "tree": "024f9f2c71ff85a806ed47cbbf451edeaa7111a5",
      "parents": [
        "7b3bb3fe166702b504f1068359c9550d3b277eaf"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Fri Oct 22 10:13:12 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:49 2010 -0500"
      },
      "message": "9p: Add datasync to client side TFSYNC/RFSYNC for dotl\n\nSYNOPSIS\n    size[4] Tfsync tag[2] fid[4] datasync[4]\n\n    size[4] Rfsync tag[2]\n\nDESCRIPTION\n\n    The Tfsync transaction transfers (\"flushes\") all modified in-core data of\n    file identified by fid to the disk device (or other  permanent  storage\n    device)  where that  file  resides.\n\n    If datasync flag is specified data will be fleshed but does not flush\n    modified metadata unless  that  metadata  is  needed  in order to allow a\n    subsequent data retrieval to be correctly handled.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "329176cc2c50e63c580ddaabb385876db5af1360",
      "tree": "c7a95364c6339f75d37e1b63890d94114cd1935e",
      "parents": [
        "368c09d2a303c39e9f37193b23e945e6754cf0a7"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Tue Sep 28 19:59:25 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:48 2010 -0500"
      },
      "message": "9p: Implement TREADLINK operation for 9p2000.L\n\nSynopsis\n\n\tsize[4] TReadlink tag[2] fid[4]\n\tsize[4] RReadlink tag[2] target[s]\n\nDescription\n\tReadlink is used to return the contents of the symoblic link\n        referred by fid. Contents of symboic link is returned as a\n        response.\n\n\ttarget[s] - Contents of the symbolic link referred by fid.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "1d769cd192fc8c4097b1e2cd41fdee6ba3d1b2af",
      "tree": "16fd71ff9178bbfe144a28a2e168c85fb541a11b",
      "parents": [
        "a099027c779068b834f335cfdc3f2bf10f531dd9"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Mon Sep 27 12:22:13 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "9p: Implement TGETLOCK\n\nSynopsis\n\n    size[4] TGetlock tag[2] fid[4] getlock[n]\n    size[4] RGetlock tag[2] getlock[n]\n\nDescription\n\nTGetlock is used to test for the existence of byte range posix locks on a file\nidentified by given fid. The reply contains getlock structure. If the lock could\nbe placed it returns F_UNLCK in type field of getlock structure.  Otherwise it\nreturns the details of the conflicting locks in the getlock structure\n\n    getlock structure:\n      type[1] - Type of lock: F_RDLCK, F_WRLCK\n      start[8] - Starting offset for lock\n      length[8] - Number of bytes to check for the lock\n             If length is 0, check for lock in all bytes starting at the location\n            \u0027start\u0027 through to the end of file\n      pid[4] - PID of the process that wants to take lock/owns the task\n               in case of reply\n      client[4] - Client id of the system that owns the process which\n                  has the conflicting lock\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a099027c779068b834f335cfdc3f2bf10f531dd9",
      "tree": "eee43443cce85a03c13b1cfdd25bf451445cf78f",
      "parents": [
        "920e65dc6911da28a58e17f4b683302636fc6d8e"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Mon Sep 27 11:34:24 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "9p: Implement TLOCK\n\nSynopsis\n\n    size[4] TLock tag[2] fid[4] flock[n]\n    size[4] RLock tag[2] status[1]\n\nDescription\n\nTlock is used to acquire/release byte range posix locks on a file\nidentified by given fid. The reply contains status of the lock request\n\n    flock structure:\n        type[1] - Type of lock: F_RDLCK, F_WRLCK, F_UNLCK\n        flags[4] - Flags could be either of\n          P9_LOCK_FLAGS_BLOCK - Blocked lock request, if there is a\n            conflicting lock exists, wait for that lock to be released.\n          P9_LOCK_FLAGS_RECLAIM - Reclaim lock request, used when client is\n            trying to reclaim a lock after a server restrart (due to crash)\n        start[8] - Starting offset for lock\n        length[8] - Number of bytes to lock\n          If length is 0, lock all bytes starting at the location \u0027start\u0027\n          through to the end of file\n        pid[4] - PID of the process that wants to take lock\n        client_id[4] - Unique client id\n\n        status[1] - Status of the lock request, can be\n          P9_LOCK_SUCCESS(0), P9_LOCK_BLOCKED(1), P9_LOCK_ERROR(2) or\n          P9_LOCK_GRACE(3)\n          P9_LOCK_SUCCESS - Request was successful\n          P9_LOCK_BLOCKED - A conflicting lock is held by another process\n          P9_LOCK_ERROR - Error while processing the lock request\n          P9_LOCK_GRACE - Server is in grace period, it can\u0027t accept new lock\n            requests in this period (except locks with\n            P9_LOCK_FLAGS_RECLAIM flag set)\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "920e65dc6911da28a58e17f4b683302636fc6d8e",
      "tree": "761280ee48576a45d13df5df685ea6b9da7fd775",
      "parents": [
        "b04faaf3717307cd976a15667c8c24161c1d24ef"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Sep 22 17:19:19 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "[9p] Introduce client side TFSYNC/RFSYNC for dotl.\n\nSYNOPSIS\n    size[4] Tfsync tag[2] fid[4]\n\n    size[4] Rfsync tag[2]\n\nDESCRIPTION\n\nThe Tfsync transaction transfers (\"flushes\") all modified in-core data of\nfile identified by fid to the disk device (or other  permanent  storage\ndevice)  where that  file  resides.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4f7ebe807242898ee08ed732d56982874442c304",
      "tree": "25d8cec6b3a487fb9b44b3af20179a6f7b5db36d",
      "parents": [
        "7c7298cffc8f4417c95117c2a432f962c066499d"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Wed Jul 28 14:17:26 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:45 2010 -0500"
      },
      "message": "net/9p: This patch implements TLERROR/RLERROR on the 9P client.\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a10c02036f82b1fa30d69a62f7c7d9a927e8adbc",
      "tree": "c7435bd8023305fe708a91912aa6d49c68032e90",
      "parents": [
        "4101e976e0376a1820ae55adf8bca7dda5089a7d"
      ],
      "author": {
        "name": "Amarnath Revanna",
        "email": "amarnath.bangalore.revanna@stericsson.com",
        "time": "Wed Oct 27 08:34:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 12:29:51 2010 -0700"
      },
      "message": "caif-u5500: Adding shared memory include\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b914c4ea929a4ba6fb97967800dc473c31552b98",
      "tree": "630f7c81d82e580e5aa5164c0e4cf1d0dadca3ba",
      "parents": [
        "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 23:55:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:33 2010 -0700"
      },
      "message": "inetpeer: __rcu annotations\n\nAdds __rcu annotations to inetpeer\n\t(struct inet_peer)-\u003eavl_left\n\t(struct inet_peer)-\u003eavl_right\n\nThis is a tedious cleanup, but removes one smp_wmb() from link_to_pool()\nsince we now use more self documenting rcu_assign_pointer().\n\nNote the use of RCU_INIT_POINTER() instead of rcu_assign_pointer() in\nall cases we dont need a memory barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383",
      "tree": "ccc580891d9d17e2482e2f3db2b2c8cf80bdf773",
      "parents": [
        "b33eab08445d86c3d0dec3111ce10df561328705"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 26 09:24:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "fib_rules: __rcu annotates ctarget\n\nAdds __rcu annotation to (struct fib_rule)-\u003ectarget\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b33eab08445d86c3d0dec3111ce10df561328705",
      "tree": "381a37141d4da9cf6cb3a8c8c37c6363d856f8e4",
      "parents": [
        "e0ad61ec867fdd262804afa7a68e11fc9930c2b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:01:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "tunnels: add __rcu annotations\n\nAdd __rcu annotations to :\n        (struct ip_tunnel)-\u003eprl\n        (struct ip_tunnel_prl_entry)-\u003enext\n        (struct xfrm_tunnel)-\u003enext\n\tstruct xfrm_tunnel *tunnel4_handlers\n\tstruct xfrm_tunnel *tunnel64_handlers\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ad61ec867fdd262804afa7a68e11fc9930c2b9",
      "tree": "f59451cdfa2086757e55b18b87167b0fef3de2c1",
      "parents": [
        "1c31720a74e19bb57f301350a3b03210fa2ba9e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "net: add __rcu annotations to protocol\n\nAdd __rcu annotations to :\n        struct net_protocol *inet_protos\n        struct net_protocol *inet6_protos\n\nAnd use appropriate casts to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c31720a74e19bb57f301350a3b03210fa2ba9e3",
      "tree": "053f29ffa53383eb003ac632971f31e1643ef1d9",
      "parents": [
        "c1b60092cf307fef12f793abf7cf8167e26a6ccf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "ipv4: add __rcu annotations to routes.c\n\nAdd __rcu annotations to :\n        (struct dst_entry)-\u003ert_next\n        (struct rt_hash_bucket)-\u003echain\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43a951e9994fd218ab4e641f94a2fc53556c3675",
      "tree": "497fe39185131f1d729c980c264562ff5cab86e8",
      "parents": [
        "0d7da9ddd9a4eb7808698d04b98bf9d62d02649b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:32:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:28 2010 -0700"
      },
      "message": "ipv4: add __rcu annotations to ip_ra_chain\n\nAdd __rcu annotations to :\n        (struct ip_ra_chain)-\u003enext\n\tstruct ip_ra_chain *ip_ra_chain;\n\nAnd use appropriate rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d7da9ddd9a4eb7808698d04b98bf9d62d02649b",
      "tree": "b170122c08d47be35a056782be54573ba19fe0b0",
      "parents": [
        "1c87733d0682547050ccccb400cdac425fa43b39"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:47:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:28 2010 -0700"
      },
      "message": "net: add __rcu annotation to sk_filter\n\nAdd __rcu annotation to :\n        (struct sock)-\u003esk_filter\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c87733d0682547050ccccb400cdac425fa43b39",
      "tree": "8ec9de7722a2be0e97d9ad6a04d12fb0d298b201",
      "parents": [
        "6e3f7faf3e8a3e226b1a6b955aac12abf2f2e1b6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:20:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:27 2010 -0700"
      },
      "message": "net_ns: add __rcu annotations\n\nadd __rcu annotation to (struct net)-\u003egen, and use\nrcu_dereference_protected() in net_assign_generic()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f0bcf152582e7403155627a38e07bf3ef7f3cf5",
      "tree": "0dafb9ea61fa01bb8850ee2bcce97b98c23a7c8f",
      "parents": [
        "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:33:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:45 2010 -0700"
      },
      "message": "tunnels: add _rcu annotations\n\n(struct ip6_tnl)-\u003enext is rcu protected :\n(struct ip_tunnel)-\u003enext is rcu protected :\n(struct xfrm6_tunnel)-\u003enext is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474",
      "tree": "3f45e2ddfc224edd166b1cdc79ddff62532b4c7d",
      "parents": [
        "198caeca3eb4c81bbdbeb34a870868002f89b3d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:32:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:44 2010 -0700"
      },
      "message": "net/802: add __rcu annotations\n\n(struct net_device)-\u003egarp_port is rcu protected :\n(struct garp_port)-\u003eapplicants is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "888a6f77e0418b049f83d37547c209b904d30af4",
      "tree": "42cdb9f781d2177e6b380e69a66a27ec7705f51f",
      "parents": [
        "31b7eab27a314b153d8fa07ba9e9ec00a98141e1",
        "6506cf6ce68d78a5470a8360c965dafe8e4b78e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (52 commits)\n  sched: fix RCU lockdep splat from task_group()\n  rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp-\u003eqsmask value\n  sched: suppress RCU lockdep splat in task_fork_fair\n  net: suppress RCU lockdep false positive in sock_update_classid\n  rcu: move check from rcu_dereference_bh to rcu_read_lock_bh_held\n  rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter\n  rcu: Add tracing data to support queueing models\n  rcu: fix sparse errors in rcutorture.c\n  rcu: only one evaluation of arg in rcu_dereference_check() unless sparse\n  kernel: Remove undead ifdef CONFIG_DEBUG_LOCK_ALLOC\n  rcu: fix _oddness handling of verbose stall warnings\n  rcu: performance fixes to TINY_PREEMPT_RCU callback checking\n  rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes\n  vhost: add __rcu annotations\n  rcu: add comment stating that list_empty() applies to RCU-protected lists\n  rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU\n  rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU\n  rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods\n  rcu: document ways of stalling updates in low-memory situations\n  rcu: repair code-duplication FIXMEs\n  ...\n"
    },
    {
      "commit": "9941fb62762253774cc6177d0b9172ece5133fe1",
      "tree": "641fc2b376e2f84c7023aa0cd8b9d76f954cc3a1",
      "parents": [
        "a5190b4eea1f1c53ee26b3d1176441cafa8e7f79",
        "3b1a1ce6f418cb7ab35eb55c8a6575987a524e30"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "3b1a1ce6f418cb7ab35eb55c8a6575987a524e30",
      "tree": "a3ebee69d6370631746a348f5852eeb955df5bd3",
      "parents": [
        "cc6eb433856983e91071469c4ce57accb6947ccb",
        "b0aeef30433ea6854e985c2e9842fa19f51b95cc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:25:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:25:51 2010 +0200"
      },
      "message": "Merge branch \u0027for-patrick\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-test-2.6\n"
    },
    {
      "commit": "3b9afb29917f4ab08decf358ecfd354a72a91ac0",
      "tree": "fbc5b5d684ddb8ea276d93ad5890eab55001c896",
      "parents": [
        "0a513f6af962525ed4b3395f8c8d5daae8682aa9"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:12:14 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:12:14 2010 +0200"
      },
      "message": "tproxy: added IPv6 socket lookup function to nf_tproxy_core\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "aa976fc011efa1f0e3290c6c9addf7c20757f885",
      "tree": "93e692330e1d8e3e366bb0fec71b394c5e79ee93",
      "parents": [
        "88440ae70eda83d0cc94148d404f4990c9f1289c"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:05:41 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:05:41 2010 +0200"
      },
      "message": "tproxy: added udp6_lib_lookup function\n\nJust like with IPv4, we need access to the UDP hash table to look up local\nsockets, but instead of exporting the global udp_table, export a lookup\nfunction.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e97c3e278e951501c2f385de70c3ceacdea78c4a",
      "tree": "1794d174ef487cff2ff135f8ca4c795c847f41ed",
      "parents": [
        "093d282321daeb19c107e5f1f16d7f68484f3ade"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:03:43 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:03:43 2010 +0200"
      },
      "message": "tproxy: split off ipv6 defragmentation to a separate module\n\nLike with IPv4, TProxy needs IPv6 defragmentation but does not\nrequire connection tracking. Since defragmentation was coupled\nwith conntrack, I split off the two, creating an nf_defrag_ipv6 module,\nsimilar to the already existing nf_defrag_ipv4.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "32a875adcdcf5f470bf967250cfd01722e23844f",
      "tree": "3dbb0e3118de15d22c48df74ab5d953a2839102b",
      "parents": [
        "ff51bf841587c75b58d25ed77263158619784dd3"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Oct 19 06:48:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 04:26:39 2010 -0700"
      },
      "message": "9p: client code cleanup\n\nMake p9_client_version static since only used in one file.\nRemove p9_client_auth because it is defined but never used.\nCompile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "093d282321daeb19c107e5f1f16d7f68484f3ade",
      "tree": "36e9eed23573068819bf67a91caac6ebf60d0d7c",
      "parents": [
        "6006db84a91838813cdad8a6622a4e39efe9ea47"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 13:06:43 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 13:06:43 2010 +0200"
      },
      "message": "tproxy: fix hash locking issue when using port redirection in __inet_inherit_port()\n\nWhen __inet_inherit_port() is called on a tproxy connection the wrong locks are\nheld for the inet_bind_bucket it is added to. __inet_inherit_port() made an\nimplicit assumption that the listener\u0027s port number (and thus its bind bucket).\nUnfortunately, if you\u0027re using the TPROXY target to redirect skbs to a\ntransparent proxy that assumption is not true anymore and things break.\n\nThis patch adds code to __inet_inherit_port() so that it can handle this case\nby looking up or creating a new bind bucket for the child socket and updates\ncallers of __inet_inherit_port() to gracefully handle __inet_inherit_port()\nfailing.\n\nReported by and original patch from Stephen Buck \u003cstephen.buck@exinda.com\u003e.\nSee http://marc.info/?t\u003d128169268200001\u0026r\u003d1\u0026w\u003d2 for the original discussion.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6006db84a91838813cdad8a6622a4e39efe9ea47",
      "tree": "842b0a7efaf2d826c82e04ae5552e9b94c6de858",
      "parents": [
        "106e4c26b1529e559d1aae777f11b4f8f7bafc26"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 12:47:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 12:47:34 2010 +0200"
      },
      "message": "tproxy: add lookup type checks for UDP in nf_tproxy_get_sock_v4()\n\nAlso, inline this function as the lookup_type is always a literal\nand inlining removes branches performed at runtime.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "106e4c26b1529e559d1aae777f11b4f8f7bafc26",
      "tree": "e784c61379e767255bf941f9d78d9ef6e7c58640",
      "parents": [
        "d86bef73b4a24e59e7c1f896a72bbf38430ac2c6"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 12:45:14 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 12:45:14 2010 +0200"
      },
      "message": "tproxy: kick out TIME_WAIT sockets in case a new connection comes in with the same tuple\n\nWithout tproxy redirections an incoming SYN kicks out conflicting\nTIME_WAIT sockets, in order to handle clients that reuse ports\nwithin the TIME_WAIT period.\n\nThe same mechanism didn\u0027t work in case TProxy is involved in finding\nthe proper socket, as the time_wait processing code looked up the\nlistening socket assuming that the listener addr/port matches those\nof the established connection.\n\nThis is not the case with TProxy as the listener addr/port is possibly\nchanged with the tproxy rule.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3511c9132f8b1e1b5634e41a3331c44b0c13be70",
      "tree": "fecff28f3bf8fbfdecd33d9b98253d60f1d45bf7",
      "parents": [
        "26d8ee75e08cfca8b65ade871d68c8cd96e4ea23"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Oct 16 13:04:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:47 2010 -0700"
      },
      "message": "net_sched: remove the unused parameter of qdisc_create_dflt()\n\nThe first parameter dev isn\u0027t in use in qdisc_create_dflt().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c4c40c42da468ef02dc04940930c1926c964558",
      "tree": "3285bd36ab5ff41a24245e94e50016d5bf45bedf",
      "parents": [
        "8d8a0b1cc2a8f9794a3f1f747089b6a93774408d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:14:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:46 2010 -0700"
      },
      "message": "xfrm: make xfrm_bundle_ok local\n\nOnly used in one place.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d8a0b1cc2a8f9794a3f1f747089b6a93774408d",
      "tree": "4baab7706f18ceafb92a2fa953350ed7d9959f3a",
      "parents": [
        "6f747aca5e61778190d1e27bdc469f49149f0230"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:12:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:45 2010 -0700"
      },
      "message": "rtnetlink: remove rtnl_kill_links\n\nThe function rtnl_kill_links is defined but never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f747aca5e61778190d1e27bdc469f49149f0230",
      "tree": "127de8b153a05437add3b959f10eea831466781e",
      "parents": [
        "191cc6877408348e90f4adb64726b60a93246b8b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:15:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:45 2010 -0700"
      },
      "message": "xfrm6: make xfrm6_tunnel_free_spi local\n\nFunction only defined and used in one file.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d79641a96d612aaa6d57a4d4f521d7ed9c9ccdd",
      "tree": "9783497ace4f8ff8eeac24524ecb93012166c60d",
      "parents": [
        "3233759be7eeca9998c514b8f49e8cf2b85e64d3"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:46:17 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 11:04:43 2010 +0200"
      },
      "message": "ipvs: provide address family for debugging\n\n \tAs skb-\u003eprotocol is not valid in LOCAL_OUT add\nparameter for address family in packet debugging functions.\nEven if ports are not present in AH and ESP change them to\nuse ip_vs_tcpudp_debug_packet to show at least valid addresses\nas before. This patch removes the last user of skb-\u003eprotocol\nin IPVS.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "fc604767613b6d2036cdc35b660bc39451040a47",
      "tree": "50177ff8f66e0f153b2f172f98290eae5fcaee24",
      "parents": [
        "f5a41847acc535e2e2018e397b1876ba7577d9d9"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:38:15 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 11:03:46 2010 +0200"
      },
      "message": "ipvs: changes for local real server\n\n \tThis patch deals with local real servers:\n\n- Add support for DNAT to local address (different real server port).\nIt needs ip_vs_out hook in LOCAL_OUT for both families because\nskb-\u003eprotocol is not set for locally generated packets and can not\nbe used to set \u0027af\u0027.\n\n- Skip packets in ip_vs_in marked with skb-\u003eipvs_property because\nip_vs_out processing can be executed in LOCAL_OUT but we still\nhave the conn_out_get check in ip_vs_in.\n\n- Ignore packets with inet-\u003enodefrag from local stack\n\n- Require skb_dst(skb) !\u003d NULL because we use it to get struct net\n\n- Add support for changing the route to local IPv4 stack after DNAT\ndepending on the source address type. Local client sets output\nroute and the remote client sets input route. It looks like\nIPv6 does not need such rerouting because the replies use\naddresses from initial incoming header, not from skb route.\n\n- All transmitters now have strict checks for the destination\naddress type: redirect from non-local address to local real\nserver requires NAT method, local address can not be used as\nsource address when talking to remote real server.\n\n- Now LOCALNODE is not set explicitly as forwarding\nmethod in real server to allow the connections to provide\ncorrect forwarding method to the backup server. Not sure if\nthis breaks tools that expect to see \u0027Local\u0027 real server type.\nIf needed, this can be supported with new flag IP_VS_DEST_F_LOCAL.\nNow it should be possible connections in backup that lost\ntheir fwmark information during sync to be forwarded properly\nto their daddr, even if it is local address in the backup server.\nBy this way backup could be used as real server for DR or TUN,\nfor NAT there are some restrictions because tuple collisions\nin conntracks can create problems for the traffic.\n\n- Call ip_vs_dst_reset when destination is updated in case\nsome real server IP type is changed between local and remote.\n\n[ horms@verge.net.au: removed trailing whitespace ]\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "190ecd27cd7294105e3b26ca71663c7d940acbbb",
      "tree": "0dfc3569862e260a7c35c7dee14332de4345eeba",
      "parents": [
        "cf356d69db0afef692cd640917bc70f708c27f14"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:24:37 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:41 2010 +0200"
      },
      "message": "ipvs: do not schedule conns from real servers\n\n \tThis patch is needed to avoid scheduling of\npackets from local real server when we add ip_vs_in\nin LOCAL_OUT hook to support local client.\n\n \tCurrently, when ip_vs_in can not find existing\nconnection it tries to create new one by calling ip_vs_schedule.\n\n \tThe default indication from ip_vs_schedule was if\nconnection was scheduled to real server. If real server is\nnot available we try to use the bypass forwarding method\nor to send ICMP error. But in some cases we do not want to use\nthe bypass feature. So, add flag \u0027ignored\u0027 to indicate if\nthe scheduler ignores this packet.\n\n \tMake sure we do not create new connections from replies.\nWe can hit this problem for persistent services and local real\nserver when ip_vs_in is added to LOCAL_OUT hook to handle\nlocal clients.\n\n \tAlso, make sure ip_vs_schedule ignores SYN packets\nfor Active FTP DATA from local real server. The FTP DATA\nconnection should be created on SYN+ACK from client to assign\ncorrect connection daddr.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "cf356d69db0afef692cd640917bc70f708c27f14",
      "tree": "1c1e0a277ba783066e639524bbdef0c19996e8c0",
      "parents": [
        "8b27b10f5863a5b63e46304a71aa01463d1efac4"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:21:07 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:20 2010 +0200"
      },
      "message": "ipvs: switch to notrack mode\n\n \tChange skb-\u003eipvs_property semantic. This is preparation\nto support ip_vs_out processing in LOCAL_OUT. ipvs_property\u003d1\nwill be used to avoid expensive lookups for traffic sent by\ntransmitters. Now when conntrack support is not used we call\nip_vs_notrack method to avoid problems in OUTPUT and\nPOST_ROUTING hooks instead of exiting POST_ROUTING as before.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "8b27b10f5863a5b63e46304a71aa01463d1efac4",
      "tree": "89f5db8881b0297cda00cad3c2cdedf685e2757f",
      "parents": [
        "5bc9068e9d962ca6b8bec3f0eb6f60ab4dee1d04"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:17:20 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:02 2010 +0200"
      },
      "message": "ipvs: optimize checksums for apps\n\n \tAvoid full checksum calculation for apps that can provide\ninfo whether csum was broken after payload mangling. For now only\nip_vs_ftp mangles payload and it updates the csum, so the full\nrecalculation is avoided for all packets.\n\n \tAdd CHECKSUM_UNNECESSARY for snat_handler (TCP and UDP).\nIt is needed to support SNAT from local address for the case\nwhen csum is fully recalculated.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "5eeaa2db162f1f6d83e988d4d28f4ba7be600e44",
      "tree": "440e245201485fcfb7858bf57aae755c00b15651",
      "parents": [
        "c5e90f562047ff9713183cf5e18f5e8997bc7373",
        "c64557d666eb62eb5f296c6b93bd0a5525ed1e36"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:59:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:59:48 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": "714f095f74582764d629785f03b459a3d0503624",
      "tree": "47f115c332227008d6d8a15d68594fdc126274d3",
      "parents": [
        "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "message": "ipvs: IPv6 tunnel mode\n\nIPv6 encapsulation uses a bad source address for the tunnel.\ni.e. VIP will be used as local-addr and encap. dst addr.\nDecapsulation will not accept this.\n\nExample\nLVS (eth1 2003::2:0:1/96, VIP 2003::2:0:100)\n   (eth0 2003::1:0:1/96)\nRS  (ethX 2003::1:0:5/96)\n\ntcpdump\n2003::2:0:100 \u003e 2003::1:0:5: IP6 (hlim 63, next-header TCP (6) payload length: 40)  2003::3:0:10.50991 \u003e 2003::2:0:100.http: Flags [S], cksum 0x7312 (correct), seq 3006460279, win 5760, options [mss 1440,sackOK,TS val 1904932 ecr 0,nop,wscale 3], length 0\n\nIn Linux IPv6 impl. you can\u0027t have a tunnel with an any cast address\nreceiving packets (I have not tried to interpret RFC 2473)\nTo have receive capabilities the tunnel must have:\n - Local address set as multicast addr or an unicast addr\n - Remote address set as an unicast addr.\n - Loop back addres or Link local address are not allowed.\n\nThis causes us to setup a tunnel in the Real Server with the\nLVS as the remote address, here you can\u0027t use the VIP address since it\u0027s\nused inside the tunnel.\n\nSolution\nUse outgoing interface IPv6 address (match against the destination).\ni.e. use ip6_route_output() to look up the route cache and\nthen use ipv6_dev_get_saddr(...) to set the source address of the\nencapsulated packet.\n\nAdditionally, cache the results in new destination\nfields: dst_cookie and dst_saddr and properly check the\nreturned dst from ip6_route_output. We now add xfrm_lookup\ncall only for the tunneling method where the source address\nis a local one.\n\nSigned-off-by:Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9",
      "tree": "16ea6ca8a2382e399798a087fcbeb63380b21f03",
      "parents": [
        "43f974cdb4ab6d65f849610deb9ef738d62b2e65"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add expectation deletion events\n\nThis patch allows to listen to events that inform about\nexpectations destroyed.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8e602ce2980fd6941dc0d3dda12e5095e8206f34",
      "tree": "1a0ea79a6db1b01660cc034c822d02c95e356388",
      "parents": [
        "c60ce4e265404ca42ba860401f4b0f1e97332a67"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 14 05:56:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 17 13:49:14 2010 -0700"
      },
      "message": "netns: reorder fields in struct net\n\nIn a network bench, I noticed an unfortunate false sharing between\n\u0027loopback_dev\u0027 and \u0027count\u0027 fields in \"struct net\".\n\n\u0027count\u0027 is written each time a socket is created or destroyed, while\nloopback_dev might be often read in routing code.\n\nMove loopback_dev in a read mostly section of \"struct net\"\n\nNote: struct netns_xfrm is cache line aligned on SMP.\n(It contains a \"struct dst_ops\")\nMove it at the end to avoid holes, and reduce sizeof(struct net) by 128\nbytes on ia32.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e3c3f6f1f9b154981a0e6620df700463db30ee",
      "tree": "5ed74529c528cc9a09d6f8c9a5083aaf4849b62e",
      "parents": [
        "15419227f773b6c1b5fae44bde876078a9204caa"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 13 13:20:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 16 11:13:24 2010 -0700"
      },
      "message": "tipc: cleanup function namespace\n\nDo some cleanups of TIPC based on make namespacecheck\n  1. Don\u0027t export unused symbols\n  2. Eliminate dead code\n  3. Make functions and variables local\n  4. Rename buf_acquire to tipc_buf_acquire since it is used in several files\n\nCompile tested only.\nThis make break out of tree kernel modules that depend on TIPC routines.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jon Maloy \u003cjon.maloy@ericsson.com\u003e\nAcked-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c64557d666eb62eb5f296c6b93bd0a5525ed1e36",
      "tree": "1e25cc32521d06ae876de18bb8e48b3cf9d30808",
      "parents": [
        "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
        "0d91f22b75347d9503b17a42b6c74d3f7750acd6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
      "tree": "a51c18f01c031a21f07ec3be07ffae210bb9adc7",
      "parents": [
        "7662ff46b7b3678162ce125903115e4ab0607a2d",
        "b3c0598952e02f1f1f6d003574549d940ecbf31a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:00:02 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:00:02 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 into for-davem\n"
    },
    {
      "commit": "b3d6255388de0680a14f0907deb7b7f4fa0d25d5",
      "tree": "8eaefeadef047a8bc6fcc269669ac4288e41ef64",
      "parents": [
        "7368ddf144afd79456fd853fa25f33e31da003a9"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumar.sanghvi@stericsson.com",
        "time": "Tue Oct 12 20:14:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 13 14:40:34 2010 -0700"
      },
      "message": "Phonet: \u0027connect\u0027 socket implementation for Pipe controller\n\nBased on suggestion by Rémi Denis-Courmont to implement \u0027connect\u0027\nfor Pipe controller logic,  this patch implements \u0027connect\u0027 socket\ncall for the Pipe controller logic.\nThe patch does following:-\n- Removes setsockopts for PNPIPE_CREATE and PNPIPE_DESTROY\n- Adds setsockopt for setting the Pipe handle value\n- Implements connect socket call\n- Updates the Pipe controller logic\n\nUser-space should now follow below sequence with Pipe controller:-\n-socket\n-bind\n-setsockopt for PNPIPE_PIPE_HANDLE\n-connect\n-setsockopt for PNPIPE_ENCAP_IP\n-setsockopt for PNPIPE_ENABLE\n\nGPRS/3G data has been tested working fine with this.\n\nSigned-off-by: Kumar Sanghvi \u003ckumar.sanghvi@stericsson.com\u003e\nAcked-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7be5086d4cb7cceb71d724a9524d5e927785d04f",
      "tree": "eaf0b7d527b9b91c704c8f339d855923c0a34571",
      "parents": [
        "271733cf844a2f5f186ef3b40c26d6397b71039a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "mac80211: add probe request filter flag\n\nUsing the frame registration notification, we\ncan see when probe requests are requested and\nnotify the low-level driver via filtering. The\nflag is also set in AP and IBSS modes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "271733cf844a2f5f186ef3b40c26d6397b71039a",
      "tree": "6b674540afe189b48599ae423c2174ebd48a8ffe",
      "parents": [
        "7a8266524af7ec70d1b3d10f964ce911d922d466"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "cfg80211: notify drivers about frame registrations\n\nDrivers may need to adjust their filters according\nto frame registrations, so notify them about them.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "534c92fde74c8d2143fc15b5f1d957f42cb43570",
      "tree": "1f6fe4dcf8bebd4b8313357036614900f289aab2",
      "parents": [
        "ab3e571564a5d8fa4923e2e858e574c931a014c7"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Fri Oct 01 12:05:11 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:53 2010 -0300"
      },
      "message": "Bluetooth: clean up rfcomm code\n\nRemove dead code and unused rfcomm thread events\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "796c86eec84ddfd02281c5071838ed1fefda6b90",
      "tree": "5b6c705846e46c39b4ddc233e5a1604d9fb9476d",
      "parents": [
        "0fba2558cbb3fae3a09147b7d6e18a6204204e0e"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Wed Sep 08 10:05:27 2010 -0700"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: Add common code for stream-oriented recvmsg()\n\nThis commit adds a bt_sock_stream_recvmsg() function for use by any\nBluetooth code that uses SOCK_STREAM sockets.  This code is copied\nfrom rfcomm_sock_recvmsg() with minimal modifications to remove\nRFCOMM-specific functionality and improve readability.\n\nL2CAP (with the SOCK_STREAM socket type) and RFCOMM have common needs\nwhen it comes to reading data.  Proper stream read semantics require\nthat applications can read from a stream one byte at a time and not\nlose any data.  The RFCOMM code already operated on and pulled data\nfrom the underlying L2CAP socket, so very few changes were required to\nmake the code more generic for use with non-RFCOMM data over L2CAP.\n\nApplications that need more awareness of L2CAP frame boundaries are\nstill free to use SOCK_SEQPACKET sockets, and may verify that they\nconnection did not fall back to basic mode by calling getsockopt().\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8f1e1742233cd1c3444dfc6c945a2efb2814e157",
      "tree": "252563ff2af556132d23f0edfd6bfa92a8a97dc5",
      "parents": [
        "29b4433d991c88d86ca48a4c1cc33c671475be4b"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Aug 09 17:38:10 2010 -0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: HCI devices are either BR/EDR or AMP radios\n\nHCI transport drivers may not know what type of radio an AMP device has\nso only say whether they\u0027re BR/EDR or AMP devices.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e37ef961e50d74f55e9edb48e54dd2e7963aad39",
      "tree": "ac069f1c0fa4eaf54b28d712d05f7e483d165b19",
      "parents": [
        "fc66f95c68b6d4535a0ea2ea15d5cf626e310956"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 11 12:20:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 16:09:14 2010 -0700"
      },
      "message": "neigh: reorder struct neighbour fields\n\nLe mardi 12 octobre 2010 à 00:02 +0200, Eric Dumazet a écrit :\n\u003e Here is the followup patch.\n\u003e\n\u003e Thanks !\n\u003e\n\nOops, this was an old version, the up2date ones also took care of \"used\"\nfield.\n\nI guess its time for a sleep, sorry again.\n\n[PATCH net-next V2] neigh: reorder struct neighbour fields\n\n(refcnt) and (ha_lock, ha, used, dev, output, ops, primary_key) should\nbe placed on a separate cache lines.\n\nrefcnt can be often written, while other fields are mostly read.\n\nThis gave me good result on stress test :\n\nbefore:\n\nreal    0m45.570s\nuser    0m15.525s\nsys     9m56.669s\n\nAfter:\n\nreal    0m41.841s\nuser    0m15.261s\nsys     8m45.949s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc66f95c68b6d4535a0ea2ea15d5cf626e310956",
      "tree": "ac3a7f08ad741a67ff683bf93e5669ddcae95ed7",
      "parents": [
        "0ed8ddf4045fcfcac36bad753dc4046118c603ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 08 06:37:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 13:06:53 2010 -0700"
      },
      "message": "net dst: use a percpu_counter to track entries\n\nstruct dst_ops tracks number of allocated dst in an atomic_t field,\nsubject to high cache line contention in stress workload.\n\nSwitch to a percpu_counter, to reduce number of time we need to dirty a\ncentral location. Place it on a separate cache line to avoid dirtying\nread only fields.\n\nStress test :\n\n(Sending 160.000.000 UDP frames,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_TRIE, SLUB/NUMA)\n\nBefore:\n\nreal    0m51.179s\nuser    0m15.329s\nsys     10m15.942s\n\nAfter:\n\nreal\t0m45.570s\nuser\t0m15.525s\nsys\t9m56.669s\n\nWith a small reordering of struct neighbour fields, subject of a\nfollowing patch, (to separate refcnt from other read mostly fields)\n\nreal\t0m41.841s\nuser\t0m15.261s\nsys\t8m45.949s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ed8ddf4045fcfcac36bad753dc4046118c603ec",
      "tree": "cf1d9eb14668c4d2257b3519ed7deec8c5cb396d",
      "parents": [
        "d122179a3c0fdc71b88cb9e3605f372b1651a9ff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 07 10:44:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:54:04 2010 -0700"
      },
      "message": "neigh: Protect neigh-\u003eha[] with a seqlock\n\nAdd a seqlock in struct neighbour to protect neigh-\u003eha[], and avoid\ndirtying neighbour in stress situation (many different flows / dsts)\n\nDirtying takes place because of read_lock(\u0026n-\u003elock) and n-\u003eused writes.\n\nSwitching to a seqlock, and writing n-\u003eused only on jiffies changes\npermits less dirtying.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d122179a3c0fdc71b88cb9e3605f372b1651a9ff",
      "tree": "63a48b333e7565967b6d7c9e246557bfcb9f225f",
      "parents": [
        "419c20465d6319274e7286f0966e2390540e6e0a",
        "b00916b189d13a615ff05c9242201135992fcda3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/core/ethtool.c\n"
    },
    {
      "commit": "8610c29a2c9f273886b1c31ae4d92c69d4326262",
      "tree": "c0424e55a67e0a2a1c7f1d72a9d807c442da5a9c",
      "parents": [
        "15943a72c7d2031c9150917ca9161a9f891d455a"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Oct 09 02:39:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:20 2010 -0400"
      },
      "message": "cfg80211: add channel utilization stats to the survey command\n\nUsing these, user space can calculate a relative channel utilization\nwith arbitrary intervals by regularly taking snapshots of the survey\nresults.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5a5c731aa59cc2c44ca20f45b1a577cd4f5435e2",
      "tree": "c5f45cd0e014bbaf600fe172ebbd117ca2737bbb",
      "parents": [
        "b38afa87698375179026224522c2e48dcbf17e65"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Thu Oct 07 16:39:20 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:19 2010 -0400"
      },
      "message": "wireless: Set some stats used by /proc/net/wireless (wext)\n\nSome stats for /proc/net/wireless (and wext in general) are not\nbeing set.  This patch addresses a few of those with values easily\nobtained from mac80211 core.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e9a68707d736f4f73d7e209885d7b4c5c452b1dc",
      "tree": "d9f76964c77c1059483b08436ed060b702b8e25d",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "15a6321d1c0f8db561932cd99e1b9897981da71f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 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/ipw2x00/ipw2200.c\n"
    },
    {
      "commit": "388ac775be95e510c2095ed6cd59422a5183a9fb",
      "tree": "bbdb6f1b5aa46ec8ebb5c1eccdd4934082a66094",
      "parents": [
        "43b19952de54b0fccfcdc5968891ebe550367fe8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Oct 07 13:11:09 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 14:41:28 2010 -0400"
      },
      "message": "cfg80211: constify WDS address\n\nThere\u0027s no need for the WDS peer address\nto not be const, so make it const.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "556ef63255f1a6f82910a637c4164dbf7d3d1af2",
      "tree": "ae209fe4959e0837bf4eb72abc6e02c8a82179a1",
      "parents": [
        "d4f8f217b8a5d5bd02af979650418dca4caec472",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:45 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into core/rcu\n\nMerge reason: Update from -rc3 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4f8f217b8a5d5bd02af979650418dca4caec472",
      "tree": "af047bfa9729c975e24cb7624107574e884d3a57",
      "parents": [
        "2dfbf4dfbe47a484bae20456c12b40763b9b6af7",
        "773e3f93577ffb493fb7c39b1a6ecf39b5748e87"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "767e97e1e0db0d0f3152cd2f3bd3403596aedbad",
      "tree": "cda6089e75f98fc3c9812993cf790fccac98b67a",
      "parents": [
        "546add79468183f266c75c632c96e4b0029e0d96"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 06 17:49:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 18:01:33 2010 -0700"
      },
      "message": "neigh: RCU conversion of struct neighbour\n\nThis is the second step for neighbour RCU conversion.\n\n(first was commit d6bf7817 : RCU conversion of neigh hash table)\n\nneigh_lookup() becomes lockless, but still take a reference on found\nneighbour. (no more read_lock()/read_unlock() on tbl-\u003elock)\n\nstruct neighbour gets an additional rcu_head field and is freed after an\nRCU grace period.\n\nFuture work would need to eventually not take a reference on neighbour\nfor temporary dst (DST_NOCACHE), but this would need dst-\u003e_neighbour to\nuse a noref bit like we did for skb-\u003e_dst.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b206b4ef062d83c0875a085672ed50e8c8b01521",
      "tree": "f182cc272055f7b646bc62a5d37fb097a8fd07cc",
      "parents": [
        "09be251e9005ebd67e5eabcaad904edb7ecacc55"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Oct 06 18:34:12 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:43 2010 -0400"
      },
      "message": "nl80211/mac80211: Add retry and failed transmission count to station info\n\nThis information is already available in mac80211, we just need to export it\nvia cfg80211 and nl80211.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e31b82136d1adc7a599b6e99d3321e5831841f5a",
      "tree": "c72d78d4cccfd08587e909c7efe59956f1cbc23e",
      "parents": [
        "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:39:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "cfg80211/mac80211: allow per-station GTKs\n\nThis adds API to allow adding per-station GTKs,\nupdates mac80211 to support it, and also allows\ndrivers to remove a key from hwaccel again when\nthis may be necessary due to multiple GTKs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ebc0ffae5dfb4447e0a431ffe7fe1d467c48bbb9",
      "tree": "395e50547ffccc6b73e04a44190eb4b4f2d2316b",
      "parents": [
        "c2952c314b4fe61820ba8fd6c949eed636140d52"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 05 10:41:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:39:38 2010 -0700"
      },
      "message": "fib: RCU conversion of fib_lookup()\n\nfib_lookup() converted to be called in RCU protected context, no\nreference taken and released on a contended cache line (fib_clntref)\n\nfib_table_lookup() and fib_semantic_match() get an additional parameter.\n\nstruct fib_info gets an rcu_head field, and is freed after an rcu grace\nperiod.\n\nStress test :\n(Sending 160.000.000 UDP frames on same neighbour,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_HASH) (about same results for FIB_TRIE)\n\nBefore patch :\n\nreal\t1m31.199s\nuser\t0m13.761s\nsys\t23m24.780s\n\nAfter patch:\n\nreal\t1m5.375s\nuser\t0m14.997s\nsys\t15m50.115s\n\nBefore patch Profile :\n\n13044.00 15.4% __ip_route_output_key vmlinux\n 8438.00 10.0% dst_destroy           vmlinux\n 5983.00  7.1% fib_semantic_match    vmlinux\n 5410.00  6.4% fib_rules_lookup      vmlinux\n 4803.00  5.7% neigh_lookup          vmlinux\n 4420.00  5.2% _raw_spin_lock        vmlinux\n 3883.00  4.6% rt_set_nexthop        vmlinux\n 3261.00  3.9% _raw_read_lock        vmlinux\n 2794.00  3.3% fib_table_lookup      vmlinux\n 2374.00  2.8% neigh_resolve_output  vmlinux\n 2153.00  2.5% dst_alloc             vmlinux\n 1502.00  1.8% _raw_read_lock_bh     vmlinux\n 1484.00  1.8% kmem_cache_alloc      vmlinux\n 1407.00  1.7% eth_header            vmlinux\n 1406.00  1.7% ipv4_dst_destroy      vmlinux\n 1298.00  1.5% __copy_from_user_ll   vmlinux\n 1174.00  1.4% dev_queue_xmit        vmlinux\n 1000.00  1.2% ip_output             vmlinux\n\nAfter patch Profile :\n\n13712.00 15.8% dst_destroy             vmlinux\n 8548.00  9.9% __ip_route_output_key   vmlinux\n 7017.00  8.1% neigh_lookup            vmlinux\n 4554.00  5.3% fib_semantic_match      vmlinux\n 4067.00  4.7% _raw_read_lock          vmlinux\n 3491.00  4.0% dst_alloc               vmlinux\n 3186.00  3.7% neigh_resolve_output    vmlinux\n 3103.00  3.6% fib_table_lookup        vmlinux\n 2098.00  2.4% _raw_read_lock_bh       vmlinux\n 2081.00  2.4% kmem_cache_alloc        vmlinux\n 2013.00  2.3% _raw_spin_lock          vmlinux\n 1763.00  2.0% __copy_from_user_ll     vmlinux\n 1763.00  2.0% ip_output               vmlinux\n 1761.00  2.0% ipv4_dst_destroy        vmlinux\n 1631.00  1.9% eth_header              vmlinux\n 1440.00  1.7% _raw_read_unlock_bh     vmlinux\n\nReference results, if IP route cache is enabled :\n\nreal\t0m29.718s\nuser\t0m10.845s\nsys\t7m37.341s\n\n25213.00 29.5% __ip_route_output_key   vmlinux\n 9011.00 10.5% dst_release             vmlinux\n 4817.00  5.6% ip_push_pending_frames  vmlinux\n 4232.00  5.0% ip_finish_output        vmlinux\n 3940.00  4.6% udp_sendmsg             vmlinux\n 3730.00  4.4% __copy_from_user_ll     vmlinux\n 3716.00  4.4% ip_route_output_flow    vmlinux\n 2451.00  2.9% __xfrm_lookup           vmlinux\n 2221.00  2.6% ip_append_data          vmlinux\n 1718.00  2.0% _raw_spin_lock_bh       vmlinux\n 1655.00  1.9% __alloc_skb             vmlinux\n 1572.00  1.8% sock_wfree              vmlinux\n 1345.00  1.6% kfree                   vmlinux\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6bf781712a1d25cc8987036b3a48535b331eb91",
      "tree": "cf83ab68ef2519576578d8336a43cc13cd375cde",
      "parents": [
        "110b2499370c401cdcc7c63e481084467291d556"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 04 06:15:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 14:54:36 2010 -0700"
      },
      "message": "net neigh: RCU conversion of neigh hash table\n\nDavid\n\nThis is the first step for RCU conversion of neigh code.\n\nNext patches will convert hash_buckets[] and \"struct neighbour\" to RCU\nprotected objects.\n\nThanks\n\n[PATCH net-next] net neigh: RCU conversion of neigh hash table\n\nInstead of storing hash_buckets, hash_mask and hash_rnd in \"struct\nneigh_table\", a new structure is defined :\n\nstruct neigh_hash_table {\n       struct neighbour        **hash_buckets;\n       unsigned int            hash_mask;\n       __u32                   hash_rnd;\n       struct rcu_head         rcu;\n};\n\nAnd \"struct neigh_table\" has an RCU protected pointer to such a\nneigh_hash_table.\n\nThis means the signature of (*hash)() function changed: We need to add a\nthird parameter with the actual hash_rnd value, since this is not\nanymore a neigh_table field.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff4c92d85c6f2777d2067f8552e7fefb4d1754ae",
      "tree": "77e35603821e5602e96c90644e42e70f097ad79c",
      "parents": [
        "2ee4e27cf25ab647137713ca16377d8d9e138ea2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Oct 04 21:14:03 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:30 2010 -0400"
      },
      "message": "genetlink: introduce pre_doit/post_doit hooks\n\nEach family may have some amount of boilerplate\nlocking code that applies to most, or even all,\ncommands.\n\nThis allows a family to handle such things in\na more generic way, by allowing it to\n a) include private flags in each operation\n b) specify a pre_doit hook that is called,\n    before an operation\u0027s doit() callback and\n    may return an error directly,\n c) specify a post_doit hook that can undo\n    locking or similar things done by pre_doit,\n    and finally\n d) include two private pointers in each info\n    struct passed between all these operations\n    including doit(). (It\u0027s two because I\u0027ll\n    need two in nl80211 -- can be extended.)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "78be49ec2a0df34de9441930fdced20311fd709f",
      "tree": "0eb6da18b78abc19e58b1cfd2375c548454186a8",
      "parents": [
        "5a5b6ed6ce46be128f2a5a9e56f47193c3ac3e32"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Sat Oct 02 11:31:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:28 2010 -0400"
      },
      "message": "mac80211: distinct between max rates and the number of rates the hw can report\n\nSome drivers cannot handle multiple retry rates specified by the rc\nalgorithm but instead use their own retry table (for example rt2800).\nHowever, if such a device registers itself with a max_rates value of 1\nthe rc algorithm cannot make use of the extended information the device\ncan provide about retried rates. On the other hand, if a device\nregisters itself with a max_rates value \u003e 1 the rc algorithm assumes\nthat the device can handle multi rate retries.\n\nFix this issue by introducing another hw parameter max_report_rates that\ncan be set to a different value then max_rates to indicate if a device\nis capable of reporting more rates then specified in max_rates.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea229e682633a18c1fa2c408400a6923cfc47910",
      "tree": "db12c45737152b7aae91f05f3d1013057ea61563",
      "parents": [
        "663fcafd977f13e6483f7d4cf2ccdbc4fae81ed0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 30 21:21:25 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:23 2010 -0400"
      },
      "message": "cfg80211: remove spurious __KERNEL__ ifdef\n\nThe net/cfg80211.h header file isn\u0027t exported to\nuserspace, so there\u0027s no need for any kind of\n__KERNEL__ protection in it. If it was exported,\neverything else in it would need protection as\nwell, not just the logging stuff ...\n\nCc:Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "17e5a8082894a4b66cb69e7ec16074f0f01281e1",
      "tree": "604746f9c4aa8d77c41f1e22e9f553b5cdcfa823",
      "parents": [
        "0bda652300dff8136c9d889f1133462c7c7d332c"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Sep 29 17:15:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:22 2010 -0400"
      },
      "message": "nl80211: allow drivers to indicate whether the survey data channel is in use\n\nSome user space applications only want to display survey data for\nthe operating channel, however there is no API to get that yet.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c61393ea83573ff422af505b6fd49ef9ec9b91ca",
      "tree": "4dbaf967e7293618205622776d553e37ec0a2f3e",
      "parents": [
        "1df9916e46451533463f227e6be57cc2cfca4c5f"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 20:17:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:47:39 2010 -0700"
      },
      "message": "ipv6: make __ipv6_isatap_ifid static\n\nAnother exported symbol only used in one file\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1df9916e46451533463f227e6be57cc2cfca4c5f",
      "tree": "e37eeef3f4a1b4e0fc760d5f8075b34d19e2e471",
      "parents": [
        "6a31d2a97c04ffe9b161ec0177a2296366ff9249"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 20:14:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:47:39 2010 -0700"
      },
      "message": "fib: fib_rules_cleanup can be static\n\nfib_rules_cleanup_ups is only defined and used in one place.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eecc545856c8a0f27783a440d25f4ceaa1f95ce8",
      "tree": "7dcfcb0c91c098c6233fb360e0d23cccdef20dc9",
      "parents": [
        "f68c53015c5b9aa98ffd87a34009f89bdbbd7160"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 23:24:21 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 23:24:21 2010 +0200"
      },
      "message": "netfilter: add missing xt_log.h file\n\nForgot to add xt_log.h in commit a8defca0 (netfilter: ipt_LOG:\nadd bufferisation to call printk() once)\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "21a180cda012e1f93e362dd4a9b0bfd3d8c92940",
      "tree": "0e0d10baa3fdcd8ffbc6881076ff1695808dad9d",
      "parents": [
        "c7d4426a98a5f6654cd0b4b33d9dab2e77192c18",
        "51e97a12bef19b7e43199fc153cf9bd5f2140362"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/Kconfig\n\tnet/ipv4/tcp_timer.c\n"
    },
    {
      "commit": "0c200d935346fe0ebde9b6dffbb683dddd166fb9",
      "tree": "a880c12f3f68fd3abefd86bea8d445cab3c3c876",
      "parents": [
        "758ff03387228824617cef9507e5682488bf9e0c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 20:53:18 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 20:53:18 2010 +0200"
      },
      "message": "netfilter: nf_nat: make find/put static\n\nThe functions nf_nat_proto_find_get and nf_nat_proto_put are\nonly used internally in nf_nat_core. This might break some out\nof tree NAT module.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0d1e71b04a04b6912e50926b9987c1e72facb1f3",
      "tree": "1c431b2484ab9bb2911ba8e9e281783cbd922f06",
      "parents": [
        "8be67a6617b3403551fccb67b1c624c659419515"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Allow configuration of persistence engines\n\nAllow the persistence engine of a virtual service to be set, edited\nand unset.\n\nThis feature only works with the netlink user-space interface.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "8be67a6617b3403551fccb67b1c624c659419515",
      "tree": "902f8092ab95dfd06a80bdaf90bb2e51e23f285b",
      "parents": [
        "a3c918acd29a96aba3b46bf50136e7953a480d17"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: management of persistence engine modules\n\nThis is based heavily on the scheduler management code\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "a3c918acd29a96aba3b46bf50136e7953a480d17",
      "tree": "570a5ea3a3fdef62b86e944ebcfcaf8b88ddb735",
      "parents": [
        "85999283a21ab2dd37427fdd8c8e8af57223977c"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:53 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add persistence engine data to /proc/net/ip_vs_conn\n\nThis shouldn\u0027t break compatibility with userspace as the new data\nis at the end of the line.\n\nI have confirmed that this doesn\u0027t break ipvsadm, the main (only?)\nuser-space user of this data.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "85999283a21ab2dd37427fdd8c8e8af57223977c",
      "tree": "a78ba043c23182d47cfe473a9a829d8608e2d526",
      "parents": [
        "2fabf35bfcd89445c54cf1e6a5437dd3cf924a92"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:53 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add struct ip_vs_pe\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "f11017ec2d1859c661f4e2b12c4a8d250e1f47cf",
      "tree": "07278dbced3c8c61b9e6bbe9c3d502c65b127f24",
      "parents": [
        "5b57a98c1f0d78a4c238d83c4ac70de3bd237b2f"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:52 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add struct ip_vs_conn_param\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "c7d4426a98a5f6654cd0b4b33d9dab2e77192c18",
      "tree": "0db2524e6f3f742861765dd6aa696a9271767056",
      "parents": [
        "9a7241c21b06c3a3f8ebcf3e347bd68556369da7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 03 22:17:54 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 22:17:54 2010 -0700"
      },
      "message": "net: introduce DST_NOCACHE flag\n\nWhile doing stress tests with IP route cache disabled, and multi queue\ndevices, I noticed a very high contention on one rwlock used in\nneighbour code.\n\nWhen many cpus are trying to send frames (possibly using a high\nperformance multiqueue device) to the same neighbour, they fight for the\nneigh-\u003elock rwlock in order to call neigh_hh_init(), and fight on\nhh-\u003ehh_refcnt (a pair of atomic_inc/atomic_dec_and_test())\n\nBut we dont need to call neigh_hh_init() for dst that are used only\nonce. It costs four atomic operations at least, on two contended cache\nlines, plus the high contention on neigh-\u003elock rwlock.\n\nIntroduce a new dst flag, DST_NOCACHE, that is set when dst was not\ninserted in route cache.\n\nWith the stress test bench, sending 160000000 frames on one neighbour,\nresults are :\n\nBefore patch:\n\nreal\t2m28.406s\nuser\t0m11.781s\nsys\t36m17.964s\n\n\nAfter patch:\n\nreal\t1m26.532s\nuser\t0m12.185s\nsys\t20m3.903s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41f4a6f71fe33faa7971c173c263fb431fe987fe",
      "tree": "fdc3e603162e3ad63f6ae4160f68eb803bb78d58",
      "parents": [
        "94d57c4cfaa43e29ca5fa5ff874048cfc67276f5",
        "1728943d83e9fd919e454332fe344944123b3c3a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "367e5e376922dcf52f92e1db436010fb828d3bfa",
      "tree": "ee2fb2f50b23303a06b93492da2dea74b78cb263",
      "parents": [
        "bb7196d2bf30e4cb06fe5fed046c9084465e854c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 30 05:36:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 01 00:36:51 2010 -0700"
      },
      "message": "neigh: reorder fields in struct neighbour\n\nOn 64bit arches, there are two 32bit holes that we can remove.\n\nsizeof(struct neighbour) shrinks from 0xf8 to 0xf0 bytes\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e454c844644683571617896ab2a4ce0109c1943e",
      "tree": "fd8fbcb76608bce78062c6a74ff8e8b65b3e34ae",
      "parents": [
        "b0239c80fe89d5832a68a0f3121a9d5ec9fb763e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Sep 21 16:31:11 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Sep 30 12:19:35 2010 -0300"
      },
      "message": "Bluetooth: Fix deadlock in the ERTM logic\n\nThe Enhanced Retransmission Mode(ERTM) is a realiable mode of operation\nof the Bluetooth L2CAP layer. Think on it like a simplified version of\nTCP.\nThe problem we were facing here was a deadlock. ERTM uses a backlog\nqueue to queue incomimg packets while the user is helding the lock. At\nsome moment the sk_sndbuf can be exceeded and we can\u0027t alloc new skbs\nthen the code sleep with the lock to wait for memory, that stalls the\nERTM connection once we can\u0027t read the acknowledgements packets in the\nbacklog queue to free memory and make the allocation of outcoming skb\nsuccessful.\n\nThis patch actually affect all users of bt_skb_send_alloc(), i.e., all\nL2CAP modes and SCO.\n\nWe are safe against socket states changes or channels deletion while the\nwe are sleeping wait memory. Checking for the sk-\u003esk_err and\nsk-\u003esk_shutdown make the code safe, since any action that can leave the\nsocket or the channel in a not usable state set one of the struct\nmembers at least. Then we can check both of them when getting the lock\nagain and return with the proper error if something unexpected happens.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\n"
    },
    {
      "commit": "1b9f409293529da4630bfc5d6d8e7d7451a6ccb5",
      "tree": "4ad4baa2cedaae93a3a3668e154b4f1cbd950791",
      "parents": [
        "a64de47c091e4a337fa9763315cb6f2fbf0c583b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 28 19:30:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 19:45:36 2010 -0700"
      },
      "message": "tcp: tcp_enter_quickack_mode can be static\n\nFunction only used in tcp_input.c\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a64de47c091e4a337fa9763315cb6f2fbf0c583b",
      "tree": "e545dbaede640218956daf1bdd5d503986318861",
      "parents": [
        "bfa5ae63b823f4ffd3483a05f60a93a4a7b7d680"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 28 17:08:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 19:45:35 2010 -0700"
      },
      "message": "arp: remove unnecessary export of arp_broken_ops\n\narp_broken_ops is only used in arp.c\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "4465b469008bc03b98a1b8df4e9ae501b6c69d4b"
}
