)]}'
{
  "log": [
    {
      "commit": "e8aaebc6b2a9c36dd9705adcb8f10d14b3d33f75",
      "tree": "aaf6980da7ea86e43a871f9d9b0d87e928c8418e",
      "parents": [
        "c44f7eb4c127be8bb8b160902845b88d489492e5"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Wed Aug 31 23:22:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 15:36:34 2011 -0400"
      },
      "message": "mii: Remove references to DP83840 PHY in mii.h\n\nThere are references to this PHY chip in the generic mii.h header, so removing them.\nRe-jiggle the changed comments, in response to points raised by Ben Hutchings.\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c44f7eb4c127be8bb8b160902845b88d489492e5",
      "tree": "fd1c599ebd377db3826ecaf48dacaaf64448500d",
      "parents": [
        "c37e0c993055d8c4fd82202331d06e6ef9bfec4b"
      ],
      "author": {
        "name": "Mark Einon",
        "email": "mark.einon@gmail.com",
        "time": "Wed Aug 31 23:22:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 15:36:34 2011 -0400"
      },
      "message": "mii: Convert spaces to tabs in mii.h\n\nWhitespace changes - spaces converted to tabs after each define name and value\n\nSigned-off-by: Mark Einon \u003cmark.einon@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba6e5eb107b4b26444cb67ce6fb8eb0973a97964",
      "tree": "9377baf652e0cd8360372020b0386e238d07a30d",
      "parents": [
        "f3116f62cb56ef5efd172371fab688bb27529f69",
        "a508a6ea234571e0e7d1e9f2455fc1eca54d1fef"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 29 14:52:20 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 29 14:52:20 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    },
    {
      "commit": "3c9c36bcedd426f2be2826da43e5163de61735f7",
      "tree": "bdbccabd938d1fe85d1502afbaaee52a07a1ff9c",
      "parents": [
        "dcc7e3a6a2a2464cf96dee329f7c58fe8c230d97"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Aug 26 09:45:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 28 17:08:28 2011 -0400"
      },
      "message": "net: Define NETDEV_FCOE_WWNN, NETDEV_FCOE_WWPN only when CONFIG_LIBFCOE is enabled\n\nbnx2fc driver calls netdev-\u003enetdev_ops-\u003endo_fcoe_get_wwn() and it may not\nbe defined with the current Kconfig dependencies.  ndo_fcoe_get_wwn is\ndependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it does\nnot depend on fcoe driver. Since both fcoe and bnx2fc drivers select\nCONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when\nCONFIG_LIBFCOE is defined.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nReviewed-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc59ba399113fcbcac56ba22edde4b816199d48c",
      "tree": "16c9023b050de412a934008b99eb8c2cf3464be1",
      "parents": [
        "165c68d5a291537eaf2d3821a19335c9ec100ba6"
      ],
      "author": {
        "name": "chetan loke",
        "email": "loke.chetan@gmail.com",
        "time": "Thu Aug 25 10:43:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:38:44 2011 -0400"
      },
      "message": "af_packet: Prefixed tpacket_v3 structs to avoid name space collision\n\nstructs introduced in tpacket_v3 implementation are prefixed with \u0027tpacket\u0027\nto avoid namespace collision.\n\nCompile tested.\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "767df1c7174406127d3619c2f7a862655b34074f",
      "tree": "e4b83805286bd2f8677ee29353a87adfbe56c1db",
      "parents": [
        "5740bb569303a1272cf082a652c020e980e4781b"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:46:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:51 2011 -0400"
      },
      "message": "headers, can: Add missing #include to \u003clinux/can/bcm.h\u003e\n\n\u003clinux/can/bcm.h\u003e uses type canid_t, defined in \u003clinux/can.h\u003e.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5740bb569303a1272cf082a652c020e980e4781b",
      "tree": "b7aebce759cb510a21e6e34ac62f583aa6073bb2",
      "parents": [
        "598aaff2ee05c91728e5845956dd9754ed04315c"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:45:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, xtables: Add missing #include \u003clinux/netfilter.h\u003e\n\nVarious headers use union nf_inet_addr, defined in \u003clinux/netfilter.h\u003e.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "598aaff2ee05c91728e5845956dd9754ed04315c",
      "tree": "6f537ce36316252140a3350c468584e7bd8733ab",
      "parents": [
        "3828620bc0c2d055c3e66c075de4c2a609baec26"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:45:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, netfilter: Add missing #include \u003climits.h\u003e for userland\n\nVarious headers use INT_MIN and INT_MAX, which are defined for\nuserland in \u003climits.h\u003e.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3828620bc0c2d055c3e66c075de4c2a609baec26",
      "tree": "89e9ddd201f8599e47890f7fb5af327132c1fee7",
      "parents": [
        "7ff30c43f316f1febcfb6e84d511ab34ea433e7b"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:45:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, tipc: Add missing #include to \u003clinux/tipc_config.h\u003e for userland\n\n\u003clinux/tipc_config.h\u003e defines inline functions using ntohs() etc.\nFor userland these are defined in \u003carpa/inet.h\u003e.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ff30c43f316f1febcfb6e84d511ab34ea433e7b",
      "tree": "597da153649ad5c1f7e0934749d96d3bb9cb3bca",
      "parents": [
        "bcb949b8847655516ba499ca75cd8529f167e360"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:44:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, netfilter: Use kernel type names __u8, __u16, __u32\n\nThese types are guaranteed to be defined by \u003clinux/types.h\u003e for\nboth userland and kernel, unlike u_intN_t.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcb949b8847655516ba499ca75cd8529f167e360",
      "tree": "7e5457a45e5ddf1381bffc9cfe793504afe10696",
      "parents": [
        "d4b172d2ecb99edfb6afce6af8a65447af347543"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:43:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, net: Use __kernel_sa_family_t in more definitions shared with userland\n\nComplete the work started with commit\n6602a4baf4d1a73cc4685a39ef859e1c5ddf654c (\u0027net: Make userland include\nof netlink.h more sane\u0027).\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4b172d2ecb99edfb6afce6af8a65447af347543",
      "tree": "90498aa19696d1bd87b93c6a530c13dada7773ae",
      "parents": [
        "c2e0cd88691f214fdeacb63bbd823703456a1617"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:43:50 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, pppol2tp: Use __kernel_pid_t in \u003clinux/pppol2tp.h\u003e\n\n\u003clinux/types.h\u003e defines __kernel_pid_t for userland; pid_t is\ndefined elsewhere (and potentially differently).\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2e0cd88691f214fdeacb63bbd823703456a1617",
      "tree": "9d1782b5ae8ce94307091e6fd4db9800bcf3fd18",
      "parents": [
        "22ad72b0277b02d4b4dee99ae69a58f616a46435"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:43:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, ax25: Add missing #include to \u003clinux/netrom.h\u003e, \u003clinux/rose.h\u003e\n\nThese headers use the ax25_address type defined in \u003clinux/ax25.h\u003e.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22ad72b0277b02d4b4dee99ae69a58f616a46435",
      "tree": "e3de95068cd643b3e9b612e59a1e38ce69f50928",
      "parents": [
        "0856a304091b33a8e8f9f9c98e776f425af2b625"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Aug 24 18:40:48 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:02:50 2011 -0400"
      },
      "message": "headers, pppox: Add missing #include to \u003clinux/if_pppox.h\u003e\n\n\u003clinux/if_ppox.h\u003e uses ETH_ALEN, defined in \u003clinux/if_ether.h\u003e.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c75786c9ef9e726dc139325a775e90a684b00ed7",
      "tree": "90ea19402f4f63217f79410a2909c0c943851927",
      "parents": [
        "a21fa87e3a3a8390f17f53967baa574f4e1e1e76"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Tue Aug 23 14:37:46 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 26 10:47:56 2011 -0400"
      },
      "message": "nl80211/cfg80211: add STA WME parameters\n\nAdd new NL80211_ATTR_STA_WME nested attribute that contains\nwme params needed by the low-level driver (uapsd_queues and\nmax_sp).\n\nAdd these params to the station_parameters struct as well.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a262f0cdf1f2916ea918dc329492abb5323d9a6c",
      "tree": "976cd31c3ea365f5810a154a1c77c75fb299c5fe",
      "parents": [
        "f6fb8f100b807378fda19e83e5ac6828b638603a"
      ],
      "author": {
        "name": "Nandita Dukkipati",
        "email": "nanditad@google.com",
        "time": "Sun Aug 21 20:21:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 19:40:40 2011 -0700"
      },
      "message": "Proportional Rate Reduction for TCP.\n\nThis patch implements Proportional Rate Reduction (PRR) for TCP.\nPRR is an algorithm that determines TCP\u0027s sending rate in fast\nrecovery. PRR avoids excessive window reductions and aims for\nthe actual congestion window size at the end of recovery to be as\nclose as possible to the window determined by the congestion control\nalgorithm. PRR also improves accuracy of the amount of data sent\nduring loss recovery.\n\nThe patch implements the recommended flavor of PRR called PRR-SSRB\n(Proportional rate reduction with slow start reduction bound) and\nreplaces the existing rate halving algorithm. PRR improves upon the\nexisting Linux fast recovery under a number of conditions including:\n  1) burst losses where the losses implicitly reduce the amount of\noutstanding data (pipe) below the ssthresh value selected by the\ncongestion control algorithm and,\n  2) losses near the end of short flows where application runs out of\ndata to send.\n\nAs an example, with the existing rate halving implementation a single\nloss event can cause a connection carrying short Web transactions to\ngo into the slow start mode after the recovery. This is because during\nrecovery Linux pulls the congestion window down to packets_in_flight+1\non every ACK. A short Web response often runs out of new data to send\nand its pipe reduces to zero by the end of recovery when all its packets\nare drained from the network. Subsequent HTTP responses using the same\nconnection will have to slow start to raise cwnd to ssthresh. PRR on\nthe other hand aims for the cwnd to be as close as possible to ssthresh\nby the end of recovery.\n\nA description of PRR and a discussion of its performance can be found at\nthe following links:\n- IETF Draft:\n    http://tools.ietf.org/html/draft-mathis-tcpm-proportional-rate-reduction-01\n- IETF Slides:\n    http://www.ietf.org/proceedings/80/slides/tcpm-6.pdf\n    http://tools.ietf.org/agenda/81/slides/tcpm-2.pdf\n- Paper to appear in Internet Measurements Conference (IMC) 2011:\n    Improving TCP Loss Recovery\n    Nandita Dukkipati, Matt Mathis, Yuchung Cheng\n\nSigned-off-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d4691ce112be025019999df5f2a5e00c03f03c2",
      "tree": "629146e87693072a265bdb96b99c84605a1a9ce2",
      "parents": [
        "44331fe2aa0d7eed54e68484df58e9e00aee0f6e"
      ],
      "author": {
        "name": "chetan loke",
        "email": "loke.chetan@gmail.com",
        "time": "Fri Aug 19 10:18:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 19:40:39 2011 -0700"
      },
      "message": "af-packet: Added TPACKET_V3 headers.\n\nAdded TPACKET_V3 definitions.\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2ab69379a941c6f8884e290fdd28c93936a778",
      "tree": "c02aa9c5ed66b1640b54bb6b763d131b9419be29",
      "parents": [
        "15133fbbb91ae695f153fb48daa6a1a8af4a5032"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Mon Aug 22 23:44:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 17:52:11 2011 -0700"
      },
      "message": "net: convert core to skb paged frag APIs\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \"Michał Mirosław\" \u003cmirq-linux@rere.qmqm.pl\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8753043f9fbabffbf087c7f4b514c50ef89541e",
      "tree": "2c4b382a21500c228005a43e48134d39fdcccbe8",
      "parents": [
        "4e0d8cc1006b889909a87f824943bad9a56358e8"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Aug 19 15:47:11 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 24 14:41:44 2011 -0400"
      },
      "message": "NFC: Reserve tx head and tail room\n\nWe can have the NFC core layer allocating the tx head and tail\nroom for the drivers and avoid 1 or more SKBs copy on write on\nthe Tx path.\n\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "16dd7267f460739b3e29d984e73f05c5ffe2b142",
      "tree": "2902dddb8d8ef045ae64bff734eb400bf8a23fb7",
      "parents": [
        "0507e159a2b590666982b53ecf6fb2843a5bb423"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Tue Aug 09 16:45:11 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 24 13:59:43 2011 -0400"
      },
      "message": "{nl,cfg,mac}80211: let userspace make meshif mesh gate\n\nAllow userspace to set NL80211_MESHCONF_GATE_ANNOUNCEMENTS attribute,\nwhich will advertise this mesh node as being a mesh gate.\nNL80211_HWMP_ROOTMODE must be set or this will do nothing.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0507e159a2b590666982b53ecf6fb2843a5bb423",
      "tree": "a5c0aefae3ea789fb1b0ef9019372e534b93aecc",
      "parents": [
        "699403dbd41998a56d1d92d612ac261e5085a99f"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Tue Aug 09 16:45:10 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 24 13:59:43 2011 -0400"
      },
      "message": "{nl,cfg,mac}80211: let userspace set RANN interval\n\nAllow userspace to set Root Announcement Interval for our mesh\ninterface. Also, RANN interval is now in proper units of TUs.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ee68e5b39de5cefecf147c58711f8ab01c21231",
      "tree": "59a39c4dc5a38497aa786689552136d95c690ecf",
      "parents": [
        "00e3f25c8556384bfec2a168c41e885fa6a7748c"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Tue Aug 09 16:45:08 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 24 13:59:42 2011 -0400"
      },
      "message": "mac80211: mesh gate implementation\n\nIn this implementation, a mesh gate is a root node with a certain bit\nset in its RANN flags. The mpath to this root node is marked as a path\nto a gate, and added to our list of known gates for this if_mesh. Once a\npath discovery process fails, we forward the unresolved frames to a\nknown gate. Thanks to Luis Rodriguez for refactoring and bug fix help.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "131ea6675c761f655d43b808dd0fe83d15d5cdd3",
      "tree": "0d8cb6a3ea524f216d846f172c218fababead4a0",
      "parents": [
        "7ae9ed8d3221c9f7dd4bc2773ff58797487d5ed8"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Fri Aug 19 06:25:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 22 16:59:54 2011 -0700"
      },
      "message": "net: add APIs for manipulating skb page fragments.\n\nThe primary aim is to add skb_frag_(ref|unref) in order to remove the use of\nbare get/put_page on SKB pages fragments and to isolate users from subsequent\nchanges to the skb_frag_t data structure.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \"Michał Mirosław\" \u003cmirq-linux@rere.qmqm.pl\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25d49e4d63564c7004a4d6735d1d8c3cc41a7394",
      "tree": "c052863386c4744beb808283cc3a3ff768d417e6",
      "parents": [
        "36c704fded53ee0d6866e8ae7f7e3d29cd4315b9"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Aug 11 19:35:15 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:46:00 2011 -0400"
      },
      "message": "mac80211: update mesh path selection frame format\n\nMake mesh path selection frames Mesh Action category, remove outdated\nMesh Path Selection category and defines, use updated reason codes, add\nmesh_action_is_path_sel for readability, and update/correct path\nselection IEs.\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "36c704fded53ee0d6866e8ae7f7e3d29cd4315b9",
      "tree": "3f3cc0d40633f783a2e6840a1455bd541f8a0087",
      "parents": [
        "8db098507c5cbe499061d0f6aea426a36e7c72d7"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Aug 11 19:35:14 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:46:00 2011 -0400"
      },
      "message": "ieee80211: add mesh action codes\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8db098507c5cbe499061d0f6aea426a36e7c72d7",
      "tree": "bf7062fff64f56ae376cb16ffa5c3cd85c09296b",
      "parents": [
        "54ef656b05103f700ff8fc2aaf0382cfd0e54fe4"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Fri Aug 12 20:01:00 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:46:00 2011 -0400"
      },
      "message": "mac80211: update mesh peering frame format\n\nThis patch updates the mesh peering frames to the format specified in\nthe recently ratified 802.11s standard. Several changes took place to\nmake this happen:\n\n\t- Change RX path to handle new self-protected frames\n\t- Add new Peering management IE\n\t- Remove old Peer Link IE\n\t- Remove old plink_action field in ieee80211_mgmt header\n\nThese changes by themselves would either break peering, or work by\ncoincidence, so squash them all into this patch.\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6709a6d96e0f9b05a07999f720a15389ad242a4a",
      "tree": "236f73a734aef35b65a766506a26d774da600a05",
      "parents": [
        "082ebb0c258d28af7452b19df9ef8b7553f37690"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Aug 11 19:35:11 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:45:59 2011 -0400"
      },
      "message": "ieee80211: introduce Self Protected Action codes\n\n802.11s introduces a new action frame category, add action codes as well\nas an entry in ieee80211_mgmt.\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "984e5befbafe2799be28c2209226a82fb3a3be7a",
      "tree": "a43f9648318a32724e5f5ed3204954f77bbdf024",
      "parents": [
        "17030f48e31adde5b043741c91ba143f5f7db0fd"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Thu Aug 11 23:46:44 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:45:59 2011 -0400"
      },
      "message": "bcma: implement BCM4331 workaround for external PA lines\n\nWe need to disable ext. PA lines for reading SPROM. It\u0027s disabled by\ndefault, but this patch allows using bcma after loading wl, which leaves\nworkaround enabled.\n\nCc: Arend van Spriel \u003carend@broadcom.com\u003e\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c1407b6cb22245ae8653cfc195530a9b8eb52879",
      "tree": "dc022758c715489691a0c4e5a927c1fa3398fd36",
      "parents": [
        "2a190322d4390bbd5184a2fd4f97bbef9f1f5b4e"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Aug 11 16:17:41 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:45:58 2011 -0400"
      },
      "message": "wireless: Introduce defines for BAR TID_INFO \u0026 MULTI_TID fields\n\nWhile at it also fix the indention of the other IEEE80211_BAR_CTRL_ defines.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b38d355eaa223e420d0c45ff7a3279ea811552c5",
      "tree": "4a6b3341e1b8b72afdc19e3b9bfe8c40219c04aa",
      "parents": [
        "ca1ba7caa68520864e4b9227e67f3bbc6fed373b",
        "af2bf4b4ee58d262a9a5c1d4ce6f81835058f8b5"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:28:50 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:28:50 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/staging/ath6kl/miscdrv/ar3kps/ar3kpsparser.c\n\tdrivers/staging/ath6kl/os/linux/ar6000_drv.c\n"
    },
    {
      "commit": "823dcd2506fa369aeb8cbd26da5663efe2fda9a9",
      "tree": "853b3e3c05f0b9ee1b5df8464db19b7acc57150c",
      "parents": [
        "eaa36660de7e174498618d69d7277d44a2f24c3d",
        "98e77438aed3cd3343cbb86825127b1d9d2bea33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 20 10:39:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 20 10:39:12 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "4ca2462e94b3b0a2fdd3b777ff2bd9bcd82c6096",
      "tree": "462f96b65cf6ce7bf4e6aaca5beb011a6c1dfe80",
      "parents": [
        "ae1511bf769cafeae5ab61aaf9947a16a22cbd10"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Aug 19 07:26:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 19 07:26:44 2011 -0700"
      },
      "message": "net: add the comment for skb-\u003el4_rxhash\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b81693d9149c598302e8eb9c20cb20330d922c8e",
      "tree": "450ac7ce3252d90d55c46c5a3c28dec8e2f2308c",
      "parents": [
        "afc4b13df143122f99a0eb10bfefb216c2806de0"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 16 06:29:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:22:03 2011 -0700"
      },
      "message": "net: remove ndo_set_multicast_list callback\n\nRemove no longer used operation.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01789349ee52e4a3faf376f1485303d9723c4f1f",
      "tree": "cea58b51337ffda221f67d47dd234e52f76f65cf",
      "parents": [
        "d03462b999307ec5c186851ec9c5751bd5a675f7"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 16 06:29:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:21:27 2011 -0700"
      },
      "message": "net: introduce IFF_UNICAST_FLT private flag\n\nUse IFF_UNICAST_FTL to find out if driver handles unicast address\nfiltering. In case it does not, promisc mode is entered.\n\nPatch also fixes following drivers:\nstmmac, niu: support uc filtering and yet it propagated\n\tndo_set_multicast_list\nbna, benet, pxa168_eth, ks8851, ks8851_mll, ksz884x : has set\n\tndo_set_rx_mode but do not support uc filtering\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdeab991918663aed38757904219e8398214334c",
      "tree": "bc6c02da7ed88e3e568677b4a35fb4e55de363de",
      "parents": [
        "792df22cd0499b4e662d4618b0008fdcfef8b04e"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Aug 14 19:45:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:06:03 2011 -0700"
      },
      "message": "rps: Add flag to skb to indicate rxhash is based on L4 tuple\n\nThe l4_rxhash flag was added to the skb structure to indicate\nthat the rxhash value was computed over the 4 tuple for the\npacket which includes the port information in the encapsulated\ntransport packet.  This is used by the stack to preserve the\nrxhash value in __skb_rx_tunnel.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a27fc96b0317b732b68b5f781bbdeb56ab5082a8",
      "tree": "f52b25ab7a0005f0bd1da684873c8de8c1f3b7cf",
      "parents": [
        "acf42a2a575777681fee45ed59d7140be38e9142"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Aug 15 14:09:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 16:36:15 2011 -0700"
      },
      "message": "ethtool: Note common alternate exit condition for interrupt coalescing\n\nMany implementations ignore the value of max_frames and do not\ntreat usecs \u003d\u003d 0 as special.  Document this as deprecated.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acf42a2a575777681fee45ed59d7140be38e9142",
      "tree": "8a5fc2c1005d389fedd4816926ab42d07fe96fd3",
      "parents": [
        "2d7c79390eccd743a643db3fa577f4837e7f2b85"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Aug 15 14:08:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 16:36:15 2011 -0700"
      },
      "message": "ethtool: Explicitly state the exit condition for interrupt coalescing\n\nAlso explicitly state how to disable interrupt coalescing.\n\nRemove the now-redundant text from field descriptions.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d7c79390eccd743a643db3fa577f4837e7f2b85",
      "tree": "9c13001aac43a3f3de9e9d60778968faf56a92b5",
      "parents": [
        "725b361b29ba9fb72705a30743d288ee66055209"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Aug 15 14:07:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 16:36:14 2011 -0700"
      },
      "message": "ethtool: Correct description of \u0027max_coalesced_frames\u0027 fields\n\nThe current descriptions state that these fields specify \u0027How many\npackets to delay ... after a packet ...\u0027 which implies that the\nhardware should wait for (max_coalesced_frames + 1) completions before\ngenerating an interrupt.  It is also stated that setting both this\nfield and the corresponding \u0027coalesce_usecs\u0027 field to 0 is invalid.\nTogether, this implies that the hardware must always be configured\nto delay a completion IRQ for at least 1 usec or 1 more completion.\n\nI believe that the addition of 1 is not intended, and David Miller\nconfirms that the original implementation (in tg3) does not do this.\nClarify the descriptions of these fields to avoid this interpretation.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "725b361b29ba9fb72705a30743d288ee66055209",
      "tree": "3334455ee379ec86e035244920926d0323caf4e8",
      "parents": [
        "5f308d195ed2ae227bea569c7c8a4563e04e0110"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Aug 15 14:07:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 16:36:14 2011 -0700"
      },
      "message": "ethtool: Specify what kind of coalescing struct ethtool_coalesce covers\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f308d195ed2ae227bea569c7c8a4563e04e0110",
      "tree": "541666b150dae8f80f8c9c5058589993997d204a",
      "parents": [
        "19e2f6fe9601ca5c846b7163e6d6d00f87b34760"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Aug 15 14:06:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 16:36:14 2011 -0700"
      },
      "message": "ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format\n\nThis reorders and duplicates some wording, but should make no\nsubstantive changes.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19e2f6fe9601ca5c846b7163e6d6d00f87b34760",
      "tree": "4c13d42b3aa0f8415f72bb075ac89841667a6cd9",
      "parents": [
        "ef37d38a1fe78ba627b8178af02df31e59b18896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 15 23:10:39 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 00:16:49 2011 -0700"
      },
      "message": "net: Fix sungem_phy sharing.\n\nSince sungem_phy is used by multiple, unrelated, drivers make it\nbuild as a real module under drivers/net.\n\ndepmod will pick up the symbol dependency and make sure sungem_phy.ko\ngets loaded any time sungem.ko or spider_net.ko is loaded.\n\nTested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bb698412d8aab0bfc3f269f5ebe8eb67d7cc8f4",
      "tree": "641177b2577c01119a8a25430f363963e9c20e66",
      "parents": [
        "b333293058aa2d401737c7246bce58f8ba00906d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 14 22:52:04 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 14 22:52:04 2011 -0700"
      },
      "message": "net: Move sungem_phy.h under include/linux\n\nFixes build failures of the spider_net driver because it tries\nto use a convoluted path to include this header.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dc83dfd3efa015628ebaa7245d342c8d5ca0298",
      "tree": "86baea1567da2c4796fbe0208704b10bdfaa7d1b",
      "parents": [
        "493d3971a65c921fad5c3369c7582214c91c965a"
      ],
      "author": {
        "name": "Frank Blaschka",
        "email": "frank.blaschka@de.ibm.com",
        "time": "Mon Aug 08 01:33:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 13 01:10:16 2011 -0700"
      },
      "message": "if_ether: add new Ethernet Protocol ID for af_iucv\n\nAdd a new ethertype for af_iucv over s/390 HiperSockets transport. Since\nHiperSockets is not a real ethernet hw this is not an officially registered ID.\n\nSigned-off-by: Frank Blaschka \u003cfrank.blaschka@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73e0881d31406acc09eb11fa073108b43c89124e",
      "tree": "8195f49c5f1b7e06caf3df36b4a1882902a83277",
      "parents": [
        "e211bc8d96d45799cab1be46f4367327d5f629ba",
        "89272b8c0d427021bed70b1b83e1a16be375ccf5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 21:59:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 21:59:09 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt: add empty of_get_property for non-dt\n"
    },
    {
      "commit": "9946ecfb510462e59afddb2a992da804d58b6bcd",
      "tree": "2eb7792cf6363f33f41d0532cb218ad86120f3bb",
      "parents": [
        "5fb628e9105eef6796789b1ae93289e1566ccdf0"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni@qca.qualcomm.com",
        "time": "Wed Aug 10 23:55:56 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 12 13:45:04 2011 -0400"
      },
      "message": "nl80211/cfg80211: Add extra IE configuration to AP mode setup\n\nThe NL80211_CMD_NEW_BEACON command is, in practice, requesting AP mode\noperations to be started. Add new attributes to provide extra IEs\n(e.g., WPS IE, P2P IE) for drivers that build Beacon, Probe Response,\nand (Re)Association Response frames internally (likely in firmware).\n\nSigned-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5fb628e9105eef6796789b1ae93289e1566ccdf0",
      "tree": "3d1e9eef06be596bdd0ab936b8527202afac42e7",
      "parents": [
        "32e9de846be885444358b67267f837088c05e0c2"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni@qca.qualcomm.com",
        "time": "Wed Aug 10 23:54:35 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 12 13:45:04 2011 -0400"
      },
      "message": "nl80211/cfg80211: Add crypto settings into NEW_BEACON\n\nThis removes need from drivers to parse the beacon tail/head data\nto figure out what crypto settings are to be used in AP mode in case\nthe Beacon and Probe Response frames are fully constructed in the\ndriver/firmware.\n\nSigned-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "32e9de846be885444358b67267f837088c05e0c2",
      "tree": "181a4b23ab44337fdb72e7e0f5f1c0874154f21f",
      "parents": [
        "0879fa44b54101c9955123582018cb511047a2b6"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni@qca.qualcomm.com",
        "time": "Wed Aug 10 23:53:31 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 12 13:45:03 2011 -0400"
      },
      "message": "nl80211/cfg80211: Allow SSID to be specified in new beacon command\n\nThis makes it easier for drivers that generate Beacon and Probe Response\nframes internally (in firmware most likely) in AP mode.\n\nSigned-off-by: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ce8a84ef1e4b30bcee78aa99bc1032db90a6c1c4",
      "tree": "3faf99c6fbd99eedce3ad2193ce779c25bfc8064",
      "parents": [
        "eeca7360f756f7e36e846f35018df20808c7ef63",
        "d80bcf46f1dae47805260dc60fb900cc4dabe35e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 06:43:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 06:43:53 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)\n  e1000e: increase driver version number\n  e1000e: alternate MAC address update\n  e1000e: do not disable receiver on 82574/82583\n  e1000e: alternate MAC address does not work on device id 0x1060\n  PCnet: Fix section mismatch\n  bnx2x: disable dcb on 578xx since not supported yet\n  bnx2x: properly clean indirect addresses\n  bnx2x: prevent race between undi_unload and load flows\n  bnx2x: fix select_queue when FCoE is disabled\n  bnx2x: init FCOE FP only once\n  ipv4: some rt_iif -\u003e rt_route_iif conversions\n  net/bridge/netfilter/ebtables.c: use available error handling code\n  net/netlabel/netlabel_kapi.c: add missing cleanup code\n  net/irda: sh_sir: tidyup compile warning\n  net/irda: sh_sir: add missing header\n  net/irda: sh_irda: add missing header\n  slcan: ldisc generated skbs are received in softirq context\n  scm: Capture the full credentials of the scm sender\n  tcp: initialize variable ecn_ok in syncookies path\n  drivers/net/wireless/wl1251: add missing kfree\n  ...\n"
    },
    {
      "commit": "72fa59970f8698023045ab0713d66f3f4f96945c",
      "tree": "ed9a5eaf8212270d464c6d4396ae5a568352a997",
      "parents": [
        "1d229d54dbc26971142f61c3d271a68db236d178"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Mon Aug 08 19:02:04 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 11:24:42 2011 -0700"
      },
      "message": "move RLIMIT_NPROC check from set_user() to do_execve_common()\n\nThe patch http://lkml.org/lkml/2003/7/13/226 introduced an RLIMIT_NPROC\ncheck in set_user() to check for NPROC exceeding via setuid() and\nsimilar functions.\n\nBefore the check there was a possibility to greatly exceed the allowed\nnumber of processes by an unprivileged user if the program relied on\nrlimit only.  But the check created new security threat: many poorly\nwritten programs simply don\u0027t check setuid() return code and believe it\ncannot fail if executed with root privileges.  So, the check is removed\nin this patch because of too often privilege escalations related to\nbuggy programs.\n\nThe NPROC can still be enforced in the common code flow of daemons\nspawning user processes.  Most of daemons do fork()+setuid()+execve().\nThe check introduced in execve() (1) enforces the same limit as in\nsetuid() and (2) doesn\u0027t create similar security issues.\n\nNeil Brown suggested to track what specific process has exceeded the\nlimit by setting PF_NPROC_EXCEEDED process flag.  With the change only\nthis process would fail on execve(), and other processes\u0027 execve()\nbehaviour is not changed.\n\nSolar Designer suggested to re-check whether NPROC limit is still\nexceeded at the moment of execve().  If the process was sleeping for\ndays between set*uid() and execve(), and the NPROC counter step down\nunder the limit, the defered execve() failure because NPROC limit was\nexceeded days ago would be unexpected.  If the limit is not exceeded\nanymore, we clear the flag on successful calls to execve() and fork().\n\nThe flag is also cleared on successful calls to set_user() as the limit\nwas exceeded for the previous user, not the current one.\n\nSimilar check was introduced in -ow patches (without the process flag).\n\nv3 - clear PF_NPROC_EXCEEDED on successful calls to set_user().\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "454496fd05b1463efa46ec7a42576e3d319cc291",
      "tree": "695c186e173bfb21fb77a820a130b117c67bde3e",
      "parents": [
        "f749b94679c71a9c74ad9509dbbf00d8f3d620ad"
      ],
      "author": {
        "name": "Rafał Miłecki",
        "email": "zajec5@gmail.com",
        "time": "Sat Jul 23 11:10:11 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 09 15:38:57 2011 -0400"
      },
      "message": "ssb: define boardflags\n\nThey are SPROM specific, so all should be defined in ssb code.\n\nSigned-off-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "89272b8c0d427021bed70b1b83e1a16be375ccf5",
      "tree": "ad7a4502c8585e8b1c165eabebd9b2ce10c163bb",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Aug 05 16:50:30 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Aug 09 11:27:16 2011 -0600"
      },
      "message": "dt: add empty of_get_property for non-dt\n\nThe patch adds empty function of_get_property for non-dt build, so that\ndrivers migrating to dt can save some \u0027#ifdef CONFIG_OF\u0027.\n\nThis also fixes the current Tegra compile problem in linux-next.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5c723ba5b7886909b2e430f2eae454c33f7fe5c6",
      "tree": "4111bfcba622b375d5dd6955fca5252753f283a1",
      "parents": [
        "2f84dd70916ccadd25e94d28363182a978f569b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jul 27 12:17:11 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 12:11:02 2011 -0700"
      },
      "message": "mm: Fix fixup_user_fault() for MMU\u003dn\n\nIn commit 2efaca927f5c (\"mm/futex: fix futex writes on archs with SW\ntracking of dirty \u0026 young\") we forgot about MMU\u003dn.  This patch fixes\nthat.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1311761831.24752.413.camel@twins\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "638a8439096c582bdb523fcea9d875d3e1fed38a",
      "tree": "096f759911f2b3346e30c5ddba61537b1ef42c28",
      "parents": [
        "27e4e4362756a78b15e83ef104c8bbe257f40f90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 11:33:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 11:33:23 2011 -0700"
      },
      "message": "cred: use \u0027const\u0027 in get_current_{user,groups}\n\nAvoid annoying warnings from these functions (\"discards qualifiers\")\nbecause they assign \u0027current_cred()\u0027 to a non-const pointer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "908debc8da0d5a91418f71c6a462f62bd2ac69ef",
      "tree": "886072e213b3a67650a53574be916ec105d15b61",
      "parents": [
        "e3afe0e5be7576ac1282ea9fbbc9b352bb379227"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Sat Jul 23 01:20:11 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 14:29:29 2011 -0400"
      },
      "message": "bcma: get CPU clock\n\nAdd method to return the clock of the CPU. This is needed by the arch\ncode to calculate the mips_hpt_frequency.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3afe0e5be7576ac1282ea9fbbc9b352bb379227",
      "tree": "0b74e8bd5e45b2d50f9fa2033674a00aeac5f6ae",
      "parents": [
        "21e0534ad7415559bb8dee0dc00e39646fed83c9"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Sat Jul 23 01:20:10 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 14:29:28 2011 -0400"
      },
      "message": "bcma: add serial console support\n\nThis adds support for serial console to bcma, when operating on an SoC.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "21e0534ad7415559bb8dee0dc00e39646fed83c9",
      "tree": "e9e082dfdf6ce9798d6201f1ae4109b68b11920a",
      "parents": [
        "ecd177c21640e92b059a71139f5850243a8f0942"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Sat Jul 23 01:20:09 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 14:29:26 2011 -0400"
      },
      "message": "bcma: add mips driver\n\nThis adds a mips driver to bcma. This is only found on embedded\ndevices. For now the driver just initializes the irqs used on this\nsystem.\n\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ecd177c21640e92b059a71139f5850243a8f0942",
      "tree": "70ed92f7b63087bec0a6036dca1c81403d65c86d",
      "parents": [
        "517f43e5a922d51ac960424de4f72676fe6a7390"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Sat Jul 23 01:20:08 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 14:29:25 2011 -0400"
      },
      "message": "bcma: add SOC bus\n\nThis patch adds support for using bcma on a Broadcom SoC as the system\nbus. An SoC like the bcm4716 could register this bus and use it to\nsearches for the bcma cores and register the devices on this bus.\n\nBCMA_HOSTTYPE_NONE was intended for SoCs at first but BCMA_HOSTTYPE_SOC\nis a better name.\n\nAcked-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "517f43e5a922d51ac960424de4f72676fe6a7390",
      "tree": "02920911d43c4e480ac0eba21c15587776b16d6b",
      "parents": [
        "67a5c29e1623edda5ff3f0355af533e72a245ad9"
      ],
      "author": {
        "name": "Hauke Mehrtens",
        "email": "hauke@hauke-m.de",
        "time": "Sat Jul 23 01:20:07 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 14:29:24 2011 -0400"
      },
      "message": "bcma: add functions to scan cores needed on SoCs\n\nThe chip common and mips core have to be setup early in the boot\nprocess to get the cpu clock.\nbcma_bus_early_register() gets pointers to some space to store the core\ndata and searches for the chip common and mips core and initializes\nchip common. After that was done and the kernel is out of early boot we\njust have to run bcma_bus_register() and it will search for the other\ncores, initialize and register them.\nThe cores are getting the same numbers as before.\n\nAcked-by: Rafał Miłecki \u003czajec5@gmail.com\u003e\nSigned-off-by: Hauke Mehrtens \u003chauke@hauke-m.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "27e4e4362756a78b15e83ef104c8bbe257f40f90",
      "tree": "e94ce9e5540cc8e2ae9a06aa398bc16a364c29b2",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Aug 08 15:54:53 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 09:03:16 2011 -0700"
      },
      "message": "CRED: Restore const to current_cred()\n\nCommit 3295514841c2 (\"fix rcu annotations noise in cred.h\") accidentally\ndropped the const of current-\u003ecred inside current_cred() by the\ninsertion of a cast to deal with an RCU annotation loss warning from\nsparce.\n\nUse an appropriate RCU wrapper instead so as not to lose the const.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\ncc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6602a4baf4d1a73cc4685a39ef859e1c5ddf654c",
      "tree": "d25eac2abeb52608af77e55b1acd56c8904aecea",
      "parents": [
        "dd23198e58cd35259dd09e8892bbdb90f1d57748"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 22:48:07 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 22:48:07 2011 -0700"
      },
      "message": "net: Make userland include of netlink.h more sane.\n\nCurrently userland will barf when including linux/netlink.h unless it\nprecisely includes sys/socket.h first.  The issue is where the\ndefinition of \"sa_family_t\" comes from.\n\nWe\u0027ve been back and forth on how to fix this issue in the past, see:\n\nhttp://thread.gmane.org/gmane.linux.debian.devel.bugs.general/622621\nhttp://thread.gmane.org/gmane.linux.network/143380\n\nBen Hutchings suggested we take a hint from how we handle the\nsockaddr_storage type.  First we define a \"__kernel_sa_family_t\"\nto linux/socket.h that is always defined.\n\nThen if __KERNEL__ is defined, we also define \"sa_family_t\" as\nequal to \"__kernel_sa_family_t\".\n\nThen in places like linux/netlink.h we use __kernel_sa_family_t\nin user visible datastructures.\n\nReported-by: Michel Machado \u003cmichel@digirati.com.br\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3295514841c2112d94451ba5deaf54f5afb78ea9",
      "tree": "6df351cb1febbcd011d24fcf99d1b08167c68d5e",
      "parents": [
        "7813b94a54987571082ff19e9d87eabbfec23b4e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Aug 07 18:55:11 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 07 13:42:35 2011 -0700"
      },
      "message": "fix rcu annotations noise in cred.h\n\ntask-\u003ecred is declared as __rcu, and access to other tasks\u0027 -\u003ecred is,\nindeed, protected.  Access to current-\u003ecred does not need rcu_dereference()\nat all, since only the task itself can change its -\u003ecred.  sparse, of\ncourse, has no way of knowing that...\n\nAdd force-cast in current_cred(), make current_fsuid() et.al. use it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2f340a69cabe0fb7b9f02d1a2495927db225a06",
      "tree": "dd9bc3125f833adf163c47542917ebc18b1acc56",
      "parents": [
        "3ddcd0569cd68f00f3beae9a7959b72918bb91f4",
        "cf283ade08c454e884394a4720f22421dd33a715"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:56:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:56:03 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  ore: Make ore its own module\n  exofs: Rename raid engine from exofs/ios.c \u003d\u003e ore\n  exofs: ios: Move to a per inode components \u0026 device-table\n  exofs: Move exofs specific osd operations out of ios.c\n  exofs: Add offset/length to exofs_get_io_state\n  exofs: Fix truncate for the raid-groups case\n  exofs: Small cleanup of exofs_fill_super\n  exofs: BUG: Avoid sbi realloc\n  exofs: Remove pnfs-osd private definitions\n  nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4\n"
    },
    {
      "commit": "3ddcd0569cd68f00f3beae9a7959b72918bb91f4",
      "tree": "3f7c591316560b1c22e2cc0700fbcd29aa3fbd7f",
      "parents": [
        "830c0f0edca67403d361fe976a25b17356c11f19"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:45:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:53:23 2011 -0700"
      },
      "message": "vfs: optimize inode cache access patterns\n\nThe inode structure layout is largely random, and some of the vfs paths\nreally do care.  The path lookup in particular is already quite D$\nintensive, and profiles show that accessing the \u0027inode-\u003ei_op-\u003exyz\u0027\nfields is quite costly.\n\nWe already optimized the dcache to not unnecessarily load the d_op\nstructure for members that are often NULL using the DCACHE_OP_xyz bits\nin dentry-\u003ed_flags, and this does something very similar for the inode\nops that are used during pathname lookup.\n\nIt also re-orders the fields so that the fields accessed by \u0027stat\u0027 are\ntogether at the beginning of the inode structure, and roughly in the\norder accessed.\n\nThe effect of this seems to be in the 1-2% range for an empty kernel\n\"make -j\" run (which is fairly kernel-intensive, mostly in filename\nlookup), so it\u0027s visible.  The numbers are fairly noisy, though, and\nlikely depend a lot on exact microarchitecture.  So there\u0027s more tuning\nto be done.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "830c0f0edca67403d361fe976a25b17356c11f19",
      "tree": "b4bfc71ab9aaff0e8b65403c319dde519dd6f9ef",
      "parents": [
        "7cd4767e696123cdb7447fbd7c281eb8c610c8e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:41:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:52:40 2011 -0700"
      },
      "message": "vfs: renumber DCACHE_xyz flags, remove some stale ones\n\nGcc tends to generate better code with small integers, including the\nDCACHE_xyz flag tests - so move the common ones to be first in the list.\nAlso just remove the unused DCACHE_INOTIFY_PARENT_WATCHED and\nDCACHE_AUTOFS_PENDING values, their users no longer exists in the source\ntree.\n\nAnd add a \"unlikely()\" to the DCACHE_OP_COMPARE test, since we want the\ncommon case to be a nice straight-line fall-through.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cd4767e696123cdb7447fbd7c281eb8c610c8e4",
      "tree": "8a44dfbe0a131f6036eab36f887a058e9750fe69",
      "parents": [
        "1957e7fdefce4494cb8d8f09ee2317b7ede24994",
        "6e5714eaf77d79ae1c8b47e3e040ff5411b717ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:12:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 22:12:37 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  net: Compute protocol sequence numbers and fragment IDs using MD5.\n  crypto: Move md5_transform to lib/md5.c\n"
    },
    {
      "commit": "6e5714eaf77d79ae1c8b47e3e040ff5411b717ec",
      "tree": "30bd0d7a6a0a6ff0ace6da1835ae7b7167cce5e4",
      "parents": [
        "bc0b96b54a21246e377122d54569eef71cec535f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 20:50:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 18:33:19 2011 -0700"
      },
      "message": "net: Compute protocol sequence numbers and fragment IDs using MD5.\n\nComputers have become a lot faster since we compromised on the\npartial MD4 hash which we use currently for performance reasons.\n\nMD5 is a much safer choice, and is inline with both RFC1948 and\nother ISS generators (OpenBSD, Solaris, etc.)\n\nFurthermore, only having 24-bits of the sequence number be truly\nunpredictable is a very serious limitation.  So the periodic\nregeneration and 8-bit counter have been removed.  We compute and\nuse a full 32-bit sequence number.\n\nFor ipv6, DCCP was found to use a 32-bit truncated initial sequence\nnumber (it needs 43-bits) and that is fixed here as well.\n\nReported-by: Dan Kaminsky \u003cdan@doxpara.com\u003e\nTested-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc0b96b54a21246e377122d54569eef71cec535f",
      "tree": "b9cb6230c79da4b3a146af7d08c6c26f8d72024c",
      "parents": [
        "de96355c111679dd6e2c5c73e25e814c72510c58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 19:45:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 18:32:45 2011 -0700"
      },
      "message": "crypto: Move md5_transform to lib/md5.c\n\nWe are going to use this for TCP/IP sequence number and fragment ID\ngeneration.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2560540b78b48c8050f56e8ff5903c11a4f7a16e",
      "tree": "fca860f19ef6845e0d61dad8d8e3648c059b4ecd",
      "parents": [
        "45a05f9488911851f7a5c536df80b41f0105caf0",
        "15b956a0b5651bbb1217ec374fdd67291dabb2af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 13:26:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 13:26:15 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (38 commits)\n  acer-wmi: support Lenovo ideapad S205 wifi switch\n  acerhdf.c: spaces in aliased changed to *\n  platform-drivers-x86: ideapad-laptop: add missing ideapad_input_exit in ideapad_acpi_add error path\n  x86 driver: fix typo in TDP override enabling\n  Platform: fix samsung-laptop DMI identification for N150/N210/220/N230\n  dell-wmi: Add keys for Dell XPS L502X\n  platform-drivers-x86: samsung-q10: make dmi_check_callback return 1\n  Platform: Samsung Q10 backlight driver\n  platform-drivers-x86: intel_scu_ipc: convert to DEFINE_PCI_DEVICE_TABLE\n  platform-drivers-x86: intel_rar_register: convert to DEFINE_PCI_DEVICE_TABLE\n  platform-drivers-x86: intel_menlow: add missing return AE_OK for intel_menlow_register_sensor()\n  platform-drivers-x86: intel_mid_thermal: fix memory leak\n  platform-drivers-x86: msi-wmi: add missing sparse_keymap_free in msi_wmi_init error path\n  Samsung Laptop platform driver: support N510\n  asus-wmi: add uwb rfkill support\n  asus-wmi: add gps rfkill support\n  asus-wmi: add CWAP support and clarify the meaning of WAPF bits\n  asus-wmi: return proper value in store_cpufv()\n  asus-wmi: check for temp1 presence\n  asus-wmi: add thermal sensor\n  ...\n"
    },
    {
      "commit": "1eb19a12bd2214cdcad5273d472b062a4ba97fa1",
      "tree": "a88b76f31a4ea5e3631581be249759fcf4b05a08",
      "parents": [
        "de96355c111679dd6e2c5c73e25e814c72510c58"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Fri Aug 05 18:46:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 11:26:52 2011 -0700"
      },
      "message": "lib/sha1: use the git implementation of SHA-1\n\nFor ChromiumOS, we use SHA-1 to verify the integrity of the root\nfilesystem.  The speed of the kernel sha-1 implementation has a major\nimpact on our boot performance.\n\nTo improve boot performance, we investigated using the heavily optimized\nsha-1 implementation used in git.  With the git sha-1 implementation, we\nsee a 11.7% improvement in boot time.\n\n10 reboots, remove slowest/fastest.\n\nBefore:\n\n  Mean: 6.58 seconds Stdev: 0.14\n\nAfter (with git sha-1, this patch):\n\n  Mean: 5.89 seconds Stdev: 0.07\n\nThe other cool thing about the git SHA-1 implementation is that it only\nneeds 64 bytes of stack for the workspace while the original kernel\nimplementation needed 320 bytes.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ramsay Jones \u003cramsay@ramsay1.demon.co.uk\u003e\nCc: Nicolas Pitre \u003cnico@cam.org\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: linux-crypto@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33009557bd9397c446a59e4cc91059a8e84c046b",
      "tree": "b553cf2d802bda2170ae8da013a1dbe3a79e2d36",
      "parents": [
        "38803141bf6ccf8f20d05c6f48e6e12c3650ce9a"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@MIT.EDU",
        "time": "Tue May 24 15:16:43 2011 -0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri Aug 05 14:45:41 2011 -0400"
      },
      "message": "Add KEY_MICMUTE and enable it on Lenovo X220\n\nI suspect that this works on T410.\n\nSigned-off-by: Andy Lutomirski \u003cluto@mit.edu\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "24f0eed2668b059e847ff145848ddacb75419acc",
      "tree": "010c89c06e191b068f8a078b10bfaf1d3699c834",
      "parents": [
        "8b6b4628126fd73d0a53b499a26133c15b73c1e6",
        "3567866bf26190d1e734c975c907eb06e923ba23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached\n  get rid of boilerplate switches in posix_acl.h\n  fix block device fallout from -\u003efsync() changes\n"
    },
    {
      "commit": "7f3bf7cd348cead84f8027b32aa30ea49fa64df5",
      "tree": "d2f68190c64a7598fff040a8895103031551e2f2",
      "parents": [
        "cbc158d6bfa1990f7869717bb5270867c66068d1",
        "21ef4b8b7a7d59a995bf44382de38c95587767d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:43:43 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:43:43 2011 -1000"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  dmaengine: use DEFINE_IDR for static initialization\n  ioat: fix xor_idx_to_desc\n  Avoid section type conflict in dma/ioat/dma_v3.c\n  ioat: Adding PCI IDs for IOAT devices on SandyBridge platforms\n"
    },
    {
      "commit": "655b16128482fd12808f77a6799eea5419c93709",
      "tree": "833ca3eb906cc3ab872b7925efa8ffb6a02a22bb",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 10:57:47 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Aug 04 12:35:08 2011 -0700"
      },
      "message": "nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4\n\nexofs file system wants to use pnfs_osd_xdr.h file instead of\nredefining pnfs-objects types in it\u0027s private \"pnfs.h\" headr.\n\nBefore we do the switch we must make sure pnfs_osd_xdr.h is\ncompilable also under NFS versions smaller than 4.1. Since now\nit is needed regardless of version, by the exofs code.\n\nnfs4_string is not the only nfs4 type out in the global scope.\n\nAck-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "53d1e658df6e26d62500410719aaee2b82067c03",
      "tree": "80dc082c1f256c481f152a62c74605c8962251a6",
      "parents": [
        "455ce9d8410d381f56a1676449a723ca1985b369",
        "fe55c1844a1c106e9d9d3dd27cbfcf8caeb9e77e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:37:07 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 06:37:07 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  Revert \"dt: add of_alias_scan and of_alias_get_id\"\n  dt: remove of_alias_get_id() reference\n"
    },
    {
      "commit": "fe55c1844a1c106e9d9d3dd27cbfcf8caeb9e77e",
      "tree": "85bbcd23d3f5fcc6b19abfc29d5ffea9608a6fcb",
      "parents": [
        "9e191b22c91873c09c722d7f956ab9f3276f9a37"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 10:27:32 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Aug 04 11:26:24 2011 +0100"
      },
      "message": "Revert \"dt: add of_alias_scan and of_alias_get_id\"\n\nThis reverts commit 750f463a749e28464151ad26938d11b07b1c43cb.\n\nof_alias_* still needs work to be generalized for \u0027promtree\u0027 dt\nplatforms, and to no implicitly create entries for available ids.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "35e51fe82ddcd8fb7f129d6dd8491c097d388665",
      "tree": "d6dd5e860c0e68a1af7976990c7d624e7362415d",
      "parents": [
        "c0c770e610cc4cdcd66c7e939bdf89cc3e72f79d",
        "a0bfa1373859e9d11dc92561a8667588803e42d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:54:15 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:54:15 2011 -1000"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  cpuidle: stop depending on pm_idle\n  x86 idle: move mwait_idle_with_hints() to where it is used\n  cpuidle: replace xen access to x86 pm_idle and default_idle\n  cpuidle: create bootparam \"cpuidle.off\u003d1\"\n  mrst_pmu: driver for Intel Moorestown Power Management Unit\n"
    },
    {
      "commit": "c0c770e610cc4cdcd66c7e939bdf89cc3e72f79d",
      "tree": "7cf6807258fef2a85a2ff212f4f4eb6d9dc336c6",
      "parents": [
        "a9e4e6e14c322e08d1c615afc8f504fb415f9613",
        "d0e323b47057f4492b8fa22345f38d80a469bf8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:53:27 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 21:53:27 2011 -1000"
      },
      "message": "Merge branch \u0027apei-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027apei-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPI, APEI, EINJ Param support is disabled by default\n  APEI GHES: 32-bit buildfix\n  ACPI: APEI build fix\n  ACPI, APEI, GHES: Add hardware memory error recovery support\n  HWPoison: add memory_failure_queue()\n  ACPI, APEI, GHES, Error records content based throttle\n  ACPI, APEI, GHES, printk support for recoverable error via NMI\n  lib, Make gen_pool memory allocator lockless\n  lib, Add lock-less NULL terminated single list\n  Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHG\n  ACPI, APEI, Add WHEA _OSC support\n  ACPI, APEI, Add APEI bit support in generic _OSC call\n  ACPI, APEI, GHES, Support disable GHES at boot time\n  ACPI, APEI, GHES, Prevent GHES to be built as module\n  ACPI, APEI, Use apei_exec_run_optional in APEI EINJ and ERST\n  ACPI, APEI, Add apei_exec_run_optional\n  ACPI, APEI, GHES, Do not ratelimit fatal error printk before panic\n  ACPI, APEI, ERST, Fix erst-dbg long record reading issue\n  ACPI, APEI, ERST, Prevent erst_dbg from loading if ERST is disabled\n"
    },
    {
      "commit": "27665ffa22b9b83bab226bf12c61424f7f1f8995",
      "tree": "aaccc030778bb6878c46ab9ca035901af67d78e4",
      "parents": [
        "14595f708eeb528fabcee339ed0b9e0a2ecec73f",
        "750f463a749e28464151ad26938d11b07b1c43cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:10:30 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:10:30 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt: add of_alias_scan and of_alias_get_id\n"
    },
    {
      "commit": "e504f3fdd63d486d45b18009e5a65f2e329acb0a",
      "tree": "2d02a5c29a922fae626a69cd0fc92cae37d7918e",
      "parents": [
        "31475dd611209413bace21651a400afb91d0bd9d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs radix_tree: locate_item to speed up swapoff\n\nWe have already acknowledged that swapoff of a tmpfs file is slower than\nit was before conversion to the generic radix_tree: a little slower\nthere will be acceptable, if the hotter paths are faster.\n\nBut it was a shock to find swapoff of a 500MB file 20 times slower on my\nlaptop, taking 10 minutes; and at that rate it significantly slows down\nmy testing.\n\nNow, most of that turned out to be overhead from PROVE_LOCKING and\nPROVE_RCU: without those it was only 4 times slower than before; and\nmore realistic tests on other machines don\u0027t fare as badly.\n\nI\u0027ve tried a number of things to improve it, including tagging the swap\nentries, then doing lookup by tag: I\u0027d expected that to halve the time,\nbut in practice it\u0027s erratic, and often counter-productive.\n\nThe only change I\u0027ve so far found to make a consistent improvement, is\nto short-circuit the way we go back and forth, gang lookup packing\nentries into the array supplied, then shmem scanning that array for the\ntarget entry.  Scanning in place doubles the speed, so it\u0027s now only\ntwice as slow as before (or three times slower when the PROVEs are on).\n\nSo, add radix_tree_locate_item() as an expedient, once-off,\nsingle-caller hack to do the lookup directly in place.  #ifdef it on\nCONFIG_SHMEM and CONFIG_SWAP, as much to document its limited\napplicability as save space in other configurations.  And, sadly,\n#include sched.h for cond_resched().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69f07ec938712b58755add82dd3d0b35f01317cc",
      "tree": "7a0a704ed4bc79dbba50454093469d0ce31ef1a4",
      "parents": [
        "6922c0c7abd387374255801f7739624867e8acad"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs: use kmemdup for short symlinks\n\nBut we\u0027ve not yet removed the old swp_entry_t i_direct[16] from\nshmem_inode_info.  That\u0027s because it was still being shared with the\ninline symlink.  Remove it now (saving 64 or 128 bytes from shmem inode\nsize), and use kmemdup() for short symlinks, say, those up to 128 bytes.\n\nI wonder why mpol_free_shared_policy() is done in shmem_destroy_inode()\nrather than shmem_evict_inode(), where we usually do such freeing? I\nguess it doesn\u0027t matter, and I\u0027m not into NUMA mpol testing right now.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@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": "aa3b189551ad8e5cc1d9c663735c131650238278",
      "tree": "c789ab5c7f890a6065811d8bba15a784caf9e859",
      "parents": [
        "54af60421822bb9cb664dd5cd7aac46c01ccfcf8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "tmpfs: convert mem_cgroup shmem to radix-swap\n\nRemove mem_cgroup_shmem_charge_fallback(): it was only required when we\nhad to move swappage to filecache with GFP_NOWAIT.\n\nRemove the GFP_NOWAIT special case from mem_cgroup_cache_charge(), by\nmoving its call out from shmem_add_to_page_cache() to two of thats three\ncallers.  But leave it doing mem_cgroup_uncharge_cache_page() on error:\nalthough asymmetrical, it\u0027s easier for all 3 callers to handle.\n\nThese two changes would also be appropriate if anyone were to start\nusing shmem_read_mapping_page_gfp() with GFP_NOWAIT.\n\nRemove mem_cgroup_get_shmem_target(): mc_handle_file_pte() can test\nradix_tree_exceptional_entry() to get what it needs for itself.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41ffe5d5ceef7f7ff2ff18e320d88ca6d629efaf",
      "tree": "66ce800fb7911ed037aa574f46729646ce485d0b",
      "parents": [
        "285b2c4fdd69ea73b4762785d8c6be83b6c074a6"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: miscellaneous trivial cleanups\n\nWhile it\u0027s at its least, make a number of boring nitpicky cleanups to\nshmem.c, mostly for consistency of variable naming.  Things like \"swap\"\ninstead of \"entry\", \"pgoff_t index\" instead of \"unsigned long idx\".\n\nAnd since everything else here is prefixed \"shmem_\", better change\ninit_tmpfs() to shmem_init().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "285b2c4fdd69ea73b4762785d8c6be83b6c074a6",
      "tree": "b350a54d8bca3e87ca47d2ad14bb71a53c9bb593",
      "parents": [
        "a2c16d6cb0e478812829ca84aeabd02e36af35eb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:23 2011 -1000"
      },
      "message": "tmpfs: demolish old swap vector support\n\nThe maximum size of a shmem/tmpfs file has been limited by the maximum\nsize of its triple-indirect swap vector.  With 4kB page size, maximum\nfilesize was just over 2TB on a 32-bit kernel, but sadly one eighth of\nthat on a 64-bit kernel.  (With 8kB page size, maximum filesize was just\nover 4TB on a 64-bit kernel, but 16TB on a 32-bit kernel,\nMAX_LFS_FILESIZE being then more restrictive than swap vector layout.)\n\nIt\u0027s a shame that tmpfs should be more restrictive than ramfs, and this\nlimitation has now been noticed.  Add another level to the swap vector?\nNo, it became obscure and hard to maintain, once I complicated it to\nmake use of highmem pages nine years ago: better choose another way.\n\nSurely, if 2.4 had had the radix tree pagecache introduced in 2.5, then\ntmpfs would never have invented its own peculiar radix tree: we would\nhave fitted swap entries into the common radix tree instead, in much the\nsame way as we fit swap entries into page tables.\n\nAnd why should each file have a separate radix tree for its pages and\nfor its swap entries? The swap entries are required precisely where and\nwhen the pages are not.  We want to put them together in a single radix\ntree: which can then avoid much of the locking which was needed to\nprevent them from being exchanged underneath us.\n\nThis also avoids the waste of memory devoted to swap vectors, first in\nthe shmem_inode itself, then at least two more pages once a file grew\nbeyond 16 data pages (pages accounted by df and du, but not by memcg).\nAllocated upfront, to avoid allocation when under swapping pressure, but\npure waste when CONFIG_SWAP is not set - I have never spattered around\nthe ifdefs to prevent that, preferring this move to sharing the common\nradix tree instead.\n\nThere are three downsides to sharing the radix tree.  One, that it binds\ntmpfs more tightly to the rest of mm, either requiring knowledge of swap\nentries in radix tree there, or duplication of its code here in shmem.c.\nI believe that the simplications and memory savings (and probable higher\nperformance, not yet measured) justify that.\n\nTwo, that on HIGHMEM systems with SWAP enabled, it\u0027s the lowmem radix\nnodes that cannot be freed under memory pressure - whereas before it was\nthe less precious highmem swap vector pages that could not be freed.\nI\u0027m hoping that 64-bit has now been accessible for long enough, that the\nhighmem argument has grown much less persuasive.\n\nThree, that swapoff is slower than it used to be on tmpfs files, since\nit\u0027s using a simple generic mechanism not tailored to it: I find this\nnoticeable, and shall want to improve, but maybe nobody else will\nnotice.\n\nSo...  now remove most of the old swap vector code from shmem.c.  But,\nfor the moment, keep the simple i_direct vector of 16 pages, with simple\naccessors shmem_put_swap() and shmem_get_swap(), as a toy implementation\nto help mark where swap needs to be handled in subsequent patches.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2c16d6cb0e478812829ca84aeabd02e36af35eb",
      "tree": "7803a522da5deee7ce753dc5404dca01f42aa176",
      "parents": [
        "6328650bb4d854a7dc1498d1c0048b838b0d340c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "mm: let swap use exceptional entries\n\nIf swap entries are to be stored along with struct page pointers in a\nradix tree, they need to be distinguished as exceptional entries.\n\nMost of the handling of swap entries in radix tree will be contained in\nshmem.c, but a few functions in filemap.c\u0027s common code need to check\nfor their appearance: find_get_page(), find_lock_page(),\nfind_get_pages() and find_get_pages_contig().\n\nSo as not to slow their fast paths, tuck those checks inside the\nexisting checks for unlikely radix_tree_deref_slot(); except for\nfind_lock_page(), where it is an added test.  And make it a BUG in\nfind_get_pages_tag(), which is not applied to tmpfs files.\n\nA part of the reason for eliminating shmem_readpage() earlier, was to\nminimize the places where common code would need to allow for swap\nentries.\n\nThe swp_entry_t known to swapfile.c must be massaged into a slightly\ndifferent form when stored in the radix tree, just as it gets massaged\ninto a pte_t when stored in page tables.\n\nIn an i386 kernel this limits its information (type and page offset) to\n30 bits: given 32 \"types\" of swapfile and 4kB pagesize, that\u0027s a maximum\nswapfile size of 128GB.  Which is less than the 512GB we previously\nallowed with X86_PAE (where the swap entry can occupy the entire upper\n32 bits of a pte_t), but not a new limitation on 32-bit without PAE; and\nthere\u0027s not a new limitation on 64-bit (where swap filesize is already\nlimited to 16TB by a 32-bit page offset).  Thirty areas of 128GB is\nprobably still enough swap for a 64GB 32-bit machine.\n\nProvide swp_to_radix_entry() and radix_to_swp_entry() conversions, and\nenforce filesize limit in read_swap_header(), just as for ptes.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6328650bb4d854a7dc1498d1c0048b838b0d340c",
      "tree": "0e265dc86f7c4451647c1e227843cdd1530f9651",
      "parents": [
        "70d327198a434edb95b3d858bc8010b8add28e3e"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "radix_tree: exceptional entries and indices\n\nA patchset to extend tmpfs to MAX_LFS_FILESIZE by abandoning its\npeculiar swap vector, instead keeping a file\u0027s swap entries in the same\nradix tree as its struct page pointers: thus saving memory, and\nsimplifying its code and locking.\n\nThis patch:\n\nThe radix_tree is used by several subsystems for different purposes.  A\nmajor use is to store the struct page pointers of a file\u0027s pagecache for\nmemory management.  But what if mm wanted to store something other than\npage pointers there too?\n\nThe low bit of a radix_tree entry is already used to denote an indirect\npointer, for internal use, and the unlikely radix_tree_deref_retry()\ncase.\n\nDefine the next bit as denoting an exceptional entry, and supply inline\nfunctions radix_tree_exception() to return non-0 in either unlikely\ncase, and radix_tree_exceptional_entry() to return non-0 in the second\ncase.\n\nIf a subsystem already uses radix_tree with that bit set, no problem: it\ndoes not affect internal workings at all, but is defined for the\nconvenience of those storing well-aligned pointers in the radix_tree.\n\nThe radix_tree_gang_lookups have an implicit assumption that the caller\ncan deduce the offset of each entry returned e.g.  by the page-\u003eindex of\na struct page.  But that may not be feasible for some kinds of item to\nbe stored there.\n\nradix_tree_gang_lookup_slot() allow for an optional indices argument,\noutput array in which to return those offsets.  The same could be added\nto other radix_tree_gang_lookups, but for now keep it to the only one\nfor which we need it.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d6f921b42749d1a70441685b7a4f2801e12ebfb",
      "tree": "6c2bdf6a7de23e7ec7d8d5990586e1a0527164b0",
      "parents": [
        "4c4dd903e72507c853b8c2b04b22e0d0c721fd93"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Aug 03 16:21:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:22 2011 -1000"
      },
      "message": "drivers/video/backlight/aat2870_bl.c: fix setting max_current\n\n - Current implementation tests wrong value for setting\n   aat2870_bl-\u003emax_current.\n\n - In the current implementation, we cannot differentiate between 2 cases:\n\n   a) if pdata-\u003emax_current is not set , or\n\n   b) pdata-\u003emax_current is set to AAT2870_CURRENT_0_45 (which is also 0).\n\n   Fix it by setting AAT2870_CURRENT_0_45 to be 1 and adjust the equation in\n   aat2870_brightness() accordingly.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nTested-by: Jin Park \u003cjinyoungp@nvidia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dab1bce8e840606e76f1bad5a009328e2aa35c7",
      "tree": "ab2b3a8f159497ec22bb9c98445a214116e86b4e",
      "parents": [
        "f7b9fcbbc3b8593ff7dc587f90c2fe90a2fd1e6f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Aug 03 16:21:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "mm: page_alloc: increase __GFP_BITS_SHIFT to include __GFP_OTHER_NODE\n\n__GFP_OTHER_NODE is used for NUMA allocations on behalf of other nodes.\nIt\u0027s supposed to be passed through from the page allocator to\nzone_statistics(), but it never gets there as gfp_allowed_mask is not\nwide enough and masks out the flag early in the allocation path.\n\nThe result is an accounting glitch where successful NUMA allocations\nby-agent are not properly attributed as local.\n\nIncrease __GFP_BITS_SHIFT so that it includes __GFP_OTHER_NODE.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88eca0207cf1574328c3ce8c3be537a9317261bb",
      "tree": "155b13f5df1e239fea2ad5512ef5b19865de4a9e",
      "parents": [
        "a7295898a1d2e501427f557111c2b4bdfc90b1ed"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 03 16:21:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:20 2011 -1000"
      },
      "message": "ida: simplified functions for id allocation\n\nThe current hyper-optimized functions are overkill if you simply want to\nallocate an id for a device.  Create versions which use an internal\nlock.\n\nIn followup patches, numerous drivers are converted to use this\ninterface.\n\nThanks to Tejun for feedback.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd48c085c1cdf9446f92826f1fd451167fb6c2fd",
      "tree": "d62870378cc08af36ea7a41531436bdebddec232",
      "parents": [
        "f48d1915b86f06a943087e5f9b29542a1ef4cd4d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Aug 03 16:21:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:20 2011 -1000"
      },
      "message": "fault-injection: add ability to export fault_attr in arbitrary directory\n\ninit_fault_attr_dentries() is used to export fault_attr via debugfs.\nBut it can only export it in debugfs root directory.\n\nPer Forlin is working on mmc_fail_request which adds support to inject\ndata errors after a completed host transfer in MMC subsystem.\n\nThe fault_attr for mmc_fail_request should be defined per mmc host and\nexport it in debugfs directory per mmc host like\n/sys/kernel/debug/mmc0/mmc_fail_request.\n\ninit_fault_attr_dentries() doesn\u0027t help for mmc_fail_request.  So this\nintroduces fault_create_debugfs_attr() which is able to create a\ndirectory in the arbitrary directory and replace\ninit_fault_attr_dentries().\n\n[akpm@linux-foundation.org: extraneous semicolon, per Randy]\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nTested-by: Per Forlin \u003cper.forlin@linaro.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0bfa1373859e9d11dc92561a8667588803e42d8",
      "tree": "ef5768a313ac16a211830efc3edb9ca95487cb6a",
      "parents": [
        "4bfc8288bc4a64529c5547d17349a2a1f4675507"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 19:34:59 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 19:06:37 2011 -0400"
      },
      "message": "cpuidle: stop depending on pm_idle\n\ncpuidle users should call cpuidle_call_idle() directly\nrather than via (pm_idle)() function pointer.\n\nArchitecture may choose to continue using (pm_idle)(),\nbut cpuidle need not depend on it:\n\n  my_arch_cpu_idle()\n\t...\n\tif(cpuidle_call_idle())\n\t\tpm_idle();\n\ncc: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\ncc: Paul Mundt \u003clethal@linux-sh.org\u003e\ncc: x86@kernel.org\nAcked-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d91ee5863b71e8c90eaf6035bff3078a85e2e7b5",
      "tree": "7c4972d8d6f614f656720ec686a6288de68f4af3",
      "parents": [
        "62027aea23fcd14478abdddd3b74a4e0f5fb2984"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 18:28:35 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 19:06:36 2011 -0400"
      },
      "message": "cpuidle: replace xen access to x86 pm_idle and default_idle\n\nWhen a Xen Dom0 kernel boots on a hypervisor, it gets access\nto the raw-hardware ACPI tables.  While it parses the idle tables\nfor the hypervisor\u0027s beneift, it uses HLT for its own idle.\n\nRather than have xen scribble on pm_idle and access default_idle,\nhave it simply disable_cpuidle() so acpi_idle will not load and\narchitecture default HLT will be used.\n\ncc: xen-devel@lists.xensource.com\nTested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "d0e323b47057f4492b8fa22345f38d80a469bf8d",
      "tree": "feb760c7e2cdb1e43640417409428ab858910ea3",
      "parents": [
        "c027a474a68065391c8773f6e83ed5412657e369",
        "c3e6088e1036f8084bc7444b38437da136b7588b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:30:42 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:30:42 2011 -0400"
      },
      "message": "Merge branch \u0027apei\u0027 into apei-release\n\nSome trivial conflicts due to other various merges\nadding to the end of common lists sooner than this one.\n\n\tarch/ia64/Kconfig\n\tarch/powerpc/Kconfig\n\tarch/x86/Kconfig\n\tlib/Kconfig\n\tlib/Makefile\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ea8f5fb8a71fddaf5f3a17100d3247855701f732",
      "tree": "052c3f7e699745394a35063d2a58c4ef0995f3c5",
      "parents": [
        "152cef40a808d3034e383465b3f7d6783613e458"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jul 13 13:14:27 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:58 2011 -0400"
      },
      "message": "HWPoison: add memory_failure_queue()\n\nmemory_failure() is the entry point for HWPoison memory error\nrecovery.  It must be called in process context.  But commonly\nhardware memory errors are notified via MCE or NMI, so some delayed\nexecution mechanism must be used.  In MCE handler, a work queue + ring\nbuffer mechanism is used.\n\nIn addition to MCE, now APEI (ACPI Platform Error Interface) GHES\n(Generic Hardware Error Source) can be used to report memory errors\ntoo.  To add support to APEI GHES memory recovery, a mechanism similar\nto that of MCE is implemented.  memory_failure_queue() is the new\nentry point that can be called in IRQ context.  The next step is to\nmake MCE handler uses this interface too.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7f184275aa306046fe7edcbef3229754f0d97402",
      "tree": "e2f82957072dd1ada3a4bc6c0281a6296123d8a0",
      "parents": [
        "f49f23abf3dd786ddcac1c1e7db3c2013b07413f"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jul 13 13:14:24 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:57 2011 -0400"
      },
      "message": "lib, Make gen_pool memory allocator lockless\n\nThis version of the gen_pool memory allocator supports lockless\noperation.\n\nThis makes it safe to use in NMI handlers and other special\nunblockable contexts that could otherwise deadlock on locks.  This is\nimplemented by using atomic operations and retries on any conflicts.\nThe disadvantage is that there may be livelocks in extreme cases.  For\nbetter scalability, one gen_pool allocator can be used for each CPU.\n\nThe lockless operation only works if there is enough memory available.\nIf new memory is added to the pool a lock has to be still taken.  So\nany user relying on locklessness has to ensure that sufficient memory\nis preallocated.\n\nThe basic atomic operation of this allocator is cmpxchg on long.  On\narchitectures that don\u0027t have NMI-safe cmpxchg implementation, the\nallocator can NOT be used in NMI handler.  So code uses the allocator\nin NMI handler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f49f23abf3dd786ddcac1c1e7db3c2013b07413f",
      "tree": "0726af5e245025b60be8adee0deb8bc665510904",
      "parents": [
        "df013ffb8119c89f062ab05b7f544704315db47b"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jul 13 13:14:23 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Aug 03 11:15:56 2011 -0400"
      },
      "message": "lib, Add lock-less NULL terminated single list\n\nCmpxchg is used to implement adding new entry to the list, deleting\nall entries from the list, deleting first entry of the list and some\nother operations.\n\nBecause this is a single list, so the tail can not be accessed in O(1).\n\nIf there are multiple producers and multiple consumers, llist_add can\nbe used in producers and llist_del_all can be used in consumers.  They\ncan work simultaneously without lock.  But llist_del_first can not be\nused here.  Because llist_del_first depends on list-\u003efirst-\u003enext does\nnot changed if list-\u003efirst is not changed during its operation, but\nllist_del_first, llist_add, llist_add (or llist_del_all, llist_add,\nllist_add) sequence in another consumer may violate that.\n\nIf there are multiple producers and one consumer, llist_add can be\nused in producers and llist_del_all or llist_del_first can be used in\nthe consumer.\n\nThis can be summarized as follow:\n\n           |   add    | del_first |  del_all\n add       |    -     |     -     |     -\n del_first |          |     L     |     L\n del_all   |          |           |     -\n\nWhere \"-\" stands for no lock is needed, while \"L\" stands for lock is\nneeded.\n\nThe list entries deleted via llist_del_all can be traversed with\ntraversing function such as llist_for_each etc.  But the list entries\ncan not be traversed safely before deleted from the list.  The order\nof deleted entries is from the newest to the oldest added one.  If you\nwant to traverse from the oldest to the newest, you must reverse the\norder by yourself before traversing.\n\nThe basic atomic operation of this list is cmpxchg on long.  On\narchitectures that don\u0027t have NMI-safe cmpxchg implementation, the\nlist can NOT be used in NMI handler.  So code uses the list in NMI\nhandler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "750f463a749e28464151ad26938d11b07b1c43cb",
      "tree": "6aabb1512a4000615e93b25beccba606b62f7237",
      "parents": [
        "ed8f37370d83e695c0a4fa5d5fc7a83ecb947526"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Wed Aug 03 11:28:14 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Aug 03 13:02:31 2011 +0100"
      },
      "message": "dt: add of_alias_scan and of_alias_get_id\n\nThe patch adds function of_alias_scan to populate a global lookup\ntable with the properties of \u0027aliases\u0027 node and function\nof_alias_get_id for drivers to find alias id from the lookup table.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\n[grant.likely: add locking and rework parse loop]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "c299eba3c5a801657f275d33be588b34831cd30e",
      "tree": "022a2a72604443fa8ce8d3fd040fbda49b04f681",
      "parents": [
        "1850536b93888e6cc3ee42e63e20e61f35f8b3e2",
        "4a8f5058bde15d737abe39b5bed3f21dcb6599d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:17:02 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:17:02 2011 -1000"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (28 commits)\n  ACPI:  delete stale reference in kernel-parameters.txt\n  ACPI: add missing _OSI strings\n  ACPI: remove NID_INVAL\n  thermal: make THERMAL_HWMON implementation fully internal\n  thermal: split hwmon lookup to a separate function\n  thermal: hide CONFIG_THERMAL_HWMON\n  ACPI print OSI(Linux) warning only once\n  ACPI: DMI workaround for Asus A8N-SLI Premium and Asus A8N-SLI DELUX\n  ACPI / Battery: propagate sysfs error in acpi_battery_add()\n  ACPI / Battery: avoid acpi_battery_add() use-after-free\n  ACPI: introduce \"acpi_rsdp\u003d\" parameter for kdump\n  ACPI: constify ops structs\n  ACPI: fix CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS\n  ACPI: fix 80 char overflow\n  ACPI / Battery: Resolve the race condition in the sysfs_remove_battery()\n  ACPI / Battery: Add the check before refresh sysfs in the battery_notify()\n  ACPI / Battery: Add the hibernation process in the battery_notify()\n  ACPI / Battery: Rename acpi_battery_quirks2 with acpi_battery_quirks\n  ACPI / Battery: Change 16-bit signed negative battery current into correct value\n  ACPI / Battery: Add the power unit macro\n  ...\n"
    },
    {
      "commit": "a6b11f53388973d99c4a357c22b19753b424e73c",
      "tree": "f0c31698f4f3ba47e44d34f7f5077ddde6079850",
      "parents": [
        "73a9fe86fa21ccd528807b8cc871dc18be67ee5a",
        "d945fa0da7db9ace61fbb2140cfdb1e2d2b24e7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:57 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:57 2011 -1000"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  MAINTAINERS: Add keyword match for of_match_table to device tree section\n  of: constify property name parameters for helper functions\n  input: xilinx_ps2: Add missing of_address.h header\n  of: address: use resource_size helper\n"
    },
    {
      "commit": "f3406816bb2486fc44558bec77179cd9bcbd4450",
      "tree": "718db1ef45e55314b5e7290f77e70e6328d855a4",
      "parents": [
        "4400478ba3d939b680810aa004f1e954b4f8ba16",
        "ed8b752bccf2560e305e25125721d2f0ac759e88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:21 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 20:49:21 2011 -1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (34 commits)\n  dm table: set flush capability based on underlying devices\n  dm crypt: optionally support discard requests\n  dm raid: add md raid1 support\n  dm raid: support metadata devices\n  dm raid: add write_mostly parameter\n  dm raid: add region_size parameter\n  dm raid: improve table parameters documentation\n  dm ioctl: forbid multiple device specifiers\n  dm ioctl: introduce __get_dev_cell\n  dm ioctl: fill in device parameters in more ioctls\n  dm flakey: add corrupt_bio_byte feature\n  dm flakey: add drop_writes\n  dm flakey: support feature args\n  dm flakey: use dm_target_offset and support discards\n  dm table: share target argument parsing functions\n  dm snapshot: skip reading origin when overwriting complete chunk\n  dm: ignore merge_bvec for snapshots when safe\n  dm table: clean dm_get_device and move exports\n  dm raid: tidy includes\n  dm ioctl: prevent empty message\n  ...\n"
    },
    {
      "commit": "3567866bf26190d1e734c975c907eb06e923ba23",
      "tree": "60d6b71d8ec821b121e6ab0756833d79c912908e",
      "parents": [
        "951c0d660a7c35286e401ca6d6ef38c9d49643c7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Aug 02 21:32:13 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 03 00:58:42 2011 -0400"
      },
      "message": "RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "951c0d660a7c35286e401ca6d6ef38c9d49643c7"
}
