)]}'
{
  "log": [
    {
      "commit": "a084980dcbf56c896e4b6c19aff2b082d5db7006",
      "tree": "2bdecde658ff928eff6e0f12ccba63217692d8de",
      "parents": [
        "104e0878984bb467e3f54d61105d8903babb4ec1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:28:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:51 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_SET_PASTPERFECT/PSCHED_IS_PASTPERFECT\n\nUse direct assignment and comparison instead.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "104e0878984bb467e3f54d61105d8903babb4ec1",
      "tree": "796a0b5d189582255c3510817491428671921d5c",
      "parents": [
        "7c59e25f3186f26e85b13a318dbc4482d1d363e9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:28:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:50 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_TLESS\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c59e25f3186f26e85b13a318dbc4482d1d363e9",
      "tree": "b6cfda6d2e14879e3f4373d261b65b80d156d1c1",
      "parents": [
        "26e252df1e6e5b68eb790e4a4baf745aa3870038"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:27:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:49 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_TADD/PSCHED_TADD2\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26e252df1e6e5b68eb790e4a4baf745aa3870038",
      "tree": "e6895ca3ca0351efc9c7ae90a377cafc9fed5112",
      "parents": [
        "76d643cd3bd2b4a1e27e3eafee8e37be9c681792"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:27:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:48 2007 -0700"
      },
      "message": "[NET_SCHED]: kill PSCHED_AUDIT_TDIFF\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de6e05c49f8b4ed63224c5d38891f531ecc4eabb",
      "tree": "2ed69a03c657a5618bc98a5f74acb905bf764ecf",
      "parents": [
        "5f79e0f916a3bdeccc910fdf466bca582a9b2cca"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Fri Mar 23 11:17:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:45 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: kill destroy() in struct nf_conntrack for diet\n\nThe destructor per conntrack is unnecessary, then this replaces it with\nsystem wide destructor.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f79e0f916a3bdeccc910fdf466bca582a9b2cca",
      "tree": "ef6cb09587609597e611ad38c313df88d8ff2e8b",
      "parents": [
        "e6f689db51a789807edede411b32eb7c9e457948"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Fri Mar 23 11:17:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:44 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: don\u0027t use nfct in skb if conntrack is disabled\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d00a4eb42bdade33a6ec0961cada93577a66ae6",
      "tree": "a181b141818f594eb544601386bf09e45e6193bb",
      "parents": [
        "45e7ae7f716086994e4e747226881f901c67b031"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:30 2007 -0700"
      },
      "message": "[NETLINK]: Remove error pointer from netlink message handler\n\nThe error pointer argument in netlink message handlers is used\nto signal the special case where processing has to be interrupted\nbecause a dump was started but no error happened. Instead it is\nsimpler and more clear to return -EINTR and have netlink_run_queue()\ndeal with getting the queue right.\n\nnfnetlink passed on this error pointer to its subsystem handlers\nbut only uses it to signal the start of a netlink dump. Therefore\nit can be removed there as well.\n\nThis patch also cleans up the error handling in the affected\nmessage handlers to be consistent since it had to be touched anyway.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c454673da7c1d6533f40ec2f788023df9af56ebf",
      "tree": "004d329e049f3bdef09ff20623e24cba9f1fac12",
      "parents": [
        "687ad8cc640fd1f1619cc44a9ab274dabd48c758"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sun Mar 25 23:24:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:17 2007 -0700"
      },
      "message": "[NET] rules: Unified rules dumping\n\nImplements a unified, protocol independant rules dumping function\nwhich is capable of both, dumping a specific protocol family or\nall of them. This speeds up dumping as less lookups are required.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c127ea2c45d1b13a672fde254679721bb282e90a",
      "tree": "01569ce9d6a250b3f3e311a02ea1890327c3a36f",
      "parents": [
        "fa34ddd739cecf3999ec0b7562618e8321829d41"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:58:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:13 2007 -0700"
      },
      "message": "[IPv6]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa34ddd739cecf3999ec0b7562618e8321829d41",
      "tree": "ddc3534b56faca48077922cddbbb79e9b5b0c1ea",
      "parents": [
        "708914cc5e1657eb1a1f9eefc6333dfd2df8c73a"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:57:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:12 2007 -0700"
      },
      "message": "[DECNet]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be577ddc2b4aca0849f701222f5bc13cf1b79c9a",
      "tree": "39ea6dcd40885a79cb1e3172b3299069156993f4",
      "parents": [
        "63f3444fb9a54c024d55f1205f8b94e7d2786595"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:55:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:09 2007 -0700"
      },
      "message": "[PKT_SCHED] qdisc: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63f3444fb9a54c024d55f1205f8b94e7d2786595",
      "tree": "41cde0c702a2b4400a34f02380eb3baf1cc72a2b",
      "parents": [
        "9d9e6a5819230b5a5cc036f213135cb123ab1e50"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:55:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:08 2007 -0700"
      },
      "message": "[IPv4]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d9e6a5819230b5a5cc036f213135cb123ab1e50",
      "tree": "e158bb0b82bdc88de053e09dd5f1897eae8536f3",
      "parents": [
        "c8822a4e00442e65d42d50db8e529d75c2025630"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sun Mar 25 23:20:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:07 2007 -0700"
      },
      "message": "[NET] rules: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8822a4e00442e65d42d50db8e529d75c2025630",
      "tree": "127ce686af9e562e997d75ecabb6c7acca4c0b12",
      "parents": [
        "340d17fc9d577c93678850e46963e9b19b92db7e"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:50:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:06 2007 -0700"
      },
      "message": "[NEIGH]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e284986385b6420a5f30f2dcd743512bbe1a3202",
      "tree": "aee0d30b618ada57371fddfcaeb47bbd767e16e3",
      "parents": [
        "30833ffead66e1f0052150a51db0b45151189ac1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:48:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:04 2007 -0700"
      },
      "message": "[RTNL]: Message handler registration interface\n\nThis patch adds a new interface to register rtnetlink message\nhandlers replacing the exported rtnl_links[] array which\nrequired many message handlers to be exported unnecessarly.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89560b53b92a07c529e13a462aa7fd87a844f1f5",
      "tree": "89409bee68da1ee44b7945315efecd779d7fe60a",
      "parents": [
        "7dfee1a9c07f80a82aa5fbad340146f2b5c794b4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:27:17 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:02 2007 -0700"
      },
      "message": "[DCCP]: Sample RTT from SYN exchange\n\nFunction:\n"
    },
    {
      "commit": "dc5fc579b90ed0a9a4e55b0218cdbaf0a8cf2e67",
      "tree": "673dbb425c2b09b4256ef71f89dfc5cc01944386",
      "parents": [
        "a36ca733375860b389c15ffdf6a5f92df64a33b6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 25 23:06:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:37 2007 -0700"
      },
      "message": "[NETLINK]: Use nlmsg_trim() where appropriate\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a36ca733375860b389c15ffdf6a5f92df64a33b6",
      "tree": "36801ab146f9aac5a87eb45bf3c324b3a7c8bac0",
      "parents": [
        "897933bcdf31c372e029dd4e2ecd573ebe6cfd9c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 22:28:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:36 2007 -0700"
      },
      "message": "[NETLINK]: Remove NLMSG_{NEW_ANSWER,CANCEL,END}\n\nNot used anywhere and defined inside __KERNEL__, Thomas acked this on irc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "897933bcdf31c372e029dd4e2ecd573ebe6cfd9c",
      "tree": "f8b57b2ea0a2c4e592c55c0fae82332e6484a319",
      "parents": [
        "b529ccf2799c14346d1518e9bdf1f88f03643e99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 22:27:36 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:35 2007 -0700"
      },
      "message": "[SK_BUFF]: Remove skb_add_mtu() leftovers\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4305b541357ddbd205aa145dc378926b7cb12283",
      "tree": "9b1f57ee4ee757a9324c48a7dea84bc8c279ad82",
      "parents": [
        "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:43:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003eend to sk_buff_data_t\n\nNow to convert the last one, skb-\u003edata, that will allow many simplifications\nand removal of some of the offset helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e07fa9cd3bac1e28cfe3131ed86b053afb02fc9",
      "tree": "177ad0c2cbbd60c25e54b35802219634c047aa08",
      "parents": [
        "b0e380b1d8a8e0aca215df97702f99815f05c094"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:22:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Use offsets for skb-\u003e{mac,network,transport}_header on 64bit architectures\n\nWith this we save 8 bytes per network packet, leaving a 4 bytes hole to be used\nin further shrinking work, likely with the offsetization of other pointers,\nsuch as -\u003e{data,tail,end}, at the cost of adds, that were minimized by the\nusual practice of setting skb-\u003e{mac,nh,n}.raw to a local variable that is then\naccessed multiple times in each function, it also is not more expensive than\nbefore with regards to most of the handling of such headers, like setting one\nof these headers to another (transport to network, etc), or subtracting, adding\nto/from it, comparing them, etc.\n\nNow we have this layout for sk_buff on a x86_64 machine:\n\n[acme@mica net-2.6.22]$ pahole vmlinux sk_buff\nstruct sk_buff {\n\tstruct sk_buff *       next;             /*   0   8 */\n\tstruct sk_buff *       prev;             /*   8   8 */\n\tstruct rb_node         rb;               /*  16  24 */\n\tstruct sock *          sk;               /*  40   8 */\n\tktime_t                tstamp;           /*  48   8 */\n\tstruct net_device *    dev;              /*  56   8 */\n\t/* --- cacheline 1 boundary (64 bytes) --- */\n\tstruct net_device *    input_dev;        /*  64   8 */\n\tsk_buff_data_t         transport_header; /*  72   4 */\n\tsk_buff_data_t         network_header;   /*  76   4 */\n\tsk_buff_data_t         mac_header;       /*  80   4 */\n\n\t/* XXX 4 bytes hole, try to pack */\n\n\tstruct dst_entry *     dst;              /*  88   8 */\n\tstruct sec_path *      sp;               /*  96   8 */\n\tchar                   cb[48];           /* 104  48 */\n\t/* cacheline 2 boundary (128 bytes) was 24 bytes ago*/\n\tunsigned int           len;              /* 152   4 */\n\tunsigned int           data_len;         /* 156   4 */\n\tunsigned int           mac_len;          /* 160   4 */\n\tunion {\n\t\t__wsum         csum;             /*       4 */\n\t\t__u32          csum_offset;      /*       4 */\n\t};                                       /* 164   4 */\n\t__u32                  priority;         /* 168   4 */\n\t__u8                   local_df:1;       /* 172   1 */\n\t__u8                   cloned:1;         /* 172   1 */\n\t__u8                   ip_summed:2;      /* 172   1 */\n\t__u8                   nohdr:1;          /* 172   1 */\n\t__u8                   nfctinfo:3;       /* 172   1 */\n\t__u8                   pkt_type:3;       /* 173   1 */\n\t__u8                   fclone:2;         /* 173   1 */\n\t__u8                   ipvs_property:1;  /* 173   1 */\n\n\t/* XXX 2 bits hole, try to pack */\n\n\t__be16                 protocol;         /* 174   2 */\n\tvoid    (*destructor)(struct sk_buff *); /* 176   8 */\n\tstruct nf_conntrack *  nfct;             /* 184   8 */\n\t/* --- cacheline 3 boundary (192 bytes) --- */\n\tstruct sk_buff *       nfct_reasm;       /* 192   8 */\n\tstruct nf_bridge_info *nf_bridge;        /* 200   8 */\n\t__u16                  tc_index;         /* 208   2 */\n\t__u16                  tc_verd;          /* 210   2 */\n\tdma_cookie_t           dma_cookie;       /* 212   4 */\n\t__u32                  secmark;          /* 216   4 */\n\t__u32                  mark;             /* 220   4 */\n\tunsigned int           truesize;         /* 224   4 */\n\tatomic_t               users;            /* 228   4 */\n\tunsigned char *        head;             /* 232   8 */\n\tunsigned char *        data;             /* 240   8 */\n\tunsigned char *        tail;             /* 248   8 */\n\t/* --- cacheline 4 boundary (256 bytes) --- */\n\tunsigned char *        end;              /* 256   8 */\n}; /* size: 264, cachelines: 5 */\n   /* sum members: 260, holes: 1, sum holes: 4 */\n   /* bit holes: 1, sum bit holes: 2 bits */\n   /* last cacheline: 8 bytes */\n\nOn 32 bits nothing changes, and pointers continue to be used with the compiler\nturning all this abstraction layer into dust. But there are some sk_buff\nvalidation tricks that are now possible, humm... :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfe1fc7759fdacb0c650b575daed1692bf3eaece",
      "tree": "b8ed6fbc6c028595f5e82be1bccdeb2727e0a0b2",
      "parents": [
        "bff9b61ce330df04c6830d823c30c04203543f01"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:26:39 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:19 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header_len\n\nFor the common sequence \"skb-\u003eh.raw - skb-\u003enh.raw\", similar to skb-\u003emac_len,\nthat is precalculated tho, don\u0027t think we need to bloat skb with one more\nmember, so just use this new helper, reducing the number of non-skbuff.h\nreferences to the layer headers even more.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00c04af9df3d26e5a8093da850e982a7b6aeada7",
      "tree": "4764d2dd26f672f707fe513815a7745d03f46f43",
      "parents": [
        "fb983d4578e238b7f483b4f8f39f3a0f35d34d16"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:23:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:14 2007 -0700"
      },
      "message": "[NET_SCHED]: kill jiffie conversion macros\n\nNow that all packet schedulers have been converted to hrtimers most users\nof PSCHED_JIFFIE2US and PSCHED_US2JIFFIE are gone. The remaining users use\nit to convert external time units to packet scheduler clock ticks, so use\nPSCHED_TICKS_PER_SEC instead.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4179477f637caa730626bd597fdf28c5bad73565",
      "tree": "cdaeaf817b34ee03b0f4b4203d675272f152947a",
      "parents": [
        "641b9e0e8b7f96425da6ce98f3361e3af0baee29"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:19:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:05 2007 -0700"
      },
      "message": "[NET_SCHED]: Add hrtimer based qdisc watchdog\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "641b9e0e8b7f96425da6ce98f3361e3af0baee29",
      "tree": "2315fed3b4fd9df52a52464b9b1ce1561d403a87",
      "parents": [
        "ddc7b8e32b22fe8b45d306b7d99472d4b560add6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:18:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:04 2007 -0700"
      },
      "message": "[NET_SCHED]: Use ktime as clocksource\n\nGet rid of the manual clock source selection mess and use ktime. Also\nuse a scalar representation, which allows to clean up pkt_sched.h a bit\nmore and results in less ktime_to_ns() calls in most cases.\n\nThe PSCHED_US2JIFFIE/PSCHED_JIFFIE2US macros are implemented quite\ninefficient by this patch, following patches will convert all qdiscs\nto hrtimers and get rid of them entirely.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a6114d94b6d6f82e81cb8e0d8b0d4cf50739fec",
      "tree": "5c7e4d025d13351cebbdcf6cf6e833575d4fd30b",
      "parents": [
        "d10ba34b001944a8d1c8adb5646140ef089c432b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Mar 15 21:08:55 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:02 2007 -0700"
      },
      "message": "[KBUILD]: Unifdef headers changed by the skb layer header refactorings\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8e2078cfe414a99cf6f2f2f1d78c7e75392e9d4",
      "tree": "35f283c122ef0e82f0a76f7d42591ecaf77aa3f0",
      "parents": [
        "5c8ce7c92106434d2bdc9d5dfa5f62bf4546b296"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Mar 14 16:45:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:57 2007 -0700"
      },
      "message": "[NETFILTER]: ctnetlink: add support for internal tcp connection tracking flags handling\n\nThis patch let userspace programs set the IP_CT_TCP_BE_LIBERAL flag to\nforce the pickup of established connections.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7ac05f3407a3fb5a1b2ff5d5554899eaa0a10a3",
      "tree": "d8360ce670e1a60110ef6ddff20399129c51eefc",
      "parents": [
        "edda553c324bdc5bb5c2d553b524cab37058a855"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Mar 14 16:44:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:55 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: add nf_copy() to safely copy members in skb\n\nThis unifies the codes to copy netfilter related datas. Before copying,\nnf_copy() puts original members in destination skb.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edda553c324bdc5bb5c2d553b524cab37058a855",
      "tree": "04b041d20e685e2d7dab1dad41419af0360aa312",
      "parents": [
        "9b88790972498d235a2a4d2b66640c3c5b70bb7c"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Mar 14 16:43:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:54 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: add __nf_copy() to copy members in skb\n\nThis unifies the codes to copy netfilter related datas. Note that\n__nf_copy() assumes destination skb doesn\u0027t have any netfilter\nrelated members.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e87e014ec881ce353e1f43340157f519b5d9f30",
      "tree": "694f65663570254f706ab328cf303cfd270cf74d",
      "parents": [
        "f4bc177f0ff0bf41b178452877762a9f0184d1a1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:42:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:52 2007 -0700"
      },
      "message": "[JHASH]: Use const in jhash2\n\nUse const to avoid forcing users to cast const data.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "010c7d6f867e98c86723f420d485583464fbab45",
      "tree": "5ee196dbe0709ba70dbf385c5b7cde78ffc7c90a",
      "parents": [
        "73c361862c2be2e4ed6019da283fe1b422107f16"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:40:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:46 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: uninline notifier registration functions\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3c5029cf7a96da3acdf6884a21581b5bef310c3",
      "tree": "c599a8870e199562f4937193f2b3dc3d56a55145",
      "parents": [
        "c6a1e615d1ba942b9e783079d53f741e4a8e1c89"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:39:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:43 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: use mutex instead of semaphore\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac5357ebac43e191003c2cd0722377dccfa01a84",
      "tree": "a5a09bed344af07a68a95c2c4606a6c7eedc4748",
      "parents": [
        "b19caa0ca071dce76b0e81e957e7eb7c03d72cf5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:38:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:40 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: remove ugly hack in l4proto registration\n\nRemove ugly special-casing of nf_conntrack_l4proto_generic, all it\nwants is its sysctl tables registered, so do that explicitly in an\ninit function and move the remaining protocol initialization and\ncleanup code to nf_conntrack_proto.c as well.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "587aa64163bb14f70098f450abab9410787fce9d",
      "tree": "399c00a969d9a8c7af13675583c5417282d18974",
      "parents": [
        "ce18afe57bf53477f133208856dd2b7e6b5db5e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:37:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:34 2007 -0700"
      },
      "message": "[NETFILTER]: Remove IPv4 only connection tracking/NAT\n\nRemove the obsolete IPv4 only connection tracking/NAT as scheduled in\nfeature-removal-schedule.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39b89160df691045d1449cbaef43c02084c7543a",
      "tree": "bbe217599a1b84f3bf33c053e2c7d3bdf8bdd571",
      "parents": [
        "b0061ce49c83657563b64ffcf1ec137110230d93"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:06:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipipv6_hdr(), remove skb-\u003eh.ipv6h\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0061ce49c83657563b64ffcf1ec137110230d93",
      "tree": "be6788071fdbc53261ee395f596705e1418461d1",
      "parents": [
        "aa8223c7bb0b05183e1737881ed21827aa5b9e73"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:02:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:27 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipip_hdr(), remove skb-\u003eh.ipiph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa8223c7bb0b05183e1737881ed21827aa5b9e73",
      "tree": "05c9832326edfeb878472f15cf8133ed9f014cdf",
      "parents": [
        "ab6a5bb6b28a970104a34f0f6959b73cf61bdc72"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:04:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:26 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce tcp_hdr(), remove skb-\u003eh.th\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab6a5bb6b28a970104a34f0f6959b73cf61bdc72",
      "tree": "54cfa7d4fe00d0c28a60022b075afc0856d6fc2b",
      "parents": [
        "88c7664f13bd1a36acb8566b93892a4c58759ac6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 18 17:43:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:24 2007 -0700"
      },
      "message": "[TCP]: Introduce tcp_hdrlen() and tcp_optlen()\n\nThe ip_hdrlen() buddy, created to reduce the number of skb-\u003eh.th-\u003e uses and to\navoid the longer, open coded equivalent.\n\nDitched a no-op in bnx2 in the process.\n\nI wonder if we should have a BUG_ON(skb-\u003eh.th-\u003edoff \u003c 5) in tcp_optlen()...\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88c7664f13bd1a36acb8566b93892a4c58759ac6",
      "tree": "18ead610bf54ef87f3832c61d64a4bad30d4f78e",
      "parents": [
        "4bedb45203eab92a87b4c863fe2d0cded633427f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:43:18 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce icmp_hdr(), remove skb-\u003eh.icmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bedb45203eab92a87b4c863fe2d0cded633427f",
      "tree": "d46e43d0a08253cf85ee2db64df6aee5e4ff5a07",
      "parents": [
        "d9edf9e2be0f7661558984c32bd53867a7037fd3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:28:48 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:22 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce udp_hdr(), remove skb-\u003eh.uh\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9edf9e2be0f7661558984c32bd53867a7037fd3",
      "tree": "603271a9d0756e229ad9ff13c628a33306c96bdf",
      "parents": [
        "cc70ab261c9f997589546100ddec5da6bfd89c4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:19:23 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce igmp_hdr() \u0026 friends, remove skb-\u003eh.igmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc70ab261c9f997589546100ddec5da6bfd89c4e",
      "tree": "0be6a4f0dc81131747f3d3726dba77d922c6bee9",
      "parents": [
        "2c0fd387b00a6758550b5ca1aae4408374483fe7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:03:22 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:20 2007 -0700"
      },
      "message": "[ICMP6]: Introduce icmp6_hdr()\n\nFor consistency with all the other skb-\u003eh.raw accessors.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c0fd387b00a6758550b5ca1aae4408374483fe7",
      "tree": "e6bd255fb77d476424345c7864f6ee14cb0d1ddc",
      "parents": [
        "967b05f64e27d04a4c8879addd0e1c52137e2c9e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:59:32 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:19 2007 -0700"
      },
      "message": "[SCTP]: Introduce sctp_hdr()\n\nFor consistency with all the other skb-\u003eh.raw accessors.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "967b05f64e27d04a4c8879addd0e1c52137e2c9e",
      "tree": "c2c7ab3f0284903222d6d0864deaedbd4766b9b8",
      "parents": [
        "ea2ae17d6443abddc79480dc9f7af8feacabddc4"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:51:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:17 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_transport_header\n\nFor the cases where the transport header is being set to a offset from\nskb-\u003edata.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2ae17d6443abddc79480dc9f7af8feacabddc4",
      "tree": "2d6f48a5e4a40f761b5b510af9aac1fca55004cb",
      "parents": [
        "badff6d01a8589a1c828b0bf118903ca38627f4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:55:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:16 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_offset()\n\nFor the quite common \u0027skb-\u003eh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badff6d01a8589a1c828b0bf118903ca38627f4e",
      "tree": "89611d7058c612085c58dfb9913ee30ddf04b604",
      "parents": [
        "0660e03f6b18f19b6bbafe7583265a51b90daf36"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:06:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:15 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_transport_header(skb)\n\nFor the common, open coded \u0027skb-\u003eh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003eh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple cases:\n\nskb-\u003eh.raw \u003d skb-\u003edata;\nskb-\u003eh.raw \u003d {skb_push|[__]skb_pull}()\n\nThe next ones will handle the slightly more \"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb",
      "tree": "de57331758805956bcb54dda798e3ca76dd5a46f",
      "parents": [
        "fd74e6ccd522e2f26163eb5ac1abebcab2bd017c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:56:31 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:12 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce arp_hdr(), remove skb-\u003enh.arph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9bdd4b5257406b0608385d19c40b5511decf4f6",
      "tree": "fe5319c322a11c0b00e7ef0473762a8d1961da83",
      "parents": [
        "0272ffc46f81a4bbbf302ba093c737e969c5bb55"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:09:15 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:07 2007 -0700"
      },
      "message": "[IP]: Introduce ip_hdrlen()\n\nFor the common sequence \"skb-\u003enh.iph-\u003eihl * 4\", removing a good number of open\ncoded skb-\u003enh.iph uses, now to go after the rest...\n\nJust out of curiosity, here are the idioms found to get the same result:\n\nskb-\u003enh.iph-\u003eihl \u003c\u003c 2\nskb-\u003enh.iph-\u003eihl\u003c\u003c2\nskb-\u003enh.iph-\u003eihl * 4\nskb-\u003enh.iph-\u003eihl*4\n(skb-\u003enh.iph)-\u003eihl * sizeof(u32)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c14d2450cb7fe1786e2ec325172baf66922bf597",
      "tree": "1186bfb1ed197e81a1ff816a513ad69503d5d786",
      "parents": [
        "878c814500b123dd61a5e211879a32e5fd932713"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 11 22:39:41 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:01 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_network_header\n\nFor the cases where the network header is being set to a offset from skb-\u003edata.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc",
      "tree": "3b9073cecfbb3b6a1e25ab2b5dd2a22a43aef238",
      "parents": [
        "bbe735e4247dba32568a305553b010081c8dea99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:50:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:59 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header()\n\nFor the places where we need a pointer to the network header, it is still legal\nto touch skb-\u003enh.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbe735e4247dba32568a305553b010081c8dea99",
      "tree": "95d96619c85785a47ccee48965b68d99cf946854",
      "parents": [
        "e7dd65dafda5737a983c04d652a69ab8da78ee3f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 22:16:10 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:58 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_offset()\n\nFor the quite common \u0027skb-\u003enh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "797659fb4a4a511649cd71028141c32ad1698a12",
      "tree": "370361e706de99e3c176b343e9f2db5a1a9df2a3",
      "parents": [
        "37e6636669b0b996681586facee8034f7f674f6a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 15:56:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:43 2007 -0700"
      },
      "message": "[PPPOE]: Introduce pppoe_hdr()\n\nFor consistency with all the other skb-\u003enh.raw accessors.\n\nAlso do some really obvious simplifications in pppoe_recvmsg, well the\nkfree_skb one is not so obvious, but free() and kfree() have the same behaviour\n(hint :-) ).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37e6636669b0b996681586facee8034f7f674f6a",
      "tree": "4ab874ffd5b5408aa0d8bf59b3dcdb0c89b9b770",
      "parents": [
        "98e399f82ab3a6d863d1d4a7ea48925cc91c830e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 15:34:36 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:42 2007 -0700"
      },
      "message": "[LLC]: Kill llc_set_pdu_hdr\n\nWe\u0027ll have skb_reset_network_header soon.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98e399f82ab3a6d863d1d4a7ea48925cc91c830e",
      "tree": "5f84043aeec1ec27c2e8e6cc25b5d2e6c3d07343",
      "parents": [
        "31713c333ddbb66d694829082620b69b71c4b09a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:33:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:41 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_mac_header()\n\nFor the places where we need a pointer to the mac header, it is still legal to\ntouch skb-\u003emac.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nThis one also converts some more cases to skb_reset_mac_header() that my\nregex missed as it had no spaces before nor after \u0027\u003d\u0027, ugh.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48d49d0ccdaa9caff4636ef9c3410973d28131b5",
      "tree": "3bdf0729bf05e817d1bb9c3299906682414f8a76",
      "parents": [
        "f64955eb117ad62480b858fd69a11e6f9e74f60b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 12:30:58 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:37 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_mac_header()\n\nFor the cases where we want to set skb-\u003emac.raw to an offset from skb-\u003edata.\n\nSimple cases first, the memmove ones and specially pktgen will be left for later.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "459a98ed881802dee55897441bc7f77af614368e",
      "tree": "b81f76632d8f2e21eb91ec3d885091a98398d93e",
      "parents": [
        "4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:30:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:32 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_mac_header(skb)\n\nFor the common, open coded \u0027skb-\u003emac.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003emac.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92f37fd2ee805aa77925c1e64fd56088b46094fc",
      "tree": "8251c38b83ab362116dac89d94412ce229b42831",
      "parents": [
        "c7a3c5da35055e2fa97ed4f0da3eec4bd0ef4c38"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 25 22:14:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:21 2007 -0700"
      },
      "message": "[NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support\n\nNow that network timestamps use ktime_t infrastructure, we can add a new\nSOL_SOCKET sockopt  SO_TIMESTAMPNS.\n\nThis command is similar to SO_TIMESTAMP, but permits transmission of\na \u0027timespec struct\u0027 instead of a \u0027timeval struct\u0027 control message.\n(nanosecond resolution instead of microsecond)\n\nControl message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP\n\nA socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are\nmutually exclusive.\n\nsock_recv_timestamp() became too big to be fully inlined so I added a\n__sock_recv_timestamp() helper function.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: linux-arch@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2a316fd068c455c609ecc155dcfaa7e208d29fe",
      "tree": "9839e2c7e05e9d25241fa7c7b27fd06214120292",
      "parents": [
        "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 08 20:41:08 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:05 2007 -0700"
      },
      "message": "[NET]: Replace CONFIG_NET_DEBUG with sysctl.\n\nCovert network warning messages from a compile time to runtime choice.\nRemoves kernel config option and replaces it with new /proc/sys/net/core/warnings.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23",
      "tree": "b5ae288b3c27d13bde9648c41d7db3cfe1884bc2",
      "parents": [
        "cb69cc52364690d7789940c480b3a9490784b680"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 18 17:33:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:04 2007 -0700"
      },
      "message": "[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution\n\nNow network timestamps use ktime_t infrastructure, we can add a new\nioctl() SIOCGSTAMPNS command to get timestamps in \u0027struct timespec\u0027.\nUser programs can thus access to nanosecond resolution.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe067e8ab5e0dc5ca3c54634924c628da92090b4",
      "tree": "98f5a6ebbb770f16682cfc52caea2da1e7eeb73b",
      "parents": [
        "02ea4923b4997d7e1310c027081f46d584b9d714"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 07 12:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:02 2007 -0700"
      },
      "message": "[TCP]: Abstract out all write queue operations.\n\nThis allows the write queue implementation to be changed,\nfor example, to one which allows fast interval searching.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "759e5d006462d53fb708daa8284b4ad909415da1",
      "tree": "edcc4e9d975199b3fe5e2aadc3d1e06824755e75",
      "parents": [
        "1ab6eb62b02e0949a392fb19bf31ba59ae1022b1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Mar 25 20:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:51 2007 -0700"
      },
      "message": "[UDP]: Clean up UDP-Lite receive checksum\n\nThis patch eliminates some duplicate code for the verification of\nreceive checksums between UDP-Lite and UDP.  It does this by\nintroducing __skb_checksum_complete_head which is identical to\n__skb_checksum_complete_head apart from the fact that it takes\na length parameter rather than computing the first skb-\u003elen bytes.\n\nAs a result UDP-Lite will be able to use hardware checksum offload\nfor packets which do not use partial coverage checksums.  It also\nmeans that UDP-Lite loopback no longer does unnecessary checksum\nverification.\n\nIf any NICs start support UDP-Lite this would also start working\nautomatically.\n\nThis patch removes the assumption that msg_flags has MSG_TRUNC clear\nupon entry in recvmsg.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc910a27839584209726537698b596576940add4",
      "tree": "e03b021dcb5046ffb1e8154f0f4d4bc72c4c1c1d",
      "parents": [
        "ca043569390c528de4cd5ec9e07502f2bf4ecd1f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 25 20:27:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:45 2007 -0700"
      },
      "message": "[NETLINK]: Limit NLMSG_GOODSIZE to 8K.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c385b4d5a71b8ad552aecaa968ea46d7da2f6a",
      "tree": "49d8e60418cb4eeb0c9ed79fd095af50f6ec6623",
      "parents": [
        "502b093569e48db264831be7966e1c447de2f52f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Apr 25 17:08:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:43 2007 -0700"
      },
      "message": "[IPV6] ADDRCONF: Optimistic Duplicate Address Detection (RFC 4429) Support.\n\nNominally an autoconfigured IPv6 address is added to an interface in the\nTentative state (as per RFC 2462).  Addresses in this state remain in this\nstate while the Duplicate Address Detection process operates on them to\ndetermine their uniqueness on the network.  During this period, these\ntentative addresses may not be used for communication, increasing the time\nbefore a node may be able to communicate on a network.  Using Optimistic\nDuplicate Address Detection, autoconfigured addresses may be used\nimmediately for communication on the network, as long as certain rules are\nfollowed to avoid conflicts with other nodes during the Duplicate Address\nDetection process.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3927f2e8f9afa3424bb51ca81f7abac01ffd0005",
      "tree": "da9e335169572e6c743c084edce6a802f9e667ee",
      "parents": [
        "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 25 19:54:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:33 2007 -0700"
      },
      "message": "[NET]: div64_64 consolidate (rev3)\n\nHere is the current version of the 64 bit divide common code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5",
      "tree": "69a3ca50c6e266853676a545a113f13f254ae535",
      "parents": [
        "39df232f1a9ba48d41c68ee7d4046756e709cf91"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sun Mar 04 16:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:32 2007 -0700"
      },
      "message": "[NET]: Convert xtime.tv_sec to get_seconds()\n\nWhere appropriate, convert references to xtime.tv_sec to the\nget_seconds() helper function.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa438ccfdfd3f6db02c13b61b21454eb81cd6a13",
      "tree": "a1759259d7543586185e2fb9db21461147944f18",
      "parents": [
        "e317f6f69cb95527799d308a9421b7dc1252989a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 04 16:05:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:27 2007 -0700"
      },
      "message": "[NET]: Keep sk_backlog near sk_lock\n\nsk_backlog is a critical field of struct sock. (known famous words)\n\nIt is (ab)used in hot paths, in particular in release_sock(), tcp_recvmsg(),\ntcp_v4_rcv(), sk_receive_skb().\n\nIt really makes sense to place it next to sk_lock, because sk_backlog is only\nused after sk_lock locked (and thus memory cache line in L1 cache). This\nshould reduce cache misses and sk_lock acquisition time.\n\n(In theory, we could only move the head pointer near sk_lock, and leaving tail\nfar away, because \u0027tail\u0027 is normally not so hot, but keep it simple :) )\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cfe3baaf07c9e40a75f9a70662de56df1c246a8",
      "tree": "989b2aff491b5df3aa0215f611a8c7f1360c67e9",
      "parents": [
        "c5e7af0df5d7234afd8596560d9f570cfc6c18bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Feb 27 10:09:49 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:23 2007 -0700"
      },
      "message": "[TCP]: Add two new spurious RTO responses to FRTO\n\nNew sysctl tcp_frto_response is added to select amongst these\nresponses:\n\t- Rate halving based; reuses CA_CWR state (default)\n\t- Very conservative; used to be the only one available (\u003d1)\n\t- Undo cwr; undoes ssthresh and cwnd reductions (\u003d2)\n\nThe response with rate halving requires a new parameter to\ntcp_enter_cwr because FRTO has already reduced ssthresh and\ndoing a second reduction there has to be prevented. In addition,\nto keep things nice on 80 cols screen, a local variable was\nadded.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ef57cc56c3c96493f9b0d6c77bb9608eeaa173",
      "tree": "df6c7b65456507354b35b7b318332a3c8d11f98e",
      "parents": [
        "54287cc178cf85dbae0decec8b4dc190bff757ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 22 22:52:59 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:21 2007 -0700"
      },
      "message": "[TCP]: Make snd_cwnd_clamp a u32.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54287cc178cf85dbae0decec8b4dc190bff757ad",
      "tree": "44dedf7be5ac37fae65718d359ff598902247753",
      "parents": [
        "cf4c6bf83d0fa070f60b1ba8124dfe0e65fbfbcc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Feb 22 03:20:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:21 2007 -0700"
      },
      "message": "[TCP]: Keep copied_seq, rcv_wup and rcv_next together.\n\nI noticed in oprofile study a cache miss in tcp_rcv_established() to read\ncopied_seq.\n\nffffffff80400a80 \u003ctcp_rcv_established\u003e: /* tcp_rcv_established total: 4034293  \n2.0400 */\n\n 55493  0.0281 :ffffffff80400bc9:   mov    0x4c8(%r12),%eax copied_seq\n543103  0.2746 :ffffffff80400bd1:   cmp    0x3e0(%r12),%eax   rcv_nxt    \n\nif (tp-\u003ecopied_seq \u003d\u003d tp-\u003ercv_nxt \u0026\u0026\n        len - tcp_header_len \u003c\u003d tp-\u003eucopy.len) {\n\nIn this function, the cache line 0x4c0 -\u003e 0x500 is used only for this\nreading \u0027copied_seq\u0027 field.\n\nrcv_wup and copied_seq should be next to rcv_nxt field, to lower number of\nactive cache lines in hot paths. (tcp_rcv_established(), tcp_poll(), ...)\n\nAs you suggested, I changed tcp_create_openreq_child() so that these fields\nare changed together, to avoid adding a new store buffer stall.\n\nPatch is 64bit friendly (no new hole because of alignment constraints)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "886236c1247ab5e2ad9c73f6e9a652e3ae3c8b07",
      "tree": "f0ab2d6f6b6c98c6042be100db752c2d492669ae",
      "parents": [
        "5ef814753eb810d900fbd77af7c87f6d04f0e551"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Sun Mar 25 19:21:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:19 2007 -0700"
      },
      "message": "[TCP]: Add RFC3742 Limited Slow-Start, controlled by variable sysctl_tcp_max_ssthresh.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46d0de4ed92650b95f27acae09914996bbe624e7",
      "tree": "455e6a9772294ef16a88800709685797e1779b75",
      "parents": [
        "7c9a4a5b67926dd186d427bc5b9fce6ccbde154c"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 23:10:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:12 2007 -0700"
      },
      "message": "[TCP] FRTO: Entry is allowed only during (New)Reno like recovery\n\nThis interpretation comes from RFC4138:\n    \"If the sender implements some loss recovery algorithm other\n     than Reno or NewReno [FHG04], the F-RTO algorithm SHOULD\n     NOT be entered when earlier fast recovery is underway.\"\n\nI think the RFC means to say (especially in the light of\nAppendix B) that ...recovery is underway (not just fast recovery)\nor was underway when it was interrupted by an earlier (F-)RTO\nthat hasn\u0027t yet been resolved (snd_una has not advanced enough).\nThus, my interpretation is that whenever TCP has ever\nretransmitted other than head, basic version cannot be used\nbecause then the order assumptions which are used as FRTO basis\ndo not hold.\n\nNewReno has only the head segment retransmitted at a time.\nTherefore, walk up to the segment that has not been SACKed, if\nthat segment is not retransmitted nor anything before it, we know\nfor sure, that nothing after the non-SACKed segment should be\neither. This assumption is valid because TCPCB_EVER_RETRANS does\nnot leave holes but each non-SACKed segment is rexmitted\nin-order.\n\nCheck for retrans_out \u003e 1 avoids more expensive walk through the\nskb list, as we can know the result beforehand: F-RTO will not be\nallowed.\n\nSACKed skb can turn into non-SACked only in the extremely rare\ncase of SACK reneging, in this case we might fail to detect\nretransmissions if there were them for any other than head. To\nget rid of that feature, whole rexmit queue would have to be\nwalked (always) or FRTO should be prevented when SACK reneging\nhappens. Of course RTO should still trigger after reneging which\nmakes this issue even less likely to show up. And as long as the\nresponse is as conservative as it\u0027s now, nothing bad happens even\nthen.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdaae17da81db79b9aa4dfbf43305cfeef64f6a8",
      "tree": "5dce126ae84073646c15417c30bd1b6b13660784",
      "parents": [
        "9ead9a1d385ae2c52a6dcf2828d84ce66be04fc2"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Feb 21 22:59:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:02 2007 -0700"
      },
      "message": "[TCP] FRTO: Moved tcp_use_frto from tcp.h to tcp_input.c\n\nIn addition, removed inline.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12145387a042e8aa4439485f8976e6992a529b12",
      "tree": "ae161089e3058663510033fa85ed05115ab3b550",
      "parents": [
        "6f4c5bdef2943d9ec074be32c437ca897016aaad",
        "68c9f75a0539db583db074059d54deb607d1a475"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 18:20:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 18:20:32 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [BNX2]: Fix occasional NETDEV WATCHDOG on 5709.\n  [IPV6]: Disallow RH0 by default.\n  [XFRM]: beet: fix pseudo header length value\n  [TCP]: Congestion control initialization.\n"
    },
    {
      "commit": "0bcbc92629044b5403719f77fb015e9005b1f504",
      "tree": "ac9635a8ac7b14edcaa0e5ad42a5bc70f778ec33",
      "parents": [
        "05d224468a273a9ee773a0e9d34227ee7f2c0840"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "message": "[IPV6]: Disallow RH0 by default.\n\nA security issue is emerging.  Disallow Routing Header Type 0 by default\nas we have been doing for IPv4.\nNote: We allow RH2 by default because it is harmless.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e40f2ab0a7e36706ee78b78b3792f08f208cd44",
      "tree": "f04d09eb760c19bfd343d696f297e01b4ab2ea98",
      "parents": [
        "fc83815c3afe1bd8d0f0961a668a96caabb049be"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@in.ibm.com",
        "time": "Mon Apr 23 14:41:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 24 08:23:08 2007 -0700"
      },
      "message": "Taskstats fix the structure members alignment issue\n\nWe broke the the alignment of members of taskstats to the 8 byte boundary\nwith the CSA patches.  In the current kernel, the taskstats structure is\nnot suitable for use by 32 bit applications in a 64 bit kernel.\n\nOn x86_64\n\nOffsets of taskstats\u0027 members (64 bit kernel, 64 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        16,     # cpu_count\n        24,     # cpu_delay_total\n        32,     # blkio_count\n        40,     # blkio_delay_total\n        48,     # swapin_count\n        56,     # swapin_delay_total\n        64,     # cpu_run_real_total\n        72,     # cpu_run_virtual_total\n        80,     # ac_comm\n        112,    # ac_sched\n        113,    # ac_pad\n        116,    # ac_uid\n        120,    # ac_gid\n        124,    # ac_pid\n        128,    # ac_ppid\n        132,    # ac_btime\n        136,    # ac_etime\n        144,    # ac_utime\n        152,    # ac_stime\n        160,    # ac_minflt\n        168,    # ac_majflt\n        176,    # coremem\n        184,    # virtmem\n        192,    # hiwater_rss\n        200,    # hiwater_vm\n        208,    # read_char\n        216,    # write_char\n        224,    # read_syscalls\n        232,    # write_syscalls\n        240,    # read_bytes\n        248,    # write_bytes\n        256,    # cancelled_write_bytes\n    );\n\nOffsets of taskstats\u0027 members (64 bit kernel, 32 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        12,     # cpu_count\n        20,     # cpu_delay_total\n        28,     # blkio_count\n        36,     # blkio_delay_total\n        44,     # swapin_count\n        52,     # swapin_delay_total\n        60,     # cpu_run_real_total\n        68,     # cpu_run_virtual_total\n        76,     # ac_comm\n        108,    # ac_sched\n        109,    # ac_pad\n        112,    # ac_uid\n        116,    # ac_gid\n        120,    # ac_pid\n        124,    # ac_ppid\n        128,    # ac_btime\n        132,    # ac_etime\n        140,    # ac_utime\n        148,    # ac_stime\n        156,    # ac_minflt\n        164,    # ac_majflt\n        172,    # coremem\n        180,    # virtmem\n        188,    # hiwater_rss\n        196,    # hiwater_vm\n        204,    # read_char\n        212,    # write_char\n        220,    # read_syscalls\n        228,    # write_syscalls\n        236,    # read_bytes\n        244,    # write_bytes\n        252,    # cancelled_write_bytes\n    );\n\nThis is one way to solve the problem without re-arranging structure members\nis to pack the structure.  The patch adds an __attribute__((aligned(8))) to\nthe taskstats structure members so that 32 bit applications using taskstats\ncan work with a 64 bit kernel.\n\nUsing __attribute__((packed)) would break the 64 bit alignment of members.\n\nThe fix was tested on x86_64. After the fix, we got\n\nOffsets of taskstats\u0027 members (64 bit kernel, 64 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        16,     # cpu_count\n        24,     # cpu_delay_total\n        32,     # blkio_count\n        40,     # blkio_delay_total\n        48,     # swapin_count\n        56,     # swapin_delay_total\n        64,     # cpu_run_real_total\n        72,     # cpu_run_virtual_total\n        80,     # ac_comm\n        112,    # ac_sched\n        113,    # ac_pad\n        120,    # ac_uid\n        124,    # ac_gid\n        128,    # ac_pid\n        132,    # ac_ppid\n        136,    # ac_btime\n        144,    # ac_etime\n        152,    # ac_utime\n        160,    # ac_stime\n        168,    # ac_minflt\n        176,    # ac_majflt\n        184,    # coremem\n        192,    # virtmem\n        200,    # hiwater_rss\n        208,    # hiwater_vm\n        216,    # read_char\n        224,    # write_char\n        232,    # read_syscalls\n        240,    # write_syscalls\n        248,    # read_bytes\n        256,    # write_bytes\n        264,    # cancelled_write_bytes\n    );\n\nOffsets of taskstats\u0027 members (64 bit kernel, 32 bit application)\n\n@taskstats\u0027offsetof[@taskstats\u0027indices] \u003d (\n        0,      # version\n        4,      # ac_exitcode\n        8,      # ac_flag\n        9,      # ac_nice\n        16,     # cpu_count\n        24,     # cpu_delay_total\n        32,     # blkio_count\n        40,     # blkio_delay_total\n        48,     # swapin_count\n        56,     # swapin_delay_total\n        64,     # cpu_run_real_total\n        72,     # cpu_run_virtual_total\n        80,     # ac_comm\n        112,    # ac_sched\n        113,    # ac_pad\n        120,    # ac_uid\n        124,    # ac_gid\n        128,    # ac_pid\n        132,    # ac_ppid\n        136,    # ac_btime\n        144,    # ac_etime\n        152,    # ac_utime\n        160,    # ac_stime\n        168,    # ac_minflt\n        176,    # ac_majflt\n        184,    # coremem\n        192,    # virtmem\n        200,    # hiwater_rss\n        208,    # hiwater_vm\n        216,    # read_char\n        224,    # write_char\n        232,    # read_syscalls\n        240,    # write_syscalls\n        248,    # read_bytes\n        256,    # write_bytes\n        264,    # cancelled_write_bytes\n    );\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea8df8c5e609a53f4d03d133baea9561412f4303",
      "tree": "1451390f27ffad89c11671eb3e61d66f48dca00b",
      "parents": [
        "241c39b9ac4bf847013aa06cce6d4d61426a2006",
        "1d464c26b5625215c4b35fb336c8f3c57d248c2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 20 22:57:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 20 22:57:51 2007 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Fix wrong checksum for split TCP packets on 64-bit MIPS\n  [MIPS] Fix BUG(), BUG_ON() handling\n  [MIPS] Retry {save,restore}_fp_context if failed in atomic context.\n  [MIPS] Disallow CpU exception in kernel again.\n  [MIPS] Add missing silicon revisions for BCM112x\n"
    },
    {
      "commit": "8e821cad12e80cd1a8a3fbadf91f62f17f32549e",
      "tree": "7a3755731152198410008921b3a2b8e7015e5f0e",
      "parents": [
        "7ab77e03c1f665d5dee78f1248fffd11fa0c5154"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 20 16:12:34 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 20 22:56:29 2007 -0700"
      },
      "message": "NFS: clean up the unstable write code\n\nGet rid of the inlined #ifdefs.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d464c26b5625215c4b35fb336c8f3c57d248c2e",
      "tree": "88316e8149c4125dbdb55ff90a4e8d45a024940b",
      "parents": [
        "ba755f8ec80fdbf2b5212622eabf7355464c6327"
      ],
      "author": {
        "name": "Dave Johnson",
        "email": "djohnson+linux-mips@sw.starentnetworks.com",
        "time": "Wed Apr 18 10:39:41 2007 -0400"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Fix wrong checksum for split TCP packets on 64-bit MIPS\n\nI\u0027ve traced down an off-by-one TCP checksum calculation error under\nthe following conditions:\n\n1) The TCP code needs to split a full-sized packet due to a reduced\n   MSS (typically due to the addition of TCP options mid-stream like\n   SACK).\n   _AND_\n2) The checksum of the 2nd fragment is larger than the checksum of the\n   original packet.  After subtraction this results in a checksum for\n   the 1st fragment with bits 16..31 set to 1. (this is ok)\n   _AND_\n3) The checksum of the 1st fragment\u0027s TCP header plus the previously\n   32bit checksum of the 1st fragment DOES NOT cause a 32bit overflow\n   when added together.  This results in a checksum of the TCP header\n   plus TCP data that still has the upper 16 bits as 1\u0027s.\n   _THEN_\n4) The TCP+data checksum is added to the checksum of the pseudo IP\n   header with csum_tcpudp_nofold() incorrectly (the bug).\n    \nThe problem is the checksum of the TCP+data is passed to\ncsum_tcpudp_nofold() as an 32bit unsigned value, however the assembly\ncode acts on it as if it is a 64bit unsigned value.\n\nThis causes an incorrect 32-\u003e64bit extension if the sum has bit 31\nset.  The resulting checksum is off by one.\n    \nThis problems is data and TCP header dependent due to #2 and #3\nabove so it doesn\u0027t occur on every TCP packet split.\n    \nSigned-off-by: Dave Johnson \u003cdjohnson+linux-mips@sw.starentnetworks.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "ba755f8ec80fdbf2b5212622eabf7355464c6327",
      "tree": "211f9963c94d740a629c0a72fcacdb1761506873",
      "parents": [
        "faea62346444ce5b1dba8fb5291d95b676522c42"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Thu Apr 12 20:02:54 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Fix BUG(), BUG_ON() handling\n\nWith commit 63dc68a8cf60cb110b147dab1704d990808b39e2, kernel can not\nhandle BUG() and BUG_ON() properly since get_user() returns false for\nkernel code.  Use __get_user() to skip unnecessary access_ok().  This\npatch also make BRK_BUG code encoded in the TNE instruction.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "faea62346444ce5b1dba8fb5291d95b676522c42",
      "tree": "d00e53763ca9b145348e5754aaf0cd4dcbb12123",
      "parents": [
        "5323180db75d562a287cb2020b07c9422df13df6"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Mon Apr 16 23:19:44 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Retry {save,restore}_fp_context if failed in atomic context.\n\nThe save_fp_context()/restore_fp_context() might sleep on accessing\nuser stack and therefore might lose FPU ownership in middle of them.\n\nIf these function failed due to \"in_atomic\" test in do_page_fault,\ntouch the sigcontext area in non-atomic context and retry these\nsave/restore operation.\n\nThis is a replacement of a (broken) fix which was titled \"Allow CpU\nexception in kernel partially\".\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "5323180db75d562a287cb2020b07c9422df13df6",
      "tree": "71039fd0a03f89ebb3172d75a9e594d4f9f56fd6",
      "parents": [
        "9a9943575ade643368849e2c963094ac637867e0"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Apr 14 02:37:26 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Disallow CpU exception in kernel again.\n\nThe commit 4d40bff7110e9e1a97ff8c01bdd6350e9867cc10 (\"Allow CpU\nexception in kernel partially\") was broken.  The commit was to fix\ntheoretical problem but broke usual case.  Revert it for now.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "9a9943575ade643368849e2c963094ac637867e0",
      "tree": "c57803e7c5d48a59133e88a75704e0b86fd3bcaa",
      "parents": [
        "46fcc86dd71d70211e965102fb69414c90381880"
      ],
      "author": {
        "name": "Mark Mason",
        "email": "mmason@upwardaccess.com",
        "time": "Fri Apr 13 10:32:25 2007 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 20 14:58:37 2007 +0100"
      },
      "message": "[MIPS] Add missing silicon revisions for BCM112x\n\nRecent versions of the BCM112X processors aren\u0027t recognized by Linux\n(preventing Linux from booting on those processors).  This patch adds\nsupport for those that are missing.\n\nSigned-off-by: Mark Mason \u003cmason@broadcom.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "80d74d5123bf3aecd32302809c4e61bb8a16786b",
      "tree": "604d95410caa54c60abcfb018bc62f4fde0398bc",
      "parents": [
        "245d95a423664761d9399656098523db6988e9cc",
        "19bb3506e27096eea5f7b71b89621ad1203ed318"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:51:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:51:32 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [BRIDGE]: Unaligned access when comparing ethernet addresses\n  [SCTP]: Unmap v4mapped addresses during SCTP_BINDX_REM_ADDR operation.\n  [SCTP]: Fix assertion (!atomic_read(\u0026sk-\u003esk_rmem_alloc)) failed message\n  [NET]: Set a separate lockdep class for neighbour table\u0027s proxy_queue\n  [NET]: Fix UDP checksum issue in net poll mode.\n  [KEY]: Fix conversion between IPSEC_MODE_xxx and XFRM_MODE_xxx.\n  [NET]: Get rid of alloc_skb_from_cache\n"
    },
    {
      "commit": "93da28790c17345f4db10358dfb19b4c241d8ba3",
      "tree": "47616f12e51de5c8f1ccb9f0f6fcb6b458fc0720",
      "parents": [
        "30f3deeee81cf22546da1b0b89a937bb991dea23"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Tue Apr 17 00:32:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "Provide dummy devm_ioport_* if !HAS_IOPORT\n\nProvide an dummy implementation of devm_ioport_map() and\ndevm_ioport_unmap() to allow drivers (eg, pata_platform) to build for\nplatforms where CONFIG_NO_IOPORT is selected.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88ed39b064575b4f42ecb737ec2daa66717de173",
      "tree": "a9c181fc229fbe6f1f6d70372256d3fd7a3150b9",
      "parents": [
        "7fc1a1abc1eca1278d6d37ec54b72005d15b5c1e"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Mon Apr 16 22:53:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "alpha: build fixes - force architecture\n\nOverride compiler .arch directive for generic kernel build.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b75b05b73cdefd1d10074e9dad60812f9731a5e",
      "tree": "a477c79aa402cd2e2600dc99a7d772e6bf84c5c1",
      "parents": [
        "8a93258ce302c2b597289770cb7de8dba7c6c219"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Mon Apr 16 22:53:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "alpha: fixes for specific machine types\n\nFiles:\n\narch/alpha/kernel/core_mcpcia.c\narch/alpha/kernel/sys_rawhide.c\ninclude/asm-alpha/core_mcpcia.h\n\n\tDetermine correct hose configuration; RAWHIDE family can have\n        2 or 4 hoses, so make sure non-existent hoses are ignored.\n\narch/alpha/kernel/err_titan.c\n\n\tSupply a needed #include \u003casm/irq_regs.h\u003e\n\narch/alpha/kernel/module.c\n\n\tAdd some useful output to the relocation overflow messages.\n\narch/alpha/kernel/sys_noritake.c\n\n\tSupply necessary noritake_end_irq() to correct interrupt handling.\n\tThis fixes a problem first noted by hangs during boot probing with\n\ta DE500-BA TULIP NIC present.\n\narch/alpha/kernel/sys_sio.c\n\n\tCorrect saving of original PIRQ register (PCI IRQ routing);\n\tchange default PIRQ setting to leave PCI IRQs 9 and 14 free to\n\tbe used for sound (Multia) and IDE (any), respectively.\n\ninclude/asm-alpha/io.h\n\n\tSupply the \"isa_virt_to_bus\" routine.\n\nSigned-off-by: Jay Estabrook \u003cjay.estabrook@hp.com\u003e\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "112654208bd6f092e064973b8fa680e37ffa74a6",
      "tree": "30c5e0d05e8f91f70cb3f32b6c22a33c1602ff57",
      "parents": [
        "c4bbafda70a0fc95c6595bffd6825ef264050d01"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 16 22:53:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:26 2007 -0700"
      },
      "message": "kernel-doc: fix plist.h comments\n\nMake kernel-doc comments match macro names.\nCorrect parameter names in a few places.\nRemove \u0027#\u0027 from beginning of kernel-doc comment macro names.\nRemove extra (erroneous) blank lines in kernel-doc.\n\nWarning(plist.h:100): Cannot understand  * #PLIST_HEAD_INIT - static struct plist_head initializer on line 100 - I thought it was a doc line\nWarning(plist.h:112): Cannot understand  * #PLIST_NODE_INIT - static struct plist_node initializer on line 112 - I thought it was a doc line\nWarning(plist.h:103): No description found for parameter \u0027_lock\u0027\nWarning(plist.h:129): No description found for parameter \u0027lock\u0027\nWarning(plist.h:158): No description found for parameter \u0027pos\u0027\nWarning(plist.h:169): No description found for parameter \u0027pos\u0027\nWarning(plist.h:169): No description found for parameter \u0027n\u0027\nWarning(plist.h:179): No description found for parameter \u0027mem\u0027\n\nThis still leaves one warning \u0026 one error that need attention:\nError(plist.h:219): cannot understand prototype: \u0027(\u0027\nWarning(plist.h): no structured comments found\n\nAcked-by: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: Daniel Walker \u003cdwalker@mvista.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4b7e8754e3198eb5392568e523da6440143c2cd",
      "tree": "95af9b699851d63fe4d6487d193a71b4037893c3",
      "parents": [
        "6f29e35e2d4cdbc3e8785982314e54ec5df4ad37"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Mon Apr 16 22:53:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:26 2007 -0700"
      },
      "message": "allow vmsplice to work in 32-bit mode on ppc64\n\nTrivial change to pass vmsplice arguments through the compat layer on\npp64.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2ecba71717c4f60671175fd26083c35a4b9ad58",
      "tree": "b51d9e55cc4777254fed5d6b2056cc26d5ccda9f",
      "parents": [
        "5e7d7fa57323dfb48fb09464cf4542daa7ce8a72"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Tue Apr 17 12:45:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 17 13:13:31 2007 -0700"
      },
      "message": "[NET]: Set a separate lockdep class for neighbour table\u0027s proxy_queue\n\nOtherwise the following calltrace will lead to a wrong\nlockdep warning:\n\n  neigh_proxy_process()\n    `- lock(neigh_table-\u003eproxy_queue.lock);\n  arp_redo /* via tbl-\u003eproxy_redo */\n  arp_process\n  neigh_event_ns\n  neigh_update\n  skb_queue_purge\n    `- lock(neighbor-\u003earp_queue.lock);\n\nThis is not a deadlock actually, as neighbor table\u0027s proxy_queue\nand the neighbor\u0027s arp_queue are different queues.\n\nLockdep thinks there is a deadlock as both queues are initialized\nwith skb_queue_head_init() and thus have a common class.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4dfa0b1fb39c7ffe74741d60668825de6a47b69",
      "tree": "1866a6b51f666b4969f6c0be55c25f31e4d42a51",
      "parents": [
        "6f29e35e2d4cdbc3e8785982314e54ec5df4ad37"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 17 12:28:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 17 13:13:16 2007 -0700"
      },
      "message": "[NET]: Get rid of alloc_skb_from_cache\n\nSince this was added originally for Xen, and Xen has recently (~2.6.18)\nstopped using this function, we can safely get rid of it.  Good timing\ntoo since this function has started to bit rot.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a6d41b32a17ca902ef50fdfa170d7f23264bad5",
      "tree": "1a380f2e7fe7858da3dfb53ec85e3d4b100c948f",
      "parents": [
        "60fa3f769f7651a60125a0f44e3ffe3246d7cf39"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 14 19:10:12 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Apr 14 21:46:48 2007 -0700"
      },
      "message": "NFS: Ensure PG_writeback is cleared when writeback fails\n\nIf the writebacks are cancelled via nfs_cancel_dirty_list, or due to the\nmemory allocation failing in nfs_flush_one/nfs_flush_multi, then we must\nensure that the PG_writeback flag is cleared.\n\nAlso ensure that we actually own the PG_writeback flag whenever we\nschedule a new writeback by making nfs_set_page_writeback() return the\nvalue of test_set_page_writeback().\nThe PG_writeback page flag ends up replacing the functionality of the\nPG_FLUSHING nfs_page flag, so we rip that out too.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bd51cce98aa80ff8b56d34a0e48316c5f887818",
      "tree": "76735fa7f5767fa379f30399a9bd048a3bbf3fc3",
      "parents": [
        "9631eb0bc18bc1fd1cc84e535260d67ed6a36865",
        "a7a832de9e9624bcf069a5369c3c38ba2f44d460"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 10 17:22:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 10 17:22:31 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ide: add \"optical\" to sysfs \"media\" attribute\n  ide: ugly messages trying to open CD drive with no media present\n  ide: correctly prevent IDE timer expiry function to run if request was already handled\n"
    }
  ],
  "next": "b4dfd6bc35f6c1e0fcbb4268c523b3939955d3af"
}
