)]}'
{
  "log": [
    {
      "commit": "e2f367f269fe19375f10e63efe0f2a6d3ddef8e6",
      "tree": "74cd1d3d89a9607159808a064c59684c7a962c45",
      "parents": [
        "1048643ea94d742bd409f343e284af430656fd6c"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Fri Nov 21 19:01:30 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 26 09:47:41 2008 -0500"
      },
      "message": "nl80211: Report max TX power in NL80211_BAND_ATTR_FREQS\n\nThis is useful information to provide for userspace (e.g., hostapd needs\nthis to generate Country IE).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3f2355cb9111ac04e7ae06a4d7044da2ae813863",
      "tree": "11f5594b7d48281a12a2116ad7af1d20d5947455",
      "parents": [
        "88dc1c3f7f9058cd5ceae1e4b53453484c7b0364"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 12 14:22:02 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 25 16:41:26 2008 -0500"
      },
      "message": "cfg80211/mac80211: Add 802.11d support\n\nThis adds country IE parsing to mac80211 and enables its usage\nwithin the new regulatory infrastructure in cfg80211. We parse\nthe country IEs only on management beacons for the BSSID you are\nassociated to and disregard the IEs when the country and environment\n(indoor, outdoor, any) matches the already processed country IE.\n\nTo avoid following misinformed or outdated APs we build and use\na regulatory domain out of the intersection between what the AP\nprovides us on the country IE and what CRDA is aware is allowed\non the same country.\n\nA secondary device is allowed to follow only the same country IE\nas it make no sense for two devices on a system to be in two\ndifferent countries.\n\nIn the case the AP is using country IEs for an incorrect country\nthe user may help compliance further by setting the regulatory\ndomain before or after the IE is parsed and in that case another\nintersection will be performed.\n\nCONFIG_WIRELESS_OLD_REGULATORY is supported but requires CRDA\npresent.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7a6b6f515f77d1c62a2f383b6dce18cb0af0cf4f",
      "tree": "eed74f9344c3f65beb5386b93eca05526be8a914",
      "parents": [
        "411c41eea58bd3500cf897e2c27dd5330935a3a8"
      ],
      "author": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 25 01:02:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 01:02:08 2008 -0800"
      },
      "message": "DCB: fix kconfig option\n\nSince the netlink option for DCB is necessary to actually be useful,\nsimplified the Kconfig option.  In addition, added useful help text for the\nKconfig option.\n\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47fd5b8373ecc6bf5473e4139b62b06425448252",
      "tree": "6ff48ec3ba5ccf149109bc990ff1ec90cde8e14f",
      "parents": [
        "0ace285605314c54339710484b54814945a60df8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Nov 25 00:20:43 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 00:20:43 2008 -0800"
      },
      "message": "netdev: add HAVE_NET_DEVICE_OPS\n\nAs a concession to vendors who have to deal with one source for different\nkernel versions, add a HAVE_NET_DEVICE_OPS so they don\u0027t end up hard\ncoding ifdef against kernel version.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "111cc8b913b42ef07793648b1699288332f273e1",
      "tree": "f74fb48630319113247b5ee0c660b24f2af160d9",
      "parents": [
        "92ee76b6d99bfcdab6162816c9025541ef7248eb"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:27:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:27:22 2008 -0800"
      },
      "message": "tcp: add some mibs to track collapsing\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "832d11c5cd076abc0aa1eaf7be96c81d1a59ce41",
      "tree": "95b22ad16d1ff414cab39578ed8c927c2ce08723",
      "parents": [
        "f58b22fd3c16444edc393a217a74208f1894b601"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "message": "tcp: Try to restore large SKBs while SACK processing\n\nDuring SACK processing, most of the benefits of TSO are eaten by\nthe SACK blocks that one-by-one fragment SKBs to MSS sized chunks.\nThen we\u0027re in problems when cleanup work for them has to be done\nwhen a large cumulative ACK comes. Try to return back to pre-split\nstate already while more and more SACK info gets discovered by\ncombining newly discovered SACK areas with the previous skb if\nthat\u0027s SACKed as well.\n\nThis approach has a number of benefits:\n\n1) The processing overhead is spread more equally over the RTT\n2) Write queue has less skbs to process (affect everything\n   which has to walk in the queue past the sacked areas)\n3) Write queue is consistent whole the time, so no other parts\n   of TCP has to be aware of this (this was not the case with\n   some other approach that was, well, quite intrusive all\n   around).\n4) Clean_rtx_queue can release most of the pages using single\n   put_page instead of previous PAGE_SIZE/mss+1 calls\n\nIn case a hole is fully filled by the new SACK block, we attempt\nto combine the next skb too which allows construction of skbs\nthat are even larger than what tso split them to and it handles\nhole per on every nth patterns that often occur during slow start\novershoot pretty nicely. Though this to be really useful also\na retransmission would have to get lost since cumulative ACKs\nadvance one hole at a time in the most typical case.\n\nTODO: handle upwards only merging. That should be rather easy\nwhen segment is fully sacked but I\u0027m leaving that as future\nwork item (it won\u0027t make very large difference anyway since\nthis current approach already covers quite a lot of normal\ncases).\n\nI was earlier thinking of some sophisticated way of tracking\ntimestamps of the first and the last segment but later on\nrealized that it won\u0027t be that necessary at all to store the\ntimestamp of the last segment. The cases that can occur are\nbasically either:\n  1) ambiguous \u003d\u003e no sensible measurement can be taken anyway\n  2) non-ambiguous is due to reordering \u003d\u003e having the timestamp\n     of the last segment there is just skewing things more off\n     than does some good since the ack got triggered by one of\n     the holes (besides some substle issues that would make\n     determining right hole/skb even harder problem). Anyway,\n     it has nothing to do with this change then.\n\nI choose to route some abnormal looking cases with goto noop,\nsome could be handled differently (eg., by stopping the\nwalking at that skb but again). In general, they either\nshouldn\u0027t happen at all or are rare enough to make no difference\nin practice.\n\nIn theory this change (as whole) could cause some macroscale\nregression (global) because of cache misses that are taken over\nthe round-trip time but it gets very likely better because of much\nless (local) cache misses per other write queue walkers and the\nbig recovery clearing cumulative ack.\n\nWorth to note that these benefits would be very easy to get also\nwithout TSO/GSO being on as long as the data is in pages so that\nwe can merge them. Currently I won\u0027t let that happen because\nDSACK splitting at fragment that would mess up pcounts due to\nsk_can_gso in tcp_set_skb_tso_segs. Once DSACKs fragments gets\navoided, we have some conditions that can be made less strict.\n\nTODO: I will probably have to convert the excessive pointer\npassing to struct sacktag_state... :-)\n\nMy testing revealed that considerable amount of skbs couldn\u0027t\nbe shifted because they were cloned (most likely still awaiting\ntx reclaim)...\n\n[The rest is considering future work instead since I got\nrepeatably EFAULT to tcpdump\u0027s recvfrom when I added\npskb_expand_head to deal with clones, so I separated that\ninto another, later patch]\n\n...To counter that, I gave up on the fifth advantage:\n\n5) When growing previous SACK block, less allocs for new skbs\n   are done, basically a new alloc is needed only when new hole\n   is detected and when the previous skb runs out of frags space\n\n...which now only happens of if reclaim is fast enough to dispose\nthe clone before the SACK block comes in (the window is RTT long),\notherwise we\u0027ll have to alloc some.\n\nWith clones being handled I got these numbers (will be somewhat\nworse without that), taken with fine-grained mibs:\n\n                  TCPSackShifted 398\n                   TCPSackMerged 877\n            TCPSackShiftFallback 320\n      TCPSACKCOLLAPSEFALLBACKGSO 0\n  TCPSACKCOLLAPSEFALLBACKSKBBITS 0\n  TCPSACKCOLLAPSEFALLBACKSKBDATA 0\n    TCPSACKCOLLAPSEFALLBACKBELOW 0\n    TCPSACKCOLLAPSEFALLBACKFIRST 1\n TCPSACKCOLLAPSEFALLBACKPREVBITS 318\n      TCPSACKCOLLAPSEFALLBACKMSS 1\n   TCPSACKCOLLAPSEFALLBACKNOHEAD 0\n    TCPSACKCOLLAPSEFALLBACKSHIFT 0\n          TCPSACKCOLLAPSENOOPSEQ 0\n  TCPSACKCOLLAPSENOOPSMALLPCOUNT 0\n     TCPSACKCOLLAPSENOOPSMALLLEN 0\n             TCPSACKCOLLAPSEHOLE 12\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f87e235e6fb92c2968b52b9191de04f1aff8e77",
      "tree": "ab774d239c61b6c206ef07398828533cdd01915e",
      "parents": [
        "70eb1bfd52e97120eddf9b5aaabfe1ecdf4eb663"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 23:24:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 23:24:32 2008 -0800"
      },
      "message": "eth: Declare an optimized compare_ether_addr_64bits() function\n\nLinus mentioned we could try to perform long word operations, even\non potentially unaligned addresses, on x86 at least. David mentioned\nthe HAVE_EFFICIENT_UNALIGNED_ACCESS test to handle this on all\narches that have efficient unailgned accesses.\n\nI tried this idea and got nice assembly on 32 bits:\n\n158:   33 82 38 01 00 00       xor    0x138(%edx),%eax\n15e:   33 8a 34 01 00 00       xor    0x134(%edx),%ecx\n164:   c1 e0 10                shl    $0x10,%eax\n167:   09 c1                   or     %eax,%ecx\n169:   74 0b                   je     176 \u003ceth_type_trans+0x87\u003e\n\nAnd very nice assembly on 64 bits of course (one xor, one shl)\n\nNice oprofile improvement in eth_type_trans(), 0.17 % instead of 0.41 %,\nexpected since we remove 8 instructions on a fast path.\n\nThis patch implements a compare_ether_addr_64bits() function, that\nuses the CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ifdef to efficiently\nperform the 6 bytes comparison on all capable arches.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b20a9c24d5c5d466d7e4a25c6f1bedbd2d16ad4f",
      "tree": "17789215657f693caf36e22d3e724cc1b1e07ba6",
      "parents": [
        "2c62ad7b56fa8e2658253c0256ef4c4de228a0b9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 23 16:02:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 16:02:31 2008 -0800"
      },
      "message": "dccp: Set per-connection CCIDs via socket options\n\nWith this patch, TX/RX CCIDs can now be changed on a per-connection\nbasis, which overrides the defaults set by the global sysctl variables\nfor TX/RX CCIDs.\n\nTo make full use of this facility, the remaining patches of this patch\nset are needed, which track dependencies and activate negotiated\nfeature values.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2baf8a2daab65cdd3f20bfeb4676a2f6aff7c3bf",
      "tree": "957eb111fad4ce334ff8d49861a08d1fcf14e64a",
      "parents": [
        "f757fec4b0d45dfcb52f9a914a12225a6a0a3e05"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Fri Nov 21 16:34:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 16:34:18 2008 -0800"
      },
      "message": "netdevice hdlc: Convert directly reference of netdev-\u003epriv\n\nFor killing directly reference of netdev-\u003epriv, use netdev-\u003eml_priv to replace it.\nBecause the private pvc data comes from add_pvc() and can\u0027t be allocated in\nalloc_netdev().\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nAcked-by: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "859ee3c43812051e21816c6d6d4cc04fb7ce9b2e",
      "tree": "ef3c3717038b5d4600065550f422fd8abf72de35",
      "parents": [
        "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:10:23 2008 -0800"
      },
      "message": "DCB: Add support for DCB BCN\n\nAdds an interface to configure the Backward Congestion Notification\n(BCN) feature.  In a BCN capabale network, congestion notifications\nfrom congested points out in the network can cause the end station\nlimit the rate of a given traffic flow.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eb3aa9bab20217fb42244ccdcb5bf8a002f504c",
      "tree": "b7d5a846b674a4f26ce4c1aa3b90f72fe9ce83d0",
      "parents": [
        "33dbabc4a7f7bd72313c73a3c199f31f3900336f"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:09:23 2008 -0800"
      },
      "message": "DCB: Add interface to query the state of PFC feature.\n\nAdds a netlink interface for Data Center Bridging (DCB) to get and set\nthe enable state of the Priority Flow Control (PFC) feature.\nPrimarily, this is a way to turn off PFC in the driver while DCB\nremains enabled.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33dbabc4a7f7bd72313c73a3c199f31f3900336f",
      "tree": "f56e24fec9369ca1d1ef12eb18e4000a09fb5c3e",
      "parents": [
        "46132188bf72e22ef097f16ed5c969ee8cea1e8b"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:08:19 2008 -0800"
      },
      "message": "DCB: Add interface to query # of TCs supported by device\n\nAdds interface for Data Center Bridging (DCB) to query (and set if\nsupported) the number of traffic classes currently supported by the\ndevice for the two (DCB) features: priority groups (PG) and priority\nflow control (PFC).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46132188bf72e22ef097f16ed5c969ee8cea1e8b",
      "tree": "e776ed8011b8314ff08abf4f3467c07d037fec4f",
      "parents": [
        "2f90b8657ec942d1880f720e0177ee71df7c8e3c"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 21:05:08 2008 -0800"
      },
      "message": "DCB: Add interface to query for the DCB capabilities of an device.\n\nAdds to the netlink interface for Data Center Bridging (DCB), allowing\nthe DCB capabilities supported by a device to be queried.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f90b8657ec942d1880f720e0177ee71df7c8e3c",
      "tree": "844114b22c548fedbab67e53b09b2efcf170563a",
      "parents": [
        "9db66bdcc83749affe61c61eb8ff3cf08f42afec"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "message": "ixgbe: this patch adds support for DCB to the kernel and ixgbe driver\n\nThis adds support for Data Center Bridging (DCB) features in the ixgbe\ndriver and adds an rtnetlink interface for configuring DCB to the\nkernel.  The DCB feature support included are Priority Grouping (PG) -\nwhich allows bandwidth guarantees to be allocated to groups to traffic\nbased on the 802.1q priority, and Priority Based Flow Control (PFC) -\nwhich introduces a new MAC control PAUSE frame which works at\ngranularity of the 802.1p priority instead of the link (IEEE 802.3x).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "748ff68fad9600593c6abe47856037602bd5d133",
      "tree": "96bc5e90ba9f66932562a7061f7403d17b316b61",
      "parents": [
        "fd8f4997e35f2c9a8bfc4d797ec09a6ae7858e04"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:32:15 2008 -0800"
      },
      "message": "hippi: convert driver to net_device_ops\n\nConvert the HIPPI infrastructure for use with net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "145186a39570244aead77dc2efc559e5cac90548",
      "tree": "fbb9797afeccbc27578d43fcc51737e273f10027",
      "parents": [
        "007c3838d9fdcc8fdaea87e4879ec3759f016ed5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:29:48 2008 -0800"
      },
      "message": "fddi: convert to new network device ops\n\nSimilar to ethernet. Convert infrastructure and the one lone FDDI\ndriver (for the one lone user of that hardware??). Compile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "13d2a1d2b032de08d7dcab6a1edcd47802681f96",
      "tree": "a60915e015f1dc7a9b5681ef5c5135c59167edb3",
      "parents": [
        "0c19b0adb8dd33dbd10ff48e41971231c486855c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:10:00 2008 -0800"
      },
      "message": "pkt_sched: add DRR scheduler\n\nAdd classful DRR scheduler as a more flexible replacement for SFQ.\n\nThe main difference to the algorithm described in \"Efficient Fair Queueing\nusing Deficit Round Robin\" is that this implementation doesn\u0027t drop packets\nfrom the longest queue on overrun because its classful and limits are\nhandled by each individual child qdisc.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c19b0adb8dd33dbd10ff48e41971231c486855c",
      "tree": "8cbc7b353824647f3662aeb23c3849324bffac28",
      "parents": [
        "c0103606b7e3db191dcbaf988f28fa26aa711230"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Nov 20 04:08:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:08:29 2008 -0800"
      },
      "message": "netlink: avoid memset of 0 bytes sparse warning\n\nA netlink attribute padding of zero triggers this sparse warning:\n\ninclude/linux/netlink.h:245:8: warning: memset with byte count of 0\n\nAvoid the memset when the size parameter is constant and requires no padding.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d214c7537bbf2f247991fb65b3420b0b3d712c67",
      "tree": "11c26aa8c7c93d0bc15f206d65b3ddac3a6a8c33",
      "parents": [
        "68fd991020fdf51bc94327d288ae4ae5d0b8dced"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 00:49:27 2008 -0800"
      },
      "message": "filter: add SKF_AD_NLATTR_NEST to look for nested attributes\n\nSKF_AD_NLATTR allows us to find the first matching attribute in a\nstream of netlink attributes from one offset to the end of the\nnetlink message. This is not suitable to look for a specific\nmatching inside a set of nested attributes.\n\nFor example, in ctnetlink messages, if we look for the CTA_V6_SRC\nattribute in a message that talks about an IPv4 connection,\nSKF_AD_NLATTR returns the offset of CTA_STATUS which has the same\nvalue of CTA_V6_SRC but outside the nest. To differenciate\nCTA_STATUS and CTA_V6_SRC, we would have to make assumptions on the\nsize of the attribute and the usual offset, resulting in horrible\nBSF code.\n\nThis patch adds SKF_AD_NLATTR_NEST, which is a variant of\nSKF_AD_NLATTR, that looks for an attribute inside the limits of\na nested attributes, but not further.\n\nThis patch validates that we have enough room to look for the\nnested attributes - based on a suggestion from Patrick McHardy.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccad637b0c57de1825ffd34c311bf71487545ac2",
      "tree": "fa5e54d6a4d8a414754efb7904685e5a83bff601",
      "parents": [
        "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 22:42:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:31 2008 -0800"
      },
      "message": "netdev: expose ethernet address primitives\n\nWhen ethernet devices are converted, the function pointer setup\nby eth_setup() need to be done during intialization.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0",
      "tree": "082d1921a5783ef5b07b4cf666804d6509f25f1a",
      "parents": [
        "d314774cf2cd5dfeb39a00d37deee65d4c627927"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "message": "netdev: introduce dev_get_stats()\n\nIn order for the network device ops get_stats call to be immutable, the handling\nof the default internal network device stats block has to be changed. Add a new\nhelper function which replaces the old use of internal_get_stats.\n\nNote: change return code to make it clear that the caller should not\ngo changing the returned statistics.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d314774cf2cd5dfeb39a00d37deee65d4c627927",
      "tree": "1c7778b509cea814aa2b7115949667941037d07c",
      "parents": [
        "6b41e7dd90c6a628ab5fb8d781302d60a243b2ce"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "message": "netdev: network device operations infrastructure\n\nThis patch changes the network device internal API to move adminstrative\noperations out of the network device structure and into a separate structure.\n\nThis patch involves some hackery to maintain compatablity between the\nnew and old model, so all 300+ drivers don\u0027t have to be changed at once.\nFor drivers that aren\u0027t converted yet, the netdevice_ops virt function list\nstill resides in the net_device structure. For old protocols, the new\nnet_device_ops are copied out to the old net_device pointers.\n\nAfter the transistion is completed the nag message can be changed to\nan WARN_ON, and the compatiablity code can be made configurable.\n\nSome function pointers aren\u0027t moved:\n* destructor can\u0027t be in net_device_ops because\n  it may need to be referenced after the module is unloaded.\n* neighbor setup is manipulated in a couple of places that need special\n  consideration\n* hard_start_xmit is in the fast path for transmit.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f481891fdc49d3d1b8a9674a1825d183069a805f",
      "tree": "4f027a1321dcd06165394d0a23e49df51c8befc1",
      "parents": [
        "ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Nov 19 15:36:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:58 2008 -0800"
      },
      "message": "cpuset: update top cpuset\u0027s mems after adding a node\n\nAfter adding a node into the machine, top cpuset\u0027s mems isn\u0027t updated.\n\nBy reviewing the code, we found that the update function\n\n  cpuset_track_online_nodes()\n\nwas invoked after node_states[N_ONLINE] changes.  It is wrong because\nN_ONLINE just means node has pgdat, and if node has/added memory, we use\nN_HIGH_MEMORY.  So, We should invoke the update function after\nnode_states[N_HIGH_MEMORY] changes, just like its commit says.\n\nThis patch fixes it.  And we use notifier of memory hotplug instead of\ndirect calling of cpuset_track_online_nodes().\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de11defebf00007677fb7ee91d9b089b78786fbb",
      "tree": "8219faf1b7992be77a612e778c2573c55f56cf19",
      "parents": [
        "cf7ee554f3a324e98181b0ea249d9d5be3a0acb8"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Nov 19 15:36:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:57 2008 -0800"
      },
      "message": "reintroduce accept4\n\nIntroduce a new accept4() system call.  The addition of this system call\nmatches analogous changes in 2.6.27 (dup3(), evenfd2(), signalfd4(),\ninotify_init1(), epoll_create1(), pipe2()) which added new system calls\nthat differed from analogous traditional system calls in adding a flags\nargument that can be used to access additional functionality.\n\nThe accept4() system call is exactly the same as accept(), except that\nit adds a flags bit-mask argument.  Two flags are initially implemented.\n(Most of the new system calls in 2.6.27 also had both of these flags.)\n\nSOCK_CLOEXEC causes the close-on-exec (FD_CLOEXEC) flag to be enabled\nfor the new file descriptor returned by accept4().  This is a useful\nsecurity feature to avoid leaking information in a multithreaded\nprogram where one thread is doing an accept() at the same time as\nanother thread is doing a fork() plus exec().  More details here:\nhttp://udrepper.livejournal.com/20407.html \"Secure File Descriptor Handling\",\nUlrich Drepper).\n\nThe other flag is SOCK_NONBLOCK, which causes the O_NONBLOCK flag\nto be enabled on the new open file description created by accept4().\n(This flag is merely a convenience, saving the use of additional calls\nfcntl(F_GETFL) and fcntl (F_SETFL) to achieve the same result.\n\nHere\u0027s a test program.  Works on x86-32.  Should work on x86-64, but\nI (mtk) don\u0027t have a system to hand to test with.\n\nIt tests accept4() with each of the four possible combinations of\nSOCK_CLOEXEC and SOCK_NONBLOCK set/clear in \u0027flags\u0027, and verifies\nthat the appropriate flags are set on the file descriptor/open file\ndescription returned by accept4().\n\nI tested Ulrich\u0027s patch in this thread by applying against 2.6.28-rc2,\nand it passes according to my test program.\n\n/* test_accept4.c\n\n  Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk\n       \u003cmtk.manpages@gmail.com\u003e\n\n  Licensed under the GNU GPLv2 or later.\n*/\n#define _GNU_SOURCE\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstring.h\u003e\n\n#define PORT_NUM 33333\n\n#define die(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n\n/**********************************************************************/\n\n/* The following is what we need until glibc gets a wrapper for\n  accept4() */\n\n/* Flags for socket(), socketpair(), accept4() */\n#ifndef SOCK_CLOEXEC\n#define SOCK_CLOEXEC    O_CLOEXEC\n#endif\n#ifndef SOCK_NONBLOCK\n#define SOCK_NONBLOCK   O_NONBLOCK\n#endif\n\n#ifdef __x86_64__\n#define SYS_accept4 288\n#elif __i386__\n#define USE_SOCKETCALL 1\n#define SYS_ACCEPT4 18\n#else\n#error \"Sorry -- don\u0027t know the syscall # on this architecture\"\n#endif\n\nstatic int\naccept4(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)\n{\n   printf(\"Calling accept4(): flags \u003d %x\", flags);\n   if (flags !\u003d 0) {\n       printf(\" (\");\n       if (flags \u0026 SOCK_CLOEXEC)\n           printf(\"SOCK_CLOEXEC\");\n       if ((flags \u0026 SOCK_CLOEXEC) \u0026\u0026 (flags \u0026 SOCK_NONBLOCK))\n           printf(\" \");\n       if (flags \u0026 SOCK_NONBLOCK)\n           printf(\"SOCK_NONBLOCK\");\n       printf(\")\");\n   }\n   printf(\"\\n\");\n\n#if USE_SOCKETCALL\n   long args[6];\n\n   args[0] \u003d fd;\n   args[1] \u003d (long) sockaddr;\n   args[2] \u003d (long) addrlen;\n   args[3] \u003d flags;\n\n   return syscall(SYS_socketcall, SYS_ACCEPT4, args);\n#else\n   return syscall(SYS_accept4, fd, sockaddr, addrlen, flags);\n#endif\n}\n\n/**********************************************************************/\n\nstatic int\ndo_test(int lfd, struct sockaddr_in *conn_addr,\n       int closeonexec_flag, int nonblock_flag)\n{\n   int connfd, acceptfd;\n   int fdf, flf, fdf_pass, flf_pass;\n   struct sockaddr_in claddr;\n   socklen_t addrlen;\n\n   printf(\"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\\n\");\n\n   connfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (connfd \u003d\u003d -1)\n       die(\"socket\");\n   if (connect(connfd, (struct sockaddr *) conn_addr,\n               sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"connect\");\n\n   addrlen \u003d sizeof(struct sockaddr_in);\n   acceptfd \u003d accept4(lfd, (struct sockaddr *) \u0026claddr, \u0026addrlen,\n                      closeonexec_flag | nonblock_flag);\n   if (acceptfd \u003d\u003d -1) {\n       perror(\"accept4()\");\n       close(connfd);\n       return 0;\n   }\n\n   fdf \u003d fcntl(acceptfd, F_GETFD);\n   if (fdf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   fdf_pass \u003d ((fdf \u0026 FD_CLOEXEC) !\u003d 0) \u003d\u003d\n              ((closeonexec_flag \u0026 SOCK_CLOEXEC) !\u003d 0);\n   printf(\"Close-on-exec flag is %sset (%s); \",\n           (fdf \u0026 FD_CLOEXEC) ? \"\" : \"not \",\n           fdf_pass ? \"OK\" : \"failed\");\n\n   flf \u003d fcntl(acceptfd, F_GETFL);\n   if (flf \u003d\u003d -1)\n       die(\"fcntl:F_GETFD\");\n   flf_pass \u003d ((flf \u0026 O_NONBLOCK) !\u003d 0) \u003d\u003d\n              ((nonblock_flag \u0026 SOCK_NONBLOCK) !\u003d0);\n   printf(\"nonblock flag is %sset (%s)\\n\",\n           (flf \u0026 O_NONBLOCK) ? \"\" : \"not \",\n           flf_pass ? \"OK\" : \"failed\");\n\n   close(acceptfd);\n   close(connfd);\n\n   printf(\"Test result: %s\\n\", (fdf_pass \u0026\u0026 flf_pass) ? \"PASS\" : \"FAIL\");\n   return fdf_pass \u0026\u0026 flf_pass;\n}\n\nstatic int\ncreate_listening_socket(int port_num)\n{\n   struct sockaddr_in svaddr;\n   int lfd;\n   int optval;\n\n   memset(\u0026svaddr, 0, sizeof(struct sockaddr_in));\n   svaddr.sin_family \u003d AF_INET;\n   svaddr.sin_addr.s_addr \u003d htonl(INADDR_ANY);\n   svaddr.sin_port \u003d htons(port_num);\n\n   lfd \u003d socket(AF_INET, SOCK_STREAM, 0);\n   if (lfd \u003d\u003d -1)\n       die(\"socket\");\n\n   optval \u003d 1;\n   if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, \u0026optval,\n                  sizeof(optval)) \u003d\u003d -1)\n       die(\"setsockopt\");\n\n   if (bind(lfd, (struct sockaddr *) \u0026svaddr,\n            sizeof(struct sockaddr_in)) \u003d\u003d -1)\n       die(\"bind\");\n\n   if (listen(lfd, 5) \u003d\u003d -1)\n       die(\"listen\");\n\n   return lfd;\n}\n\nint\nmain(int argc, char *argv[])\n{\n   struct sockaddr_in conn_addr;\n   int lfd;\n   int port_num;\n   int passed;\n\n   passed \u003d 1;\n\n   port_num \u003d (argc \u003e 1) ? atoi(argv[1]) : PORT_NUM;\n\n   memset(\u0026conn_addr, 0, sizeof(struct sockaddr_in));\n   conn_addr.sin_family \u003d AF_INET;\n   conn_addr.sin_addr.s_addr \u003d htonl(INADDR_LOOPBACK);\n   conn_addr.sin_port \u003d htons(port_num);\n\n   lfd \u003d create_listening_socket(port_num);\n\n   if (!do_test(lfd, \u0026conn_addr, 0, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, 0))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, 0, SOCK_NONBLOCK))\n       passed \u003d 0;\n   if (!do_test(lfd, \u0026conn_addr, SOCK_CLOEXEC, SOCK_NONBLOCK))\n       passed \u003d 0;\n\n   close(lfd);\n\n   exit(passed ? EXIT_SUCCESS : EXIT_FAILURE);\n}\n\n[mtk.manpages@gmail.com: rewrote changelog, updated test program]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nTested-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \u003clinux-api@vger.kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "198d6ba4d7f48c94f990f4604f0b3d73925e0ded",
      "tree": "56bbdf8ba2553c23c8099da9344a8f1d1aba97ab",
      "parents": [
        "9a57f7fabd383920585ed8b74eacd117c6551f2d",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/isdn/i4l/isdn_net.c\n\tfs/cifs/connect.c\n"
    },
    {
      "commit": "7f0f598a0069d1ab072375965a4b69137233169c",
      "tree": "00cb9320e0caef179d6075b54fa611de6551e3e2",
      "parents": [
        "a6a0c4ca7edb378a8a7332501f097089cb1051c4",
        "c26156b2534c75bb3cdedf76f6ad1340971cf5bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:51 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: hold extra reference to bio in blk_rq_map_user_iov()\n  relay: fix cpu offline problem\n  Release old elevator on change elevator\n  block: fix boot failure with CONFIG_DEBUG_BLOCK_EXT_DEVT\u003dy and nash\n  block/md: fix md autodetection\n  block: make add_partition() return pointer to hd_struct\n  block: fix add_partition() error path\n"
    },
    {
      "commit": "72b51a6b4d803381f16d819df392dd1efd1c7181",
      "tree": "7e27a03c10cb2f5e6593dd599b3c8b0bcd0f9ee9",
      "parents": [
        "8c60bfb0666952728b3be73ef9bc133d686aebba",
        "e270219f4372b58bd3eeac12bd9f7edc592b8f6b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:06:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:06:35 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kernel/profile.c: fix section mismatch warning\n  function tracing: fix wrong pos computing when read buffer has been fulfilled\n  tracing: fix mmiotrace resizing crash\n  ring-buffer: no preempt for sched_clock()\n  ring-buffer: buffer record on/off switch\n"
    },
    {
      "commit": "ba32929a91fe2c0628f5be62d1597b379c8d3062",
      "tree": "09ea54ed2d2299d25b92fee6a6dde4d7527a3d37",
      "parents": [
        "eb60fa1066622ddb2278732cf61e0c4544e82c6f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 15:29:58 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block: make add_partition() return pointer to hd_struct\n\nMake add_partition() return pointer to the new hd_struct on success\nand ERR_PTR() value on failure.  This change will be used to fix md\nautodetection bug.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "847e9170c77d3b4f57822ae1f4cf4f65c65a8254",
      "tree": "23f931fa2c3f9cf967deb638fed9804806d07357",
      "parents": [
        "72eb8c6747b49e41fd2b042510f03ac7c13426fc",
        "5f9021cfdc3524a4c5e3d7ae2d049eb7adcd6776"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 07:53:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 17 07:53:25 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)\n  rtnetlink: propagate error from dev_change_flags in do_setlink()\n  isdn: remove extra byteswap in isdn_net_ciscohdlck_slarp_send_reply\n  Phonet: refuse to send bigger than MTU packets\n  e1000e: fix IPMI traffic\n  e1000e: fix warn_on reload after phy_id error\n  phy: fix phy address bug\n  e100: fix dma error in direction for mapping\n  igb: use dev_printk instead of printk\n  qla3xxx: Cleanup: Fix link print statements.\n  igb: Use device_set_wakeup_enable\n  e1000: Use device_set_wakeup_enable\n  e1000e: Use device_set_wakeup_enable\n  via-velocity: enable perfect filtering for multicast packets\n  phy: Add support for Marvell 88E1118 PHY\n  mlx4_en: Pause parameters per port\n  phylib: fix premature freeing of struct mii_bus\n  atl1: Do not enumerate options unsupported by chip\n  atl1e: fix broken multicast by removing unnecessary crc inversion\n  gianfar: Fix DMA unmap invocations\n  net/ucc_geth: Fix oops in uec_get_ethtool_stats()\n  ...\n"
    },
    {
      "commit": "dd9c0e363cef32b7d6f23d4c87e8dfe4f91fd1c5",
      "tree": "2ae48a033a925169f0fd71bdc18a683a308f46c4",
      "parents": [
        "29450559849da7066813601effb7666966869853"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "message": "dccp: Deprecate Ack Ratio sysctl\n\nThis patch deprecates the Ack Ratio sysctl, since\n * Ack Ratio is entirely ignored by CCID-3 and CCID-4,\n * Ack Ratio currently doesn\u0027t work in CCID-2 (i.e. is always set to 1);\n * even if it would work in CCID-2, there is no point for a user to change it:\n   - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2),\n   - if Ack Ratio \u003e cwnd, the system resorts to spurious RTO timeouts\n     (since waiting for Acks which will never arrive in this window),\n   - cwnd is not a user-configurable value.\n\nThe only reasonable place for Ack Ratio is to print it for debugging. It is\nplanned to do this later on, as part of e.g. dccp_probe.\n\nWith this patch Ack Ratio is now under full control of feature negotiation:\n * Ack Ratio is resolved as a dependency of the selected CCID;\n * if the chosen CCID supports it (i.e. CCID \u003d\u003d CCID-2), Ack Ratio is set to\n   the default of 2, following RFC 4340, 11.3 - \"New connections start with Ack\n   Ratio 2 for both endpoints\";\n * what happens then is part of another patch set, since it concerns the\n   dynamic update of Ack Ratio while the connection is in full flight.\n\nThanks to Tomasz Grobelny for discussion leading up to this patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29450559849da7066813601effb7666966869853",
      "tree": "5a55d997460a85da733e1960bc74de0f170e8106",
      "parents": [
        "49aebc66d6b896f9c7c5739d85c4548c00015aa7"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:53:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:53:48 2008 -0800"
      },
      "message": "dccp: Feature negotiation for minimum-checksum-coverage\n\nThis provides feature negotiation for server minimum checksum coverage\nwhich so far has been missing.\n\nSince sender/receiver coverage values range only from 0...15, their\ntype has also been reduced in size from u16 to u4.\n\nFeature-negotiation options are now generated for both sender and receiver\ncoverage, i.e. when the peer has `forgotten\u0027 to enable partial coverage\nthen feature negotiation will automatically enable (negotiate) the partial\ncoverage value for this connection.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49aebc66d6b896f9c7c5739d85c4548c00015aa7",
      "tree": "0b12afdd2e742c3eb481aef8d2adcb7b1aeca9f1",
      "parents": [
        "0c1168398ecbfacbb27203b281bde20ec9f78017"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:51:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:51:23 2008 -0800"
      },
      "message": "dccp: Deprecate old setsockopt framework\n\nThe previous setsockopt interface, which passed socket options via struct\ndccp_so_feat, is complicated/difficult to use. Continuing to support it leads to\nugly code since the old approach did not distinguish between NN and SP values.\n\nThis patch removes the old setsockopt interface and replaces it with two new\nfunctions to register NN/SP values for feature negotiation. \nThese are essentially wrappers around the internal __feat_register functions,\nwith checking added to avoid\n\n * wrong usage (type);\n * changing values while the connection is in progress.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f2c31d90327f21d76d296af34aa4ca547932ff4",
      "tree": "fbcccc1ab9af94982dd2a98fae6b32c7a0e14e3a",
      "parents": [
        "0276b4972e932ea8bf2941dcd37e9caac5652ed7"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Sun Nov 16 22:41:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:41:34 2008 -0800"
      },
      "message": "virtio_net: VIRTIO_NET_F_MSG_RXBUF (imprive rcv buffer allocation)\n\nIf segmentation offload is enabled by the host, we currently allocate\nmaximum sized packet buffers and pass them to the host. This uses up\n20 ring entries, allowing us to supply only 20 packet buffers to the\nhost with a 256 entry ring. This is a huge overhead when receiving\nsmall packets, and is most keenly felt when receiving MTU sized\npackets from off-host.\n\nThe VIRTIO_NET_F_MRG_RXBUF feature flag is set by hosts which support\nusing receive buffers which are smaller than the maximum packet size.\nIn order to transfer large packets to the guest, the host merges\ntogether multiple receive buffers to form a larger logical buffer.\nThe number of merged buffers is returned to the guest via a field in\nthe virtio_net_hdr.\n\nMake use of this support by supplying single page receive buffers to\nthe host. On receive, we extract the virtio_net_hdr, copy 128 bytes of\nthe payload to the skb\u0027s linear data buffer and adjust the fragment\noffset to point to the remaining data. This ensures proper alignment\nand allows us to not use any paged data for small packets. If the\npayload occupies multiple pages, we simply append those pages as\nfragments and free the associated skbs.\n\nThis scheme allows us to be efficient in our use of ring entries\nwhile still supporting large packets. Benchmarking using netperf from\nan external machine to a guest over a 10Gb/s network shows a 100%\nimprovement from ~1Gb/s to ~2Gb/s. With a local host-\u003eguest benchmark\nwith GSO disabled on the host side, throughput was seen to increase\nfrom 700Mb/s to 1.7Gb/s.\n\nBased on a patch from Herbert Xu.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (use netdev_priv)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88ab1932eac721c6e7336708558fa5ed02c85c80",
      "tree": "c8788a1e3de08100bca341fa4180adfe5d02880f",
      "parents": [
        "bbaffaca4810de1a25e32ecaf836eeaacc7a3d11"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:39:21 2008 -0800"
      },
      "message": "udp: Use hlist_nulls in UDP RCU code\n\nThis is a straightforward patch, using hlist_nulls infrastructure.\n\nRCUification already done on UDP two weeks ago.\n\nUsing hlist_nulls permits us to avoid some memory barriers, both\nat lookup time and delete time.\n\nPatch is large because it adds new macros to include/net/sock.h.\nThese macros will be used by TCP \u0026 DCCP in next patch.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbaffaca4810de1a25e32ecaf836eeaacc7a3d11",
      "tree": "f0b215577427ab12ab4ae7b3f45cd6ad3fe16499",
      "parents": [
        "e8b2dfe9b4501ed0047459b2756ba26e5a940a69"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 16 19:37:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:37:55 2008 -0800"
      },
      "message": "rcu: Introduce hlist_nulls variant of hlist\n\nhlist uses NULL value to finish a chain.\n\nhlist_nulls variant use the low order bit set to 1 to signal an end-of-list marker.\n\nThis allows to store many different end markers, so that some RCU lockless\nalgos (used in TCP/UDP stack for example) can save some memory barriers in\nfast paths.\n\nTwo new files are added :\n\ninclude/linux/list_nulls.h\n  - mimics hlist part of include/linux/list.h, derived to hlist_nulls variant\n\ninclude/linux/rculist_nulls.h\n  - mimics hlist part of include/linux/rculist.h, derived to hlist_nulls variant\n\n   Only four helpers are declared for the moment :\n\n     hlist_nulls_del_init_rcu(), hlist_nulls_del_rcu(),\n     hlist_nulls_add_head_rcu() and hlist_nulls_for_each_entry_rcu()\n\nprefetches() were removed, since an end of list is not anymore NULL value.\nprefetches() could trigger useless (and possibly dangerous) memory transactions.\n\nExample of use (extracted from __udp4_lib_lookup())\n\n\tstruct sock *sk, *result;\n        struct hlist_nulls_node *node;\n        unsigned short hnum \u003d ntohs(dport);\n        unsigned int hash \u003d udp_hashfn(net, hnum);\n        struct udp_hslot *hslot \u003d \u0026udptable-\u003ehash[hash];\n        int score, badness;\n\n        rcu_read_lock();\nbegin:\n        result \u003d NULL;\n        badness \u003d -1;\n        sk_nulls_for_each_rcu(sk, node, \u0026hslot-\u003ehead) {\n                score \u003d compute_score(sk, net, saddr, hnum, sport,\n                                      daddr, dport, dif);\n                if (score \u003e badness) {\n                        result \u003d sk;\n                        badness \u003d score;\n                }\n        }\n        /*\n         * if the nulls value we got at the end of this lookup is\n         * not the expected one, we must restart lookup.\n         * We probably met an item that was moved to another chain.\n         */\n        if (get_nulls_value(node) !\u003d hash)\n                goto begin;\n\n        if (result) {\n                if (unlikely(!atomic_inc_not_zero(\u0026result-\u003esk_refcnt)))\n                        result \u003d NULL;\n                else if (unlikely(compute_score(result, net, saddr, hnum, sport,\n                                  daddr, dport, dif) \u003c badness)) {\n                        sock_put(result);\n                        goto begin;\n                }\n        }\n        rcu_read_unlock();\n        return result;\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8b2dfe9b4501ed0047459b2756ba26e5a940a69",
      "tree": "6f7d497284a8951b8681517f7866851b32a7b02e",
      "parents": [
        "8164f1b79731ad8ad9c713dc53d587a3b746f82f"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Sun Nov 16 19:32:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:32:39 2008 -0800"
      },
      "message": "TPROXY: implemented IP_RECVORIGDSTADDR socket option\n\nIn case UDP traffic is redirected to a local UDP socket,\nthe originally addressed destination address/port\ncannot be recovered with the in-kernel tproxy.\n\nThis patch adds an IP_RECVORIGDSTADDR sockopt that enables\na IP_ORIGDSTADDR ancillary message in recvmsg(). This\nancillary message contains the original destination address/port\nof the packet being received.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f004f3ea34209d8b836426b26ade3dc502631b18",
      "tree": "bf58002618bc3dd98db2416bb20cbeb016ecdd23",
      "parents": [
        "72af187f216ed83c77ca3e6f22dfc9caf72e9347"
      ],
      "author": {
        "name": "Paulius Zaleckas",
        "email": "paulius.zaleckas@teltonika.lt",
        "time": "Fri Nov 14 00:24:34 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 18:59:45 2008 -0800"
      },
      "message": "phylib: make mdio-gpio work without OF (v4)\n\nmake mdio-gpio work with non OpenFirmware gpio implementation.\n\nAditional changes to mdio-gpio:\n- use gpio_request() and gpio_free()\n- place irq[] array in struct mdio_gpio_info\n- add module description, author and license\n- add note about compiling this driver as module\n- rename mdc and mdio function (were ugly names)\n- change MII to MDIO in bus name\n- add __init __exit to module (un)loading functions\n- probe fails if no phys added to the bus\n- kzalloc bitbang with sizeof(*bitbang)\n\nChanges since v3:\n- keep bus naming \"%x\" to be compatible with existing drivers.\n\nChanges since v2:\n- more #ifdefs reduction\n- platform driver will be registered on OF platforms also\n- unified platform and OF bus_id to phy%i\n\nChanges since v1:\n- removed NO_IRQ\n- reduced #idefs\n\nLaurent, please test this driver under OF.\n\nSigned-off-by: Paulius Zaleckas \u003cpaulius.zaleckas@teltonika.lt\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b42ccbc521f2acad48eb96b32883efe2f3e16b45",
      "tree": "85f45ef13f3c409850431a52fd5e04ff3e826e0c",
      "parents": [
        "d659fc14cbd39fef625072819c6968044975fda7",
        "131d3a7a009d56a96cc7117b4e9d0c90c2e2a1dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 19:02:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 19:02:48 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: don\u0027t grab devices with no input\n  HID: fix radio-mr800 hidquirks\n  HID: fix kworld fm700 radio hidquirks\n  HID: fix start/stop cycle in usbhid driver\n  HID: use single threaded work queue for hid_compat\n  HID: map macbook keys for \"Expose\" and \"Dashboard\"\n  HID: support for new unibody macbooks\n  HID: fix locking in hidraw_open()\n"
    },
    {
      "commit": "8f7b0ba1c853919b85b54774775f567f30006107",
      "tree": "1acd2b7ed5ed0de3eecfff9da5da4e779731f8a8",
      "parents": [
        "0d3b71009737511ea937ac405205fd8214b898bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sat Nov 15 01:15:43 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:26:44 2008 -0800"
      },
      "message": "Fix inotify watch removal/umount races\n\nInotify watch removals suck violently.\n\nTo kick the watch out we need (in this order) inode-\u003einotify_mutex and\nih-\u003emutex.  That\u0027s fine if we have a hold on inode; however, for all\nother cases we need to make damn sure we don\u0027t race with umount.  We can\n*NOT* just grab a reference to a watch - inotify_unmount_inodes() will\nhappily sail past it and we\u0027ll end with reference to inode potentially\noutliving its superblock.\n\nIdeally we just want to grab an active reference to superblock if we\ncan; that will make sure we won\u0027t go into inotify_umount_inodes() until\nwe are done.  Cleanup is just deactivate_super().\n\nHowever, that leaves a messy case - what if we *are* racing with\numount() and active references to superblock can\u0027t be acquired anymore?\nWe can bump -\u003es_count, grab -\u003es_umount, which will almost certainly wait\nuntil the superblock is shut down and the watch in question is pining\nfor fjords.  That\u0027s fine, but there is a problem - we might have hit the\nwindow between -\u003es_active getting to 0 / -\u003es_count - below S_BIAS (i.e.\nthe moment when superblock is past the point of no return and is heading\nfor shutdown) and the moment when deactivate_super() acquires\n-\u003es_umount.\n\nWe could just do drop_super() yield() and retry, but that\u0027s rather\nantisocial and this stuff is luser-triggerable.  OTOH, having grabbed\n-\u003es_umount and having found that we\u0027d got there first (i.e.  that\n-\u003es_root is non-NULL) we know that we won\u0027t race with\ninotify_umount_inodes().\n\nSo we could grab a reference to watch and do the rest as above, just\nwith drop_super() instead of deactivate_super(), right? Wrong.  We had\nto drop ih-\u003emutex before we could grab -\u003es_umount.  So the watch\ncould\u0027ve been gone already.\n\nThat still can be dealt with - we need to save watch-\u003ewd, do idr_find()\nand compare its result with our pointer.  If they match, we either have\nthe damn thing still alive or we\u0027d lost not one but two races at once,\nthe watch had been killed and a new one got created with the same -\u003ewd\nat the same address.  That couldn\u0027t have happened in inotify_destroy(),\nbut inotify_rm_wd() could run into that.  Still, \"new one got created\"\nis not a problem - we have every right to kill it or leave it alone,\nwhatever\u0027s more convenient.\n\nSo we can use idr_find(...) \u003d\u003d watch \u0026\u0026 watch-\u003einode-\u003ei_sb \u003d\u003d sb as\n\"grab it and kill it\" check.  If it\u0027s been our original watch, we are\nfine, if it\u0027s a newcomer - nevermind, just pretend that we\u0027d won the\nrace and kill the fscker anyway; we are safe since we know that its\nsuperblock won\u0027t be going away.\n\nAnd yes, this is far beyond mere \"not very pretty\"; so\u0027s the entire\nconcept of inotify to start with.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "537a2f889ac847468c9aa040910c247b218302a7",
      "tree": "ea21b1dfd11e4234b108059c84c2a42887dc9254",
      "parents": [
        "fab349cceb25f92bac1400601c5ef8345a166958",
        "272966c070237c8cb540fe67e06df51bc6ea9cc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:10:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 12:10:32 2008 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.\n  sh: __copy_user function can corrupt the stack in case of exception\n  sh: Fixed the TMU0 reload value on resume\n  sh: Don\u0027t factor in PAGE_OFFSET for valid_phys_addr_range() check.\n  sh: early printk port type fix\n  i2c: fix i2c-sh_mobile rx underrun\n  sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB.\n  usb: r8a66597-hcd: fix wrong data access in SuperH on-chip USB\n  fix sci type for SH7723\n  serial: sh-sci: fix cannot work SH7723 SCIFA\n  sh: Handle fixmap TLB eviction more coherently.\n"
    },
    {
      "commit": "d091c2f58ba32029495a933b721e8e02fbd12caa",
      "tree": "9f20dc4cc77e7178270fb1d5946918fe44d4e3eb",
      "parents": [
        "4d41e121664893e5e338f41fbd36be4a2578c8d6"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Nov 12 21:16:43 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 11:43:37 2008 -0800"
      },
      "message": "Add \u0027pr_fmt()\u0027 format modifier to pr_xyz macros.\n\nA common reason for device drivers to implement their own printk macros\nis the lack of a printk prefix with the standard pr_xyz macros.\nIntroduce a pr_fmt() macro that is applied for every pr_xyz macro to the\nformat string.\n\nThe most common use of the pr_fmt macro would be to add the name of the\ndevice driver to all pr_xyz messages in a source file.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8f6fbf62de37cbc2e179176ac7010d5f4396b67",
      "tree": "ac22d719c3c93d24b7eeda395b3271be60bfc661",
      "parents": [
        "1fa989e80a9a104bf3b81842a5f4c1867d7aa9c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 01:38:36 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 23:19:10 2008 -0800"
      },
      "message": "lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c\n\nfix this warning:\n\n  net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used\n  net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used\n\nthis is a lockdep macro problem in the !LOCKDEP case.\n\nWe cannot convert it to an inline because the macro works on multiple types,\nbut we can mark the parameter used.\n\n[ also clean up a misaligned tab in sock_lock_init_class_and_name() ]\n\n[ also remove #ifdefs from around af_family_clock_key strings - which\n  were certainly added to get rid of the ugly build warnings. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "352d026338378b1f13f044e33c1047da6e470056",
      "tree": "92e178cc234bfd19f15e8623b1b92d21918cb3fa",
      "parents": [
        "0047ca0a45c6a481abd467fb52d2a480ffc8c6b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 29 15:16:58 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 13 14:45:00 2008 -0800"
      },
      "message": "USB: don\u0027t register endpoints for interfaces that are going away\n\nThis patch (as1155) fixes a bug in usbcore.  When interfaces are\ndeleted, either because the device was disconnected or because of a\nconfiguration change, the extra attribute files and child endpoint\ndevices may get left behind.  This is because the core removes them\nbefore calling device_del().  But during device_del(), after the\ndriver is unbound the core will reinstall altsetting 0 and recreate\nthose extra attributes and children.\n\nThe patch prevents this by adding a flag to record when the interface\nis in the midst of being unregistered.  When the flag is set, the\nattribute files and child devices will not be created.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e [2.6.27, 2.6.26, 2.6.25]\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d7de4c1dc3a2faca0bf05d9e342f885cb2696766",
      "tree": "c7ea498a84b9319443af8cafba5deb6602dfb3a5",
      "parents": [
        "02f5621042e3f7e2fb6c741cbe5ee7c1f3caf354"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Nov 13 20:40:12 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Nov 13 20:49:02 2008 +0200"
      },
      "message": "slab: document SLAB_DESTROY_BY_RCU\n\nExplain this SLAB_DESTROY_BY_RCU thing...\n\n[hugh@veritas.com: add a pointer to comment in mm/slab.c]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "437184ae8bd1ef923a40b009e37801deae66ad55",
      "tree": "9b9fc2b295998135334c9a6fa32efff589486187",
      "parents": [
        "a96d6ef34751093797c3a6c6080733dd7af23d35"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Tue Nov 04 13:31:38 2008 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Nov 13 10:31:36 2008 +0100"
      },
      "message": "HID: map macbook keys for \"Expose\" and \"Dashboard\"\n\nOn macbooks there are specific keys for the user-space functions Expose\nand Dashboard, which currently has no counterpart in input.h. This patch\nadds KEY_SCALE and KEY_DASHBOARD, and maps the keyboard accordingly.\n\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "4e17e1db96474af5620e3259754df4cb1c46521c",
      "tree": "cc662ebf5158b407495a4939b0ea3d16b93a1b7e",
      "parents": [
        "e0a29382c6f51c278a7e9a788917ff9182f3dba6"
      ],
      "author": {
        "name": "Rodolfo Giometti",
        "email": "giometti@linux.it",
        "time": "Wed Nov 12 13:27:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:18 2008 -0800"
      },
      "message": "Add c2 port support\n\nC2port implements a two wire serial communication protocol (bit\nbanging) designed to enable in-system programming, debugging, and\nboundary-scan testing on low pin-count Silicon Labs devices.\n\nCurrently this code supports only flash programming through sysfs\ninterface but extensions shoud be easy to add.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "077eaf5b40ecb2c345d82f02275c20e965dfa3e5",
      "tree": "9f29121591ffb69cef527e4de11d183b6bf01f6d",
      "parents": [
        "a412ae3fb90ab49072b82c8cfa1e3e60d2b27005"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 12 13:27:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:18 2008 -0800"
      },
      "message": "rtc: rtc-wm8350: add support for WM8350 RTC\n\nThis adds support for the RTC provided by the Wolfson Microelectronics\nWM8350.\n\nThis driver was originally written by Graeme Gregory and Liam Girdwood,\nthough it has been modified since then to update it to current mainline\ncoding standards and for API completeness.\n\n[akpm@linux-foundation.org: s/schedule_timeout_interruptible/schedule_timeout_uninterruptible/ to prevent bogus timeout when signal_pending()]\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Liam Girdwood \u003clinux@wolfsonmicro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b76f90b526737070302a127c710263e2ac707676",
      "tree": "360e2151e924c45dbac7a41fb77b0ec1cc5a91f8",
      "parents": [
        "afef80b3d87cae574b8c6b763505f25b74d254ef"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Nov 12 13:26:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:17 2008 -0800"
      },
      "message": "remove ratelimt()\n\nIt mistakenly assumes that a static local in an inlined function is a\nkernel-wide singleton.  It also has no callers, so let\u0027s remove it.\n\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45a9524a61267a60aef3c273b97284e93b15f4d7",
      "tree": "80e7ceee6758bd7ea76cf5505aa2f41d3376b0ba",
      "parents": [
        "4416662ece4e88aca687b28d7c059336b47478ba",
        "621a0d5207c18012cb39932f2d9830a11a6cb03d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 12:00:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 12:00:15 2008 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: clean up unused callback modes\n"
    },
    {
      "commit": "08c1184fa2b785f23453b8cbb43f86b409cde3a6",
      "tree": "f3d529d72ecdbf3f6ee1d245a6d9b099408fc259",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "d1876ba4dead6ace7e9fbf16f83397e6486d0dfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 10:24:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 10:24:46 2008 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (47 commits)\n  ACPI: pci_link: remove acpi_irq_balance_set() interface\n  fujitsu-laptop: Add DMI callback for Lifebook S6420\n  ACPI: EC: Don\u0027t do transaction from GPE handler in poll mode.\n  ACPI: EC: lower interrupt storm treshold\n  ACPICA: Use spinlock for acpi_{en|dis}able_gpe\n  ACPI: EC: restart failed command\n  ACPI: EC: wait for last write gpe\n  ACPI: EC: make kernel messages more useful when GPE storm is detected\n  ACPI: EC: revert msleep patch\n  thinkpad_acpi: fingers off backlight if video.ko is serving this functionality\n  sony-laptop: fingers off backlight if video.ko is serving this functionality\n  msi-laptop: fingers off backlight if video.ko is serving this functionality\n  fujitsu-laptop: fingers off backlight if video.ko is serving this functionality\n  eeepc-laptop: fingers off backlight if video.ko is serving this functionality\n  compal: fingers off backlight if video.ko is serving this functionality\n  asus-acpi: fingers off backlight if video.ko is serving this functionality\n  Acer-WMI: fingers off backlight if video.ko is serving this functionality\n  ACPI video: if no ACPI backlight support, use vendor drivers\n  ACPI: video: Ignore devices that aren\u0027t present in hardware\n  Delete an unwanted return statement at evgpe.c\n  ...\n"
    },
    {
      "commit": "621a0d5207c18012cb39932f2d9830a11a6cb03d",
      "tree": "0e18c30c91620108b413197f9bc153ceb6e430ec",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 12 09:36:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 09:54:40 2008 +0100"
      },
      "message": "hrtimer: clean up unused callback modes\n\nImpact: cleanup\n\ngit grep HRTIMER_CB_IRQSAFE revealed half the callback modes are actually\nunused.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d90ebcbfa7f5a8b4e20518c9f94c5c4e4cd3c2e5",
      "tree": "b1fb407c7ee1adbe8215311675d133a83a2d55b5",
      "parents": [
        "e8ef967a54f401ac5e8637b7f7f8bddb006144c4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 12 00:47:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:47:26 2008 -0800"
      },
      "message": "dccp: Query supported CCIDs\n\nThis provides a data structure to record which CCIDs are locally supported\nand three accessor functions:\n - a test function for internal use which is used to validate CCID requests\n   made by the user;\n - a copy function so that the list can be used for feature-negotiation;   \n - documented getsockopt() support so that the user can query capabilities.\n\nThe data structure is a table which is filled in at compile-time with the\nlist of available CCIDs (which in turn depends on the Kconfig choices).\n\nUsing the copy function for cloning the list of supported CCIDs is useful for\nfeature negotiation, since the negotiation is now with the full list of available\nCCIDs (e.g. {2, 3}) instead of the default value {2}. This means negotiation \nwill not fail if the peer requests to use CCID3 instead of CCID2. \n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a22f08dbd0e77c7cf45b5f527f93131d0b591b6",
      "tree": "c3f1309b26c6c8072b1194d387931ad331a36599",
      "parents": [
        "acca4f4d9bd657e8bc7e1665ba5077465138f133"
      ],
      "author": {
        "name": "Yoshihiro Shimoda",
        "email": "shimoda.yoshihiro@renesas.com",
        "time": "Tue Nov 11 12:19:05 2008 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Nov 12 12:29:56 2008 +0900"
      },
      "message": "serial: sh-sci: fix cannot work SH7723 SCIFA\n\nSH7723 has SCIFA. This module is similer SCI register map, but it has FIFO.\nSo this patch adds new type(PORT_SCIFA) and change some type checking.\n\nSigned-off-by: Yoshihiro Shimoda \u003cshimoda.yoshihiro@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f398778aa336a2919ee04ba45d915007230c6957",
      "tree": "c7244cd1d4af8d99c861b21ebcaeabf23e355b9f",
      "parents": [
        "9b5a56ddfd615a27e3a0856ceae1592a24021e42",
        "2dba1b5d87e08a294da5cdfa4d32908000e9b085"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:15:50 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:15:50 2008 -0500"
      },
      "message": "Merge branch \u0027video\u0027 into release\n\nConflicts:\n\tDocumentation/kernel-parameters.txt\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3e0fe364835cecc8560cf32bb9609f4c56c5d9fa",
      "tree": "be2236bd4f6f16aee24cca5217449dc03a6c1e85",
      "parents": [
        "e911d27af43e7d28d59a96a4682e8942f0661469",
        "32836259ff25ce97010569706cd33ba94de81d62"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:14:11 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Nov 11 21:14:11 2008 -0500"
      },
      "message": "Merge branch \u0027misc\u0027 into release\n"
    },
    {
      "commit": "7e452baf6b96b5aeba097afd91501d33d390cc97",
      "tree": "9b0e062d3677d50d731ffd0fba47423bfdee9253",
      "parents": [
        "3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/message/fusion/mptlan.c\n\tdrivers/net/sfc/ethtool.c\n\tnet/mac80211/debugfs_sta.c\n"
    },
    {
      "commit": "c1e7abbc7afc97367cd77c8f2895c2169a8f9c87",
      "tree": "826aa8fff448bc3dcd167d3623fbcc311a768c1f",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10",
        "a358324466b171e145df20bdb74fe81759906de6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 21:34:07 2008 +0100"
      },
      "message": "Merge branch \u0027devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "a358324466b171e145df20bdb74fe81759906de6",
      "tree": "50b2b0b72ff40da6be232eb85d33a203612f3164",
      "parents": [
        "4143c5cb36331155a1823af8b3a8c761a59fed71"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:01:42 2008 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 11 15:02:04 2008 -0500"
      },
      "message": "ring-buffer: buffer record on/off switch\n\nImpact: enable/disable ring buffer recording API added\n\nSeveral kernel developers have requested that there be a way to stop\nrecording into the ring buffers with a simple switch that can also\nbe enabled from userspace. This patch addes a new kernel API to the\nring buffers called:\n\n tracing_on()\n tracing_off()\n\nWhen tracing_off() is called, all ring buffers will not be able to record\ninto their buffers.\n\ntracing_on() will enable the ring buffers again.\n\nThese two act like an on/off switch. That is, there is no counting of the\nnumber of times tracing_off or tracing_on has been called.\n\nA new file is added to the debugfs/tracing directory called\n\n  tracing_on\n\nThis allows for userspace applications to also flip the switch.\n\n  echo 0 \u003e debugfs/tracing/tracing_on\n\ndisables the tracing.\n\n  echo 1 \u003e /debugfs/tracing/tracing_on\n\nenables it.\n\nNote, this does not disable or enable any tracers. It only sets or clears\na flag that needs to be set in order for the ring buffers to write to\ntheir buffers. It is a global flag, and affects all ring buffers.\n\nThe buffers start out with tracing_on enabled.\n\nThere are now three flags that control recording into the buffers:\n\n tracing_on: which affects all ring buffer tracers.\n\n buffer-\u003erecord_disabled: which affects an allocated buffer, which may be set\n     if an anomaly is detected, and tracing is disabled.\n\n cpu_buffer-\u003erecord_disabled: which is set by tracing_stop() or if an\n     anomaly is detected. tracing_start can not reenable this if\n     an anomaly occurred.\n\nThe userspace debugfs/tracing/tracing_enabled is implemented with\ntracing_stop() but the user space code can not enable it if the kernel\ncalled tracing_stop().\n\nUserspace can enable the tracing_on even if the kernel disabled it.\nIt is just a switch used to stop tracing if a condition was hit.\ntracing_on is not for protecting critical areas in the kernel nor is\nit for stopping tracing if an anomaly occurred. This is because userspace\ncan reenable it at any time.\n\nSide effect: With this patch, I discovered a dead variable in ftrace.c\n  called tracing_on. This patch removes it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "2f96cb57cde9957bac0991c712068d29364b2ac9",
      "tree": "60e3f985b9e865f3a1fdda131599fa84159cc73e",
      "parents": [
        "09eb3b5b1bcab7b25e9dd57e90ee9753adf7afe2",
        "2002c69595a092518107f7e3c1294c9710bc92ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 10:52:25 2008 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: release buddies on yield\n  fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n  sched: clean up debug info\n"
    },
    {
      "commit": "0906dd9df2f79042cfa82d8388895be7cbe7a51b",
      "tree": "98344a1ecf258320008846434475e58c70f479c3",
      "parents": [
        "8eb04cf3402c59e84af9d2e86149edb4044f9a9e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Nov 11 14:51:23 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:30:23 2008 -0800"
      },
      "message": "telephony: trivial: fix up email address\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a4cf2c8786219b4871c37240ab9787a61d843ee",
      "tree": "a126516733f3a757711754bbac189417c79d8bcb",
      "parents": [
        "4694516d1987303dd83bfd0efdd36fa5b65d701b",
        "df02c6ff2e3937379b31ea161b53229134fe92f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 11 09:20:29 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  dsa: fix master interface allmulti/promisc handling\n  dsa: fix skb-\u003epkt_type when mac address of slave interface differs\n  net: fix setting of skb-\u003etail in skb_recycle_check()\n  net: fix /proc/net/snmp as memory corruptor\n  mac80211: fix a buffer overrun in station debug code\n  netfilter: payload_len is be16, add size of struct rather than size of pointer\n  ipv6: fix ip6_mr_init error path\n  [4/4] dca: fixup initialization dependency\n  [3/4] I/OAT: fix async_tx.callback checking\n  [2/4] I/OAT: fix dma_pin_iovec_pages() error handling\n  [1/4] I/OAT: fix channel resources free for not allocated channels\n  ssb: Fix DMA-API compilation for non-PCI systems\n  SSB: hide empty sub menu\n  vlan: Fix typos in proc output string\n  [netdrvr] usb/hso: Cleanup rfkill error handling\n  sfc: Correct address of gPXE boot configuration in EEPROM\n  el3_common_init() should be __devinit, not __init\n  hso: rfkill type should be WWAN\n  mlx4_en: Start port error flow bug fix\n  af_key: mark policy as dead before destroying\n"
    },
    {
      "commit": "ad474caca3e2a0550b7ce0706527ad5ab389a4d4",
      "tree": "6d4e5cbcee3a85230317a33d66655ece0c873f5c",
      "parents": [
        "5ac5c4d604bf894ef672a7971d03fefdc7ea7e49"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Nov 10 15:39:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 08:01:43 2008 +0100"
      },
      "message": "fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n\nImpact: fix hang/crash on ia64 under high load\n\nThis is ugly, but the simplest patch by far.\n\nUnlike other similar routines, account_group_exec_runtime() could be\ncalled \"implicitly\" from within scheduler after exit_notify(). This\nmeans we can race with the parent doing release_task(), we can\u0027t just\ncheck -\u003esignal !\u003d NULL.\n\nChange __exit_signal() to do spin_unlock_wait(\u0026task_rq(tsk)-\u003elock)\nbefore __cleanup_signal() to make sure -\u003esignal can\u0027t be freed under\ntask_rq(tsk)-\u003elock. Note that task_rq_unlock_wait() doesn\u0027t care\nabout the case when tsk changes cpu/rq under us, this should be OK.\n\nThanks to Ingo who nacked my previous buggy patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Doug Chapman \u003cdoug.chapman@hp.com\u003e\n"
    },
    {
      "commit": "fd0fcf5c29dd0339c5f5d86eb2cbe9fdad5bcd73",
      "tree": "3c03b581b0e069d45d4d35f234c16b663cdfa2af",
      "parents": [
        "9581483444d002e0b3807d9e66f552f372a6fc5e"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Nov 06 10:49:21 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 10 13:50:19 2008 -0800"
      },
      "message": "ssb: Fix DMA-API compilation for non-PCI systems\n\nThis fixes compilation of the SSB DMA-API code on non-PCI platforms.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc6971d491517ba15e800540ff88caa55dc65b01",
      "tree": "fb435b91e098f8d9a10b8fb217e3d5416d0d5288",
      "parents": [
        "fbf189273926d83d71c4c321f1215162569506ac"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Oct 30 19:59:05 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:41 2008 -0500"
      },
      "message": "mac80211_hwsim: Add support for client PS mode\n\nThis introduces a debugfs file (ieee80211/phy#/hwsim/ps) that can be\nused to force a simulated radio into power save mode. Following values\ncan be written into this file to change PS mode:\n0 \u003d power save disabled (constantly awake)\n1 \u003d power save enabled (drop all frames; do not send PS-Poll)\n2 \u003d power save enabled (send PS-Poll frames automatically to receive\n    buffered unicast frames); not yet fully implemented\n3 \u003d manual PS-Poll trigger (send a single PS-Poll frame)\n\nTwo different behavior for power save mode processing can be tested:\n- move between modes 1 and 0 (i.e., receive all buffered frames at a\n  time)\n- move to mode 1 and use manual PS-Poll frames (write 3 to the \u0027ps\u0027\n  debugfs file) to fetch power save buffered frames one at a time\n\nMode 2 (automatic PS-Poll) does not yet parse Beacon frames, but\neventually, it should take a look at TIM IE and send PS-Poll if a\ntraffic bit is set for our AID.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "318884875bdddca663ecc373c813cf8e117d9e43",
      "tree": "de9cfbe0bf24bea0ab1546a0613fbc9417bb6cb8",
      "parents": [
        "1e898ff83c31c303f73c3893d1ac519e4d9b59e5"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Oct 30 16:59:24 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:40 2008 -0500"
      },
      "message": "nl80211: Add TX queue parameter configuration\n\nAdd a new attribute, NL80211_ATTR_WIPHY_TXQ_PARAMS, that can be used with\nNL80211_CMD_SET_WIPHY for userspace (e.g., hostapd) to set TX queue\nparameters (txop, cwmin, cwmax, aifs).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "90c97a040d6b08cc4890328aa262fdc37336ab01",
      "tree": "d152a2edcb55d2d7b0428721341f7b271ffe39f8",
      "parents": [
        "fe63bfa3669dbdd4985ed35d9a0ed08881f62516"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Oct 30 16:59:22 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:17:39 2008 -0500"
      },
      "message": "nl80211: Add basic rate configuration for AP mode\n\nAdd a new attribute, NL80211_ATTR_BSS_BASIC_RATES, that can be used with\nNL80211_CMD_SET_BSS for userspace (e.g., hostapd) to set which rates are\nin the basic rate set.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1239cd58d237fa6ad501acaec8776262a5784ec8",
      "tree": "13f991cfc6a77e52a336aa75a94d94f5fd919f68",
      "parents": [
        "97c8b013da7a8ec7aa0a192489d4e7a33c4127fc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 28 11:12:57 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:10:16 2008 -0500"
      },
      "message": "wireless: move mesh config length constant\n\nThis is a constant from the 802.11 specification.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8a8bc22332ee6ea49137508467a76aa7f4367719",
      "tree": "f41c62dc99c4249d592935b4659569081d4a190a",
      "parents": [
        "f7160c7573615ec82c691e294cf80d920b5d588d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 14:48:21 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 10 08:04:47 2008 -0800"
      },
      "message": "libata: revert convert-to-block-tagging patches\n\nThis patch reverts the following three commits which convert libata to\nuse block layer tagging.\n\n 43a49cbdf31e812c0d8f553d433b09b421f5d52c\n e013e13bf605b9e6b702adffbe2853cfc60e7806\n 2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e\n\nAlthough using block layer tagging is the right direction, due to the\ntight coupling among tag number, data structure allocation and\nhardware command slot allocation, libata doesn\u0027t work correctly with\nthe current conversion.\n\nThe biggest problem is guaranteeing that tag 0 is always used for\nnon-NCQ commands.  Due to the way blk-tag is implemented and how SCSI\nstarts and finishes requests, such guarantee can\u0027t be made.  I\u0027m not\nsure whether this would actually break any low level driver but it\ndoesn\u0027t look like a good idea to break such assumption given the\nfrailty of ATA controllers.\n\nSo, for the time being, keep using the old dumb in-libata qc\nallocation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axobe \u003cjens.axboe@oracle.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb56d98e2a7530615899597551db685d68a2e852",
      "tree": "458a2dc64385f35799c55971ea7b3fe1a2ec218f",
      "parents": [
        "6209344f5a3795d34b7f2c0061f49802283b6bdd",
        "984f2f377fdfd098f5ae58d09ee04d5e29e6112b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:20:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 12:20:56 2008 -0800"
      },
      "message": "Merge branch \u0027cpus4096\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  cpumask: introduce new API, without changing anything, v3\n  cpumask: new API, v2\n  cpumask: introduce new API, without changing anything\n"
    },
    {
      "commit": "984f2f377fdfd098f5ae58d09ee04d5e29e6112b",
      "tree": "6f6ea07057f5680586a8ac6f77700c118f253bcb",
      "parents": [
        "cd83e42c6b0413dcbb548c2ead799111ff7e6a13"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Nov 08 20:24:19 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 09 21:09:54 2008 +0100"
      },
      "message": "cpumask: introduce new API, without changing anything, v3\n\nImpact: cleanup\n\nClean up based on feedback from Andrew Morton and others:\n\n - change to inline functions instead of macros\n - add __init to bootmem method\n - add a missing debug check\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "058e3739f6b0753696db1952378de9e8d2a11735",
      "tree": "2261c23bf8c77e51628310057b4dde718e487c53",
      "parents": [
        "02cabab4a8a7ef2d51189d5dda84516d36662910"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Sun Nov 09 00:27:53 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 09 11:17:33 2008 -0800"
      },
      "message": "clarify usage expectations for cnt32_to_63()\n\nCurrently, all existing users of cnt32_to_63() are fine since the CPU\narchitectures where it is used don\u0027t do read access reordering, and user\nmode preemption is disabled already.  It is nevertheless a good idea to\nbetter elaborate usage requirements wrt preemption, and use an explicit\nmemory barrier on SMP to avoid different CPUs accessing the counter\nvalue in the wrong order.  On UP a simple compiler barrier is\nsufficient.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1b268630875a7713b5d468a0c03403c5b721c8e",
      "tree": "2ff8ad7879d2ab005820bd5cf88417456daf2d5e",
      "parents": [
        "493890e75d98810a3470b4aae23be628ee5e9667"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sat Nov 08 21:37:46 2008 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sat Nov 08 21:37:46 2008 +0100"
      },
      "message": "mmc: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-Off-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "f400923735ecbb67cbe4a3606c9479f694754f51",
      "tree": "bfe96ecb2860837bf858ceb180c489c931ed74d9",
      "parents": [
        "505d4f73dda9e20d59da05008f1f5eb432613e71"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Nov 07 22:56:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:56:00 2008 -0800"
      },
      "message": "pkt_sched: Control group classifier\n\nThe classifier should cover the most common use case and will work\nwithout any special configuration.\n\nThe principle of the classifier is to directly access the\ntask_struct via get_current(). In order for this to work,\nclassification requests from softirqs must be ignored. This is\nnot a problem because the vast majority of packets in softirq\ncontext are not assigned to a task anyway. For this to work, a\nmechanism is needed to trace softirq context. \n\nThis repost goes back to the method of relying on the number of\nnested bh disable calls for the sake of not adding too much\ncomplexity and the option to come up with something more reliable\nif actually needed.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "505d4f73dda9e20d59da05008f1f5eb432613e71",
      "tree": "a30032d6474ce1d8dea1853c1907f4c3bdd8a19c",
      "parents": [
        "5d6d480908300a0c0b3be8b58567dfcef62c83a5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 07 22:54:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:54:20 2008 -0800"
      },
      "message": "net: Guaranetee the proper ordering of the loopback device. v2\n\nI was recently hunting a bug that occurred in network namespace\ncleanup.  In looking at the code it became apparrent that we have\nand will continue to have cases where if we have anything going\non in a network namespace there will be assumptions that the\nloopback device is present.   Things like sending igmp unsubscribe\nmessages when we bring down network devices invokes the routing\ncode which assumes that at least the loopback driver is present.\n\nTherefore to avoid magic initcall ordering hackery that is hard\nto follow and hard to get right insert a call to register the\nloopback device directly from net_dev_init().    This guarantes\nthat the loopback device is the first device registered and\nthe last network device to go away.\n\nBut do it carefully so we register the loopback device after\nwe clear dev_boot_phase.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@maxwell.aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d8160b1493bcadca74fbb635d79b3928b8999cf",
      "tree": "901a01cd2170f4eddaba38e05b17683acb9cc0de",
      "parents": [
        "167c6274c30d17c41742096d1a12c32bd3b7e366"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:52:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:52:14 2008 -0800"
      },
      "message": "Revert \"net: Guaranetee the proper ordering of the loopback device.\"\n\nThis reverts commit ae33bc40c0d96d02f51a996482ea7e41c5152695.\n"
    },
    {
      "commit": "c3d6de698c84efdbdd3781b7058bcc339ab43da8",
      "tree": "07e08d88bbaaef8a5a1dd58b9d19f7c860442d3a",
      "parents": [
        "22c13f9d8179f4c9caecfcb60a95214562b9addc"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 01 17:37:55 2008 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Nov 07 23:57:55 2008 -0500"
      },
      "message": "ACPI video: if no ACPI backlight support, use vendor drivers\n\nIf an ACPI graphics device supports backlight brightness functions (cmp. with\nlatest ACPI spec Appendix B), let the ACPI video driver control backlight and\nswitch backlight control off in vendor specific ACPI drivers (asus_acpi,\nthinkpad_acpi, eeepc, fujitsu_laptop, msi_laptop, sony_laptop, acer-wmi).\n\nCurrently it is possible to load above drivers and let both poke on the\nbrightness HW registers, the video and vendor specific ACPI drivers -\u003e bad.\n\nThis patch provides the basic support to check for BIOS capabilities before\ndriver loading time. Driver specific modifications are in separate follow up\npatches.\n\n\"acpi_backlight\u003dvendor\"\n\tPrever vendor driver over ACPI driver for backlight.\n\"acpi_backlight\u003dvideo\" (default)\n\tPrever ACPI driver over vendor driver for backlight.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "8ec96e7bba2b8fa339b666354dffe3f47b9fa074",
      "tree": "133e83776ab622259b5a8f852f75934822c09c93",
      "parents": [
        "cb110171a65c5a2d85ec814d498986db611040fd",
        "88e7df0b7ee717f9db3333fb1248827bbdb2d4d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 07 09:18:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 07 09:18:14 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: fix range check on mmapped sysfs resource files\n  PCI: remove excess kernel-doc notation\n  PCI: annotate return value of pci_ioremap_bar with __iomem\n  PCI: fix VPD limit quirk for Broadcom 5708S\n"
    },
    {
      "commit": "52c642f33b14bfa1b00ef2b68296effb34a573f3",
      "tree": "508a49591138e91733ad228ae6a367d91b318b39",
      "parents": [
        "14800984706bf6936bbec5187f736e928be5c218"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 16:09:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 16:09:23 2008 +0100"
      },
      "message": "sched: fine-tune SD_SIBLING_INIT\n\nfine-tune the HT sched-domains parameters as well.\n\nOn a HT capable box, this increases lat_ctx performance from 23.87\nusecs to 1.49 usecs:\n\n # before\n\n $ ./lat_ctx -s 0 2\n\n   \"size\u003d0k ovr\u003d1.89\n    2 23.87\n\n # after\n\n $ ./lat_ctx -s 0 2\n\n   \"size\u003d0k ovr\u003d1.84\n     2 1.49\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14800984706bf6936bbec5187f736e928be5c218",
      "tree": "09b462191420a5652601a30711211693fb0e3239",
      "parents": [
        "ca3273f9646694e0419cfb9d6c12deb1c9aff27c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Nov 07 15:26:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 15:35:11 2008 +0100"
      },
      "message": "sched: fine-tune SD_MC_INIT\n\nTune SD_MC_INIT the same way as SD_CPU_INIT:\nunset SD_BALANCE_NEWIDLE, and set SD_WAKE_BALANCE.\n\nThis improves vmark by 5%:\n\nvmark         132102 125968 125497 messages/sec    avg 127855.66    .984\nvmark         139404 131719 131272 messages/sec    avg 134131.66   1.033\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n # *DOCUMENTATION*\n"
    },
    {
      "commit": "cd83e42c6b0413dcbb548c2ead799111ff7e6a13",
      "tree": "0110f8f39a8f88aacfbe4f0692b099373523edc0",
      "parents": [
        "2d3854a37e8b767a51aba38ed6d22817b0631e33"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Nov 07 11:12:29 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 12:52:30 2008 +0100"
      },
      "message": "cpumask: new API, v2\n\n- add cpumask_of()\n- add free_bootmem_cpumask_var()\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "167c6274c30d17c41742096d1a12c32bd3b7e366",
      "tree": "b28b98e34dd2b98db6fff8459cddbc65142cd891",
      "parents": [
        "5c7f0333584128c745fbda845abbe3a32c22d467",
        "a8272061fe533f6d0261b38c58c93bd0855baebe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 01:37:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 01:37:16 2008 -0800"
      },
      "message": "Merge branch \u0027davem-next\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n"
    },
    {
      "commit": "9eeda9abd1faf489f3df9a1f557975f4c8650363",
      "tree": "3e0a58e25b776cfbee193195460324dccb1886c7",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec",
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath5k/base.c\n\tnet/8021q/vlan_core.c\n"
    },
    {
      "commit": "4bab0ea1d42dd1927af9df6fbf0003fc00617c50",
      "tree": "880cea7be13f71934f54a59c9fac9f196f8805c1",
      "parents": [
        "a15a82f42c5ee519d28f08c932803a9fd5168fc4",
        "ca409d6e08c35b01965d9211c61dbd216286f8ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 16:43:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 16:44:23 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: Fix recursive descent in __scm_destroy().\n  iwl3945: fix deadlock on suspend\n  iwl3945: do not send scan command if channel count zero\n  iwl3945: clear scanning bits upon failure\n  ath5k: correct handling of rx status fields\n  zd1211rw: Add 2 device IDs\n  Fix logic error in rfkill_check_duplicity\n  iwlagn: avoid sleep in softirq context\n  iwlwifi: clear scanning bits upon failure\n  Revert \"ath5k: honor FIF_BCN_PRBRESP_PROMISC in STA mode\"\n  tcp: Fix recvmsg MSG_PEEK influence of blocking behavior.\n  netfilter: netns ct: walk netns list under RTNL\n  ipv6: fix run pending DAD when interface becomes ready\n  net/9p: fix printk format warnings\n  net: fix packet socket delivery in rx irq handler\n  xfrm: Have af-specific init_tempsel() initialize family field of temporary selector\n"
    },
    {
      "commit": "e252f4db187ef02d06c8551069d944d327b8bb9a",
      "tree": "0e704cc34161fc839ef203fbf71106de52e19a7d",
      "parents": [
        "2e93960c4d712096902c16fe5511fc91502c2527",
        "7838c15b8dd18e78a523513749e5b54bda07b0cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:53:47 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Block: use round_jiffies_up()\n  Add round_jiffies_up and related routines\n  block: fix __blkdev_get() for removable devices\n  generic-ipi: fix the smp_mb() placement\n  blk: move blk_delete_timer call in end_that_request_last\n  block: add timer on blkdev_dequeue_request() not elv_next_request()\n  bio: define __BIOVEC_PHYS_MERGEABLE\n  block: remove unused ll_new_mergeable()\n"
    },
    {
      "commit": "067ab19923673e3d8c982d877bedb9d65c976c22",
      "tree": "b11c20e4b5a6671355924b656f9348d4ece5523f",
      "parents": [
        "7597bc94d6f3bdccb086ac7f2ad91292fdaee2a4",
        "9fcd18c9e63e325dbd2b4c726623f760788d5aa8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:45:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:45:40 2008 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: re-tune balancing\n  sched: fix buddies for group scheduling\n  sched: backward looking buddy\n  sched: fix fair preempt check\n  sched: cleanup fair task selection\n"
    },
    {
      "commit": "3b53fbf4314594fa04544b02b2fc6e607912da18",
      "tree": "af88f6c7ecbdf06719c92cc8891f75f497b70555",
      "parents": [
        "518a09ef11f8454f4676125d47c3e775b300c6a5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 15:45:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 15:45:32 2008 -0800"
      },
      "message": "net: Fix recursive descent in __scm_destroy().\n\n__scm_destroy() walks the list of file descriptors in the scm_fp_list\npointed to by the scm_cookie argument.\n\nThose, in turn, can close sockets and invoke __scm_destroy() again.\n\nThere is nothing which limits how deeply this can occur.\n\nThe idea for how to fix this is from Linus.  Basically, we do all of\nthe fput()s at the top level by collecting all of the scm_fp_list\nobjects hit by an fput().  Inside of the initial __scm_destroy() we\nkeep running the list until it is empty.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7597bc94d6f3bdccb086ac7f2ad91292fdaee2a4",
      "tree": "17126979600f74f27b45669861808e577c305920",
      "parents": [
        "c36194871293100bd4b2ecb54ac9774d6e627aa2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 05 17:38:47 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:44:19 2008 -0800"
      },
      "message": "Fix accidental implicit cast in HR-timer conversion\n\nFix the hrtimer_add_expires_ns() function.  It should take a \u0027u64 ns\u0027 argument,\nbut rather takes an \u0027unsigned long ns\u0027 argument - which might only be 32-bits.\n\nOn FRV, this results in the kernel locking up because hrtimer_forward() passes\nthe result of a 64-bit multiplication to this function, for which the compiler\ndiscards the top 32-bits - something that didn\u0027t happen when ktime_add_ns() was\ncalled directly.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c36194871293100bd4b2ecb54ac9774d6e627aa2",
      "tree": "9fd6894103918f439d0e7ec35620e18018ccfa76",
      "parents": [
        "c3302931db090d87e9015c3a7ce5c97a7dd90f78",
        "dc8a0843a435b2c0891e7eaea64faaf1ebec9b11"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:43:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:43:13 2008 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [JFFS2] fix race condition in jffs2_lzo_compress()\n  [MTD] [NOR] Fix cfi_send_gen_cmd handling of x16 devices in x8 mode (v4)\n  [JFFS2] Fix lack of locking in thread_should_wake()\n  [JFFS2] Fix build failure with !CONFIG_JFFS2_FS_WRITEBUFFER\n  [MTD] [NAND] OMAP2: remove duplicated #include\n"
    },
    {
      "commit": "9c0aa1b87bf541affef519eb4879ce7c5a5941ae",
      "tree": "3bd583d8331c630b59fc01b68ab9cb34bb953d6e",
      "parents": [
        "45cfbe354785a5bc9a38354754d6f7322f598001"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Cleanup FAT attribute stuff\n\nThis adds three helpers:\n\nfat_make_attrs() - makes FAT attributes from inode.\nfat_make_mode()  - makes mode_t from FAT attributes.\nfat_save_attrs() - saves FAT attributes to inode.\n\nThen this replaces: MSDOS_MKMODE() by fat_make_mode(), fat_attr() by\nfat_make_attrs(), -\u003ei_attrs \u003d attr \u0026 ATTR_UNUSED by fat_save_attrs().\nAnd for root inode, those is used with ATTR_DIR instead of bogus\nATTR_NONE.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e975dae2970d22557662761c8505ce9fd165684",
      "tree": "ecc662bd047ae784095b9effb4bafad99389b5f2",
      "parents": [
        "990e194e69009028e029b7d25da68c38241ec4f0"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: split include/msdos_fs.h\n\nThis splits __KERNEL__ stuff in include/msdos_fs.h into fs/fat/fat.h.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8d570a4745835f2238a33b537218a1bb03fc671",
      "tree": "776c2909523c684f0954949a2947ff0a792ba457",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 00:37:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 13:51:50 2008 -0800"
      },
      "message": "net: Fix recursive descent in __scm_destroy().\n\n__scm_destroy() walks the list of file descriptors in the scm_fp_list\npointed to by the scm_cookie argument.\n\nThose, in turn, can close sockets and invoke __scm_destroy() again.\n\nThere is nothing which limits how deeply this can occur.\n\nThe idea for how to fix this is from Linus.  Basically, we do all of\nthe fput()s at the top level by collecting all of the scm_fp_list\nobjects hit by an fput().  Inside of the initial __scm_destroy() we\nkeep running the list until it is empty.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8950d89acaa8c353869e681772479d7955ae6f7a",
      "tree": "0e434e795f1b6cf1c1edb6df284cdc8bc62248c8",
      "parents": [
        "fefe5ab3d67b0ade6200fec5ed6f2812cbcbb658"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Wed Nov 05 16:18:03 2008 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Nov 06 15:52:28 2008 -0500"
      },
      "message": "ACPI: remove CONFIG_ACPI_EC\n\nRemove CONFIG_ACPI_EC.  It was always set the same as CONFIG_ACPI,\nand it had no menu label, so there was no way to set it to anything\nother than \"y\".\n\nPer section 6.5.4 of the ACPI 3.0b specification,\n\n    OSPM must make Embedded Controller operation regions, accessed\n    via the Embedded Controllers described in ECDT, available before\n    executing any control method.\n\nThe ECDT table is optional, but if it is present, the above text\nmeans that the EC it describes is a required part of the ACPI\nsubsystem, so CONFIG_ACPI_EC\u003dn wouldn\u0027t make sense.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Alexey Starikovskiy \u003castarikovskiy@suse.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2d3854a37e8b767a51aba38ed6d22817b0631e33",
      "tree": "3b55cc93720b2e525460216b196ed20298ae985b",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 05 13:39:10 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 09:05:33 2008 +0100"
      },
      "message": "cpumask: introduce new API, without changing anything\n\nImpact: introduce new APIs\n\nWe want to deprecate cpumasks on the stack, as we are headed for\ngynormous numbers of CPUs.  Eventually, we want to head towards an\nundefined \u0027struct cpumask\u0027 so they can never be declared on stack.\n\n1) New cpumask functions which take pointers instead of copies.\n   (cpus_* -\u003e cpumask_*)\n\n2) Several new helpers to reduce requirements for temporary cpumasks\n   (cpumask_first_and, cpumask_next_and, cpumask_any_and)\n\n3) Helpers for declaring cpumasks on or offstack for large NR_CPUS\n   (cpumask_var_t, alloc_cpumask_var and free_cpumask_var)\n\n4) \u0027struct cpumask\u0027 for explicitness and to mark new-style code.\n\n5) Make iterator functions stop at nr_cpu_ids (a runtime constant),\n   not NR_CPUS for time efficiency and for smaller dynamic allocations\n   in future.\n\n6) cpumask_copy() so we can allocate less than a full cpumask eventually\n   (for alloc_cpumask_var), and so we can eliminate the \u0027struct cpumask\u0027\n   definition eventually.\n\n7) work_on_cpu() helper for doing task on a CPU, rather than saving old\n   cpumask for current thread and manipulating it.\n\n8) smp_call_function_many() which is smp_call_function_mask() except\n   taking a cpumask pointer.\n\nNote that this patch simply introduces the new functions and leaves\nthe obsolescent ones in place.  This is to simplify the transition\npatches.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c133c469d38043d5aadaa03f2fb840d88d1cf4f",
      "tree": "c9af63f0c25efc7454fc3f46b362c80056977341",
      "parents": [
        "89f97496e81d2112b5e41416fe3020688c443818"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 06 08:42:48 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:42:48 2008 +0100"
      },
      "message": "Add round_jiffies_up and related routines\n\nThis patch (as1158b) adds round_jiffies_up() and friends.  These\nroutines work like the analogous round_jiffies() functions, except\nthat they will never round down.\n\nThe new routines will be useful for timeouts where we don\u0027t care\nexactly when the timer expires, provided it doesn\u0027t expire too soon.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f92131c3dd567fc6df18ce3f46fcf57ecbdefbe0",
      "tree": "b53b15be43bf7631d0577dac11d27f9899a3cada",
      "parents": [
        "43381785a5ba1cb424b36812373a6a04054b5c3c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Oct 29 14:10:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:41:55 2008 +0100"
      },
      "message": "bio: define __BIOVEC_PHYS_MERGEABLE\n\nDefine __BIOVEC_PHYS_MERGEABLE as the default implementation of\nBIOVEC_PHYS_MERGEABLE, so that its available for reuse within an\narch-specific definition of BIOVEC_PHYS_MERGEABLE.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd9abb3d97c2ab883e4732ec1214fe64190236e7",
      "tree": "e5f9c0b1ab77980e22434c85cf50644e18c1e134",
      "parents": [
        "c5916cf8dbd3ac5ec675d9347aeaa796b546b50e"
      ],
      "author": {
        "name": "Steve Glendinning",
        "email": "steve.glendinning@smsc.com",
        "time": "Wed Nov 05 00:35:37 2008 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Nov 06 00:58:40 2008 -0500"
      },
      "message": "SMSC LAN911x and LAN921x vendor driver\n\nAttached is a driver for SMSC\u0027s LAN911x and LAN921x families of embedded\nethernet controllers.\n\nThere is an existing smc911x driver in the tree; this is intended to\nreplace it.  Dustin McIntire (the author of the smc911x driver) has\nexpressed his support for switching to this driver.\n\nThis driver contains workarounds for all known hardware issues, and has\nbeen tested on all flavours of the chip on multiple architectures.\n\nThis driver now uses phylib, so this patch also adds support for the\ndevice\u0027s internal phy\n\nSigned-off-by: Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nSigned-off-by: Bahadir Balban \u003cBahadir.Balban@arm.com\u003e\nSigned-off-by: Dustin Mcintire \u003cdustin@sensoria.com\u003e\nSigned-off-by: Bill Gatliff \u003cbgat@billgatliff.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ae33bc40c0d96d02f51a996482ea7e41c5152695",
      "tree": "ab250ee1d4eac70ac77a4f40ed303373c41d9213",
      "parents": [
        "d0c082cea6dfb9b674b4f6e1e84025662dbd24e8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 05 16:00:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 05 16:00:02 2008 -0800"
      },
      "message": "net: Guaranetee the proper ordering of the loopback device.\n\nI was recently hunting a bug that occurred in network namespace\ncleanup.  In looking at the code it became apparrent that we have\nand will continue to have cases where if we have anything going\non in a network namespace there will be assumptions that the\nloopback device is present.   Things like sending igmp unsubscribe\nmessages when we bring down network devices invokes the routing\ncode which assumes that at least the loopback driver is present.\n\nTherefore to avoid magic initcall ordering hackery that is hard\nto follow and hard to get right insert a call to register the\nloopback device directly from net_dev_init().    This guarantes\nthat the loopback device is the first device registered and\nthe last network device to go away.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9fcd18c9e63e325dbd2b4c726623f760788d5aa8",
      "tree": "fcc7f3c4b17ff66b62feb72194bc14560d948980",
      "parents": [
        "02479099c286894644f8e96c6bbb535ab64662fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 16:52:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 18:04:38 2008 +0100"
      },
      "message": "sched: re-tune balancing\n\nImpact: improve wakeup affinity on NUMA systems, tweak SMP systems\n\nGiven the fixes+tweaks to the wakeup-buddy code, re-tweak the domain\nbalancing defaults on NUMA and SMP systems.\n\nTurn on SD_WAKE_AFFINE which was off on x86 NUMA - there\u0027s no reason\nwhy we would not want to have wakeup affinity across nodes as well.\n(we already do this in the standard NUMA template.)\n\nlat_ctx on a NUMA box is particularly happy about this change:\n\nbefore:\n\n |   phoenix:~/l\u003e ./lat_ctx -s 0 2\n |   \"size\u003d0k ovr\u003d2.60\n |   2 5.70\n\nafter:\n\n |   phoenix:~/l\u003e ./lat_ctx -s 0 2\n |   \"size\u003d0k ovr\u003d2.65\n |   2 2.07\n\na 2.75x speedup.\n\npipe-test is similarly happy about it too:\n\n |  phoenix:~/sched-tests\u003e ./pipe-test\n |   18.26 usecs/loop.\n |   14.70 usecs/loop.\n |   14.38 usecs/loop.\n |   10.55 usecs/loop.              # +WAKE_AFFINE on domain0+domain1\n |   8.63 usecs/loop.\n |   8.59 usecs/loop.\n |   9.03 usecs/loop.\n |   8.94 usecs/loop.\n |   8.96 usecs/loop.\n |   8.63 usecs/loop.\n\nAlso:\n\n - disable SD_BALANCE_NEWIDLE on NUMA and SMP domains (keep it for siblings)\n - enable SD_WAKE_BALANCE on SMP domains\n\nSysbench+postgresql improves all around the board, quite significantly:\n\n           .28-rc3-11474e2c  .28-rc3-11474e2c-tune\n-------------------------------------------------\n    1:             571              688    +17.08%\n    2:            1236             1206    -2.55%\n    4:            2381             2642    +9.89%\n    8:            4958             5164    +3.99%\n   16:            9580             9574    -0.07%\n   32:            7128             8118    +12.20%\n   64:            7342             8266    +11.18%\n  128:            7342             8064    +8.95%\n  256:            7519             7884    +4.62%\n  512:            7350             7731    +4.93%\n-------------------------------------------------\n  SUM:           55412            59341    +6.62%\n\nSo it\u0027s a win both for the runup portion, the peak area and the tail.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "467622ef2acb01986eab37ef96c3632b3ea35999"
}
