)]}'
{
  "log": [
    {
      "commit": "7eff2e7a8b65c25920207324e56611150eb1cd9a",
      "tree": "02a0eeba9d25d996233e30c18f258dfae0ae2139",
      "parents": [
        "8380770c842faef3001e44662953d64ad9a93663"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Aug 14 15:15:12 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:01 2007 -0700"
      },
      "message": "Driver core: change add_uevent_var to use a struct\n\nThis changes the uevent buffer functions to use a struct instead of a\nlong list of parameters. It does no longer require the caller to do the\nproper buffer termination and size accounting, which is currently wrong\nin some places. It fixes a known bug where parts of the uevent\nenvironment are overwritten because of wrong index calculations.\n\nMany thanks to Mathieu Desnoyers for finding bugs and improving the\nerror handling.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58c14a8fe64d047218522cf2f18a2d7f24c12f51",
      "tree": "7ba7d28052d0d30f7bc7d97ae6d11ebea2ee1c16",
      "parents": [
        "dcffde5345c917b98b094d0ef27f6280bc7d4655"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Sep 26 22:31:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:54 2007 -0700"
      },
      "message": "[ATM] net/atm/lec.c: printk warning fix\n\nnet/atm/lec.c: In function \u0027lec_start_xmit\u0027:\nnet/atm/lec.c:371: warning: format \u0027%x\u0027 expects type \u0027unsigned int\u0027, but argument 4 has type \u0027long unsigned int\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0795af5729b18218767fab27c44b1384f72dc9ad",
      "tree": "67c16df84aa6ec219340b8ea1b5cfb0e8150a216",
      "parents": [
        "95ea36275f3c9a1d3d04c217b4b576c657c4e70e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Oct 03 17:59:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:42 2007 -0700"
      },
      "message": "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()\n\nThis is nicer than the MAC_FMT stuff.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b14a536701b50559a0d69d5d593323f550db4e9",
      "tree": "2da3f7edd8678555bc1aac5e9d0a167cb0635bf8",
      "parents": [
        "c40f6fff401f693f627d3d44ef7663b993943517"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:41:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:26 2007 -0700"
      },
      "message": "[NET]: all net/ cleanup with ARRAY_SIZE\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "522400623e240ad134cb4101b1fddc3245d2a7ed",
      "tree": "fb1f341426ae7cd5c977232c8084bf45819d1bea",
      "parents": [
        "23f1f4eff85d3d2ec9ed589e3fdcbba59eaa083e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Aug 28 15:22:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:27 2007 -0700"
      },
      "message": "[ATM]: Replace DPRINTK() with pr_debug().\n\nGet rid of using DPRINTK macro in ATM and use pr_debug (in kernel.h).\nUsing the standard macro is cleaner and forces code to check for bad arguments\nand formatting.\n\nFixes from Thomas Graf.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6869a35b365c027b7acf50585c5bb34e34d4c41c",
      "tree": "9e1b2ccd044ac4648cff4307a046c0b41892ad83",
      "parents": [
        "af3502184aee8a0af6da8678e84c3d5bc5cdb83f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Aug 10 15:16:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:01 2007 -0700"
      },
      "message": "[ATM]: Clean up duplicate includes in net/atm/\n\nThis patch cleans up duplicate includes in\n\tnet/atm/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5492c4ed7a3fbbfa1a62db54e4934fd0b6a45ac",
      "tree": "87b508eea6bacf239e552072025e496b75369070",
      "parents": [
        "782f7956891c95e54c5b008b24ebf9e82fd84796"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Mon Jul 16 18:31:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 01:46:52 2007 -0700"
      },
      "message": "[ATM]: Eliminate dead config variable CONFIG_BR2684_FAST_TRANS.\n\nSigned-off-by: chas williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ececfdee1cc287123149c801af201e41c7c3cc84",
      "tree": "8920c1ed712df4f2f04dc1f702b2cb1d56a7aa58",
      "parents": [
        "8ca7ee6bcc542395cc68202d319a0404ad92b41d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Jul 15 21:01:12 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 15 16:40:52 2007 -0700"
      },
      "message": "fallout from constified seq_operations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "56b3d975bbce65f655c5612b4822da671f9fd9b2",
      "tree": "7e29d70405d9c8e28ddee3b03a07157477fc780f",
      "parents": [
        "3be550f34b03e5eb762f74d447ebbeba97efbd6d"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "message": "[NET]: Make all initialized struct seq_operations const.\n\nMake all initialized struct seq_operations in net/ const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9af97186fcc9a1d9bbf195eb4bc2399d0dd66223",
      "tree": "526a2be17c0464e6807efb196594bcb35843f23f",
      "parents": [
        "1c8c7d64169dc4b1ae3d8cd1bf35ea0a099b50ad"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 09 13:12:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:18:48 2007 -0700"
      },
      "message": "[ATM] br2684: Use seq_list_xxx helpers\n\nThe .show callback receives the list_head pointer now, not the struct\nbr2684_dev one.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ef8d0aeafda8388dd51f2671b7059192b1e5a5f",
      "tree": "47886cdc9f20fb601bdace40a037335ceaa404cb",
      "parents": [
        "1c8ea5aee0b16409295d96a5e8984bd902f06a77"
      ],
      "author": {
        "name": "Milind Arun Choudhary",
        "email": "milindchoudhary@gmail.com",
        "time": "Thu Apr 26 01:37:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 01:37:44 2007 -0700"
      },
      "message": "[NET]: SPIN_LOCK_UNLOCKED cleanup in drivers/atm, net\n\nSPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead\n\nSigned-off-by: Milind Arun Choudhary \u003cmilindchoudhary@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27d7ff46a3498d3debc6ba68fb8014c702b81170",
      "tree": "b5a0c617cf8339524d3b1f1633e08eae7b94cf86",
      "parents": [
        "3dbad80ac7632f243b824d469301abb97ec634a1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Mar 31 11:55:19 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_to_linear_data{_offset}\n\nTo clearly state the intent of copying to linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.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": "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": "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": "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": "4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0",
      "tree": "d338fad7a61824d8c14c079c0be437ea4ad83f01",
      "parents": [
        "029720f15dcd3c6c16824177cfc486083b229411"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:40:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:30 2007 -0700"
      },
      "message": "[ETH]: Make eth_type_trans set skb-\u003edev like the other *_type_trans\n\nOne less thing for drivers writers to worry about.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8fb7948dc1aeff0515b2912b564d4236f6c0ebd",
      "tree": "b9134494f009f037fbcfe0ae17ea02d5eec2e253",
      "parents": [
        "c1a4b86e396b6870b420d23e4d49c7b685aef0a4"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:29:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:24 2007 -0700"
      },
      "message": "[TR]: Make tr_type_trans set skb-\u003edev\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\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": "acde4855bb8f5fba8bb065d35ff6ac8a94b3dfa8",
      "tree": "752be41a4b56e8a4c13759215d5a7c049c80a539",
      "parents": [
        "b93b7eebd328d5c1d171896fb823267539d4a0f6"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Mar 25 20:12:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:53 2007 -0700"
      },
      "message": "[NET] ATM: Use htons() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecbb416939da77c0d107409976499724baddce7b",
      "tree": "313f786f9f4d5fec3f016c292dea1705924fa9b6",
      "parents": [
        "e1701c68c1d1aeb3213d7016593ea9a1d4309417"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Sat Mar 24 12:52:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 25 18:48:01 2007 -0700"
      },
      "message": "[NET]: Fix neighbour destructor handling.\n\n-\u003eneigh_destructor() is killed (not used), replaced with\n-\u003eneigh_cleanup(), which is called when neighbor entry goes to dead\nstate. At this point everything is still valid: neigh-\u003edev,\nneigh-\u003eparms etc.\n\nThe device should guarantee that dead neighbor entries (neigh-\u003edead !\u003d\n0) do not get private part initialized, otherwise nobody will cleanup\nit.\n\nI think this is enough for ipoib which is the only user of this thing.\nInitialization private part of neighbor entries happens in ipib\nstart_xmit routine, which is not reached when device is down.  But it\nwould be better to add explicit test for neigh-\u003edead in any case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a32144e9d7b4e21341174b1a83b82a82353be86",
      "tree": "6f08560b341418fc9934f56f6162a95f5b5d8aec",
      "parents": [
        "00977a59b951207d38380c75f03a36829950265c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 7\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7d57453d20e27de69ecafd121005e9d13a0f427",
      "tree": "68fc3b10116cbd4e20411a08fd7f6cc2510c3442",
      "parents": [
        "ed4477b96049fe2908c63f854bf8e37c6df4a635"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:29 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:16 2007 -0800"
      },
      "message": "[NET] ATM: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84ff602efba2664762070add0600aa5c870a2659",
      "tree": "c4ca2f4acb4210edce543e677a7308de6ee4211c",
      "parents": [
        "f5a6e01c093ca60c0cab15c47c8e7e199fbbc9e6"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Mon Feb 05 18:04:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:53 2007 -0800"
      },
      "message": "[ATM]: Fix for crash in adummy_init()\n\nThis was reported by Ingo Molnar here,\n\nhttp://lkml.org/lkml/2006/12/18/119\n\nThe problem is that adummy_init() depends on atm_init() , but adummy_init()\nis called first.\n\nSo I put atm_init() into subsys_initcall which seems appropriate, and it\nwill still get module_init() if it becomes a module.\n\nInteresting to note that you could crash your system here if you just load\nthe modules in the wrong order.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76a0f17429f5dd82186eec2ee2f37f5a5237d1a8",
      "tree": "444291bbd3ea34277f883848ce274588aa2409fc",
      "parents": [
        "8ac0352bb20c5a8c051218c689d263b4591d50e1"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:44 2006 -0800"
      },
      "message": "[PATCH] struct path: convert atm\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "c40a27f48ceee648e9cfdda040b69e7010d9f82c",
      "tree": "dde14f99417f4ce5d2ac367aa09f5f4fca18a5b2",
      "parents": [
        "1e9b3d5339d2afd6348e8211f0db695b00261e17"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Nov 30 21:05:23 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:32:08 2006 -0800"
      },
      "message": "[ATM]: Kill ipcommon.[ch]\n\nAll that remained was skb_migrate() and that was overkill\nfor what the two call sites were trying to do.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2afe37cdffa96f69c9096e6d4a10a275c9c7d2c9",
      "tree": "b5898081aa18d60bf95595d906de39cc0e617787",
      "parents": [
        "66625984ca94552f75836596e0e83f3e5594bd58"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Nov 21 01:14:33 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:13 2006 -0800"
      },
      "message": "[ATM]: Use kmemdup \u0026 kzalloc where applicable\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "30d492da738a8d5f4ec884b3e1a13eef97714994",
      "tree": "6184b7fd083a41315ce84379fae0faf0c1749462",
      "parents": [
        "42d224aa170a4f7446cea6c972d9302d524545e5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:11:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:55 2006 -0800"
      },
      "message": "[ATM]: Annotations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "97f80bc66f5c6384e3aab70c67340116b8c4284b",
      "tree": "bccbb44a0e19cfd9a7419ea53317ad6e03280380",
      "parents": [
        "fd169f15a67b47f23bd1704919c719a8e8409a73"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 20 19:48:42 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Oct 21 19:55:22 2006 -0700"
      },
      "message": "[ATM]: handle sysfs errors\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "038b0a6d8d32db934bba6a24e74e76e4e327a94f",
      "tree": "5fbeb3e8f140e20f8ce0e33e12b32ec5b0724cd6",
      "parents": [
        "78b656b8bf933101b42409b4492734b23427bfc3"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Oct 04 03:38:54 2006 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Oct 04 03:38:54 2006 -0400"
      },
      "message": "Remove all inclusions of \u003clinux/config.h\u003e\nkbuild explicitly includes this at build time.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "6656e3c4c8e0c80f2d2bfece574876d269f64861",
      "tree": "b4470a2f0ffd372eb3886a6e344cd336ec430d03",
      "parents": [
        "33a9c2d4b758279c5077fc15d221b385a574ae0b"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:17:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:17:17 2006 -0700"
      },
      "message": "[ATM]: [lec] use refcnt to protect lec_arp_entries outside lock\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33a9c2d4b758279c5077fc15d221b385a574ae0b",
      "tree": "adcaad67bd057b2d8200bae2219710c920c586f5",
      "parents": [
        "987e46bdf314c55e060570ff46723d770e461f0e"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:16:48 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:16:48 2006 -0700"
      },
      "message": "[ATM]: [lec] add reference counting to lec_arp entries\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "987e46bdf314c55e060570ff46723d770e461f0e",
      "tree": "c544f11f72d0e12f5862b8dda9e650227525b8f1",
      "parents": [
        "edbc9b014fda4b13466b2e2ac53b940337548ab4"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:15:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:15:59 2006 -0700"
      },
      "message": "[ATM]: [lec] use work queue instead of timer for lec arp expiry\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edbc9b014fda4b13466b2e2ac53b940337548ab4",
      "tree": "ba3d8b96fe0a3d8f5677f144e914ee7684266497",
      "parents": [
        "d0732f649f090b31f976a9ce59a38e1191077909"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:15:15 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:15:15 2006 -0700"
      },
      "message": "[ATM]: [lec] old_close is no longer used\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0732f649f090b31f976a9ce59a38e1191077909",
      "tree": "31309d2d342e0eac8ce4cd28e67fd56a6fd01ed1",
      "parents": [
        "1c9d3e72a7164c590437f2ab6c2c4f6da91f1703"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:14:27 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:14:27 2006 -0700"
      },
      "message": "[ATM]: [lec] convert lec_arp_table to hlist\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c9d3e72a7164c590437f2ab6c2c4f6da91f1703",
      "tree": "8a3ab9d20514f1bddc40e9a7e0f3c763410d5abd",
      "parents": [
        "1fa9961d631fcde21cc42678157129c6fae7fe6d"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:13:24 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:13:24 2006 -0700"
      },
      "message": "[ATM]: [lec] header indent, comment and whitespace cleanup\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fa9961d631fcde21cc42678157129c6fae7fe6d",
      "tree": "c9cfa49762b2d0aa33d9fc2e309b3d088f8c51f7",
      "parents": [
        "d44f77466cfdc6f1d1e3870e176afedab7f46a42"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:11:47 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:11:47 2006 -0700"
      },
      "message": "[ATM]: [lec] indent, comment and whitespace cleanup [continued]\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d44f77466cfdc6f1d1e3870e176afedab7f46a42",
      "tree": "6ec7e9f83ac240a3f4e3d5512f3bbfdeccbbc427",
      "parents": [
        "f236218b7292bccb0f8754a0feb5d9e9a06fe5a2"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Sep 29 17:11:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 29 17:11:14 2006 -0700"
      },
      "message": "[ATM]: [lec] indent, comment and whitespace cleanup\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4229934bd11e1dd03d433072ef3871915fc5e4f",
      "tree": "edd1ddcd326ae2fd9183528d1fb0c95abcc38f91",
      "parents": [
        "0ac0760a57a6b1eb75c21a590e578be5dfc2f88b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:23:43 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:00 2006 -0700"
      },
      "message": "[ATM]: use NIPQUAD instead of open-coding it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69263bcfb5016bc3bdd099607a4232cba06f8491",
      "tree": "0d147c53de267fec3055bd5cb11a24ce4c936f08",
      "parents": [
        "d458c25ce24ce00ea547e9976e293e7835416253"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Sep 22 14:28:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:19:13 2006 -0700"
      },
      "message": "[ATM]: proper prototypes in net/atm/mpc.h (and reduce ifdef clutter)\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf0d52492d82ad70684e17c8a46942c13d0e140e",
      "tree": "d3d60f2eb4a19dc18d00a53f6aebeae60629234f",
      "parents": [
        "f0fd27d42e39b91f85e1840ec49b072fd6c545b8"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Sep 22 14:00:29 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:21 2006 -0700"
      },
      "message": "[NET]: Remove unnecessary config.h includes from net/\n\nconfig.h is automatically included by kbuild these days.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe26109a9dfd9327fdbe630fc819e1b7450986b2",
      "tree": "c8e2e446a2756f6c55aa8faa45de6a0f1a216f56",
      "parents": [
        "d7811e623dd4be3e3bdba2d6330f7f15541ee45f"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Sep 18 06:37:58 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 18 06:37:58 2006 -0700"
      },
      "message": "[ATM] CLIP: Do not refer freed skbuff in clip_mkip().\n\nIn clip_mkip(), skb-\u003edev is dereferenced after clip_push(),\nwhich frees up skb.\n\nAdvisory: AD_LAB-06009 (\u003cadlab@venustech.com.cn\u003e).\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9c6e3e96669ade31afd3a39f17393e577b609c5",
      "tree": "a503803033ea92a516c41312f6bdac65e5bd80d9",
      "parents": [
        "932f3772cf76cc1b1fd1538ceee3edba9bf2164f"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@mvista.com",
        "time": "Tue Aug 15 02:02:33 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 17 16:29:53 2006 -0700"
      },
      "message": "[ATM]: Compile error on ARM\n\natm_proc_exit() is declared as __exit, and thus in .exit.text.  On\nsome architectures (ARM) .exit.text is discarded at compile time, and\nsince atm_proc_exit() is called by some other __init functions, it\nresults in a link error.\n\nSigned-off-by: Kevin Hilman \u003ckhilman@mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0da974f4f303a6842516b764507e3c0a03f41e5a",
      "tree": "8872aec792f02040269c6769dd1009b20f71d186",
      "parents": [
        "a0ee7c70b22f78593957f99faa06acb4747b8bc0"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "message": "[NET]: Conversions from kmalloc+memset to k(z|c)alloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "24781734643ea2e9fd864f58000e47793e2dcb04",
      "tree": "9da1bd808ed3a772620a4b2edd4ebad38eab97eb",
      "parents": [
        "ebbaeab18b1c520054ea70e512ac0db7456ede01"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jul 09 12:13:18 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 09 12:13:18 2006 -0700"
      },
      "message": "[ATM] net/atm/clip.c: fix PROC_FS\u003dn compile\n\nThis patch fixes the following compile error with CONFIG_PROC_FS\u003dn by \nreverting commit dcdb02752ff13a64433c36f2937a58d93ae7a19e:\n\n\u003c--  snip  --\u003e\n\n...\n  CC      net/atm/clip.o\nnet/atm/clip.c: In function ‘atm_clip_init’:\nnet/atm/clip.c:975: error: ‘atm_proc_root’ undeclared (first use in this function)\nnet/atm/clip.c:975: error: (Each undeclared identifier is reported only once\nnet/atm/clip.c:975: error: for each function it appears in.)\nnet/atm/clip.c:977: error: ‘arp_seq_fops’ undeclared (first use in this function)\nmake[2]: *** [net/atm/clip.o] Error 1\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1252ecf63f77ea147bd40f5462c7d9e3d3ae2815",
      "tree": "15f6fd4d0672ae3c0dc371394aa92874fd619dfd",
      "parents": [
        "00181fc94648b4bb30d30ef95506055105316051"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Jul 08 13:30:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 08 13:30:52 2006 -0700"
      },
      "message": "[ATM]: fix possible recursive locking in skb_migrate()\n\nok this is a real potential deadlock in a way, it takes two locks of 2\nskbuffs without doing any kind of lock ordering; I think the following\npatch should fix it. Just sort the lock taking order by address of the\nskb.. it\u0027s not pretty but it\u0027s the best this can do in a minimally\ninvasive way.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bdbf6c033ba05bff65f69989baccd7103c5a530",
      "tree": "e4559c8222b066113d441b9545744a1c2bd569fc",
      "parents": [
        "6508871eddbbd3e62799f3b6182a6a4fd3ef31d5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Jul 03 19:47:27 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 03 19:47:27 2006 -0700"
      },
      "message": "[NET]: add+use poison defines\n\nAdd and use poison defines in net/.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "656d98b09d57d4e1185c5d2436a42600d48fbcb5",
      "tree": "42c8795ea142e6c0a002bcdb26d255e2b8693e4c",
      "parents": [
        "d17f086550a6fdb13fe82371d60ebf80904c6f96"
      ],
      "author": {
        "name": "Roman Kagan",
        "email": "rkagan@mail.ru",
        "time": "Thu Jun 29 12:36:34 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:58:19 2006 -0700"
      },
      "message": "[ATM]: basic sysfs support for ATM devices\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e4fd51e2c830f2a10c9b143986757d8ea35b0fc",
      "tree": "a6b0756bcda7cb0d0168d77fc954696a60849beb",
      "parents": [
        "f72b948dcbb8558d639214536c2ace1b0760f41d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Jun 26 00:01:58 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 26 00:01:58 2006 -0700"
      },
      "message": "[ATM]: atm/mpc.c warning fix\n\nnet/atm/mpc.c: In function \u0027MPOA_res_reply_rcvd\u0027:\nnet/atm/mpc.c:1116: warning: unused variable \u0027ip\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff7512e1a2a3504649d3716a757f43807b6d26ef",
      "tree": "bda8de186c3990142701d9b97cf2f7d18f01b2a1",
      "parents": [
        "8ca84481b69513f7bf341c7dd9897023a04d7d1d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 03:27:27 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 20 03:27:27 2006 -0700"
      },
      "message": "[ATM]: fix broken uses of NIPQUAD in net/atm\n\nNIPQUAD expects an l-value of type __be32, _NOT_ a pointer to __be32.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "932ff279a43ab7257942cddff2595acd541cc49b",
      "tree": "e60130673a20d71becdac858c2589d8dfbf3ae1f",
      "parents": [
        "bf0857ea32addb6bc8b46383604b218b8ec09f19"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 09 12:20:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:30:14 2006 -0700"
      },
      "message": "[NET]: Add netif_tx_lock\n\nVarious drivers use xmit_lock internally to synchronise with their\ntransmission routines.  They do so without setting xmit_lock_owner.\nThis is fine as long as netpoll is not in use.\n\nWith netpoll it is possible for deadlocks to occur if xmit_lock_owner\nisn\u0027t set.  This is because if a printk occurs while xmit_lock is held\nand xmit_lock_owner is not set can cause netpoll to attempt to take\nxmit_lock recursively.\n\nWhile it is possible to resolve this by getting netpoll to use\ntrylock, it is suboptimal because netpoll\u0027s sole objective is to\nmaximise the chance of getting the printk out on the wire.  So\ndelaying or dropping the message is to be avoided as much as possible.\n\nSo the only alternative is to always set xmit_lock_owner.  The\nfollowing patch does this by introducing the netif_tx_lock family of\nfunctions that take care of setting/unsetting xmit_lock_owner.\n\nI renamed xmit_lock to _xmit_lock to indicate that it should not be\nused directly.  I didn\u0027t provide irq versions of the netif_tx_lock\nfunctions since xmit_lock is meant to be a BH-disabling lock.\n\nThis is pretty much a straight text substitution except for a small\nbug fix in winbond.  It currently uses\nnetif_stop_queue/spin_unlock_wait to stop transmission.  This is\nunsafe as an IRQ can potentially wake up the queue.  So it is safer to\nuse netif_tx_disable.\n\nThe hamradio bits used spin_lock_irq but it is unnecessary as\nxmit_lock must never be taken in an IRQ handler.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd89efc532fe41f867f848144cc8b42054ddf6f9",
      "tree": "fcf90049cb5a15bf6689cdbc6038c3fe22079009",
      "parents": [
        "ef34814426862c41c061520d4ac833be5914b5ba"
      ],
      "author": {
        "name": "Simon Kelley",
        "email": "simon@thekelleys.org.uk",
        "time": "Fri May 12 14:56:08 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 12 14:56:08 2006 -0700"
      },
      "message": "[NEIGH]: Fix IP-over-ATM and ARP interaction.\n\nThe classical IP over ATM code maintains its own IPv4 \u003c-\u003e \u003cATM stuff\u003e\nARP table, using the standard neighbour-table code. The\nneigh_table_init function adds this neighbour table to a linked list\nof all neighbor tables which is used by the functions neigh_delete()\nneigh_add() and neightbl_set(), all called by the netlink code.\n\nOnce the ATM neighbour table is added to the list, there are two\ntables with family \u003d\u003d AF_INET there, and ARP entries sent via netlink\ngo into the first table with matching family. This is indeterminate\nand often wrong.\n\nTo see the bug, on a kernel with CLIP enabled, create a standard IPv4\nARP entry by pinging an unused address on a local subnet. Then attempt\nto complete that entry by doing\n\nip neigh replace \u003cip address\u003e lladdr \u003csome mac address\u003e nud reachable\n\nLooking at the ARP tables by using \n\nip neigh show\n\nwill reveal two ARP entries for the same address. One of these can be\nfound in /proc/net/arp, and the other in /proc/net/atm/arp.\n\nThis patch adds a new function, neigh_table_init_no_netlink() which\ndoes everything the neigh_table_init() does, except add the table to\nthe netlink all-arp-tables chain. In addition neigh_table_init() has a\ncheck that all tables on the chain have a distinct address family.\nThe init call in clip.c is changed to call\nneigh_table_init_no_netlink().\n\nSince ATM ARP tables are rather more complicated than can currently be\nhandled by the available rtattrs in the netlink protocol, no\nfunctionality is lost by this patch, and non-ATM ARP manipulation via\nnetlink is rescued. A more complete solution would involve a rtattr\nfor ATM ARP entries and some way for the netlink code to give\nneigh_add and friends more information than just address family with\nwhich to find the correct ARP table.\n\n[ I\u0027ve changed the assertion checking in neigh_table_init() to not\n  use BUG_ON() while holding neigh_tbl_lock.  Instead we remember that\n  we found an existing tbl with the same family, and after dropping\n  the lock we\u0027ll give a diagnostic kernel log message and a stack dump.\n  -DaveM ]\n\nSigned-off-by: Simon Kelley \u003csimon@thekelleys.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4909e488f65fc729fc0f8d42bd1600c56a8bd83c",
      "tree": "89a0db95b179fea83100a064d914e1665c4bca0c",
      "parents": [
        "5ff765f3d0b9367319d29ab0c0f55349da2fd53e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Apr 14 16:01:26 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 14 16:01:26 2006 -0700"
      },
      "message": "[ATM] clip: add module info\n\nAdd module information\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ff765f3d0b9367319d29ab0c0f55349da2fd53e",
      "tree": "f7add0ab41bd6d2a983ff39191edca799fe6561b",
      "parents": [
        "dcdb02752ff13a64433c36f2937a58d93ae7a19e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Apr 14 16:00:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 14 16:00:59 2006 -0700"
      },
      "message": "[ATM] clip: notifier related cleanups\n\nCleanup some code around notifier.  Don\u0027t need (void) casts to ignore\nreturn values, and use C90 style initializer. Just ignore unused device\nevents.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcdb02752ff13a64433c36f2937a58d93ae7a19e",
      "tree": "559dc600a14fa2fac5997961c2628ee2c5c6d107",
      "parents": [
        "e49e76db031fdfaadb4907a319ea3a1dc9d2925f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Apr 14 16:00:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 14 16:00:25 2006 -0700"
      },
      "message": "[ATM] clip: get rid of PROC_FS ifdef\n\nDon\u0027t need the ifdef here since create_proc_entry() is stubbed to\nalways return NULL.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e49e76db031fdfaadb4907a319ea3a1dc9d2925f",
      "tree": "552320f27f1a62d7cbc09e7ba1c5bedeec82ad4a",
      "parents": [
        "2d9073922bc73f8cb847ce354f0896205f6981a1"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Apr 14 15:59:37 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 14 15:59:37 2006 -0700"
      },
      "message": "[ATM] clip: run through Lindent\n\nRun CLIP driver through Lindent script to fix formatting.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d9073922bc73f8cb847ce354f0896205f6981a1",
      "tree": "f6a9db5cec30edd2a16ba79575cf2d28c5180b9a",
      "parents": [
        "f3a0592b37b83e56a7f47826f552b35a2c3b2fc9"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Apr 14 15:56:02 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 14 15:56:02 2006 -0700"
      },
      "message": "[ATM]: Clip timer race.\n\nBy inspection, the clip idle timer code is racy on SMP.\nHere is a safe version of timer management.\nUntested, I don\u0027t have ATM hardware.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3a0592b37b83e56a7f47826f552b35a2c3b2fc9",
      "tree": "8bdb6f8da73f6c2221067ac5630f57dc7f04efad",
      "parents": [
        "b8a99520f78e23e47f9efffeb0060c1385064ff6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Apr 14 15:07:27 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 14 15:07:27 2006 -0700"
      },
      "message": "[ATM]: clip causes unregister hang\n\nIf Classical IP over ATM module is loaded, its neighbor table gets\npopulated when permanent neighbor entries are created; but these entries\nare not flushed when the device is removed. Since the entry never gets\nflushed the unregister of the network device never completes.\n\nThis version of the patch also adds locking around the reference to\nthe atm arp daemon to avoid races with events and daemon state changes.\n(Note: barrier() was never really safe)\n\nBug-reference: http://bugzilla.kernel.org/show_bug.cgi?id\u003d6295\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57b47a53ec4a67691ba32cff5768e8d78fa6c67f",
      "tree": "d735ae4734f7b386eefa508a0629715f45808d1d",
      "parents": [
        "6613f82dd293b23f582a649b287fadbf8d23e6cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "message": "[NET]: sem2mutex part 2\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a3e2f711a00a1feb72ae12fdc749da10179d185",
      "tree": "76ced9d3270dea4b864da71fa1d4415d2e3c8b11",
      "parents": [
        "d4ccd08cdfa8d34f4d25b62041343c52fc79385f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Mar 20 22:33:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:33:17 2006 -0800"
      },
      "message": "[NET] sem2mutex: net/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa837b5bbd92ca3791345e809d0027594faa738b",
      "tree": "4c0c106011e882d3e466a2c573ae8dd543b76fc8",
      "parents": [
        "e9e678006ee865b0f7e53069b0e519141a710a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:30:23 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:30:23 2006 -0800"
      },
      "message": "[ATM]: Fix build after neigh-\u003eparms-\u003eneigh_destructor change.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f8f325b25919619559f0f47aa46cd7dc2dbef92",
      "tree": "cfe07be8eeb62e87e32a4c3510da3f11936daaf3",
      "parents": [
        "125a12ccf3eefebff43e3dbf47225141faa5fbe8"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Fri Mar 03 17:49:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 04 21:06:25 2006 -0800"
      },
      "message": "[ATM]: keep atmsvc failure messages quiet\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf3883c12fece9189ab4f7bb6e2690451db1366e",
      "tree": "044a6678fff7b3325169794d2a06f2d25ef95616",
      "parents": [
        "7a11c4d0635d9f6995736390b8c3346fe6f63d57"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Feb 13 15:34:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 13 15:34:58 2006 -0800"
      },
      "message": "[ATM]: Ratelimit atmsvc failure messages\n\nThis seems to be trivial to trigger.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fc268d24ceb9f4150777c1b5b2b8e6214e56b2b",
      "tree": "d2aaf0b5986b03e6129ed3ccd65b9f706cd59c7f",
      "parents": [
        "16f7e0fe2ecc30f30652e8185e1772cdebe39109"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:14 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (net/)\n\nnet: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b3a70058bfe711b2d05ba2134178bae623183ce",
      "tree": "6f9e55729938f0a935aa885d29d5a38537fa3a97",
      "parents": [
        "ae0f7d5f83236a43c572a744e4bbb30e8702d821"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Wed Jan 11 15:56:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 11 16:32:14 2006 -0800"
      },
      "message": "[NET]: Remove more unneeded typecasts on *malloc()\n\nThis removes more unneeded casts on the return value for kmalloc(),\nsock_kmalloc(), and vmalloc().\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3f4a687f683f536506d0aa6b22e6cb3e79639ce",
      "tree": "d1f5fb7177d1dd254e63189cb89e51a86a24f171",
      "parents": [
        "770cfbcffdf0011ecf3a12435ecb5604c4c97a19"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Mon Jan 09 16:01:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 10 12:54:28 2006 -0800"
      },
      "message": "[NET]: Change memcmp(,,ETH_ALEN) to compare_ether_addr()\n\nThis changes some memcmp(one,two,ETH_ALEN) to compare_ether_addr(one,two).\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbbc0988288d9643044e8bd8c7e7de70016ecd23",
      "tree": "6e3175bf90bb9702be4fe631b1db36f850cf4249",
      "parents": [
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Fri Jan 06 13:05:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:05:58 2006 -0800"
      },
      "message": "[NET]: Use newer is_multicast_ether_addr() in some files\n\nThis uses is_multicast_ether_addr() because it has recently been\nchanged to do the same thing these seperate tests are doing.\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90ddc4f0470427df306f308ad03db6b6b21644b8",
      "tree": "f97c1d57b25585394ebbd4b42b8d42a339f98644",
      "parents": [
        "77d76ea310b50a9c8ff15bd290fcb4ed4961adf2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Dec 22 12:49:22 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:15 2006 -0800"
      },
      "message": "[NET]: move struct proto_ops to const\n\nI noticed that some of \u0027struct proto_ops\u0027 used in the kernel may share\na cache line used by locks or other heavily modified data. (default\nlinker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at\nleast)\n\nThis patch makes sure a \u0027struct proto_ops\u0027 can be declared as const,\nso that all cpus can share all parts of it without false sharing.\n\nThis is not mandatory : a driver can still use a read/write structure\nif it needs to (and eventually a __read_mostly)\n\nI made a global stubstitute to change all existing occurences to make\nthem const.\n\nThis should reduce the possibility of false sharing on SMP, and\nspeedup some socket system calls.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64bf69ddff7637b7ed7acf9b2a823cc0ee519439",
      "tree": "fb3a746e36bcfa307979bef2a20ce5f1d32ec537",
      "parents": [
        "aaaaaadbe7a663d110814db50fcbe7d320eb4c32"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "stf_xl@wp.pl",
        "time": "Tue Nov 29 16:16:41 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:16:41 2005 -0800"
      },
      "message": "[ATM]: deregistration removes device from atm_devs list immediately\n\natm_dev_deregister() removes device from atm_dev list immediately to\nprevent operations on a phantom device.  Decision to free device based\nonly on -\u003erefcnt  now. Remove shutdown_atm_dev() use atm_dev_deregister()\ninstead.  atm_dev_deregister() also asynchronously releases all vccs\nrelated to device.\n\nSigned-off-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aaaaaadbe7a663d110814db50fcbe7d320eb4c32",
      "tree": "316bdbd49e3a6ac7a78cad8797d148f79a343d45",
      "parents": [
        "49693280262a149e5430d3401e263e464c88334a"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "stf_xl@wp.pl",
        "time": "Tue Nov 29 16:16:21 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:16:21 2005 -0800"
      },
      "message": "[ATM]: avoid race conditions related to atm_devs list\n\nUse semaphore to protect atm_devs list, as no one need access to it from\ninterrupt context.  Avoid race conditions between atm_dev_register(),\natm_dev_lookup() and atm_dev_deregister().  Fix double spin_unlock() bug.\n\nSigned-off-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50accc9c428273501dd2a6295c84a533dd1fe645",
      "tree": "54a94b2c84b3a7af78887383b4c828e0a4953fe1",
      "parents": [
        "e91a73568b19b4a8145fc6e05314d522ee35a0b1"
      ],
      "author": {
        "name": "Mitchell Blank Jr",
        "email": "mitch@sfgoth.com",
        "time": "Tue Nov 29 16:15:18 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:15:18 2005 -0800"
      },
      "message": "[ATM]: attempt to autoload atm drivers\n\nFrom: Mitchell Blank Jr \u003cmitch@sfgoth.com\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c219750b2e667f4f79f4d8faca5057dad793db87",
      "tree": "0a307e50392ee969c56f74fbcf3514c087e556d1",
      "parents": [
        "c9933d0856d6d0ede6b4b30e5e7330614f5203af"
      ],
      "author": {
        "name": "Mitchell Blank Jr",
        "email": "mitch@sfgoth.com",
        "time": "Tue Nov 29 16:13:55 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:13:55 2005 -0800"
      },
      "message": "[ATM]: atm_pcr_goal() doesn\u0027t modify its argument\u0027s contents -- mark it as const\n\nSigned-off-by: Mitchell Blank Jr \u003cmitch@sfgoth.com\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9933d0856d6d0ede6b4b30e5e7330614f5203af",
      "tree": "5f31d09df861fd83fc327a7eb5b5ac12bfc4188e",
      "parents": [
        "18955cfcb2a5d75a08e0cb297f13ccfb6904de48"
      ],
      "author": {
        "name": "Mitchell Blank Jr",
        "email": "mitch@sfgoth.com",
        "time": "Tue Nov 29 16:13:32 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:13:32 2005 -0800"
      },
      "message": "[ATM]: always return the first interface for ATM_ITF_ANY\n\nFrom: Mitchell Blank Jr \u003cmitch@sfgoth.com\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4f55cd105c38af4aa157804729d694f864fbc78a",
      "tree": "39ca99d4d5c147bfd3432aceab80131d8b07ae1f",
      "parents": [
        "0f21ba7cc3320d33459ecb3f538f1a42040c29cd"
      ],
      "author": {
        "name": "Jean-Denis Boyer",
        "email": "jdboyer@mediatrix.com",
        "time": "Fri Oct 07 13:44:35 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:44:35 2005 -0700"
      },
      "message": "[ATM]: [br2684] if we free the skb, we should return 0\n\nFrom: \"Jean-Denis Boyer\" \u003cjdboyer@mediatrix.com\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f21ba7cc3320d33459ecb3f538f1a42040c29cd",
      "tree": "158b360de6547262d99f4861ac166709a7e17172",
      "parents": [
        "20c9c825b12fcb8526a29cf20a17a5a3fc581726"
      ],
      "author": {
        "name": "Eric Kinzie",
        "email": "ekinzie@cmf.nrl.navy.mil",
        "time": "Thu Oct 06 22:19:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 06 22:19:28 2005 -0700"
      },
      "message": "[ATM]: add support for LECS addresses learned from network\n\nFrom: Eric Kinzie \u003cekinzie@cmf.nrl.navy.mil\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b5b3f3d826ea87c224c66de9c95c09e7f110ecd",
      "tree": "0d4e34cd3ca10a844c8c8f10ac060b2b142c5445",
      "parents": [
        "a5181ab06ddca8071b4eb54ac2c314f7d24825d4"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 04 22:38:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 04 22:38:44 2005 -0700"
      },
      "message": "[ATM]: fix sparse gfp nocast warnings\n\nFix implicit nocast warnings in atm code:\nnet/atm/atm_misc.c:35:44: warning: implicit cast to nocast type\ndrivers/atm/fore200e.c:183:33: warning: implicit cast to nocast type\n\nAlso use kzalloc() instead of kmalloc().\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5ed639913eea3e4783a550291775ab78dd84966",
      "tree": "e6e915aa686d2a7125181fc83a847e1955a8ba46",
      "parents": [
        "a5e7c210fefd2454c757a3542e41063407ca7108"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "message": "[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl\n\nThe following patch renames __in_dev_get() to __in_dev_get_rtnl() and\nintroduces __in_dev_get_rcu() to cover the second case.\n\n1) RCU with refcnt should use in_dev_get().\n2) RCU without refcnt should use __in_dev_get_rcu().\n3) All others must hold RTNL and use __in_dev_get_rtnl().\n\nThere is one exception in net/ipv4/route.c which is in fact a pre-existing\nrace condition.  I\u0027ve marked it as such so that we remember to fix it.\n\nThis patch is based on suggestions and prior work by Suzanne Wood and\nPaul McKenney.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81c3d5470ecc70564eb9209946730fe2be93ad06",
      "tree": "1efa553c305a6453769dacfaf580bc6ccf146d82",
      "parents": [
        "399de50bbbb2501a6db43daaa8a2dafbc9bcfe0c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "message": "[INET]: speedup inet (tcp/dccp) lookups\n\nArnaldo and I agreed it could be applied now, because I have other\npending patches depending on this one (Thank you Arnaldo)\n\n(The other important patch moves skc_refcnt in a separate cache line,\nso that the SMP/NUMA performance doesnt suffer from cache line ping pongs)\n\n1) First some performance data :\n--------------------------------\n\ntcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()\n\nThe most time critical code is :\n\nsk_for_each(sk, node, \u0026head-\u003echain) {\n     if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))\n         goto hit; /* You sunk my battleship! */\n}\n\nThe sk_for_each() does use prefetch() hints but only the begining of\n\"struct sock\" is prefetched.\n\nAs INET_MATCH first comparison uses inet_sk(__sk)-\u003edaddr, wich is far\naway from the begining of \"struct sock\", it has to bring into CPU\ncache cold cache line. Each iteration has to use at least 2 cache\nlines.\n\nThis can be problematic if some chains are very long.\n\n2) The goal\n-----------\n\nThe idea I had is to change things so that INET_MATCH() may return\nFALSE in 99% of cases only using the data already in the CPU cache,\nusing one cache line per iteration.\n\n3) Description of the patch\n---------------------------\n\nAdds a new \u0027unsigned int skc_hash\u0027 field in \u0027struct sock_common\u0027,\nfilling a 32 bits hole on 64 bits platform.\n\nstruct sock_common {\n\tunsigned short\t\tskc_family;\n\tvolatile unsigned char\tskc_state;\n\tunsigned char\t\tskc_reuse;\n\tint\t\t\tskc_bound_dev_if;\n\tstruct hlist_node\tskc_node;\n\tstruct hlist_node\tskc_bind_node;\n\tatomic_t\t\tskc_refcnt;\n+\tunsigned int\t\tskc_hash;\n\tstruct proto\t\t*skc_prot;\n};\n\nStore in this 32 bits field the full hash, not masked by (ehash_size -\n1) Using this full hash as the first comparison done in INET_MATCH\npermits us immediatly skip the element without touching a second cache\nline in case of a miss.\n\nSuppress the sk_hashent/tw_hashent fields since skc_hash (aliased to\nsk_hash and tw_hash) already contains the slot number if we mask with\n(ehash_size - 1)\n\nFile include/net/inet_hashtables.h\n\n64 bits platforms :\n#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))\n     ((*((__u64 *)\u0026(inet_sk(__sk)-\u003edaddr)))\u003d\u003d (__cookie))   \u0026\u0026  \\\n     ((*((__u32 *)\u0026(inet_sk(__sk)-\u003edport))) \u003d\u003d (__ports))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n32bits platforms:\n#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))                 \u0026\u0026  \\\n     (inet_sk(__sk)-\u003edaddr          \u003d\u003d (__saddr))   \u0026\u0026  \\\n     (inet_sk(__sk)-\u003ercv_saddr      \u003d\u003d (__daddr))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n\n- Adds a prefetch(head-\u003echain.first) in \n__inet_lookup_established()/__tcp_v4_check_established() and \n__inet6_lookup_established()/__tcp_v6_check_established() and \n__dccp_v4_check_established() to bring into cache the first element of the \nlist, before the {read|write}_lock(\u0026head-\u003elock);\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75b895c15b3ea2a3cd5c8e8f3c62e4598ef4d2ba",
      "tree": "aa45ba13ad8f0368357ad7ef89483658ec5815d7",
      "parents": [
        "4a7097fcc431ab2ccf509d8342831873138c814a"
      ],
      "author": {
        "name": "Scott Talbert",
        "email": "scott.talbert@lmco.com",
        "time": "Thu Sep 29 17:31:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 29 17:31:30 2005 -0700"
      },
      "message": "[ATM]: [lec] reset retry counter when new arp issued\n\nFrom: Scott Talbert \u003cscott.talbert@lmco.com\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a7097fcc431ab2ccf509d8342831873138c814a",
      "tree": "66439a1679e5c60df9f6237abb41a8912376efd7",
      "parents": [
        "09e9ec87111ba818d8171262b15ba4c357eb1d27"
      ],
      "author": {
        "name": "Scott Talbert",
        "email": "scott.talbert@lmco.com",
        "time": "Thu Sep 29 17:30:54 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 29 17:30:54 2005 -0700"
      },
      "message": "[ATM]: [lec] attempt to support cisco failover\n\nFrom: Scott Talbert \u003cscott.talbert@lmco.com\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "735631a9196db42631b8817892605ee72e13a58b",
      "tree": "d6a939f4390c9cbcaecf203772b8405e1fe3da2e",
      "parents": [
        "9301e320e98ff19a0e48881b038d0c24ca76e6c0"
      ],
      "author": {
        "name": "Martin Whitaker",
        "email": "atm@martin-whitaker.co.uk",
        "time": "Wed Sep 28 16:35:22 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 28 16:35:22 2005 -0700"
      },
      "message": "[ATM]: fix bug in atm address list handling\n\nFrom: Martin Whitaker \u003catm@martin-whitaker.co.uk\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\n"
    },
    {
      "commit": "9301e320e98ff19a0e48881b038d0c24ca76e6c0",
      "tree": "b625aa1cb6dab99f343cdf85e0f32e7838a7ad93",
      "parents": [
        "e2c4b72158a9f1286df41dee478e774f1b94e93a"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Wed Sep 28 16:35:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 28 16:35:01 2005 -0700"
      },
      "message": "[ATM]: track and close listen sockets when sigd exits\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\n"
    },
    {
      "commit": "e2c4b72158a9f1286df41dee478e774f1b94e93a",
      "tree": "f524c94f1bbee68d094362271ce44ebd6ac3e3e7",
      "parents": [
        "6b251858d377196b8cea20e65cae60f584a42735"
      ],
      "author": {
        "name": "Roman Kagan",
        "email": "rkagan@mail.ru",
        "time": "Wed Sep 28 16:34:24 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 28 16:34:24 2005 -0700"
      },
      "message": "[ATM]: net/atm/ioctl.c: autoload pppoatm and br2684\n\nSigned-off-by: Roman Kagan \u003crkagan@mail.ru\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\n"
    },
    {
      "commit": "8d06afab73a75f40ae2864e6c296356bab1ab473",
      "tree": "1d9c8c24a1024a12a4e8df841fba5809fa914356",
      "parents": [
        "7c352bdf048811b8128019ffc1e886161e09c11c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 09 13:10:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:48 2005 -0700"
      },
      "message": "[PATCH] timer initialization cleanup: DEFINE_TIMER\n\nClean up timer initialization by introducing DEFINE_TIMER a\u0027la\nDEFINE_SPINLOCK.  Build and boot-tested on x86.  A similar patch has been\nbeen in the -RT tree for some time.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "295098e9f4822aecdddd4cab05705f1ee63bc3f4",
      "tree": "da20ac6c4e874aa447a556c0683248186967dd44",
      "parents": [
        "74da1edf264c5982b465041a5706caff25d7e1ed"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Sep 05 18:04:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 05 18:04:28 2005 -0700"
      },
      "message": "[ATM]: net/atm/ioctl.c should #include \"common.h\"\n\nEvery file should #include the header files containing the prototypes\nof it\u0027s global functions.\n\ncommon.h contains the prototype for vcc_ioctl().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8728b834b226ffcf2c94a58530090e292af2a7bf",
      "tree": "2fd51ff3b7097eb3ffc41ea3a1d8b3ba04715b4c",
      "parents": [
        "6869c4d8e066e21623c812c448a05f1ed931c9c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:25:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:14 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003elist\n\nRemove the \"list\" member of struct sk_buff, as it is entirely\nredundant.  All SKB list removal callers know which list the\nSKB is on, so storing this in sk_buff does nothing other than\ntaking up some space.\n\nTwo tricky bits were SCTP, which I took care of, and two ATM\ndrivers which Francois Romieu \u003cromieu@fr.zoreil.com\u003e fixed\nup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Francois Romieu \u003cromieu@fr.zoreil.com\u003e\n"
    },
    {
      "commit": "88e9fa8a54cf4d66ee8fc1d855e82de827233d74",
      "tree": "fc869a492d674a302ddbaf2fd352ee970d0518a2",
      "parents": [
        "5938a7b580bb7a738ee349048565ac76e6f3f5d7"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Tue Jul 19 13:56:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 19 13:56:53 2005 -0700"
      },
      "message": "[ATM]: Trivial spelling fix patch for net/Kconfig\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "322361b3712af97c19ab730b410f9ae5d9aad4c3",
      "tree": "f78cc2a5017cffbccdabefa11bf76c0ec34d3908",
      "parents": [
        "43f51fce0a637e6cdf1285b0fa09b8398ff14834"
      ],
      "author": {
        "name": "Chas Williams",
        "email": "chas@cmf.nrl.navy.mil",
        "time": "Tue Jul 19 13:54:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 19 13:54:44 2005 -0700"
      },
      "message": "[ATM]: allow bind() on point-to-multpoint svcs (from Martin Whitaker \u003cmartin_whitaker@ntlworld.com\u003e)\n\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "ab611487d8ada506e511d2b8f22fb8e7be9939b9"
}
