)]}'
{
  "log": [
    {
      "commit": "3b098e2d7c693796cc4dffb07caa249fc0f70771",
      "tree": "586c4f5dc57988ade175ffc7e4b6d0261b12e166",
      "parents": [
        "a1aa3483041bd3691c7f029272ccef4ce70bd957"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat May 15 23:57:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:57:10 2010 -0700"
      },
      "message": "net: Consistent skb timestamping\n\nWith RPS inclusion, skb timestamping is not consistent in RX path.\n\nIf netif_receive_skb() is used, its deferred after RPS dispatch.\n\nIf netif_rx() is used, its done before RPS dispatch.\n\nThis can give strange tcpdump timestamps results.\n\nI think timestamping should be done as soon as possible in the receive\npath, to get meaningful values (ie timestamps taken at the time packet\nwas delivered by NIC driver to our stack), even if NAPI already can\ndefer timestamping a bit (RPS can help to reduce the gap)\n\nTom Herbert prefer to sample timestamps after RPS dispatch. In case\nsampling is expensive (HPET/acpi_pm on x86), this makes sense.\n\nLet admins switch from one mode to another, using a new\nsysctl, /proc/sys/net/core/netdev_tstamp_prequeue\n\nIts default value (1), means timestamps are taken as soon as possible,\nbefore backlog queueing, giving accurate timestamps.\n\nSetting a 0 value permits to sample timestamps when processing backlog,\nafter RPS dispatch, to lower the load of the pre-RPS cpu.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a14462f1bd4d3962994f518459102000438665aa",
      "tree": "309eda1cd2698a5224713e43173edbd640f4487f",
      "parents": [
        "10fc51b9953112ade61e33ff2f6f005f005a2361"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu May 06 01:33:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:48:02 2010 -0700"
      },
      "message": "net: adjust handle_macvlan to pass port struct to hook\n\nNow there\u0027s null check here and also again in the hook. Looking at bridge bits\nwhich are simmilar, port structure is rcu_dereferenced right away in\nhandle_bridge and passed to hook. Looks nicer.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f977fb7ae9ddf565b4800854212fb9a1ed6c2ea",
      "tree": "87c88ca344134f5935ec9efc0a17ee66eddb7e51",
      "parents": [
        "00b7c3395aec3df43de5bd02a3c5a099ca51169f"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed May 05 00:26:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:28:39 2010 -0700"
      },
      "message": "sysctl: add proc_do_large_bitmap\n\nThe new function can be used to read/write large bitmaps via /proc. A\ncomma separated range format is used for compact output and input\n(e.g. 1,3-4,10-10).\n\nWriting into the file will first reset the bitmap then update it\nbased on the given input.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7874c996b8591f59d78efa519031dab5b58723b",
      "tree": "14aa8dea0c33de9d22ef8177fb242c9d80d693de",
      "parents": [
        "4a6346d4ea63b5e1390babf22f1cc0f113d8082b",
        "736d58e3a2245ac2779fe0f278f8735bcf33ca8d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 13 14:14:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 13 14:14:10 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "bf47f4b0babe287f250dd720b41ecad9b8f7ac9b",
      "tree": "0829ef3bff455f98155b5cb0e91b71db36de3510",
      "parents": [
        "0b9715e64f7d46a9620d4d5042a5e28f5595ed54",
        "5b285cac3570a935aaa28312c1ea28f9e01c5452"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:30:45 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:30:45 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "8e1c298c01d4596fa2837913e531a93a791a7bec",
      "tree": "5655c86172a412b78473db6340089217c1787d20",
      "parents": [
        "107e7be628821dcb78c43adce0331e8ddb40eabd"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Tue May 11 14:30:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:02:23 2010 -0700"
      },
      "message": "tipc: Update commenting in TIPC API\n\nEliminate comments in TIPC\u0027s main API files that are either obsolete,\nincorrect, misleading, or unhelpful.  It also adds in one new comment.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "107e7be628821dcb78c43adce0331e8ddb40eabd",
      "tree": "dba793bc4424134a380f58b6af17530440bdfb4f",
      "parents": [
        "3aec9cc936217a30dbb45a9b6808a39571674e66"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Tue May 11 14:30:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:02:23 2010 -0700"
      },
      "message": "tipc: Add support for \"-s\" configuration option\n\nProvide initial support for displaying overall TIPC status/statistics\ninformation at runtime.  Currently, only version info for the TIPC\nkernel module is displayed.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "278554bd6579206921f5d8a523649a7a57f8850d",
      "tree": "4e6c527daf0910e455b3aa72e2c96b0479e430be",
      "parents": [
        "5a147e8bf982f9dd414c1dd751fe02c1942506b2",
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ar9170/usb.c\n\tdrivers/scsi/iscsi_tcp.c\n\tnet/ipv4/ipmr.c\n"
    },
    {
      "commit": "34441427aab4bdb3069a4ffcda69a99357abcb2e",
      "tree": "3beebde910f25b0945e9105017fd743c9e5241a5",
      "parents": [
        "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue May 11 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "revert \"procfs: provide stack information for threads\" and its fixup commits\n\nOriginally, commit d899bf7b (\"procfs: provide stack information for\nthreads\") attempted to introduce a new feature for showing where the\nthreadstack was located and how many pages are being utilized by the\nstack.\n\nCommit c44972f1 (\"procfs: disable per-task stack usage on NOMMU\") was\napplied to fix the NO_MMU case.\n\nCommit 89240ba0 (\"x86, fs: Fix x86 procfs stack information for threads on\n64-bit\") was applied to fix a bug in ia32 executables being loaded.\n\nCommit 9ebd4eba7 (\"procfs: fix /proc/\u003cpid\u003e/stat stack pointer for kernel\nthreads\") was applied to fix a bug which had kernel threads printing a\nuserland stack address.\n\nCommit 1306d603f (\u0027proc: partially revert \"procfs: provide stack\ninformation for threads\"\u0027) was then applied to revert the stack pages\nbeing used to solve a significant performance regression.\n\nThis patch nearly undoes the effect of all these patches.\n\nThe reason for reverting these is it provides an unusable value in\nfield 28.  For x86_64, a fork will result in the task-\u003estack_start\nvalue being updated to the current user top of stack and not the stack\nstart address.  This unpredictability of the stack_start value makes\nit worthless.  That includes the intended use of showing how much stack\nspace a thread has.\n\nOther architectures will get different values.  As an example, ia64\ngets 0.  The do_fork() and copy_process() functions appear to treat the\nstack_start and stack_size parameters as architecture specific.\n\nI only partially reverted c44972f1 (\"procfs: disable per-task stack usage\non NOMMU\") .  If I had completely reverted it, I would have had to change\nmm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is\nconfigured.  Since I could not test the builds without significant effort,\nI decided to not change mm/Makefile.\n\nI only partially reverted 89240ba0 (\"x86, fs: Fix x86 procfs stack\ninformation for threads on 64-bit\") .  I left the KSTK_ESP() change in\nplace as that seemed worthwhile.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc755896a4274f11283bca32d1d658203844057a",
      "tree": "218970ece71df99f686b9416b7fd88b921690ebb",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "9459d59fbf0bc82ff4c804679fa8bc22788eca63"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ar9170/main.c\n"
    },
    {
      "commit": "cba7a98a474a4f2a9316473734ba76829191a78a",
      "tree": "28a0ab87dba93385353bedb76a26a1fc45b3a0c6",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "4538506be386f9736b83bf9892f829adbbb70fea"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 18:59:21 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 18:59:21 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://dev.medozas.de/linux\n"
    },
    {
      "commit": "b4ba26119b06052888696491f614201817491a0d",
      "tree": "d6dc2a4e0f78641b5b64a1728322c81cbad09974",
      "parents": [
        "62fc8051083a334578c3f4b3488808f210b4565f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jul 07 20:54:30 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:35:27 2010 +0200"
      },
      "message": "netfilter: xtables: change hotdrop pointer to direct modification\n\nSince xt_action_param is writable, let\u0027s use it. The pointer to\n\u0027bool hotdrop\u0027 always worried (8 bytes (64-bit) to write 1 byte!).\nSurprisingly results in a reduction in size:\n\n   text    data     bss filename\n5457066  692730  357892 vmlinux.o-prev\n5456554  692730  357892 vmlinux.o\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "62fc8051083a334578c3f4b3488808f210b4565f",
      "tree": "9f48eb26316b19b0b8c010d774f3c936315c1aa1",
      "parents": [
        "4b560b447df83368df44bd3712c0c39b1d79ba04"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Jul 07 20:42:08 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:33:37 2010 +0200"
      },
      "message": "netfilter: xtables: deconstify struct xt_action_param for matches\n\nIn future, layer-3 matches will be an xt module of their own, and\nneed to set the fragoff and thoff fields. Adding more pointers would\nneedlessy increase memory requirements (esp. so for 64-bit, where\npointers are wider).\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "4b560b447df83368df44bd3712c0c39b1d79ba04",
      "tree": "b445a292e8caf1bcbfb950f461af5f86e7263c01",
      "parents": [
        "de74c16996287250f0d947663127f80c6beebd3c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Jul 05 19:43:26 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:31:17 2010 +0200"
      },
      "message": "netfilter: xtables: substitute temporary defines by final name\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "de74c16996287250f0d947663127f80c6beebd3c",
      "tree": "c7e77e254c5812c8561516dd668eaec732a89a0d",
      "parents": [
        "ef53d702c3614fb919e8a8291033e3dbccfd1aea"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Jul 05 18:26:37 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue May 11 18:23:43 2010 +0200"
      },
      "message": "netfilter: xtables: combine struct xt_match_param and xt_target_param\n\nThe structures carried - besides match/target - almost the same data.\nIt is possible to combine them, as extensions are evaluated serially,\nand so, the callers end up a little smaller.\n\n  text  data  bss  filename\n-15318   740  104  net/ipv4/netfilter/ip_tables.o\n+15286   740  104  net/ipv4/netfilter/ip_tables.o\n-15333   540  152  net/ipv6/netfilter/ip6_tables.o\n+15269   540  152  net/ipv6/netfilter/ip6_tables.o\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "d1db275dd3f6e4182c4c4b4a1ac6287925d60569",
      "tree": "b8edf6661661ff84785495e2e053ce908417a9ff",
      "parents": [
        "6bd521433942d85e80f7a731a88cc91a327f38e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "message": "ipv6: ip6mr: support multiple tables\n\nThis patch adds support for multiple independant multicast routing instances,\nnamed \"tables\".\n\nUserspace multicast routing daemons can bind to a specific table instance by\nissuing a setsockopt call using a new option MRT6_TABLE. The table number is\nstored in the raw socket data and affects all following ip6mr setsockopt(),\ngetsockopt() and ioctl() calls. By default, a single table (RT6_TABLE_DFLT)\nis created with a default routing rule pointing to it. Newly created pim6reg\ndevices have the table number appended (\"pim6regX\"), with the exception of\ndevices created in the default table, which are named just \"pim6reg\" for\ncompatibility reasons.\n\nPackets are directed to a specific table instance using routing rules,\nsimilar to how regular routing rules work. Currently iif, oif and mark\nare supported as keys, source and destination addresses could be supported\nadditionally.\n\nExample usage:\n\n- bind pimd/xorp/... to a specific table:\n\nuint32_t table \u003d 123;\nsetsockopt(fd, SOL_IPV6, MRT6_TABLE, \u0026table, sizeof(table));\n\n- create routing rules directing packets to the new table:\n\n# ip -6 mrule add iif eth0 lookup 123\n# ip -6 mrule add oif eth0 lookup 123\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\n"
    },
    {
      "commit": "6bd521433942d85e80f7a731a88cc91a327f38e0",
      "tree": "e263e39fc6096ef77e2a1c22d5972447785b2aa5",
      "parents": [
        "f30a77842129b5656360cc1f5db48a3fcfb64528"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "message": "ipv6: ip6mr: move mroute data into seperate structure\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f30a77842129b5656360cc1f5db48a3fcfb64528",
      "tree": "3a01eac73fd0e86d3c7a976ab6bccca9878cd35c",
      "parents": [
        "b5aa30b19121de49021fba57aa1f6e4c787fcf67"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "message": "ipv6: ip6mr: convert struct mfc_cache to struct list_head\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b5aa30b19121de49021fba57aa1f6e4c787fcf67",
      "tree": "dbbf01015bda08d52750f37a797d49c7db1990a9",
      "parents": [
        "c476efbcde5ba58b81ac752f4a894d6db8e17d94"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:50 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:50 2010 +0200"
      },
      "message": "ipv6: ip6mr: remove net pointer from struct mfc6_cache\n\nNow that cache entries in unres_queue don\u0027t need to be distinguished by their\nnetwork namespace pointer anymore, we can remove it from struct mfc6_cache\nadd pass the namespace as function argument to the functions that need it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "1e4b1057121bc756b91758a434b504d2010f6088",
      "tree": "b016cf2c728289c7e36d9e4e488f30ab0bd0ae6e",
      "parents": [
        "3b254c54ec46eb022cb26ee6ab37fae23f5f7d6a",
        "3ee943728fff536edaf8f59faa58aaa1aa7366e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tnet/bridge/br_device.c\n\tnet/bridge/br_forward.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "91bc482ec5a615e8ecebc106aaf7d0c267d511de",
      "tree": "ad75789a5825fb2da75b2dbdc02d1969bad9b338",
      "parents": [
        "e8e8fade7b351f131433fa44ca5d4e960e1c0f9c",
        "ee84b8243b07c33a5c8aed42b4b2da60cb16d1d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:21 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: create rcu_my_thread_group_empty() wrapper\n  memcg: css_id() must be called under rcu_read_lock()\n  cgroup: Check task_lock in task_subsys_state()\n  sched: Fix an RCU warning in print_task()\n  cgroup: Fix an RCU warning in alloc_css_id()\n  cgroup: Fix an RCU warning in cgroup_path()\n  KEYS: Fix an RCU warning in the reading of user keys\n  KEYS: Fix an RCU warning\n"
    },
    {
      "commit": "f444de05d20e27cdd960c13fcbcfca3099f03143",
      "tree": "a7fbef60420d88dda5840e06094be21ee3eb1dc0",
      "parents": [
        "ac8dd506e40ee2c7fcc61654a44c32555a0a8d6c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:25:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:50 2010 -0400"
      },
      "message": "cfg80211/mac80211: better channel handling\n\nCurrently (all tested with hwsim) you can do stupid\nthings like setting up an AP on a certain channel,\nthen adding another virtual interface and making\nthat associate on another channel -- this will make\nthe beaconing to move channel but obviously without\nthe necessary IEs data update.\n\nIn order to improve this situation, first make the\nconfiguration APIs (cfg80211 and nl80211) aware of\nmulti-channel operation -- we\u0027ll eventually need\nthat in the future anyway. There\u0027s one userland API\nchange and one API addition. The API change is that\nnow SET_WIPHY must be called with virtual interface\nindex rather than only wiphy index in order to take\neffect for that interface -- luckily all current\nusers (hostapd) do that. For monitor interfaces, the\nold setting is preserved, but monitors are always\nslaved to other devices anyway so no guarantees.\n\nThe second userland API change is the introduction\nof a per virtual interface SET_CHANNEL command, that\nhostapd should use going forward to make it easier\nto understand what\u0027s going on (it can automatically\ndetect a kernel with this command).\n\nOther than mac80211, no existing cfg80211 drivers\nare affected by this change because they only allow\na single virtual interface.\n\nmac80211, however, now needs to be aware that the\nchannel settings are per interface now, and needs\nto disallow (for now) real multi-channel operation,\nwhich is another important part of this patch.\n\nOne of the immediate benefits is that you can now\nstart hostapd to operate on a hardware that already\nhas a connection on another virtual interface, as\nlong as you specify the same channel.\n\nNote that two things are left unhandled (this is an\nimprovement -- not a complete fix):\n\n * different HT/no-HT modes\n\n   currently you could start an HT AP and then\n   connect to a non-HT network on the same channel\n   which would configure the hardware for no HT;\n   that can be fixed fairly easily\n\n * CSA\n\n   An AP we\u0027re connected to on a virtual interface\n   might indicate switching channels, and in that\n   case we would follow it, regardless of how many\n   other interfaces are operating; this requires\n   more effort to fix but is pretty rare after all\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "18e8c134f4e984e6639e62846345192816f06d5c",
      "tree": "81bb46de14f020424716bd41915e831b07ce00c6",
      "parents": [
        "d6bc0149d8f2300bffa03ea6fea3ca39744277a6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu May 06 21:58:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 21:58:51 2010 -0700"
      },
      "message": "net: Increase NET_SKB_PAD to 64 bytes\n\neth_type_trans() \u0026 get_rps_cpus() currently need two 64bytes cache\nlines in packet to compute rxhash.\n\nIncreasing NET_SKB_PAD from 32 to 64 reduces the need to one cache\nline only, and makes RPS faster.\n\nNET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee84b8243b07c33a5c8aed42b4b2da60cb16d1d2",
      "tree": "a5b3cad55179fe8340c6422deaf6e11120222ad1",
      "parents": [
        "ad4ba375373937817404fd92239ef4cadbded23b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 09:28:41 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 09:28:41 2010 -0700"
      },
      "message": "rcu: create rcu_my_thread_group_empty() wrapper\n\nSome RCU-lockdep splat repairs need to know whether they are running\nin a single-threaded process.  Unfortunately, the thread_group_empty()\nprimitive is defined in sched.h, and can induce #include hell.  This\ncommit therefore introduces a rcu_my_thread_group_empty() wrapper that\nis defined in rcupdate.c, thus avoiding the need to include sched.h\neverywhere.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ffb273623bc506d854902a415ef241b79232f93a",
      "tree": "5eea53b3282aa1c869bf9c4c2132e6e597cb5782",
      "parents": [
        "f6dc31a85cd46a959bdd987adad14c3b645e03c1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 01:20:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 01:31:27 2010 -0700"
      },
      "message": "netpoll: Use \u0027bool\u0027 for netpoll_rx() return type.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e34e93177fb1f642cab080e0bde664c06c7183a",
      "tree": "5353f873ab99c2cff76f12b41e9a9e2018e66b30",
      "parents": [
        "08259594e047170923ef11d1482648642bfe606f"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Thu May 06 00:47:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:47:21 2010 -0700"
      },
      "message": "netpoll: add generic support for bridge and bonding devices\n\nThis whole patchset is for adding netpoll support to bridge and bonding\ndevices. I already tested it for bridge, bonding, bridge over bonding,\nand bonding over bridge. It looks fine now.\n\nTo make bridge and bonding support netpoll, we need to adjust\nsome netpoll generic code. This patch does the following things:\n\n1) introduce two new priv_flags for struct net_device:\n   IFF_IN_NETPOLL which identifies we are processing a netpoll;\n   IFF_DISABLE_NETPOLL is used to disable netpoll support for a device\n   at run-time;\n\n2) introduce one new method for netdev_ops:\n   -\u003endo_netpoll_cleanup() is used to clean up netpoll when a device is\n     removed.\n\n3) introduce netpoll_poll_dev() which takes a struct net_device * parameter;\n   export netpoll_send_skb() and netpoll_poll_dev() which will be used later;\n\n4) hide a pointer to struct netpoll in struct netpoll_info, ditto.\n\n5) introduce -\u003ereal_dev for struct netpoll.\n\n6) introduce a new status NETDEV_BONDING_DESLAE, which is used to disable\n   netconsole before releasing a slave, to avoid deadlocks.\n\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58544feb67eac49d55cc3408aea1ae42521af90d",
      "tree": "6559cbeda7bcba3f722caf736d3dd4bb5367553b",
      "parents": [
        "2873957df0ead5b53fa00fddfb52ca3df38af4a9",
        "55afbd0810922afe456f9e4e3abc84d69d3f8a15"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:26:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:26:49 2010 -0700"
      },
      "message": "Merge branch \u0027vhost\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "2861a185e3ac2ebe5958a2039b66062445bf4f7d",
      "tree": "535546ba778348477c95cb781677432a2bc831c9",
      "parents": [
        "ec7d2f2cf3a1b76202986519ec4f8ec75b2de232",
        "83163244f845c296a118ce85c653872dbff6abfe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 05 15:09:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 05 15:09:05 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "83163244f845c296a118ce85c653872dbff6abfe",
      "tree": "ce2eac695a1c198f23d537e20ed86c16ece21f7e",
      "parents": [
        "0a12761bcd5646691c5d16dd93df84d1b8849285",
        "adfba3c7c026a6a5560d2a43fefc9b198cb74462"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/libertas_tf/cmd.c\n\tdrivers/net/wireless/libertas_tf/main.c\n"
    },
    {
      "commit": "ec7d2f2cf3a1b76202986519ec4f8ec75b2de232",
      "tree": "177c324eb0cf7e687d1bbd10a6add3a7d5979002",
      "parents": [
        "8753d29fd5daf890004a38c80835e1eb3acda394"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 05 01:07:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 05 01:07:37 2010 -0700"
      },
      "message": "net: __alloc_skb() speedup\n\nWith following patch I can reach maximum rate of my pktgen+udpsink\nsimulator :\n- \u0027old\u0027 machine : dual quad core E5450  @3.00GHz\n- 64 UDP rx flows (only differ by destination port)\n- RPS enabled, NIC interrupts serviced on cpu0\n- rps dispatched on 7 other cores. (~130.000 IPI per second)\n- SLAB allocator (faster than SLUB in this workload)\n- tg3 NIC\n- 1.080.000 pps without a single drop at NIC level.\n\nIdea is to add two prefetchw() calls in __alloc_skb(), one to prefetch\nfirst sk_buff cache line, the second to prefetch the shinfo part.\n\nAlso using one memset() to initialize all skb_shared_info fields instead\nof one by one to reduce number of instructions, using long word moves.\n\nAll skb_shared_info fields before \u0027dataref\u0027 are cleared in \n__alloc_skb().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce7e4ff24fe338438bc7837e02780f202bf202b",
      "tree": "3906643ba96ba8b3fda2291e5e40e48bbba9085f",
      "parents": [
        "b629317e66fb1c6066c550dded45ab85a936163c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 23 10:35:52 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 04 09:25:02 2010 -0700"
      },
      "message": "cgroup: Check task_lock in task_subsys_state()\n\nExpand task_subsys_state()\u0027s rcu_dereference_check() to include the full\nlocking rule as documented in Documentation/cgroups/cgroups.txt by adding\na check for task-\u003ealloc_lock being held.\n\nThis fixes an RCU false positive when resuming from suspend. The warning\ncomes from freezer cgroup in cgroup_freezing_or_frozen().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6629dcff19470a894ce294d0adb9cbab94ee1fb9",
      "tree": "18f75a3f5ca83de96a0fe353fafa02bab174cd36",
      "parents": [
        "b1d4b390ea4bb480e65974ce522a04022608a8df"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue May 04 11:09:28 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue May 04 11:09:28 2010 +0200"
      },
      "message": "i2c-core: Use per-adapter userspace device lists\n\nUsing a single list for all userspace devices leads to a dead lock\non multiplexed buses in some circumstances (mux chip instantiated\nfrom userspace). This is solved by using a separate list for each\nbus segment.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Michael Lawnick \u003cml.lawnick@gmx.de\u003e\n"
    },
    {
      "commit": "4f70ecca9c57731b4acbe5043eb22e4416bd2368",
      "tree": "3b725168959ffd2b65152e27dbe3479f6e110dd3",
      "parents": [
        "52a60ed2da716105de5f906a3630c475264b87d5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 03 10:50:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 15:53:54 2010 -0700"
      },
      "message": "net: rcu fixes\n\nAdd hlist_for_each_entry_rcu_bh() and\nhlist_for_each_entry_continue_rcu_bh() macros, and use them in\nipv6_get_ifaddr(), if6_get_first() and if6_get_next() to fix lockdeps\nwarnings.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d52b5178af586d679c1052fb161ee05ea2e83f",
      "tree": "6148fda40e5aa28f3e8ceb438ffc51c5bb08dd86",
      "parents": [
        "7ef527377b88ff05fb122a47619ea506c631c914"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Mar 17 17:45:01 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon May 03 12:33:13 2010 +0300"
      },
      "message": "tun: add ioctl to modify vnet header size\n\nvirtio added mergeable buffers mode where 2 bytes of extra info is put\nafter vnet header but before actual data (tun does not need this data).\nIn hindsight, it would have been better to add the new info *before* the\npacket: as it is, users need a lot of tricky code to skip the extra 2\nbytes in the middle of the iovec, and in fact applications seem to get\nit wrong, and only work with specific iovec layout.  The fact we might\nneed to split iovec also means we might in theory overflow iovec max\nsize.\n\nThis patch adds a simpler way for applications to handle this,\nand future proofs the interface against further extensions,\nby making the size of the virtio net header configurable\nfrom userspace. As a result, tun driver will simply\nskip the extra 2 bytes on both input and output.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd7b5396e7e4d10c51116f59f414ff90312af8d4",
      "tree": "a89bf09771539582226dece2740734108f5a848a",
      "parents": [
        "dee42870a423ad485129f43cddfe7275479f11d8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:27:59 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:27:59 2010 -0700"
      },
      "message": "net: Use explicit \"unsigned int\" instead of plain \"unsigned\" in netdevice.h\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dee42870a423ad485129f43cddfe7275479f11d8",
      "tree": "e30433d3b55ee248eb672765fe6705be160d882c",
      "parents": [
        "7ef527377b88ff05fb122a47619ea506c631c914"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun May 02 05:42:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:26:57 2010 -0700"
      },
      "message": "net: fix softnet_stat\n\nPer cpu variable softnet_data.total was shared between IRQ and SoftIRQ context\nwithout any protection. And enqueue_to_backlog should update the netdev_rx_stat\nof the target CPU.\n\nThis patch renames softnet_data.total to softnet_data.processed: the number of\npackets processed in uppper levels(IP stacks).\n\nsoftnet_stat data is moved into softnet_data.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/linux/netdevice.h |   17 +++++++----------\n net/core/dev.c            |   26 ++++++++++++--------------\n net/sched/sch_generic.c   |    2 +-\n 3 files changed, 20 insertions(+), 25 deletions(-)\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
      "tree": "b38f05d82883b5c0fc885812172a546af966d419",
      "parents": [
        "43815482370c510c569fd18edb57afcb0fa8cab6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 02:21:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 02:21:44 2010 -0700"
      },
      "message": "net: Inline skb_pull() in eth_type_trans().\n\nIn commit 6be8ac2f (\"[NET]: uninline skb_pull, de-bloats a lot\")\nwe uninlined skb_pull.\n\nBut in some critical paths it makes sense to inline this thing\nand it helps performance significantly.\n\nCreate an skb_pull_inline() so that we can do this in a way that\nserves also as annotation.\n\nBased upon a patch by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43815482370c510c569fd18edb57afcb0fa8cab6",
      "tree": "063efaae3758402b84f056438b704d1de68f7837",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 29 11:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 01 15:00:15 2010 -0700"
      },
      "message": "net: sock_def_readable() and friends RCU conversion\n\nsk_callback_lock rwlock actually protects sk-\u003esk_sleep pointer, so we\nneed two atomic operations (and associated dirtying) per incoming\npacket.\n\nRCU conversion is pretty much needed :\n\n1) Add a new structure, called \"struct socket_wq\" to hold all fields\nthat will need rcu_read_lock() protection (currently: a\nwait_queue_head_t and a struct fasync_struct pointer).\n\n[Future patch will add a list anchor for wakeup coalescing]\n\n2) Attach one of such structure to each \"struct socket\" created in\nsock_alloc_inode().\n\n3) Respect RCU grace period when freeing a \"struct socket_wq\"\n\n4) Change sk_sleep pointer in \"struct sock\" by sk_wq, pointer to \"struct\nsocket_wq\"\n\n5) Change sk_sleep() function to use new sk-\u003esk_wq instead of\nsk-\u003esk_sleep\n\n6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside\na rcu_read_lock() section.\n\n7) Change all sk_has_sleeper() callers to :\n  - Use rcu_read_lock() instead of read_lock(\u0026sk-\u003esk_callback_lock)\n  - Use wq_has_sleeper() to eventually wakeup tasks.\n  - Use rcu_read_unlock() instead of read_unlock(\u0026sk-\u003esk_callback_lock)\n\n8) sock_wake_async() is modified to use rcu protection as well.\n\n9) Exceptions :\n  macvtap, drivers/net/tun.c, af_unix use integrated \"struct socket_wq\"\ninstead of dynamically allocated ones. They dont need rcu freeing.\n\nSome cleanups or followups are probably needed, (possible\nsk_callback_lock conversion to a spinlock for example...).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "073900a28d95c75a706bf40ebf092ea048c7b236",
      "tree": "01e8bb7856ebf1e989a1eb693704435fc4032118",
      "parents": [
        "75181f386f9a80ed6f87763ac6cf05826e253ccd"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Apr 12 13:17:25 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 30 09:25:12 2010 -0700"
      },
      "message": "USB: rename usb_buffer_alloc() and usb_buffer_free()\n\nFor more clearance what the functions actually do,\n\n  usb_buffer_alloc() is renamed to usb_alloc_coherent()\n  usb_buffer_free()  is renamed to usb_free_coherent()\n\nThey should only be used in code which really needs DMA coherency.\n\n[added compatibility macros so we can convert things easier - gregkh]\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Pedro Ribeiro \u003cpedrib@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "27fb8d7b1fe7c2fa2d7c1f243b899793e1b080e0",
      "tree": "25a8ca59a3743459bbd48674731becea89a16318",
      "parents": [
        "f80a0ca6ad8f2800453e819dafa09a0ed9e56850",
        "9699eda6bc1f708a28acb716e1477aa351362fe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 29 10:23:44 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4\n  nfs: fix some issues in nfs41_proc_reclaim_complete()\n  NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear\n  NFS: Fix an unstable write data integrity race\n  nfs: testing for null instead of ERR_PTR()\n  NFS: rsize and wsize settings ignored on v4 mounts\n  NFSv4: Don\u0027t attempt an atomic open if the file is a mountpoint\n  SUNRPC: Fix a bug in rpcauth_prune_expired\n"
    },
    {
      "commit": "bece7b2398d073d11b2e352405a3ecd3a1e39c60",
      "tree": "645d3207b985dc7b1b139cfd857ed6de273655ef",
      "parents": [
        "8d545c8f958f5f433c50a00762ce1f231ed56eee"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:14 2010 -0700"
      },
      "message": "caif: Rewritten socket implementation\n\nChanges:\n This is a complete re-write of the socket layer. Making the socket\n implementation more aligned with the other socket layers and using more\n of the support functions available in sock.c. Lots of code is copied\n from af_unix (and some from af_irda).\n Non-blocking mode should be working as well.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "970b06485ffee36aa3549dfe4c6b2a2c2118354d",
      "tree": "1b0f6f4182e73d19071addf8a209e5fb58483d08",
      "parents": [
        "696e65c3606aa3f587eeb181766baf49ea750cfc",
        "33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  coda: move backing-dev.h kernel include inside __KERNEL__\n  mtd: ensure that bdi entries are properly initialized and registered\n  Move mtd_bdi_*mappable to mtdcore.c\n  btrfs: convert to using bdi_setup_and_register()\n  Catch filesystems lacking s_bdi\n  drbd: Terminate a connection early if sending the protocol fails\n  drbd: fix memory leak\n  Fix JFFS2 sync silent failure\n  smbfs: add bdi backing to mount session\n  ncpfs: add bdi backing to mount session\n  exofs: add bdi backing to mount session\n  ecryptfs: add bdi backing to mount session\n  coda: add bdi backing to mount session\n  cifs: add bdi backing to mount session\n  afs: add bdi backing to mount session.\n  9p: add bdi backing to mount session\n  bdi: add helper function for doing init and register of a bdi for a file system\n  block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer\n"
    },
    {
      "commit": "33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5",
      "tree": "9fc41444f93cd0e4c78fabd081b2d113fc917fc9",
      "parents": [
        "0661b1ac5d48eb47c8a5948c0554fea25e0895ab"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 09:20:33 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 09:20:33 2010 +0200"
      },
      "message": "coda: move backing-dev.h kernel include inside __KERNEL__\n\nOtherwise we must export backing-dev.h as well, which doesn\u0027t make\nany sense.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6e7676c1a76aed6e957611d8d7a9e5592e23aeba",
      "tree": "0cd14260745f755c885466c59182452f637e92e3",
      "parents": [
        "c58dc01babfd58ec9e71a6ce080150dc27755d88"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Apr 27 15:07:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:11:49 2010 -0700"
      },
      "message": "net: batch skb dequeueing from softnet input_pkt_queue\n\nbatch skb dequeueing from softnet input_pkt_queue to reduce potential lock\ncontention when RPS is enabled.\n\nNote: in the worst case, the number of packets in a softnet_data may\nbe double of netdev_max_backlog.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9cbd588fdb71ea415754c885e2f9f03e6bf1ba0",
      "tree": "68506bd4299f34b3ed31b76eb575e79c61e198fb",
      "parents": [
        "bb611874650cff942a7466b456a791e8bfa641e7"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Apr 26 23:06:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 14:32:12 2010 -0700"
      },
      "message": "net: reimplement softnet_data.output_queue as a FIFO queue\n\nreimplement softnet_data.output_queue as a FIFO queue to keep the\nfairness among the qdiscs rescheduled.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n----\n include/linux/netdevice.h |    1 +\n net/core/dev.c            |   22 ++++++++++++----------\n 2 files changed, 13 insertions(+), 10 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd8aaaf3519f3fd3c82594e90bc6808072b94d54",
      "tree": "70ebab87226b597270c1d33b57955afac3e2f4fe",
      "parents": [
        "740c2679396d60763968ffd16362f1f5c8242172"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Apr 27 01:23:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:21 2010 -0400"
      },
      "message": "cfg80211: add ap isolation support\n\nThis is used to configure APs to not bridge traffic between connected stations.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bb611874650cff942a7466b456a791e8bfa641e7",
      "tree": "32e048e3240dd808e7787ff2b7eb50ed9f0a6182",
      "parents": [
        "d328bc839eac685cdd91f5d9d8ad95c070252038",
        "cb6a4e461fb427689920472bd7335f926d521747"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "ff846f52935e6c8dfb0c97df7c2c1bf777454684",
      "tree": "f7b17c3e0e76f221809e509b749df6ae5caf868b",
      "parents": [
        "ef021194d262bdfa706dc5755596e252175a6bbc"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Tue Apr 27 01:02:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:28 2010 -0700"
      },
      "message": "igb: add support for reporting 5GT/s during probe on PCIe Gen2\n\nThis change corrects the fact that we were not reporting Gen2 link speeds\nwhen we were in fact connected at Gen2 rates.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b2cbd42bef5a22bb681acd607a7c3fbca1eeb3c",
      "tree": "ec3461cd593eaf65ffcd3fbb538c3976da1caa60",
      "parents": [
        "af740b2c8f4521e2c45698ee6040941a82d6349d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Apr 27 15:34:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 27 15:34:34 2010 +0200"
      },
      "message": "netfilter: x_tables: rectify XT_FUNCTION_MAXNAMELEN usage\n\nThere has been quite a confusion in userspace about\nXT_FUNCTION_MAXNAMELEN; because struct xt_entry_match used MAX-1,\nuserspace would have to do an awkward MAX-2 for maximum length\nchecking (due to \u0027\\0\u0027). This patch adds a new define that matches the\ndefinition of XT_TABLE_MAXNAMELEN - being the size of the actual\nstruct member, not one off.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5af55428858a45d94893fd6124d60988e89c0d59",
      "tree": "91345a57d6470f75e129391abd887c8eda9ea868",
      "parents": [
        "0a182fd88f8180b342f753f04c7d5507b5891c96"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Wed Mar 31 22:54:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:51:09 2010 -0400"
      },
      "message": "ssb: Fix order of definitions and some text space indents\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a182fd88f8180b342f753f04c7d5507b5891c96",
      "tree": "056f2ec8a8f0600175fce41468edfd7d0b69cef3",
      "parents": [
        "ea2db495f92ad2cf3301623e60cb95b4062bc484"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Wed Mar 31 22:54:18 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:51:08 2010 -0400"
      },
      "message": "ssb: Use relative offsets for SPROM\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea2db495f92ad2cf3301623e60cb95b4062bc484",
      "tree": "7cbfbc413f573673fc802fc44919ebbfcb5239ef",
      "parents": [
        "d53cdbb94a52a920d5420ed64d986c3523a56743"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Wed Mar 31 21:59:21 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:51:08 2010 -0400"
      },
      "message": "ssb: Look for SPROM at different offset on higher rev CC\n\nOur offset handling becomes even a little more hackish now. For some reason I\ndo not understand all offsets as inrelative. It assumes base offset is 0x1000\nbut it will work for now as we make offsets relative anyway by removing base\n0x1000. Should be cleaner however.\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d53cdbb94a52a920d5420ed64d986c3523a56743",
      "tree": "39b1026c953de14ce6b14417cf9bcb66992909f0",
      "parents": [
        "672724403b42da1d276c6cf811e8e34d15efd964"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 31 21:39:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 13:50:54 2010 -0400"
      },
      "message": "ssb: do not read SPROM if it does not exist\n\nAttempting to read registers that don\u0027t exist on the SSB bus can cause\nhangs on some boxes.  At least some b43 devices are \u0027in the wild\u0027 that\ndon\u0027t have SPROMs at all.  When the SSB bus support loads, it attempts\nto read these (non-existant) SPROMs and causes hard hangs on the box --\nno console output, etc.\n\nThis patch adds some intelligence to determine whether or not the SPROM\nis present before attempting to read it.  This avoids those hard hangs\non those devices with no SPROM attached to their SSB bus.  The\nSSB-attached devices (e.g. b43, et al.) won\u0027t work, but at least the box\nwill survive to test further patches. :-)\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nCc: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\n"
    },
    {
      "commit": "25239cee7e8732dbdc9f5d324f1c22a3bdec1d1f",
      "tree": "c3f36730571a7eb185abcd973b2f4c9616bd8096",
      "parents": [
        "3d0c9c4eb2dbdcc461be4084abd87a9a9e70f713"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:05 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:13:54 2010 +0200"
      },
      "message": "net: rtnetlink: decouple rtnetlink address families from real address families\n\nDecouple rtnetlink address families from real address families in socket.h to\nbe able to add rtnetlink interfaces to code that is not a real address family\nwithout increasing AF_MAX/NPROTO.\n\nThis will be used to add support for multicast route dumping from all tables\nas the proc interface can\u0027t be extended to support anything but the main table\nwithout breaking compatibility.\n\nThis partialy undoes the patch to introduce independant families for routing\nrules and converts ipmr routing rules to a new rtnetlink family. Similar to\nthat patch, values up to 127 are reserved for real address families, values\nabove that may be used arbitrarily.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5129a469a91a91427334c40e29e64c6d0ab68caf",
      "tree": "141a17cbea94c7c9c038187cc7081e1c688eac55",
      "parents": [
        "7e2455c1a123ceadbb35150a610d61e8443fd340"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@logfs.org",
        "time": "Sun Apr 25 08:54:42 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Apr 25 08:54:42 2010 +0200"
      },
      "message": "Catch filesystems lacking s_bdi\n\nnoop_backing_dev_info is used only as a flag to mark filesystems that\ndon\u0027t have any backing store, like tmpfs, procfs, spufs, etc.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n\nChanged the BUG_ON() to a WARN_ON(). Note that adding dirty inodes\nto the noop_backing_dev_info is not legal and will not result in\nthem being flushed, but we already catch this condition in\n__mark_inode_dirty() when checking for a registered bdi.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "23be7468e8802a2ac1de6ee3eecb3ec7f14dc703",
      "tree": "2c01e547594b8d7f32ddda47b6bea284d8f19761",
      "parents": [
        "9a6a1ecd9e9b5d046a236da2f7eb6b6812f04229"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Fri Apr 23 13:17:56 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 24 11:31:25 2010 -0700"
      },
      "message": "hugetlb: fix infinite loop in get_futex_key() when backed by huge pages\n\nIf a futex key happens to be located within a huge page mapped\nMAP_PRIVATE, get_futex_key() can go into an infinite loop waiting for a\npage-\u003emapping that will never exist.\n\nSee https://bugzilla.redhat.com/show_bug.cgi?id\u003d552257 for more details\nabout the problem.\n\nThis patch makes page-\u003emapping a poisoned value that includes\nPAGE_MAPPING_ANON mapped MAP_PRIVATE.  This is enough for futex to\ncontinue but because of PAGE_MAPPING_ANON, the poisoned value is not\ndereferenced or used by futex.  No other part of the VM should be\ndereferencing the page-\u003emapping of a hugetlbfs page as its page cache is\nnot on the LRU.\n\nThis patch fixes the problem with the test case described in the bugzilla.\n\n[akpm@linux-foundation.org: mel cant spel]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Darren Hart \u003cdarren@dvhart.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b340ae20d0e2366792abe70f46629e576adaf5e",
      "tree": "b0c413a0348e722fbc23d45508224076b6e60f92",
      "parents": [
        "13b52cd44670e3359055e9918d0e766d89836425"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:29 2010 -0700"
      },
      "message": "IPv6: Complete IPV6_DONTFRAG support\n\nFinally add support to detect a local IPV6_DONTFRAG event\nand return the relevant data to the user if they\u0027ve enabled\nIPV6_RECVPATHMTU on the socket.  The next recvmsg() will\nreturn no data, but have an IPV6_PATHMTU as ancillary data.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "793b14731686595a741d9f47726ad8b9a235385a",
      "tree": "915755840b09ed25911bfbc965bc5e186d05383d",
      "parents": [
        "3a737028630bb3c2b9efc38b9ddef2e09b06b808"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Apr 23 11:26:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 23:35:28 2010 -0700"
      },
      "message": "IPv6: data structure changes for new socket options\n\nAdd underlying data structure changes and basic setsockopt()\nand getsockopt() support for IPV6_RECVPATHMTU, IPV6_PATHMTU,\nand IPV6_DONTFRAG.  IPV6_PATHMTU is actually fully functional\nat this point.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b51cc996e81d8a113416d8094fa4a88f8360a51",
      "tree": "e75b98b228bb4e456c30673fcc4b56ffa1d09cf5",
      "parents": [
        "c68ed255265968c3948fa2678bf59d15c471b055",
        "672724403b42da1d276c6cf811e8e34d15efd964"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-debugfs.c\n"
    },
    {
      "commit": "3a3076f4d6e2fa31338a0b007df42a3b32f079e0",
      "tree": "58bb9ec51a2e99baf7b28cebd0c9d3df2fc1c7a7",
      "parents": [
        "1918ad77f7f908ed67cf37c505c6ad4ac52f1ecf"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 23 12:17:17 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 23 10:39:48 2010 -0700"
      },
      "message": "Cleanup generic block based fiemap\n\nThis cleans up a few of the complaints of __generic_block_fiemap.  I\u0027ve\nfixed all the typing stuff, used inline functions instead of macros,\ngotten rid of a couple of variables, and made sure the size and block\nrequests are all block aligned.  It also fixes a problem where sometimes\nFIEMAP_EXTENT_LAST wasn\u0027t being set properly.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af740b2c8f4521e2c45698ee6040941a82d6349d",
      "tree": "ae9fb87ebbfd422b07cb8e027fbe13e9c40c403e",
      "parents": [
        "cecc74de25d2cfb08e7702cd38e3f195950f1228"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Apr 23 12:34:56 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 23 12:34:56 2010 +0200"
      },
      "message": "netfilter: nf_conntrack: extend with extra stat counter\n\nI suspect an unfortunatly series of events occuring under a DDoS\nattack, in function __nf_conntrack_find() nf_contrack_core.c.\n\nAdding a stats counter to see if the search is restarted too often.\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "286d1e7f73320be063a5f6af25d3d61c741065c2",
      "tree": "a92926edb04d9eb1fc6bc12e1518988b0359bb8b",
      "parents": [
        "e904f0a4163bc7bd303d2430893d82362df6727e"
      ],
      "author": {
        "name": "Scott Feldman",
        "email": "scofeldm@cisco.com",
        "time": "Thu Apr 22 14:38:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 18:32:12 2010 -0700"
      },
      "message": "remove DCB_PROTO_VERSION as we don\u0027t do netlink versioning\n\nremove DCB_PROTO_VERSION as we don\u0027t do netlink versioning\n\nSigned-off-by: Scott Feldman \u003cscofeldm@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ebfbc06aae941484326c9e7e9c4d85330f63591",
      "tree": "35719a9023c47bdaaf25771c03836a15150dc741",
      "parents": [
        "f68c224fedff2157f3fad7f7da674cbc96567c84"
      ],
      "author": {
        "name": "Andrew Hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Thu Apr 22 16:12:36 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:12:36 2010 -0700"
      },
      "message": "X25: Add if_x25.h and x25 to device identifiers\n\nV2 Feedback from John Hughes.\n- Add header for userspace implementations such as xot/xoe to use\n- Use explicit values for interface stability\n- No changes to driver patches\n\nV1\n- Use identifiers instead of magic numbers for X25 layer 3 to device interface.\n- Also fixed checkpatch notes on updated code.\n\n[ Add new user header to include/linux/Kbuild  -DaveM ]\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40eaf96271526a9f71030dd1a199ce46c045752e",
      "tree": "2921b984a4e1de3d0e13cebf49bc9afcb0551725",
      "parents": [
        "aa2ea0586d9dbe56a334d835a43b45e8c2104e77"
      ],
      "author": {
        "name": "Paul LeoNerd Evans",
        "email": "leonerd@leonerd.org.uk",
        "time": "Thu Apr 22 03:32:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:05:44 2010 -0700"
      },
      "message": "net: Socket filter ancilliary data access for skb-\u003edev-\u003etype\n\nAdd an SKF_AD_HATYPE field to the packet ancilliary data area, giving\naccess to skb-\u003edev-\u003etype, as reported in the sll_hatype field.\n\nWhen capturing packets on a PF_PACKET/SOCK_RAW socket bound to all\ninterfaces, there doesn\u0027t appear to be a way for the filter program to\nactually find out the underlying hardware type the packet was captured\non. This patch adds such ability.\n\nThis patch also handles the case where skb-\u003edev can be NULL, such as on\nnetlink sockets.\n\nSigned-off-by: Paul Evans \u003cleonerd@leonerd.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e802af9cabb011f09b9c19a82faef3dd315f27eb",
      "tree": "9a8ef1163b9b40fef8860b08ea4dcb4ff3916098",
      "parents": [
        "9ccb8975940c4ee51161152e37058e3d9e06c62f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 22 15:24:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 15:24:53 2010 -0700"
      },
      "message": "IPv6: Generic TTL Security Mechanism (final version)\n\nThis patch adds IPv6 support for RFC5082 Generalized TTL Security Mechanism.  \n\nNot to users of mapped address; the IPV6 and IPV4 socket options are seperate.\nThe server does have to deal with both IPv4 and IPv6 socket options\nand the client has to handle the different for each family.\n\nOn client:\n\tint ttl \u003d 255;\n\tgetaddrinfo(argv[1], argv[2], \u0026hint, \u0026result);\n\n\tfor (rp \u003d result; rp !\u003d NULL; rp \u003d rp-\u003eai_next) {\n\t\ts \u003d socket(rp-\u003eai_family, rp-\u003eai_socktype, rp-\u003eai_protocol);\n\t\tif (s \u003c 0) continue;\n\n\t\tif (rp-\u003eai_family \u003d\u003d AF_INET) {\n\t\t\tsetsockopt(s, IPPROTO_IP, IP_TTL, \u0026ttl, sizeof(ttl));\n\t\t} else if (rp-\u003eai_family \u003d\u003d AF_INET6) {\n\t\t\tsetsockopt(s, IPPROTO_IPV6,  IPV6_UNICAST_HOPS, \n\t\t\t\t\t\u0026ttl, sizeof(ttl)))\n\t\t}\n\t\t\t\n\t\tif (connect(s, rp-\u003eai_addr, rp-\u003eai_addrlen) \u003d\u003d 0) {\n\t\t   ...\n\nOn server:\n\tint minttl \u003d 255 - maxhops;\n   \n\tgetaddrinfo(NULL, port, \u0026hints, \u0026result);\n\tfor (rp \u003d result; rp !\u003d NULL; rp \u003d rp-\u003eai_next) {\n\t\ts \u003d socket(rp-\u003eai_family, rp-\u003eai_socktype, rp-\u003eai_protocol);\n\t\tif (s \u003c 0) continue;\n\n\t\tif (rp-\u003eai_family \u003d\u003d AF_INET6)\n\t\t\tsetsockopt(s, IPPROTO_IPV6,  IPV6_MINHOPCOUNT,\n\t\t\t\t\t\u0026minttl, sizeof(minttl));\n\t\tsetsockopt(s, IPPROTO_IP, IP_MINTTL, \u0026minttl, sizeof(minttl));\n\t\t\t\n\t\tif (bind(s, rp-\u003eai_addr, rp-\u003eai_addrlen) \u003d\u003d 0)\n\t\t\tbreak\n...\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfc94b2c9ac603b20db54225408df6ed80188dcd",
      "tree": "6e5b21adac556242b89931c4d0929b66efb8c0b9",
      "parents": [
        "4c6a3999651741419cd3cc4303cf0c2be07d89bc",
        "e1393667be574807a13bfaf1bb471f5fd1a5287b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 22 12:54:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 22 12:54:54 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: ohci: wait for local CSR lock access to finish\n  firewire: ohci: prevent aliasing of locally handled register addresses\n  firewire: core: fw_iso_resource_manage: return -EBUSY when out of resources\n  firewire: core: fix retries calculation in iso manage_channel()\n  firewire: cdev: fix cut+paste mistake in disclaimer\n"
    },
    {
      "commit": "71d0a6112a363e703e383ae5b12c492485c39701",
      "tree": "fc22ab92565fb61a37a77f829a82fa9b8ea6497f",
      "parents": [
        "cdd29ecfcb9554132cd94b82ae8b69ba37adb3b5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:57 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 22 15:35:57 2010 -0400"
      },
      "message": "NFS: Fix an unstable write data integrity race\n\nCommit 2c61be0a9478258f77b66208a0c4b1f5f8161c3c (NFS: Ensure that the WRITE\nand COMMIT RPC calls are always uninterruptible) exposed a race on file\nclose. In order to ensure correct close-to-open behaviour, we want to wait\nfor all outstanding background commit operations to complete.\n\nThis patch adds an inode flag that indicates if a commit operation is under\nway, and provides a mechanism to allow -\u003ewrite_inode() to wait for its\ncompletion if this is a data integrity flush.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "424264b7b220e8eee165dc3080ae48692af73dec",
      "tree": "f946baadbb45ae77e76807df3d394aff88dcd801",
      "parents": [
        "f1970c73cbb6b884152207e4dfe90639f5029905"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:37:07 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:37:07 2010 +0200"
      },
      "message": "smbfs: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f1970c73cbb6b884152207e4dfe90639f5029905",
      "tree": "86f8e8c1dc149b46b01e6235eb3f01c7c6c3d5b5",
      "parents": [
        "b3d0ab7e60d1865bb6f6a79a77aaba22f2543236"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:31:11 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:31:11 2010 +0200"
      },
      "message": "ncpfs: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5163d90076729413cb882d3dd5c3d3cfb5b9f035",
      "tree": "b2e3419e481f4373bb511642953f6faca5157a51",
      "parents": [
        "8044f7f468469c80031611206d554f86fcdfe704"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:12:40 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 12:12:40 2010 +0200"
      },
      "message": "coda: add bdi backing to mount session\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c3c532061e46156e8aab1268f38d66cfb63aeb2d",
      "tree": "8c5b027873b823b04f5564d442477e80e82e8edb",
      "parents": [
        "a534dbe96e9929c7245924d8252d89048c23d569"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:37:01 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:39:36 2010 +0200"
      },
      "message": "bdi: add helper function for doing init and register of a bdi for a file system\n\nPretty trivial helper, just sets up the bdi and registers it. An atomic\nsequence count is used to ensure that the registered sysfs names are\nunique.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a1aa8822d577c8714f8d343eea028befbab3da9d",
      "tree": "f4af154b3354cfc1456a257604b348dd9c7e21dc",
      "parents": [
        "6846ad282693bd066645aff6f13d2b279d505314"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors@pelagicore.com",
        "time": "Wed Apr 21 16:33:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 16:33:29 2010 -0700"
      },
      "message": "ks8842: Add platform data for setting mac address\n\nThis patch adds platform data to the ks8842 driver.\n\nVia the platform data a MAC address, to be used by the controller,\ncan be passed.\n\nTo ensure this MAC address is used, the MAC address is written\nafter each hardware reset.\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors@pelagicore.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "989a2979205dd34269382b357e6d4b4b6956b889",
      "tree": "2f504e9f4d8d418dd8fb2d042b076c1318232360",
      "parents": [
        "e5700aff144fbbba46be40049f0c55fb57283777"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 14 09:55:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 16:19:29 2010 -0700"
      },
      "message": "fasync: RCU and fine grained locking\n\nkill_fasync() uses a central rwlock, candidate for RCU conversion, to\navoid cache line ping pongs on SMP.\n\nfasync_remove_entry() and fasync_add_entry() can disable IRQS on a short\nsection instead during whole list scan.\n\nUse a spinlock per fasync_struct to synchronize kill_fasync_rcu() and\nfasync_{remove|add}_entry(). This spinlock is IRQ safe, so sock_fasync()\ndoesnt need its own implementation and can use fasync_helper(), to\nreduce code size and complexity.\n\nWe can remove __kill_fasync() direct use in net/socket.c, and rename it\nto kill_fasync_rcu().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "458f8c895beba63851281dcdac3773685f0fae09",
      "tree": "dd5b7af8b221bc5755e8ce94b7145f6f0589cac4",
      "parents": [
        "255f41c59558a346d65a2012420a7573e36dc584",
        "58d57658834faa0c19da35e84632f7b78846f69f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:31:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:31:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:\n  mc13783-regulator: fix a memory leak in mc13783_regulator_remove\n  regulator: Let drivers know when they use the stub API\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
      "tree": "76508ab431133ca9a085a9e3fa62fbfed607c9fb",
      "parents": [
        "0eae88f31ca2b88911ce843452054139e028771f"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 22:39:53 2010 -0700"
      },
      "message": "net: Remove two unnecessary exports (skbuff).\n\nThere is no need to export skb_under_panic() and skb_over_panic() in\nskbuff.c, since these methods are used only in skbuff.c ; this patch\nremoves these two exports. It also marks these functions as \u0027static\u0027\nand removeS the extern declarations of them from\ninclude/linux/skbuff.h\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f79d9bad37cb1e7ef23d60b1dd0b7859957ced9e",
      "tree": "455199d0e2560726656858deffe12b7aa702a522",
      "parents": [
        "3bb065a7420c90421d6bbea5f7cffe36bd79a048"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Apr 19 19:57:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:52:21 2010 -0400"
      },
      "message": "mac80211: add flags for STBC (Space-Time Block Coding)\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6c79bf0f2440fd250c8fce8d9b82fcf03d4e8350",
      "tree": "408e0680cac66c1a2ab6350de15a9c623da905a7",
      "parents": [
        "62910554656cdcd6b6f84a5154c4155aae4ca231"
      ],
      "author": {
        "name": "Bart De Schuymer",
        "email": "bdschuym@pandora.be",
        "time": "Tue Apr 20 16:22:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:22:01 2010 +0200"
      },
      "message": "netfilter: bridge-netfilter: fix refragmenting IP traffic encapsulated in PPPoE traffic\n\nThe MTU for IP traffic encapsulated inside PPPoE traffic is smaller\nthan the MTU of the Ethernet device (1500). Connection tracking\ngathers all IP packets and sometimes will refragment them in\nip_fragment(). We then need to subtract the length of the\nencapsulating header from the mtu used in ip_fragment(). The check in\nbr_nf_dev_queue_xmit() which determines if ip_fragment() has to be\ncalled is also updated for the PPPoE-encapsulated packets.\nnf_bridge_copy_header() is also updated to make sure the PPPoE data\nlength field has the correct value.\n\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "62910554656cdcd6b6f84a5154c4155aae4ca231",
      "tree": "dcf14004f6fd2ef7154362ff948bfeba0f3ea92d",
      "parents": [
        "22265a5c3c103cf8c50be62e6c90d045eb649e6d",
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tnet/ipv6/netfilter/ip6t_REJECT.c\n\tnet/netfilter/xt_limit.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "22265a5c3c103cf8c50be62e6c90d045eb649e6d",
      "tree": "01d74ee1435a9d0cdcabd75848e5fbe14bb6d40d",
      "parents": [
        "5b775eb1c04c2ef33f5e17035e368214214ef9c2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 15:07:32 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 15:07:32 2010 +0200"
      },
      "message": "netfilter: xt_TEE: resolve oif using netdevice notifiers\n\nReplace the runtime oif name resolving by netdevice notifier based\nresolving. When an oif is given, a netdevice notifier is registered\nto resolve the name on NETDEV_REGISTER or NETDEV_CHANGE and unresolve\nit again on NETDEV_UNREGISTER or NETDEV_CHANGE to a different name.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e80e2a60ff7914dae691345a976c80bbbff3ec74",
      "tree": "ce9f6ce95d3b00f24a407982d52aca567866c0d8",
      "parents": [
        "87bf6e7de1134f48681fd2ce4b7c1ec45458cb6d"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Tue Mar 30 16:48:25 2010 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Apr 20 13:08:30 2010 +0300"
      },
      "message": "KVM: Increase NR_IOBUS_DEVS limit to 200\n\nThis patch increases the current hardcoded limit of NR_IOBUS_DEVS\nfrom 6 to 200. We are hitting this limit when creating a guest with more\nthan 1 virtio-net device using vhost-net backend. Each virtio-net\ndevice requires 2 such devices to service notifications from rx/tx queues.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "87bf6e7de1134f48681fd2ce4b7c1ec45458cb6d",
      "tree": "ae8ce63cecab98c036c0d76422de42cf78e042f4",
      "parents": [
        "77662e0028c7c63e34257fda03ff9625c59d939d"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Mon Apr 12 19:35:35 2010 +0900"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Apr 20 13:06:55 2010 +0300"
      },
      "message": "KVM: fix the handling of dirty bitmaps to avoid overflows\n\nInt is not long enough to store the size of a dirty bitmap.\n\nThis patch fixes this problem with the introduction of a wrapper\nfunction to calculate the sizes of dirty bitmaps.\n\nNote: in mark_page_dirty(), we have to consider the fact that\n  __set_bit() takes the offset as int, not long.\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "e36fa2f7e92f25aab2e3d787dcfe3590817f19d3",
      "tree": "b1bd60b14131dacc72a80efbd2f062935cc43e25",
      "parents": [
        "f5acb907dc24c3822f408211bad1cd6e5d0433cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 21:17:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 01:18:05 2010 -0700"
      },
      "message": "rps: cleanups\n\nstruct softnet_data holds many queues, so consistent use \"sd\" name\ninstead of \"queue\" is better.\n\nAdds a rps_ipi_queued() helper to cleanup enqueue_to_backlog()\n\nAdds a _and_irq_disable suffix to net_rps_action() name, as David\nsuggested.\n\nincr_input_queue_head() becomes input_queue_head_incr()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88751275b8e867d756e4f86ae92afe0232de129f",
      "tree": "011913d98eb65f5e90981da0275c2f5a07c2bee1",
      "parents": [
        "a03b1a5c95e8bcb07512122995bbf5bd3c39f2b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 19 05:07:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 19 13:20:34 2010 -0700"
      },
      "message": "rps: shortcut net_rps_action()\n\nnet_rps_action() is a bit expensive on NR_CPUS\u003d64..4096 kernels, even if\nRPS is not active.\n\nTom Herbert used two bitmasks to hold information needed to send IPI,\nbut a single LIFO list seems more appropriate.\n\nMove all RPS logic into net_rps_action() to cleanup net_rx_action() code\n(remove two ifdefs)\n\nMove rps_remote_softirq_cpus into softnet_data to share its first cache\nline, filling an existing hole.\n\nIn a future patch, we could call net_rps_action() from process_backlog()\nto make sure we send IPI before handling this cpu backlog.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85341c61361cc45a9cc0e11c01e8f4479ef460ac",
      "tree": "8d5e8e98aaef7f77f9749d851dd409ac356f0258",
      "parents": [
        "375db4810b27306ea400ab39d3d6f7a063ac9ff6",
        "bc293d62b26ec590afc90a9e0a31c45d355b7bd8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 08:35:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 19 08:35:47 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Make RCU lockdep check the lockdep_recursion variable\n  rcu: Update docs for rcu_access_pointer and rcu_dereference_protected\n  rcu: Better explain the condition parameter of rcu_dereference_check()\n  rcu: Add rcu_access_pointer and rcu_dereference_protected\n"
    },
    {
      "commit": "f3c5c1bfd430858d3a05436f82c51e53104feb6b",
      "tree": "ada5b570b66e141e79fdb256f69e2541a3d30c04",
      "parents": [
        "e281b19897dc21c1071802808d461627d747a877"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Apr 19 16:05:10 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 19 16:05:10 2010 +0200"
      },
      "message": "netfilter: xtables: make ip_tables reentrant\n\nCurrently, the table traverser stores return addresses in the ruleset\nitself (struct ip6t_entry-\u003ecomefrom). This has a well-known drawback:\nthe jumpstack is overwritten on reentry, making it necessary for\ntargets to return absolute verdicts. Also, the ruleset (which might\nbe heavy memory-wise) needs to be replicated for each CPU that can\npossibly invoke ip6t_do_table.\n\nThis patch decouples the jumpstack from struct ip6t_entry and instead\nputs it into xt_table_info. Not being restricted by \u0027comefrom\u0027\nanymore, we can set up a stack as needed. By default, there is room\nallocated for two entries into the traverser.\n\narp_tables is not touched though, because there is just one/two\nmodules and further patches seek to collapse the table traverser\nanyhow.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e281b19897dc21c1071802808d461627d747a877",
      "tree": "e779b58643237f00305b016d6749825d7b3426f8",
      "parents": [
        "f0d57a54aa9fdf3a4d9435d44c69b20388ad0b3b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Apr 19 14:17:47 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 19 14:17:47 2010 +0200"
      },
      "message": "netfilter: xtables: inclusion of xt_TEE\n\nxt_TEE can be used to clone and reroute a packet. This can for\nexample be used to copy traffic at a router for logging purposes\nto another dedicated machine.\n\nReferences: http://www.gossamer-threads.com/lists/iptables/devel/68781\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "be1a50d4eba4cdb3ebf9d97a0a8693c153436775",
      "tree": "c4923c176186b9d1a596fd4274d05ddf8a5c2d49",
      "parents": [
        "13bd8e4673d527a9e48f41956b11d391e7c2cfe0"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Apr 03 17:37:45 2010 +0200"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Mon Apr 19 13:17:10 2010 +0100"
      },
      "message": "regulator: Let drivers know when they use the stub API\n\nHave the stub variant of regulator_get() return NULL, so that drivers\ncan (but still don\u0027t have to) handle this case specifically.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Jerome Oufella \u003cjerome.oufella@savoirfairelinux.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "bc293d62b26ec590afc90a9e0a31c45d355b7bd8",
      "tree": "4b61dee53e849f0ba1d5a7fef58522e224be836e",
      "parents": [
        "50aec0024eccb1d5f540ab64a1958eebcdb9340c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 15 12:50:39 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 19 08:37:19 2010 +0200"
      },
      "message": "rcu: Make RCU lockdep check the lockdep_recursion variable\n\nThe lockdep facility temporarily disables lockdep checking by\nincrementing the current-\u003elockdep_recursion variable.  Such\ndisabling happens in NMIs and in other situations where lockdep\nmight expect to recurse on itself.\n\nThis patch therefore checks current-\u003elockdep_recursion, disabling RCU\nlockdep splats when this variable is non-zero.  In addition, this patch\nremoves the \"likely()\", as suggested by Lai Jiangshan.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nTested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c20100415195039.GA22623@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fec5e652e58fa6017b2c9e06466cb2a6538de5b4",
      "tree": "e034f2a1e7930a0a225bd30896f834ec5e09c084",
      "parents": [
        "b5d43998234331b9c01bd2165fdbb25115f4387f"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 16:01:27 2010 -0700"
      },
      "message": "rfs: Receive Flow Steering\n\nThis patch implements receive flow steering (RFS).  RFS steers\nreceived packets for layer 3 and 4 processing to the CPU where\nthe application for the corresponding flow is running.  RFS is an\nextension of Receive Packet Steering (RPS).\n\nThe basic idea of RFS is that when an application calls recvmsg\n(or sendmsg) the application\u0027s running CPU is stored in a hash\ntable that is indexed by the connection\u0027s rxhash which is stored in\nthe socket structure.  The rxhash is passed in skb\u0027s received on\nthe connection from netif_receive_skb.  For each received packet,\nthe associated rxhash is used to look up the CPU in the hash table,\nif a valid CPU is set then the packet is steered to that CPU using\nthe RPS mechanisms.\n\nThe convolution of the simple approach is that it would potentially\nallow OOO packets.  If threads are thrashing around CPUs or multiple\nthreads are trying to read from the same sockets, a quickly changing\nCPU value in the hash table could cause rampant OOO packets--\nwe consider this a non-starter.\n\nTo avoid OOO packets, this solution implements two types of hash\ntables: rps_sock_flow_table and rps_dev_flow_table.\n\nrps_sock_table is a global hash table.  Each entry is just a CPU\nnumber and it is populated in recvmsg and sendmsg as described above.\nThis table contains the \"desired\" CPUs for flows.\n\nrps_dev_flow_table is specific to each device queue.  Each entry\ncontains a CPU and a tail queue counter.  The CPU is the \"current\"\nCPU for a matching flow.  The tail queue counter holds the value\nof a tail queue counter for the associated CPU\u0027s backlog queue at\nthe time of last enqueue for a flow matching the entry.\n\nEach backlog queue has a queue head counter which is incremented\non dequeue, and so a queue tail counter is computed as queue head\ncount + queue length.  When a packet is enqueued on a backlog queue,\nthe current value of the queue tail counter is saved in the hash\nentry of the rps_dev_flow_table.\n\nAnd now the trick: when selecting the CPU for RPS (get_rps_cpu)\nthe rps_sock_flow table and the rps_dev_flow table for the RX queue\nare consulted.  When the desired CPU for the flow (found in the\nrps_sock_flow table) does not match the current CPU (found in the\nrps_dev_flow table), the current CPU is changed to the desired CPU\nif one of the following is true:\n\n- The current CPU is unset (equal to RPS_NO_CPU)\n- Current CPU is offline\n- The current CPU\u0027s queue head counter \u003e\u003d queue tail counter in the\nrps_dev_flow table.  This checks if the queue tail has advanced\nbeyond the last packet that was enqueued using this table entry.\nThis guarantees that all packets queued using this entry have been\ndequeued, thus preserving in order delivery.\n\nMaking each queue have its own rps_dev_flow table has two advantages:\n1) the tail queue counters will be written on each receive, so\nkeeping the table local to interrupting CPU s good for locality.  2)\nthis allows lockless access to the table-- the CPU number and queue\ntail counter need to be accessed together under mutual exclusion\nfrom netif_receive_skb, we assume that this is only called from\ndevice napi_poll which is non-reentrant.\n\nThis patch implements RFS for TCP and connected UDP sockets.\nIt should be usable for other flow oriented protocols.\n\nThere are two configuration parameters for RFS.  The\n\"rps_flow_entries\" kernel init parameter sets the number of\nentries in the rps_sock_flow_table, the per rxqueue sysfs entry\n\"rps_flow_cnt\" contains the number of entries in the rps_dev_flow\ntable for the rxqueue.  Both are rounded to power of two.\n\nThe obvious benefit of RFS (over just RPS) is that it achieves\nCPU locality between the receive processing for a flow and the\napplications processing; this can result in increased performance\n(higher pps, lower latency).\n\nThe benefits of RFS are dependent on cache hierarchy, application\nload, and other factors.  On simple benchmarks, we don\u0027t necessarily\nsee improvement and sometimes see degradation.  However, for more\ncomplex benchmarks and for applications where cache pressure is\nmuch higher this technique seems to perform very well.\n\nBelow are some benchmark results which show the potential benfit of\nthis patch.  The netperf test has 500 instances of netperf TCP_RR\ntest with 1 byte req. and resp.  The RPC test is an request/response\ntest similar in structure to netperf RR test ith 100 threads on\neach host, but does more work in userspace that netperf.\n\ne1000e on 8 core Intel\n   No RFS or RPS\t\t104K tps at 30% CPU\n   No RFS (best RPS config):    290K tps at 63% CPU\n   RFS\t\t\t\t303K tps at 61% CPU\n\nRPC test\ttps\tCPU%\t50/90/99% usec latency\tLatency StdDev\n  No RFS/RPS\t103K\t48%\t757/900/3185\t\t4472.35\n  RPS only:\t174K\t73%\t415/993/2468\t\t491.66\n  RFS\t\t223K\t73%\t379/651/1382\t\t315.61\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02a2956809d88b42b9a1f8003d60a343353b5ea",
      "tree": "58f3375f5b8c54ca68ca32ae30b705e11c2457af",
      "parents": [
        "7f1f5a0060e377ff6a15903487b39223e12b8568"
      ],
      "author": {
        "name": "Grazvydas Ignotas",
        "email": "notasas@gmail.com",
        "time": "Fri Apr 16 13:22:12 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 16 15:47:14 2010 -0400"
      },
      "message": "wl1251: add support for dedicated IRQ line\n\nwl1251 has WLAN_IRQ pin for generating interrupts to host processor,\nwhich is mandatory in SPI mode and optional in SDIO mode (which can\nuse SDIO interrupts instead). However TI recommends using deditated\nIRQ line for SDIO too.\n\nAdd support for using dedicated interrupt line with SDIO, but also leave\nability to switch to SDIO interrupts in case it\u0027s needed.\n\nSigned-off-by: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nReviewed-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3eb14b944f2b5b6efe4e0ae3fe9601db78437d57",
      "tree": "bea3d9ce130de0a73504ab94882115004b826fd6",
      "parents": [
        "791f58c0640f906d3f63518d3f02630dbbafb7a2",
        "5c01d5669356e13f0fb468944c1dd4c6a7e978ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:31:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 14:31:06 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "5c01d5669356e13f0fb468944c1dd4c6a7e978ad",
      "tree": "fa43345288d7b25fac92b3b35360a177c4947313",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8",
        "a5e944f1d955f3819503348426763e21e0413ba6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n"
    },
    {
      "commit": "a2612cb16d4d8447793609cbdd2a2f4f156c0020",
      "tree": "bf1330080ff46175f535d76de6ca98bf2ad23d52",
      "parents": [
        "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 15 22:16:04 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 15 22:18:36 2010 +0200"
      },
      "message": "firewire: cdev: fix cut+paste mistake in disclaimer\n\nThis was supposed to be generic \"authors or copyright holders\";\nI mistakenly picked up text from a wrong file.\n\nReported-by: Daniel K. \u003cdk@uw.no\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2fed94c032316d89422d4abfca2a882897489b94",
      "tree": "9381c79a351d2c13f6b87bae550c51689491ded6",
      "parents": [
        "00eef7bd01c7598d195699983c5290d901df19ad",
        "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: cdev: change license of exported header files to MIT license\n  firewire: cdev: comment fixlet\n  firewire: cdev: iso packet documentation\n  firewire: cdev: fix information leak\n  firewire: cdev: require quadlet-aligned headers for transmit packets\n  firewire: cdev: disallow receive packets without header\n"
    },
    {
      "commit": "00eef7bd01c7598d195699983c5290d901df19ad",
      "tree": "14ba0178fc2c5e807282132e689236965b889e91",
      "parents": [
        "250541fca717a5c9b0d3710e737b2ca32ebb6fbc",
        "014f61504af276ba9d9544d8a7401d8f8526eb73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:49:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:49:55 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - switch mode upon system resume\n  Revert \"Input: wacom - merge out and in prox events\"\n  Input: matrix_keypad - allow platform to disable key autorepeat\n  Input: ALPS - add signature for HP Pavilion dm3 laptops\n  Input: i8042 - spelling fix\n  Input: sparse-keymap - implement safer freeing of the keymap\n  Input: update the status of the Multitouch X driver project\n  Input: clarify the no-finger event in multitouch protocol\n  Input: bcm5974 - retract efi-broken suspend_resume\n  Input: sparse-keymap - free the right keymap on error\n"
    },
    {
      "commit": "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802",
      "tree": "dc7d17175b47cd81fea937ddd4d933aa4871b9f4",
      "parents": [
        "ca658b1e29d6be939207532e337fb640eb697f71"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Apr 11 11:52:12 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 15 17:50:49 2010 +0200"
      },
      "message": "firewire: cdev: change license of exported header files to MIT license\n\nAmong else, this allows projects like libdc1394 to carry copies of the\nABI related header files without them or distributors having to worry\nabout effects on the project\u0027s overall license terms.  Switch to MIT\nlicense as suggested by Kristian.  Also update the year in the\ncopyright statement according to source history.\n\nCc: Jay Fenlason \u003cfenlason@redhat.com\u003e\nAcked-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\n"
    },
    {
      "commit": "e179e6322ac334e21a3c6d669d95bc967e5d0a80",
      "tree": "eee21d4e85ffeed02c6a25a8b224845cb9ed0fd2",
      "parents": [
        "ea2d9b41bd418894d1ee25de1642c3325d71c397"
      ],
      "author": {
        "name": "Bart De Schuymer",
        "email": "bdschuym@pandora.be",
        "time": "Thu Apr 15 12:26:39 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 12:26:39 2010 +0200"
      },
      "message": "netfilter: bridge-netfilter: Fix MAC header handling with IP DNAT\n\n- fix IP DNAT on vlan- or pppoe-encapsulated traffic: The functions\nneigh_hh_output() or dst-\u003eneighbour-\u003eoutput() overwrite the complete\nEthernet header, although we only need the destination MAC address.\nFor encapsulated packets, they ended up overwriting the encapsulating\nheader. The new code copies the Ethernet source MAC address and\nprotocol number before calling dst-\u003eneighbour-\u003eoutput(). The Ethernet\nsource MAC and protocol number are copied back in place in\nbr_nf_pre_routing_finish_bridge_slow(). This also makes the IP DNAT\nmore transparent because in the old scheme the source MAC of the\nbridge was copied into the source address in the Ethernet header. We\nalso let skb-\u003eprotocol equal ETH_P_IP resp. ETH_P_IPV6 during the\nexecution of the PF_INET resp. PF_INET6 hooks.\n\n- Speed up IP DNAT by calling neigh_hh_bridge() instead of\nneigh_hh_output(): if dst-\u003ehh is available, we already know the MAC\naddress so we can just copy it.\n\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ea2d9b41bd418894d1ee25de1642c3325d71c397",
      "tree": "e8187786c8d83123da104476fc0eb7132ec29045",
      "parents": [
        "9c6eb28aca52d562f3ffbaebaa56385df9972a43"
      ],
      "author": {
        "name": "Bart De Schuymer",
        "email": "bdschuym@pandora.be",
        "time": "Thu Apr 15 12:14:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 12:14:51 2010 +0200"
      },
      "message": "netfilter: bridge-netfilter: simplify IP DNAT\n\nRemove br_netfilter.c::br_nf_local_out(). The function\nbr_nf_local_out() was needed because the PF_BRIDGE::LOCAL_OUT hook\ncould be called when IP DNAT happens on to-be-bridged traffic. The\nnew scheme eliminates this mess.\n\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "fd793d8905720595caede6bd26c5df6c0ecd37f8",
      "tree": "1aab1c7c6db278d0400e9a2e6019955419413a6c",
      "parents": [
        "b0e28f1effd1d840b36e961edc1def81e01b1ca1"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Apr 15 00:16:59 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 00:16:59 2010 -0700"
      },
      "message": "net: CONFIG_SMP should be CONFIG_RPS\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "e326e8503dfc73e4f79d488a78ee3d7cde10081f"
}
