)]}'
{
  "log": [
    {
      "commit": "6faee60a4e82075853a437831768cc9e2e563e4e",
      "tree": "2e5ae700342b8b24f027b7c7afa198f4bfe2e92f",
      "parents": [
        "255d0dc34068a976550ce555e153c0bfcfec7cc6"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Mon Dec 20 15:57:47 2010 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jan 13 12:05:12 2011 +0100"
      },
      "message": "netfilter: ebt_ip6: allow matching on ipv6-icmp types/codes\n\nTo avoid adding a new match revision icmp type/code are stored\nin the sport/dport area.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nReviewed-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nReviewed-by: Bart De Schuymer\u003cbdschuym@pandora.be\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "255d0dc34068a976550ce555e153c0bfcfec7cc6",
      "tree": "e936c3d55eaf144cbc4edf8f9332d8089719d0d4",
      "parents": [
        "b017900aac4a158b9bf7ffdcb8a369a91115b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Dec 18 18:35:15 2010 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jan 13 12:05:12 2011 +0100"
      },
      "message": "netfilter: x_table: speedup compat operations\n\nOne iptables invocation with 135000 rules takes 35 seconds of cpu time\non a recent server, using a 32bit distro and a 64bit kernel.\n\nWe eventually trigger NMI/RCU watchdog.\n\nINFO: rcu_sched_state detected stall on CPU 3 (t\u003d6000 jiffies)\n\nCOMPAT mode has quadratic behavior and consume 16 bytes of memory per\nrule.\n\nSwitch the xt_compat algos to use an array instead of list, and use a\nbinary search to locate an offset in the sorted array.\n\nThis halves memory need (8 bytes per rule), and removes quadratic\nbehavior [ O(N*N) -\u003e O(N*log2(N)) ]\n\nTime of iptables goes from 35 s to 150 ms.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "b017900aac4a158b9bf7ffdcb8a369a91115b3e4",
      "tree": "8516ac2dae8db038e7e45d76a1c8ecfb75faf7a9",
      "parents": [
        "5df15196a2bbf16ca4c6a797ec00ff36d0d5c179"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Dec 15 09:46:26 2010 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jan 13 12:05:12 2011 +0100"
      },
      "message": "netfilter: xt_conntrack: support matching on port ranges\n\nAdd a new revision 3 that contains port ranges for all of origsrc,\norigdst, replsrc and repldst. The high ports are appended to the\noriginal v2 data structure to allow sharing most of the code with\nv1 and v2. Use of the revision specific port matching function is\nmade dependant on par-\u003ematch-\u003erevision.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "5df15196a2bbf16ca4c6a797ec00ff36d0d5c179",
      "tree": "1ce28e0a92ef00a926ff98b81dff6cfd78831a61",
      "parents": [
        "c6d2d445d8dee04cde47eb4021636399a4239e9f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Dec 26 10:22:22 2010 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jan 13 12:05:11 2011 +0100"
      },
      "message": "netfilter: xt_comment: drop unneeded unsigned qualifier\n\nSince a string is stored, and not something like a MAC address that\nwould rely on (un)signedness, drop the qualifier.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "c6d2d445d8dee04cde47eb4021636399a4239e9f",
      "tree": "3f1aa27ea7e60ed97d3039b02c6a08e68425a186",
      "parents": [
        "4a98480bccc2f5998c5564d254392635b9aa04c2"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:45:03 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:29 2011 +0900"
      },
      "message": "IPVS: netns, final patch enabling network name space.\n\nall init_net removed, (except for some alloc related\nthat needs to be there)\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "4a98480bccc2f5998c5564d254392635b9aa04c2",
      "tree": "5cffb8060f52da78bb64ef9c94cdd0c630d1dd0a",
      "parents": [
        "763f8d0ed4f1ce38b35cc0e05482b7799b82789b"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:45:02 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:29 2011 +0900"
      },
      "message": "IPVS: netns, misc init_net removal in core.\n\ninit_net removed in __ip_vs_addr_is_local_v6, and got net as param.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "763f8d0ed4f1ce38b35cc0e05482b7799b82789b",
      "tree": "bc9938998b6af45a44bb35dba078851ccb21d95e",
      "parents": [
        "f2431e6e9255461eb1476340a89ad32ad4b38b03"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:45:01 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns, svc counters moved in ip_vs_ctl,c\n\nLast two global vars to be moved,\nip_vs_ftpsvc_counter and ip_vs_nullsvc_counter.\n\n[horms@verge.net.au: removed whitespace-change-only hunk]\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "f2431e6e9255461eb1476340a89ad32ad4b38b03",
      "tree": "934974c80d2c01b44768369ca9b188f64c6ab979",
      "parents": [
        "f6340ee0c6b9498ec918a7bb2f44e20abb8b2833"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:45:00 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns, trash handling\n\ntrash list per namspace,\nand reordering of some params in dst struct.\n\n[ horms@verge.net.au: Use cancel_delayed_work_sync() instead of\n\t              cancel_rearming_delayed_work(). Found during\n\t\t      merge conflict resoliution ]\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "f6340ee0c6b9498ec918a7bb2f44e20abb8b2833",
      "tree": "46e0f99416479f31bbd8093e18c360171e86fd59",
      "parents": [
        "a0840e2e165a370ca24a59545e564e9881a55891"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:59 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns, defense work timer.\n\nThis patch makes defense work timer per name-space,\nA net ptr had to be added to the ipvs struct,\nsince it\u0027s needed by defense_work_handler.\n\n[ horms@verge.net.au: Use cancel_delayed_work_sync() instead of\n\t              cancel_rearming_delayed_work(). Found during\n\t\t      merge conflict resoliution ]\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "a0840e2e165a370ca24a59545e564e9881a55891",
      "tree": "deb10e3931be9410aebbb55e5fccbd42a5edd633",
      "parents": [
        "6e67e586e7289c144d5a189d6e0fa7141d025746"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:58 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns, ip_vs_ctl local vars moved to ipvs struct.\n\nMoving global vars to ipvs struct, except for svc table lock.\nNext patch for ctl will be drop-rate handling.\n\n*v3\n__ip_vs_mutex remains global\n ip_vs_conntrack_enabled(struct netns_ipvs *ipvs)\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "6e67e586e7289c144d5a189d6e0fa7141d025746",
      "tree": "33a064ac5fa2e2ac4270c6361d5566bc99c671e6",
      "parents": [
        "b17fc9963f837ef1acfe36e193108fb16ed58647"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:57 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns, connection hash got net as param.\n\nConnection hash table is now name space aware.\ni.e. net ptr \u003e\u003e 8 is xor:ed to the hash,\nand this is the first param to be compared.\nThe net struct is 0xa40 in size ( a little bit smaller for 32 bit arch:s)\nand cache-line aligned, so a ptr \u003e\u003e 5 might be a more clever solution ?\n\nAll lookups where net is compared uses net_eq() which returns 1 when netns\nis disabled, and the compiler seems to do something clever in that case.\n\nip_vs_conn_fill_param() have *net as first param now.\n\nThree new inlines added to keep conn struct smaller\nwhen names space is disabled.\n- ip_vs_conn_net()\n- ip_vs_conn_net_set()\n- ip_vs_conn_net_eq()\n\n*v3\n  moved net compare to the end in \"fast path\"\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "b17fc9963f837ef1acfe36e193108fb16ed58647",
      "tree": "8c41814df22f7b788bc2103c39ab8fd4882a0091",
      "parents": [
        "f131315fa272d337dfca7dad2f033ff5296dad65"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:56 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns, ip_vs_stats and its procfs\n\nThe statistic counter locks for every packet are now removed,\nand that statistic is now per CPU, i.e. no locks needed.\nHowever summing is made in ip_vs_est into ip_vs_stats struct\nwhich is moved to ipvs struc.\n\nprocfs, ip_vs_stats now have a \"per cpu\" count and a grand total.\nA new function seq_file_single_net() in ip_vs.h created for handling of\nsingle_open_net() since it does not place net ptr in a struct, like others.\n\n/var/lib/lxc # cat /proc/net/ip_vs_stats_percpu\n       Total Incoming Outgoing         Incoming         Outgoing\nCPU    Conns  Packets  Packets            Bytes            Bytes\n  0        0        3        1               9D               34\n  1        0        1        2               49               70\n  2        0        1        2               34               76\n  3        1        2        2               70               74\n  ~        1        7        7              18A              18E\n\n     Conns/s   Pkts/s   Pkts/s          Bytes/s          Bytes/s\n           0        0        0                0                0\n\n*v3\nip_vs_stats reamains as before, instead ip_vs_stats_percpu is added.\nu64 seq lock added\n\n*v4\nBug correction inbytes and outbytes as own vars..\nper_cpu counter for all stats now as suggested by Julian.\n\n[horms@verge.net.au: removed whitespace-change-only hunk]\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "f131315fa272d337dfca7dad2f033ff5296dad65",
      "tree": "4abe0b8cd421229e27be614e23e3bbc800dff98b",
      "parents": [
        "29c2026fd4980c144d9c746dc1565060f08e5796"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:55 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns awareness to ip_vs_sync\n\nAll global variables moved to struct ipvs,\nmost external changes fixed (i.e. init_net removed)\nin sync_buf create  + 4 replaced by sizeof(struct..)\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "29c2026fd4980c144d9c746dc1565060f08e5796",
      "tree": "37373a66fac997e01c83e774c21e00dca713598a",
      "parents": [
        "ab8a5e8408c3df2d654611bffc3aaf04f418b266"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:54 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns awareness to ip_vs_est\n\nAll variables moved to struct ipvs,\nmost external changes fixed (i.e. init_net removed)\n\n*v3\n timer per ns instead of a common timer in estimator.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "ab8a5e8408c3df2d654611bffc3aaf04f418b266",
      "tree": "665454a0426b9209a53018ee71103914b29d95a7",
      "parents": [
        "9bbac6a904d0816dae58b454692c54d6773cc20d"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:53 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:28 2011 +0900"
      },
      "message": "IPVS: netns awareness to ip_vs_app\n\nAll variables moved to struct ipvs,\nmost external changes fixed (i.e. init_net removed)\n\nin ip_vs_protocol param struct net *net added to:\n - register_app()\n - unregister_app()\nThis affected almost all proto_xxx.c files\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "9bbac6a904d0816dae58b454692c54d6773cc20d",
      "tree": "f29698f1230e2a0b6fda2546f1f6da256d442979",
      "parents": [
        "9330419d9aa4f97df412ac9be9fc0388c67dd315"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:52 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns, common protocol changes and use of appcnt.\n\nappcnt and timeout_table moved from struct ip_vs_protocol to\nip_vs proto_data.\n\nstruct net *net added as first param to\n - register_app()\n - unregister_app()\n - app_conn_bind()\n - ip_vs_conn_new()\n\n[horms@verge.net.au: removed cosmetic-change-only hunk]\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "9330419d9aa4f97df412ac9be9fc0388c67dd315",
      "tree": "3fdd9103f299fcd2dfafcf0f51d1b5c4430987c2",
      "parents": [
        "88fe2d372793a71ae4f6319a16f537d56a83906c"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:51 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns, use ip_vs_proto_data as param.\n\nip_vs_protocol *pp is replaced by ip_vs_proto_data *pd in\nfunction call in ip_vs_protocol struct i.e. :,\n - timeout_change()\n - state_transition()\n\nip_vs_protocol_timeout_change() got ipvs as param, due to above\nand a upcoming patch - defence work\n\nMost of this changes are triggered by Julians comment:\n\"tcp_timeout_change should work with the new struct ip_vs_proto_data\n        so that tcp_state_table will go to pd-\u003estate_table\n        and set_tcp_state will get pd instead of pp\"\n\n*v3\nMostly comments from Julian\nThe pp -\u003e pd conversion should start from functions like\nip_vs_out() that use pp \u003d ip_vs_proto_get(iph.protocol),\nnow they should use ip_vs_proto_data_get(net, iph.protocol).\nconn_in_get() and conn_out_get() unused param *pp, removed.\n\n*v4\nip_vs_protocol_timeout_change() walk the proto_data path.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "88fe2d372793a71ae4f6319a16f537d56a83906c",
      "tree": "d935214bda3e3ff059a9896a6fbfbfbb0345f9c8",
      "parents": [
        "9d934878e7870fbbbd8eaed2e467552536877def"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:50 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns preparation for proto_ah_esp\n\nIn this phase (one), all local vars will be moved to ipvs struct.\n\nRemaining work, add param struct net *net to a couple of\nfunctions that common for all protos.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "9d934878e7870fbbbd8eaed2e467552536877def",
      "tree": "82be8a59a2a68a7f8511c9d2b5a1a457b21fce58",
      "parents": [
        "78b16bde104cc74bedbf462b0ebed2990f35ff6b"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:49 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns preparation for proto_sctp\n\nIn this phase (one), all local vars will be moved to ipvs struct.\n\nRemaining work, add param struct net *net to a couple of\nfunctions that is common for all protos and use ip_vs_proto_data\n\n*v3\n Removed unuset function set_state_timeout()\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "78b16bde104cc74bedbf462b0ebed2990f35ff6b",
      "tree": "1cf3bfb3fd5005be421e7b7bbeb0374e1cc1128a",
      "parents": [
        "4a85b96c08ef84076f84e87280223a4301988ed9"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:48 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns preparation for proto_udp\n\nIn this phase (one), all local vars will be moved to ipvs struct.\n\nRemaining work, add param struct net *net to a couple of\nfunctions that is common for all protos and use ip_vs_proto_data\n\n*v3\nRemoved unused function set_state_timeout()\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "4a85b96c08ef84076f84e87280223a4301988ed9",
      "tree": "14ec2ae8cd5c159dc4400c5a97a13231de1c9efb",
      "parents": [
        "252c64103237f1841088f0f29b4f084b1c774546"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:47 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns preparation for proto_tcp\n\nIn this phase (one), all local vars will be moved to ipvs struct.\n\nRemaining work, add param struct net *net to a couple of\nfunctions that is common for all protos and use all\nip_vs_proto_data\n\n*v3\nRemoved unused function as sugested by Simon\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "252c64103237f1841088f0f29b4f084b1c774546",
      "tree": "81de130280300698260ca35fe4dde8a92fdebac5",
      "parents": [
        "b6e885ddb903e681b7cbb4e68ad775154660e1f4"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:46 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns, prepare protocol\n\nAdd support for protocol data per name-space.\nin struct ip_vs_protocol, appcnt will be removed when all protos\nare modified for network name-space.\n\nThis patch causes warnings of unused functions, they will be used\nwhen next patch will be applied.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "b6e885ddb903e681b7cbb4e68ad775154660e1f4",
      "tree": "d638b728989f152806d26702b7a5cba4cadb495f",
      "parents": [
        "d0a1eef9c38218af20c809b2220a960b7ed81a36"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:45 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns awarness to lblc sheduler\n\nvar sysctl_ip_vs_lblc_expiration moved to ipvs struct as\n    sysctl_lblc_expiration\n\nprocfs updated to handle this.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d0a1eef9c38218af20c809b2220a960b7ed81a36",
      "tree": "a2ba65169f823bfc06fa2ca4ae0bf4da3c6ffbf0",
      "parents": [
        "fc723250c9cb046cc19833a2b1c4309bbf59ac36"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:44 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:27 2011 +0900"
      },
      "message": "IPVS: netns awarness to lblcr sheduler\n\nvar sysctl_ip_vs_lblcr_expiration moved to ipvs struct as\n    sysctl_lblcr_expiration\n\nprocfs updated to handle this.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "fc723250c9cb046cc19833a2b1c4309bbf59ac36",
      "tree": "fa8cd33ad9e020549dd8c6389f311d25e495ca7d",
      "parents": [
        "61b1ab4583e275af216c8454b9256de680499b19"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:43 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:26 2011 +0900"
      },
      "message": "IPVS: netns to services part 1\n\nServices hash tables got netns ptr a hash arg,\nWhile Real Servers (rs) has been moved to ipvs struct.\nTwo new inline functions added to get net ptr from skb.\n\nSince ip_vs is called from different contexts there is two\nplaces to dig for the net ptr skb-\u003edev or skb-\u003esk\nthis is handled in skb_net() and skb_sknet()\n\nGlobal functions, ip_vs_service_get() ip_vs_lookup_real_service()\netc have got  struct net *net as first param.\nIf possible get net ptr skb etc,\n - if not \u0026init_net is used at this early stage of patching.\n\nip_vs_ctl.c  procfs not ready for netns yet.\n\n*v3\n Comments by Julian\n- __ip_vs_service_find and __ip_vs_svc_fwm_find are fast path,\n  net_eq(svc-\u003enet, net) so the check is at the end now.\n- net \u003d skb_net(skb) in ip_vs_out moved after check for skb_dst.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "61b1ab4583e275af216c8454b9256de680499b19",
      "tree": "43e7cd6c71030c4d94c4e02dd34de77e57943a2d",
      "parents": [
        "fee1cc0895fd7bde875a86bbc3a1e82089e540b8"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Jan 03 14:44:42 2011 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:30:26 2011 +0900"
      },
      "message": "IPVS: netns, add basic init per netns.\n\nPreparation for network name-space init, in this stage\nsome empty functions exists.\n\nIn most files there is a check if it is root ns i.e. init_net\nif (!net_eq(net, \u0026init_net))\n        return ...\nthis will be removed by the last patch, when enabling name-space.\n\n*v3\n ip_vs_conn.c merge error corrected.\n net_ipvs #ifdef removed as sugested by Jan Engelhardt\n\n[ horms@verge.net.au: Removed whitespace-change-only hunks ]\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "fee1cc0895fd7bde875a86bbc3a1e82089e540b8",
      "tree": "df0a07a650229fd7aa775ca6c20a8d2939c96e72",
      "parents": [
        "ae90bdeaeac6b964b7a1e853a90a19f358a9ac20",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:29:21 2011 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:29:21 2011 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into HEAD\n"
    },
    {
      "commit": "0c21e3aaf6ae85bee804a325aa29c325209180fd",
      "tree": "81c5d698e1c40cc8f473b21c5587a34598754a64",
      "parents": [
        "021db8e2bde53024a163fb4417a185de46fe77aa",
        "b2837fcf4994e699a4def002e26f274d95b387c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:16:27 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:16:27 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:\n  hfsplus: %L-to-%ll, macro correction, and remove unneeded braces\n  hfsplus: spaces/indentation clean-up\n  hfsplus: C99 comments clean-up\n  hfsplus: over 80 character lines clean-up\n  hfsplus: fix an artifact in ioctl flag checking\n  hfsplus: flush disk caches in sync and fsync\n  hfsplus: optimize fsync\n  hfsplus: split up inode flags\n  hfsplus: write up fsync for directories\n  hfsplus: simplify fsync\n  hfsplus: avoid useless work in hfsplus_sync_fs\n  hfsplus: make sure sync writes out all metadata\n  hfsplus: use raw bio access for partition tables\n  hfsplus: use raw bio access for the volume headers\n  hfsplus: always use hfsplus_sync_fs to write the volume header\n  hfsplus: silence a few debug printks\n  hfsplus: fix option parsing during remount\n\nFix up conflicts due to VFS changes in fs/hfsplus/{hfsplus_fs.h,unicode.c}\n"
    },
    {
      "commit": "021db8e2bde53024a163fb4417a185de46fe77aa",
      "tree": "098a28bd2414ea2622493a1736a677dab5085dfc",
      "parents": [
        "72eb6a791459c87a0340318840bb3bd9252b627b",
        "07fe0351702b6f0c9749e80cdbcb758686b0fe9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:08:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:08:46 2011 -0800"
      },
      "message": "Merge branch \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6: (77 commits)\n  spi/omap: Fix DMA API usage in OMAP MCSPI driver\n  spi/imx: correct the test on platform_get_irq() return value\n  spi/topcliff: Typo fix threhold to threshold\n  spi/dw_spi Typo change diable to disable.\n  spi/fsl_espi: change the read behaviour of the SPIRF\n  spi/mpc52xx-psc-spi: move probe/remove to proper sections\n  spi/dw_spi: add DMA support\n  spi/dw_spi: change to EXPORT_SYMBOL_GPL for exported APIs\n  spi/dw_spi: Fix too short timeout in spi polling loop\n  spi/pl022: convert running variable\n  spi/pl022: convert busy flag to a bool\n  spi/pl022: pass the returned sglen to the DMA engine\n  spi/pl022: map the buffers on the DMA engine\n  spi/topcliff_pch: Fix data transfer issue\n  spi/imx: remove autodetection\n  spi/pxa2xx: pass of_node to spi device and set a parent device\n  spi/pxa2xx: Modify RX-Tresh instead of busy-loop for the remaining RX bytes.\n  spi/pxa2xx: Add chipselect support for Sodaville\n  spi/pxa2xx: Consider CE4100\u0027s FIFO depth\n  spi/pxa2xx: Add CE4100 support\n  ...\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "23d69b09b78c4876e134f104a3814c30747c53f1",
      "tree": "40744de4f4126c21027ce537264524095e0e7979",
      "parents": [
        "e744070fd4ff9d3114277e52d77afa21579adce2",
        "569ff2de2e1c8ac67c8df3a7367d46d0d9460a35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)\n  usb: don\u0027t use flush_scheduled_work()\n  speedtch: don\u0027t abuse struct delayed_work\n  media/video: don\u0027t use flush_scheduled_work()\n  media/video: explicitly flush request_module work\n  ioc4: use static work_struct for ioc4_load_modules()\n  init: don\u0027t call flush_scheduled_work() from do_initcalls()\n  s390: don\u0027t use flush_scheduled_work()\n  rtc: don\u0027t use flush_scheduled_work()\n  mmc: update workqueue usages\n  mfd: update workqueue usages\n  dvb: don\u0027t use flush_scheduled_work()\n  leds-wm8350: don\u0027t use flush_scheduled_work()\n  mISDN: don\u0027t use flush_scheduled_work()\n  macintosh/ams: don\u0027t use flush_scheduled_work()\n  vmwgfx: don\u0027t use flush_scheduled_work()\n  tpm: don\u0027t use flush_scheduled_work()\n  sonypi: don\u0027t use flush_scheduled_work()\n  hvsi: don\u0027t use flush_scheduled_work()\n  xen: don\u0027t use flush_scheduled_work()\n  gdrom: don\u0027t use flush_scheduled_work()\n  ...\n\nFixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c\nas per Tejun.\n"
    },
    {
      "commit": "e744070fd4ff9d3114277e52d77afa21579adce2",
      "tree": "5f397c684c61a50bd47014abfe685fd6c3d09d8c",
      "parents": [
        "d004e4d3322340b6433caaef4a47ab8c933afb70",
        "c9b5f501ef1580faa30c40c644b7691870462201"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Constify function scope static struct sched_param usage\n  sched: Fix strncmp operation\n  sched: Move sched_autogroup_exit() to free_signal_struct()\n  sched: Fix struct autogroup memory leak\n  sched: Mark autogroup_init() __init\n  sched: Consolidate the name of root_task_group and init_task_group\n"
    },
    {
      "commit": "d004e4d3322340b6433caaef4a47ab8c933afb70",
      "tree": "f9ba6e6cb960fddb09da7c322d4b1dcb3f4b0e6f",
      "parents": [
        "128283a47e7cc6754db3d2704004c1ed728d26db",
        "1c2a48cf65580a276552151eb8f78d78c55b828e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:31 2011 -0800"
      },
      "message": "Merge branch \u0027x86-apic-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-apic-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: apic: Cleanup and simplify setup_local_APIC()\n  x86: Further simplify mp_irq info handling\n  x86: Unify 3 similar ways of saving mp_irqs info\n  x86, ioapic: Avoid writing io_apic id if already correct\n  x86, x2apic: Don\u0027t map lapic addr for preenabled x2apic systems\n  x86, sfi: Use register_lapic_address()\n  x86, apic: Use register_lapic_address() in init_apic_mapping()\n  x86, apic: Remove early_init_lapic_mapping()\n  x86, apic: Unify identical register_lapic_address() functions\n"
    },
    {
      "commit": "128283a47e7cc6754db3d2704004c1ed728d26db",
      "tree": "b3b0db4cd62600776f5e3dd5762798a8bfe793d2",
      "parents": [
        "442d1ba237c81304ccfa33887094e843183645f7",
        "6d5db4668796d903dc3bad2852c82073509c37d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:54:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:54:03 2011 -0800"
      },
      "message": "Merge branch \u0027mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp\n\n* \u0027mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:\n  EDAC, MCE: Fix NB error formatting\n  EDAC, MCE: Use BIT_64() to eliminate warnings on 32-bit\n  EDAC, MCE: Enable MCE decoding on F15h\n  EDAC, MCE: Allow F15h bank 6 MCE injection\n  EDAC, MCE: Shorten error report formatting\n  EDAC, MCE: Overhaul error fields extraction macros\n  EDAC, MCE: Add F15h FP MCE decoder\n  EDAC, MCE: Add F15 EX MCE decoder\n  EDAC, MCE: Add an F15h NB MCE decoder\n  EDAC, MCE: No F15h LS MCE decoder\n  EDAC, MCE: Add F15h CU MCE decoder\n  EDAC, MCE: Add F15h IC MCE decoder\n  EDAC, MCE: Add F15h DC MCE decoder\n  EDAC, MCE: Select extended error code mask\n"
    },
    {
      "commit": "442d1ba237c81304ccfa33887094e843183645f7",
      "tree": "55d516e121f3bc558e808d05ae6407f845456db3",
      "parents": [
        "fb5131e1880ea1ba3ba7197cd5cc66c9c288f715",
        "a135cef79a2927ecff800492a26cd314e9cba996"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:53:42 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:53:42 2011 -0800"
      },
      "message": "Merge branch \u0027edac-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp\n\n* \u0027edac-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:\n  amd64_edac: Disable DRAM ECC injection on K8\n  EDAC: Fixup scrubrate manipulation\n  amd64_edac: Remove two-stage initialization\n  amd64_edac: Check ECC capabilities initially\n  amd64_edac: Carve out ECC-related hw settings\n  amd64_edac: Remove PCI ECS enabling functions\n  amd64_edac: Remove explicit Kconfig PCI dependency\n  amd64_edac: Allocate driver instances dynamically\n  amd64_edac: Rework printk macros\n  amd64_edac: Rename CPU PCI devices\n  amd64_edac: Concentrate per-family init even more\n  amd64_edac: Cleanup the CPU PCI device reservation\n  amd64_edac: Simplify CPU family detection\n  amd64_edac: Add per-family init function\n  amd64_edac: Use cached extended CPU model\n  amd64_edac: Remove F11h support\n"
    },
    {
      "commit": "fb5131e1880ea1ba3ba7197cd5cc66c9c288f715",
      "tree": "f0d9f25f9079727b9ead5a2b4cc85a0fea9b4668",
      "parents": [
        "d074b104cefcb6e8ded55a53e62fed59a246f55d",
        "8e1023016cf17152972b98bce6c144834a4916d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:50:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:50:50 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (65 commits)\n  [S390] prevent unneccesary loops_per_jiffy recalculation\n  [S390] cpuinfo: use get_online_cpus() instead of preempt_disable()\n  [S390] smp: remove cpu hotplug messages\n  [S390] mutex: enable spinning mutex on s390\n  [S390] mutex: Introduce arch_mutex_cpu_relax()\n  [S390] cio: fix ccwgroup unregistration race condition\n  [S390] perf: add DWARF register lookup for s390\n  [S390] cleanup ftrace backend functions\n  [S390] ptrace cleanup\n  [S390] smp/idle: call init_idle() before starting a new cpu\n  [S390] smp: delay idle task creation\n  [S390] dasd: Correct retry counter for terminated I/O.\n  [S390] dasd: Add support for raw ECKD access.\n  [S390] dasd: Prevent deadlock during suspend/resume.\n  [S390] dasd: Improve handling of stolen DASD reservation\n  [S390] dasd: do path verification for paths added at runtime\n  [S390] dasd: add High Performance FICON multitrack support\n  [S390] cio: reduce memory consumption of itcw structures\n  [S390] nmi: enable machine checks early\n  [S390] qeth: buffer count imbalance\n  ...\n"
    },
    {
      "commit": "d074b104cefcb6e8ded55a53e62fed59a246f55d",
      "tree": "8c5b3a3992c5abab8b41b6e1f2837bc46f82b207",
      "parents": [
        "31b6ca0af758a88e5e769b48cc6dde037ee37b96",
        "c413521eb4e2d7ffd5ce432a144708d479054bd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:50:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:50:14 2011 -0800"
      },
      "message": "Merge branch \u0027rmobile-latest\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027rmobile-latest\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (67 commits)\n  ARM: mach-shmobile: update for SMP changes.\n  ARM: mach-shmobile: update for GIC changes.\n  ARM: mach-shmobile: Fix up clkdev fallout for SH73A0.\n  dma: shdma: don\u0027t register the global die notifier multiple times\n  ARM: mach-shmobile: Rely on run-time IRQ handlers\n  ARM: mach-shmobile: Run-time IRQ handler for GIC\n  ARM: mach-shmobile: Run-time IRQ handler for INTCA\n  ARM: mach-shmobile: Enable CONFIG_MULTI_IRQ_HANDLER\n  ARM: mach-shmobile: Use shared GIC entry macros\n  ARM: mach-shmobile: mackerel: Add zboot support\n  ARM: mach-shmobile: mackerel: Add HDMI sound support\n  ARM: mach-shmobile: mackerel: add HDMI video support\n  ARM: mach-shmobile: ap4evb: fixup clk_put timing of fsib_clk\n  ARM: mach-shmobile: sh73a0: fix div4 table\n  ARM: mach-shmobile: ap4/mackerel: modify wrong comment out of USB\n  ARM: mach-shmobile: Mackerel VGA camera support\n  mmc: sh_mmcif: make DMA support by the driver unconditional\n  ARM: mach-shmobile: Add eMMC support through MMCIF on AG5EVM\n  ARM: mach-shmobile: Use pullups for AG5EVM KEYSC pins\n  ARM: mach-shmobile: sh73a0 GPIO pullup improvement\n  ...\n"
    },
    {
      "commit": "31b6ca0af758a88e5e769b48cc6dde037ee37b96",
      "tree": "e1968d7168affb25e33e2be2d1d102f94af98af0",
      "parents": [
        "56b85f32d530d09d6805488ad00775d4e0e3baab",
        "554738da71004d96e06fb75f4772dfc3b0f47810"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:45:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:45:47 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (58 commits)\n  Input: wacom_w8001 - support pen or touch only devices\n  Input: wacom_w8001 - use __set_bit to set keybits\n  Input: bu21013_ts - fix misuse of logical operation in place of bitop\n  Input: i8042 - add Acer Aspire 5100 to the Dritek list\n  Input: wacom - add support for digitizer in Lenovo W700\n  Input: psmouse - disable the synaptics extension on OLPC machines\n  Input: psmouse - fix up Synaptics comment\n  Input: synaptics - ignore bogus mt packet\n  Input: synaptics - add multi-finger and semi-mt support\n  Input: synaptics - report clickpad property\n  input: mt: Document interface updates\n  Input: fix double equality sign in uevent\n  Input: introduce device properties\n  hid: egalax: Add support for Wetab (726b)\n  Input: include MT library as source for kerneldoc\n  MAINTAINERS: Update input-mt entry\n  hid: egalax: Add support for Samsung NB30 netbook\n  hid: egalax: Document the new devices in Kconfig\n  hid: egalax: Add support for Wetab\n  hid: egalax: Convert to MT slots\n  ...\n\nFixed up trivial conflict in drivers/input/keyboard/Kconfig\n"
    },
    {
      "commit": "56b85f32d530d09d6805488ad00775d4e0e3baab",
      "tree": "e7fbe69e338ef775d3b2dd822aa915d259b4bc94",
      "parents": [
        "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
        "568389c257fa7d74ce36c2f78bad31965fded4cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (36 commits)\n  serial: apbuart: Fixup apbuart_console_init()\n  TTY: Add tty ioctl to figure device node of the system console.\n  tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n  drivers: serial: apbuart: Handle OF failures gracefully\n  Serial: Avoid unbalanced IRQ wake disable during resume\n  tty: fix typos/errors in tty_driver.h comments\n  pch_uart : fix warnings for 64bit compile\n  8250: fix uninitialized FIFOs\n  ip2: fix compiler warning on ip2main_pci_tbl\n  specialix: fix compiler warning on specialix_pci_tbl\n  rocket: fix compiler warning on rocket_pci_ids\n  8250: add a UPIO_DWAPB32 for 32 bit accesses\n  8250: use container_of() instead of casting\n  serial: omap-serial: Add support for kernel debugger\n  serial: fix pch_uart kconfig \u0026 build\n  drivers: char: hvc: add arm JTAG DCC console support\n  RS485 documentation: add 16C950 UART description\n  serial: ifx6x60: fix memory leak\n  serial: ifx6x60: free IRQ on error\n  Serial: EG20T: add PCH_UART driver\n  ...\n\nFixed up conflicts in drivers/serial/apbuart.c with evil merge that\nmakes the code look fairly sane (unlike either side).\n"
    },
    {
      "commit": "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
      "tree": "0365745c1b7441c1868551c024410c829c3accc6",
      "parents": [
        "da40d036fd716f0efb2917076220814b1e927ae1",
        "2af10844eb6ed104f9505bf3a7ba3ceb02264f31"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 13:16:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 13:16:28 2011 -0800"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits)\n  USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004)\n  USB: serial: ftdi_sio: add support for TIOCSERGETLSR\n  USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport\n  USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()\n  usb: ehci-omap: fix tll channel enable mask\n  usb: ohci-omap3: fix trivial typo\n  USB: gadget: ci13xxx: don\u0027t assume that PAGE_SIZE is 4096\n  USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq\u0027s\n  USB: gadget: update ci13xxx to work with g_ether\n  USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers\n  Revert \"USB: musb: pm: don\u0027t rely fully on clock support\"\n  Revert \"USB: musb: blackfin: pm: make it work\"\n  USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path\n  USB: uas: Ensure we only bind to a UAS interface\n  USB: uas: Rename sense pipe and sense urb to status pipe and status urb\n  USB: uas: Use kzalloc instead of kmalloc\n  USB: uas: Fix up the Sense IU\n  usb: musb: core: kill unneeded #include\u0027s\n  DA8xx: assign name to MUSB IRQ resource\n  usb: gadget: g_ncm added\n  ...\n\nManually fix up trivial conflicts in USB Kconfig changes in:\n\tarch/arm/mach-omap2/Kconfig\n\tarch/sh/Kconfig\n\tdrivers/usb/Kconfig\n\tdrivers/usb/host/ehci-hcd.c\nand annoying chip clock data conflicts in:\n\tarch/arm/mach-omap2/clock3xxx_data.c\n\tarch/arm/mach-omap2/clock44xx_data.c\n"
    },
    {
      "commit": "da40d036fd716f0efb2917076220814b1e927ae1",
      "tree": "567893573a48e2954d82421e77606034d3b32f84",
      "parents": [
        "aa58abc20fa85328a9f048e2626c0893691ff284",
        "c32e061fa19893ce4acf95d97d5613a161f0f1b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 12:47:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 12:47:02 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (147 commits)\n  [SCSI] arcmsr: fix write to device check\n  [SCSI] lpfc: lower stack use in lpfc_fc_frame_check\n  [SCSI] eliminate an unnecessary local variable from scsi_remove_target()\n  [SCSI] libiscsi: use bh locking instead of irq with session lock\n  [SCSI] libiscsi: do not take host lock in queuecommand\n  [SCSI] be2iscsi: fix null ptr when accessing task hdr\n  [SCSI] be2iscsi: fix gfp use in alloc_pdu\n  [SCSI] libiscsi: add more informative failure message during iscsi scsi eh\n  [SCSI] gdth: Add missing call to gdth_ioctl_free\n  [SCSI] bfa: remove unused defintions and misc cleanups\n  [SCSI] bfa: remove inactive functions\n  [SCSI] bfa: replace bfa_assert with WARN_ON\n  [SCSI] qla2xxx: Use sg_next to fetch next sg element while walking sg list.\n  [SCSI] qla2xxx: Fix to avoid recursive lock failure during BSG timeout.\n  [SCSI] qla2xxx: Remove code to not reset ISP82xx on failure.\n  [SCSI] qla2xxx: Display mailbox register 4 during 8012 AEN for ISP82XX parts.\n  [SCSI] qla2xxx: Don\u0027t perform a BIG_HAMMER if Get-ID (0x20) mailbox command fails on CNAs.\n  [SCSI] qla2xxx: Remove redundant module parameter permission bits\n  [SCSI] qla2xxx: Add sysfs node for displaying board temperature.\n  [SCSI] qla2xxx: Code cleanup to remove unwanted comments and code.\n  ...\n"
    },
    {
      "commit": "aa58abc20fa85328a9f048e2626c0893691ff284",
      "tree": "88d0f5dcfc9a7a8d1fff5e33ee07bfdea88fc087",
      "parents": [
        "b4a45f5fe8078bfc10837dbd5b98735058bc4698"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri Jan 07 20:47:37 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 12:44:45 2011 -0800"
      },
      "message": "input/tc3589x: fix compile error\n\nThere was a semi-colon missing and it broke the compile.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07fe0351702b6f0c9749e80cdbcb758686b0fe9b",
      "tree": "49abac1907bae4be949696e806fbe0626e138d8f",
      "parents": [
        "735759389b7143f95ae7badc97511e7e4729e873"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Fri Jan 07 15:49:20 2011 +0000"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jan 07 13:44:24 2011 -0700"
      },
      "message": "spi/omap: Fix DMA API usage in OMAP MCSPI driver\n\nRunning the latest kernel on the 4430SDP board with DMA API debugging\nenabled results in this:\n\nWARNING: at lib/dma-debug.c:803 check_unmap+0x19c/0x6f0()\nNULL NULL: DMA-API: device driver tries to free DMA memory it has not allocated\n[device address\u003d0x000000008129901a] [size\u003d260 bytes]\nModules linked in:\nBacktrace:\n[\u003cc003cbe0\u003e] (dump_backtrace+0x0/0x10c) from [\u003cc0278da8\u003e] (dump_stack+0x18/0x1c)\n r7:c1839dc0 r6:c0198578 r5:c0304b17 r4:00000323\n[\u003cc0278d90\u003e] (dump_stack+0x0/0x1c) from [\u003cc005b158\u003e] (warn_slowpath_common+0x58/0x70)\n[\u003cc005b100\u003e] (warn_slowpath_common+0x0/0x70) from [\u003cc005b214\u003e] (warn_slowpath_fmt+0x38/0x40)\n r8:c1839e40 r7:00000000 r6:00000104 r5:00000000 r4:8129901a\n[\u003cc005b1dc\u003e] (warn_slowpath_fmt+0x0/0x40) from [\u003cc0198578\u003e] (check_unmap+0x19c/0x6f0)\n r3:c03110de r2:c0304e6b\n[\u003cc01983dc\u003e] (check_unmap+0x0/0x6f0) from [\u003cc0198cd8\u003e] (debug_dma_unmap_page+0x74/0x80)\n[\u003cc0198c64\u003e] (debug_dma_unmap_page+0x0/0x80) from [\u003cc01d5ad8\u003e] (omap2_mcspi_work+0x514/0xbf0)\n[\u003cc01d55c4\u003e] (omap2_mcspi_work+0x0/0xbf0) from [\u003cc006dfb0\u003e] (process_one_work+0x294/0x400)\n[\u003cc006dd1c\u003e] (process_one_work+0x0/0x400) from [\u003cc006e50c\u003e] (worker_thread+0x220/0x3f8)\n[\u003cc006e2ec\u003e] (worker_thread+0x0/0x3f8) from [\u003cc00738d0\u003e] (kthread+0x88/0x90)\n[\u003cc0073848\u003e] (kthread+0x0/0x90) from [\u003cc005e924\u003e] (do_exit+0x0/0x5fc)\n r7:00000013 r6:c005e924 r5:c0073848 r4:c1829ee0\n---[ end trace 1b75b31a2719ed20 ]---\n\nI\u0027ve no idea why this driver uses NULL for dma_unmap_single instead of\nthe \u0026spi-\u003edev that is laying around just waiting to be used in that\nfunction - but it\u0027s an easy fix.\n\nAlso replace this comment with a FIXME comment:\n                /* Do DMA mapping \"early\" for better error reporting and\n                 * dcache use.  Note that if dma_unmap_single() ever starts\n                 * to do real work on ARM, we\u0027d need to clean up mappings\n                 * for previous transfers on *ALL* exits of this loop...\n                 */\nas the comment is not true - we do work in dma_unmap() functions,\nparticularly on ARMv6 and above.  I\u0027ve corrected the existing unmap\nfunctions but if any others are required they must be added ASAP.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "735759389b7143f95ae7badc97511e7e4729e873",
      "tree": "48481675a7d52ce1a1af6bbf6c47fa6095b5a54d",
      "parents": [
        "77e58efd134b553d723fd963f436920a6aaaa6df"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Fri Jan 07 15:26:01 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jan 07 10:01:23 2011 -0700"
      },
      "message": "spi/imx: correct the test on platform_get_irq() return value\n\nThe test \"if (spi_imx-\u003eirq \u003c\u003d 0)\" is not testing the IRQ value, but\nthe return value of platform_get_irq().  As platform_get_irq() can\nreturn an error (-ENXIO) or the IRQ value it found, the test should be\n\"if (spi_imx-\u003eirq \u003c 0)\"\n\n[grant.likely: Note: In general, Linux irq number 0 should also mean\nno irq, but arm still allows devices to be assigned 0, and the imx\nplatform uses 0 for one of the spi devices, so this patch is needed\nfor the device to work]\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b4a45f5fe8078bfc10837dbd5b98735058bc4698",
      "tree": "df6f13a27610a3ec7eb4a661448cd779a8f84c79",
      "parents": [
        "01539ba2a706ab7d35fc0667dff919ade7f87d63",
        "b3e19d924b6eaf2ca7d22cba99a517c5171007b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin: (57 commits)\n  fs: scale mntget/mntput\n  fs: rename vfsmount counter helpers\n  fs: implement faster dentry memcmp\n  fs: prefetch inode data in dcache lookup\n  fs: improve scalability of pseudo filesystems\n  fs: dcache per-inode inode alias locking\n  fs: dcache per-bucket dcache hash locking\n  bit_spinlock: add required includes\n  kernel: add bl_list\n  xfs: provide simple rcu-walk ACL implementation\n  btrfs: provide simple rcu-walk ACL implementation\n  ext2,3,4: provide simple rcu-walk ACL implementation\n  fs: provide simple rcu-walk generic_check_acl implementation\n  fs: provide rcu-walk aware permission i_ops\n  fs: rcu-walk aware d_revalidate method\n  fs: cache optimise dentry and inode for rcu-walk\n  fs: dcache reduce branches in lookup path\n  fs: dcache remove d_mounted\n  fs: fs_struct use seqlock\n  fs: rcu-walk for path lookup\n  ...\n"
    },
    {
      "commit": "c9b5f501ef1580faa30c40c644b7691870462201",
      "tree": "d22df12b72bc90b130254078ee71b1b7e7e3e521",
      "parents": [
        "524429c31b486c05449666b94613f59f729c0a84"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 07 13:41:40 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:45 2011 +0100"
      },
      "message": "sched: Constify function scope static struct sched_param usage\n\nFunction-scope statics are discouraged because they are\neasily overlooked and can cause subtle bugs/races due to\ntheir global (non-SMP safe) nature.\n\nLinus noticed that we did this for sched_param - at minimum\nmake the const.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: Message-ID: \u003cAANLkTinotRxScOHEb0HgFgSpGPkq_6jKTv5CfvnQM\u003dee@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "524429c31b486c05449666b94613f59f729c0a84",
      "tree": "00d0a06e864c0054cc6764f1afa6887e1281bcb6",
      "parents": [
        "1c5354de90c900b369e2ebd36c3a065ede29eb93"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Thu Jan 06 20:58:12 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:10 2011 +0100"
      },
      "message": "sched: Fix strncmp operation\n\nOne of the operands, buf, is incorrect, since it is stripped and the\ncorrect address for subsequent string comparing could change if\nleading white spaces, if any, are removed from buf.\n\nIt is fixed by replacing buf with cmp.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTinOPuYsVovrZpbuCCmG5deEyc8WgA_A1RJx_YK7@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c5354de90c900b369e2ebd36c3a065ede29eb93",
      "tree": "3144205e179f8c4503db06e8da95b604d1640b68",
      "parents": [
        "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:16:04 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:39 2011 +0100"
      },
      "message": "sched: Move sched_autogroup_exit() to free_signal_struct()\n\nPer Oleg\u0027s suggestion, undo fork failure free/put_signal_struct change,\nand move sched_autogroup_exit() to free_signal_struct() instead.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222564.8369.6.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39",
      "tree": "04652389e0bd04e37a327002c21b8215c972eda8",
      "parents": [
        "0ca0873555c0abe17b28c25b19f82857c0ddd2bc"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:11:25 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:37 2011 +0100"
      },
      "message": "sched: Fix struct autogroup memory leak\n\nSeems I lost a change somewhere, leaking memory.\n\nsched: fix struct autogroup memory leak\n\nAdd missing change to actually use autogroup_free().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222285.8369.2.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ca0873555c0abe17b28c25b19f82857c0ddd2bc",
      "tree": "e777dbbcf9ea2e72f253c2816d7ec2e768e09178",
      "parents": [
        "07e06b011db2b3300f6c975ebf293fc4c8c59942"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 12:43:45 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:36 2011 +0100"
      },
      "message": "sched: Mark autogroup_init() __init\n\nautogroup_init() is only called at boot time.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294375425-31065-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07e06b011db2b3300f6c975ebf293fc4c8c59942",
      "tree": "f6f0fdd7c1707aa9badf16d1ceb4de1e16adb9e9",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 15:17:36 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:34 2011 +0100"
      },
      "message": "sched: Consolidate the name of root_task_group and init_task_group\n\nroot_task_group is the leftover of USER_SCHED, now it\u0027s always\nsame to init_task_group.\nBut as Mike suggested, root_task_group is maybe the suitable name\nto keep for a tree.\nSo in this patch:\n  init_task_group      --\u003e root_task_group\n  init_task_group_load --\u003e root_task_group_load\n  INIT_TASK_GROUP_LOAD --\u003e ROOT_TASK_GROUP_LOAD\n\nSuggested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110107071736.GA32635@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c2a48cf65580a276552151eb8f78d78c55b828e",
      "tree": "68ed0628a276b33cb5aa0ad4899c1afe0a33a69d",
      "parents": [
        "0aa002fe602939370e9476e5ec32b562000a0425",
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 14:14:15 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 14:14:15 2011 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/apic-cleanups\n\nConflicts:\n\tarch/x86/include/asm/io_apic.h\n\nMerge reason: Resolve the conflict, update to a more recent -rc base\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d5db4668796d903dc3bad2852c82073509c37d2",
      "tree": "a6520e67f93ececcb71f6469fde28e63cb3bb52c",
      "parents": [
        "50adbbd8a8e572ad2533eace228c841ec84028a3"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Nov 25 15:40:27 2010 +0100"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:26 2011 +0100"
      },
      "message": "EDAC, MCE: Fix NB error formatting\n\nMinor formatting fixup since the information which core was associated\nwith the MCE is not always valid.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "50adbbd8a8e572ad2533eace228c841ec84028a3",
      "tree": "34df56e03f29790ed6b16b73cf25d2a5793f0b05",
      "parents": [
        "bad11e031862294265145d87dd4be1ae4af0d57f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Nov 13 11:44:26 2010 -0500"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:25 2011 +0100"
      },
      "message": "EDAC, MCE: Use BIT_64() to eliminate warnings on 32-bit\n\nBuilding for X86_32 produces shift count warnings, so use BIT_64() to\neliminate the warnings.\n\ndrivers/edac/mce_amd.c:778: warning: left shift count \u003e\u003d width of type\ndrivers/edac/mce_amd.c:778: warning: left shift count \u003e\u003d width of type\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nCc: bluesmoke-devel@lists.sourceforge.net\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "bad11e031862294265145d87dd4be1ae4af0d57f",
      "tree": "ccc411f7b6543e807137ad68f6c79c7ce5b88ba7",
      "parents": [
        "1b07ca47ff2fbffbe09d8b0a0a25d8747a3cdcae"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Sep 22 17:44:51 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:24 2011 +0100"
      },
      "message": "EDAC, MCE: Enable MCE decoding on F15h\n\nNow that everything is inplace, enable MCE decoding on F15h. Make\ninitcall routine a bit more readable.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "1b07ca47ff2fbffbe09d8b0a0a25d8747a3cdcae",
      "tree": "da2c3d76f16c13dcc24b40865489b93d0d8963f9",
      "parents": [
        "fa7ae8cc8c88c0679eab24c5a1b5d3b134a5f542"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue Nov 09 19:41:49 2010 +0100"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:23 2011 +0100"
      },
      "message": "EDAC, MCE: Allow F15h bank 6 MCE injection\n\nF15h adds a sixth MCE bank: adjust bank number check in the injection\ncode.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "fa7ae8cc8c88c0679eab24c5a1b5d3b134a5f542",
      "tree": "c6325ce19c35d8fb5b1e85358973c517866584aa",
      "parents": [
        "6245288232516aadf293f575d1812dafb4696aee"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Sep 22 17:42:27 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:22 2011 +0100"
      },
      "message": "EDAC, MCE: Shorten error report formatting\n\nShorten up MCi_STATUS flags and add BD\u0027s new deferred and poison types.\nAlso, simplify formatting.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "6245288232516aadf293f575d1812dafb4696aee",
      "tree": "8ca69fb55bbc1556b75cc3cbc5cccc1bca4aa613",
      "parents": [
        "b8f85c477bdf1fec98ea7cbe952fdb5f40eb0aa7"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Sep 22 16:08:37 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:21 2011 +0100"
      },
      "message": "EDAC, MCE: Overhaul error fields extraction macros\n\nMake macro names shorter thus making code shorter and more clear.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "b8f85c477bdf1fec98ea7cbe952fdb5f40eb0aa7",
      "tree": "b657c1b6bed836c19516401782ffc15d706ac6a0",
      "parents": [
        "8259a7e5724c42c89d927b92cda3e0ab15b9ade9"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Sep 22 15:37:58 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:20 2011 +0100"
      },
      "message": "EDAC, MCE: Add F15h FP MCE decoder\n\nAdd decoder for FP MCEs.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "8259a7e5724c42c89d927b92cda3e0ab15b9ade9",
      "tree": "9b6f55194f8566c4a13350059d61562c6e116b5b",
      "parents": [
        "05cd667d668eb08845dd49c02130e5223121b715"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Sep 22 15:28:59 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:19 2011 +0100"
      },
      "message": "EDAC, MCE: Add F15 EX MCE decoder\n\nIntegrate the single FIROB signature into an expanded table along with\nthe new BD MCE types.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "05cd667d668eb08845dd49c02130e5223121b715",
      "tree": "e6133b9f7edccfb41b530400b6d17630a9b63210",
      "parents": [
        "b18434cad1740466f7a1c304ea4af0f4d3c874f1"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Sep 22 15:06:24 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:18 2011 +0100"
      },
      "message": "EDAC, MCE: Add an F15h NB MCE decoder\n\nby (almost) reusing the F10h one since the signatures are the same.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "b18434cad1740466f7a1c304ea4af0f4d3c874f1",
      "tree": "4d19e97e1cdf4ab5ae31e71ae24d3b45d7b7700c",
      "parents": [
        "70fdb494aa8c82f76745d5a32b8abc505813557c"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Sep 22 11:53:32 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:17 2011 +0100"
      },
      "message": "EDAC, MCE: No F15h LS MCE decoder\n\nF15h BD doesn\u0027t generate LS MCEs so warn about it.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "70fdb494aa8c82f76745d5a32b8abc505813557c",
      "tree": "fc4799261257903f10b0f5ad7d2cfd68574ae2c1",
      "parents": [
        "86039cd401e1780573733870f9c0bd458fc96ea2"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Tue Sep 21 20:45:10 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:16 2011 +0100"
      },
      "message": "EDAC, MCE: Add F15h CU MCE decoder\n\nMCE bank 2 is redefined from a BU to a CU (Combined Unit) bank on F15h.\nAdd a decoder function for CU MCEs.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "86039cd401e1780573733870f9c0bd458fc96ea2",
      "tree": "64f2acb7d10b8d50983a8b625de849160274f676",
      "parents": [
        "25a4f8b05917f8137bfff8a3f8c6c8c1ac561208"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Mon Nov 08 15:03:35 2010 +0100"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:15 2011 +0100"
      },
      "message": "EDAC, MCE: Add F15h IC MCE decoder\n\nAdd support for decoding F15h IC MCEs.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "25a4f8b05917f8137bfff8a3f8c6c8c1ac561208",
      "tree": "8fc91785a6d142c9bf9f72c85df6b4abc234e152",
      "parents": [
        "2be64bfac71378e1aa8c20031a499bd55e391244"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Sep 17 19:22:34 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:14 2011 +0100"
      },
      "message": "EDAC, MCE: Add F15h DC MCE decoder\n\nAdd a decoder for F15h DC MCEs to support the new types of DC MCEs\nintroduced by the BD microarchitecture.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "2be64bfac71378e1aa8c20031a499bd55e391244",
      "tree": "e9eb0cb97d4262e2674e34865a4ee01504199086",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Sep 17 19:11:47 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:54:12 2011 +0100"
      },
      "message": "EDAC, MCE: Select extended error code mask\n\nF15h enlarges the extended error code of an MCE to a 5-bit field\n(MCi_STATUS[20:16]). Add a mask variable which default 0xf is overridden\non F15h.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "a135cef79a2927ecff800492a26cd314e9cba996",
      "tree": "22236442bbf197c5231cb054fcc2b71e0a0cf240",
      "parents": [
        "390944439f746824faec51b576f50cb5ef18745b"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Nov 26 19:24:44 2010 +0100"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:38:46 2011 +0100"
      },
      "message": "amd64_edac: Disable DRAM ECC injection on K8\n\nK8 does not allow for an atomic RMW to a cacheline as F10h does so\ndisable the error injection interface for it.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "390944439f746824faec51b576f50cb5ef18745b",
      "tree": "5fd15e75e8e5e5d3dc1e176c655829f9d0f83aa9",
      "parents": [
        "360b7f3c602ed80ce8c6b2585dcb76883a440c17"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Nov 24 19:52:09 2010 +0100"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:38:31 2011 +0100"
      },
      "message": "EDAC: Fixup scrubrate manipulation\n\nMake the -\u003e{get|set}_sdram_scrub_rate return the actual scrub rate\nbandwidth it succeeded setting and remove superfluous arg pointer used\nfor that. A negative value returned still means that an error occurred\nwhile setting the scrubrate. Document this for future reference.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "360b7f3c602ed80ce8c6b2585dcb76883a440c17",
      "tree": "1737a8de8539548fc7a6ba965798234ba62c5ee7",
      "parents": [
        "2299ef7114000f8e403797b7f9a972f54bc05fad"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 15 19:25:38 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:34:03 2011 +0100"
      },
      "message": "amd64_edac: Remove two-stage initialization\n\nNow that all prerequisites are in place, drop the two-stage driver\ninstances initialization in favor of the following simple init sequence:\n\n1. Probe PCI device: we only test ECC capabilities here and if none exit\nearly.\n\n2. If the hw supports ECC and it is/can be enabled, we init the per-node\ninstance.\n\nRemove \"amd64_\" prefix from static functions touched, while at it.\n\nThere actually should be no visible functional change resulting from\nthis patch.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "2299ef7114000f8e403797b7f9a972f54bc05fad",
      "tree": "bcce876e2bcd05d168e43422d3ad82a1a2419ae3",
      "parents": [
        "ae7bb7c679e7ddba6c52d1a78a30f9bc868d9738"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 15 17:44:04 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:34:02 2011 +0100"
      },
      "message": "amd64_edac: Check ECC capabilities initially\n\nRework the code to check the hardware ECC capabilities at PCI probing\ntime. We do all further initialization only if we actually can/have ECC\nenabled.\n\nWhile at it:\n0. Fix function naming.\n1. Simplify/clarify debug output.\n2. Remove amd64_ prefix from the static functions\n3. Reorganize code.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "ae7bb7c679e7ddba6c52d1a78a30f9bc868d9738",
      "tree": "dccc3bdf93c8746a77d84ecb20b103ddab722e64",
      "parents": [
        "f1db274e1ba7004909de4a9cee62f631c030ba3e"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Oct 14 16:01:30 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:34:00 2011 +0100"
      },
      "message": "amd64_edac: Carve out ECC-related hw settings\n\nThis is in preparation for the init path reorganization where we want\nonly to\n\n1) test whether a particular node supports ECC\n2) can it be enabled\n\nand only then do the necessary allocation/initialization. For that,\nwe need to decouple the ECC settings of the node from the instance\u0027s\ndescriptor.\n\nThe should be no functional change introduced by this patch.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "f1db274e1ba7004909de4a9cee62f631c030ba3e",
      "tree": "81c74f068eb1e428025053e30c05be264762a0b6",
      "parents": [
        "027dbd6f5d419c25750d6a26c5c46f46f2093a11"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Oct 14 14:37:13 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:59 2011 +0100"
      },
      "message": "amd64_edac: Remove PCI ECS enabling functions\n\nPCI ECS is being enabled by default since 2.6.26 on AMD so this code is\njust superfluous now, remove it.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "027dbd6f5d419c25750d6a26c5c46f46f2093a11",
      "tree": "aa8edec28533e42dbbe1a177c0e08852f76adf6b",
      "parents": [
        "cc4d8860fc37dd315b16a43202400d822ab63221"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Oct 13 22:12:15 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:58 2011 +0100"
      },
      "message": "amd64_edac: Remove explicit Kconfig PCI dependency\n\nAMD_NB pulls in the dependency on PCI. Clarify/fix help text while at it.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "cc4d8860fc37dd315b16a43202400d822ab63221",
      "tree": "9058c36eb01cd7186a1bf11df21df235dc3e904a",
      "parents": [
        "24f9a7fe3f19f3fd310f556364d01a22911724b3"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Oct 13 16:11:59 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:57 2011 +0100"
      },
      "message": "amd64_edac: Allocate driver instances dynamically\n\nRemove static allocation in favor of dynamically allocating space for as\nmany driver instances as northbridges present on the system.\n\nThere should be no functional change resulting from this patch.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "24f9a7fe3f19f3fd310f556364d01a22911724b3",
      "tree": "4fa8aff338bd58d42fc95b930f29a39b91bacedd",
      "parents": [
        "8d5b5d9c7b86e44fda29a367db3ccd2815a52f7c"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Oct 07 18:29:15 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:56 2011 +0100"
      },
      "message": "amd64_edac: Rework printk macros\n\nAdd a macro per printk level, shorten up error messages. Add relevant\ninformation to KERN_INFO level. No functional change.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "8d5b5d9c7b86e44fda29a367db3ccd2815a52f7c",
      "tree": "3444029260ba184d6726bd46c48d9fa87a2fc3a5",
      "parents": [
        "b8cfa02f833a614e80f851747c4ce14989a4cfd0"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 01 20:11:07 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:54 2011 +0100"
      },
      "message": "amd64_edac: Rename CPU PCI devices\n\nRename variables representing PCI devices to their BKDG names for faster\nsearch and shorter, clearer code.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "b8cfa02f833a614e80f851747c4ce14989a4cfd0",
      "tree": "64e9b0dca377952e8671b4a61c47bfffc73e6235",
      "parents": [
        "bbd0c1f675d7d64fc02393d4985a069be5037b54"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 01 19:35:38 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:53 2011 +0100"
      },
      "message": "amd64_edac: Concentrate per-family init even more\n\nMove the remaining per-family init code into the proper place and\nsimplify the rest of the initialization. Reorganize error handling in\namd64_init_one_instance().\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "bbd0c1f675d7d64fc02393d4985a069be5037b54",
      "tree": "dea760f017356a6b8da787c42333aa712e81cbb7",
      "parents": [
        "0092b20d4cf3de243b5c82b410ee02644cec2707"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 01 19:27:58 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:52 2011 +0100"
      },
      "message": "amd64_edac: Cleanup the CPU PCI device reservation\n\nShorten code and clarify comments, return proper -E* values on error.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "0092b20d4cf3de243b5c82b410ee02644cec2707",
      "tree": "b839d0953cf4949d93dd957f776aae0c4b9f8751",
      "parents": [
        "395ae783b384e5243804b07fba3e3f8379ddf1d6"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 01 19:20:05 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:51 2011 +0100"
      },
      "message": "amd64_edac: Simplify CPU family detection\n\nConcentrate CPU family detection in the per-family init function.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "395ae783b384e5243804b07fba3e3f8379ddf1d6",
      "tree": "d5b841a23508eed59caf67d7a4ee411e808b2860",
      "parents": [
        "9f56da0e3c3269abe0b2745a54f1b082c3c14433"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 01 18:38:19 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:50 2011 +0100"
      },
      "message": "amd64_edac: Add per-family init function\n\nRun a per-family init function which does all the settings based on\nthe family this driver instance is running on. Move the scrubrate\ncalculation in it and simplify code.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "9f56da0e3c3269abe0b2745a54f1b082c3c14433",
      "tree": "e3c5c7435e643256f9bb324f95112859761f9ba1",
      "parents": [
        "3ab0e7dc2e1d5598da609ec9a9bcd3b69b8fa654"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 01 19:44:53 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:49 2011 +0100"
      },
      "message": "amd64_edac: Use cached extended CPU model\n\n... instead of computing it needlessly again.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "3ab0e7dc2e1d5598da609ec9a9bcd3b69b8fa654",
      "tree": "4b4e6d7ef06b1136d8ea31c672e972f38576a06d",
      "parents": [
        "42cbd8efb0746b55112de45173219f76c54390da"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Oct 01 18:19:06 2010 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 07 11:33:47 2011 +0100"
      },
      "message": "amd64_edac: Remove F11h support\n\nF11h doesn\u0027t support DRAM ECC so whack it away.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "b3e19d924b6eaf2ca7d22cba99a517c5171007b6",
      "tree": "8c1fa4074114a883a4e2de2f7d12eb29ed91bdf1",
      "parents": [
        "c6653a838b1b2738561aff0b8c0f62a9b714bdd9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:11 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:33 2011 +1100"
      },
      "message": "fs: scale mntget/mntput\n\nThe problem that this patch aims to fix is vfsmount refcounting scalability.\nWe need to take a reference on the vfsmount for every successful path lookup,\nwhich often go to the same mount point.\n\nThe fundamental difficulty is that a \"simple\" reference count can never be made\nscalable, because any time a reference is dropped, we must check whether that\nwas the last reference. To do that requires communication with all other CPUs\nthat may have taken a reference count.\n\nWe can make refcounts more scalable in a couple of ways, involving keeping\ndistributed counters, and checking for the global-zero condition less\nfrequently.\n\n- check the global sum once every interval (this will delay zero detection\n  for some interval, so it\u0027s probably a showstopper for vfsmounts).\n\n- keep a local count and only taking the global sum when local reaches 0 (this\n  is difficult for vfsmounts, because we can\u0027t hold preempt off for the life of\n  a reference, so a counter would need to be per-thread or tied strongly to a\n  particular CPU which requires more locking).\n\n- keep a local difference of increments and decrements, which allows us to sum\n  the total difference and hence find the refcount when summing all CPUs. Then,\n  keep a single integer \"long\" refcount for slow and long lasting references,\n  and only take the global sum of local counters when the long refcount is 0.\n\nThis last scheme is what I implemented here. Attached mounts and process root\nand working directory references are \"long\" references, and everything else is\na short reference.\n\nThis allows scalable vfsmount references during path walking over mounted\nsubtrees and unattached (lazy umounted) mounts with processes still running\nin them.\n\nThis results in one fewer atomic op in the fastpath: mntget is now just a\nper-CPU inc, rather than an atomic inc; and mntput just requires a spinlock\nand non-atomic decrement in the common case. However code is otherwise bigger\nand heavier, so single threaded performance is basically a wash.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "c6653a838b1b2738561aff0b8c0f62a9b714bdd9",
      "tree": "42ab45defd51c23dde7b91bafe62a28509befaf8",
      "parents": [
        "9d55c369bb5e695e629bc35cba2ef607755b3bee"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:10 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:33 2011 +1100"
      },
      "message": "fs: rename vfsmount counter helpers\n\nSuggested by Andreas, mnt_ prefix is clearer namespace, follows kernel\nconventions better, and is easier for tab complete. I introduced these\nnames so I\u0027ll admit they were not good choices.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "9d55c369bb5e695e629bc35cba2ef607755b3bee",
      "tree": "d97cd498a67f1f7987d4403ef90e399516a3b8c9",
      "parents": [
        "e1bb57826381199cc79fbf44e9dfeee58fc7b339"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:09 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:32 2011 +1100"
      },
      "message": "fs: implement faster dentry memcmp\n\nThe standard memcmp function on a Westmere system shows up hot in\nprofiles in the `git diff` workload (both parallel and single threaded),\nand it is likely due to the costs associated with trapping into\nmicrocode, and little opportunity to improve memory access (dentry\nname is not likely to take up more than a cacheline).\n\nSo replace it with an open-coded byte comparison. This increases code\nsize by 8 bytes in the critical __d_lookup_rcu function, but the\nspeedup is huge, averaging 10 runs of each:\n\ngit diff st   user   sys   elapsed  CPU\nbefore        1.15   2.57  3.82      97.1\nafter         1.14   2.35  3.61      96.8\n\ngit diff mt   user   sys   elapsed  CPU\nbefore        1.27   3.85  1.46     349\nafter         1.26   3.54  1.43     333\n\nElapsed time for single threaded git diff at 95.0% confidence:\n        -0.21  +/- 0.01\n        -5.45% +/- 0.24%\n\nIt\u0027s -0.66% +/- 0.06% elapsed time on my Opteron, so rep cmp costs on the\nfam10h seem to be relatively smaller, but there is still a win.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "e1bb57826381199cc79fbf44e9dfeee58fc7b339",
      "tree": "b2f5edeebc568c3fff4afd799801e9e605b99efc",
      "parents": [
        "4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:08 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:32 2011 +1100"
      },
      "message": "fs: prefetch inode data in dcache lookup\n\nThis makes single threaded git diff -1.25% +/- 0.05% elapsed time on my\n2s12c24t Westmere system, and -0.86% +/- 0.05% on my 2s8c Barcelona, by\nprefetching the important first cacheline of the inode in while we do the\nactual name compare and other operations on the dentry.\n\nThere was no measurable slowdown in the single file stat case, or the creat\ncase (where negative dentries would be common).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5",
      "tree": "a0173d27c1ce39f173be404d269c2f15144072ab",
      "parents": [
        "873feea09ebc980cbd3631b767356ce1eee65ec1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:07 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:32 2011 +1100"
      },
      "message": "fs: improve scalability of pseudo filesystems\n\nRegardless of how much we possibly try to scale dcache, there is likely\nalways going to be some fundamental contention when adding or removing children\nunder the same parent. Pseudo filesystems do not seem need to have connected\ndentries because by definition they are disconnected.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "873feea09ebc980cbd3631b767356ce1eee65ec1",
      "tree": "59a8fce9b138086abee7cf845f62ff70a390cf81",
      "parents": [
        "ceb5bdc2d246f6d81cf61ed70f325308a11821d2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:06 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "fs: dcache per-inode inode alias locking\n\ndcache_inode_lock can be replaced with per-inode locking. Use existing\ninode-\u003ei_lock for this. This is slightly non-trivial because we sometimes\nneed to find the inode from the dentry, which requires d_inode to be\nstabilised (either with refcount or d_lock).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "ceb5bdc2d246f6d81cf61ed70f325308a11821d2",
      "tree": "65fc9e0227994d4ffc80530dd15bb5a9672a295e",
      "parents": [
        "626d607435617cc0f033522083e2bb195b81813c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:05 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "fs: dcache per-bucket dcache hash locking\n\nWe can turn the dcache hash locking from a global dcache_hash_lock into\nper-bucket locking.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "626d607435617cc0f033522083e2bb195b81813c",
      "tree": "c1decac81fa5218e7391b6e2b75e2642ec4d8f27",
      "parents": [
        "4e35e6070b1ceed89c3bba2af4216c286fb1dafd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:04 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "bit_spinlock: add required includes\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "4e35e6070b1ceed89c3bba2af4216c286fb1dafd",
      "tree": "94bd18604a978380c1fde46a3f188f1639067960",
      "parents": [
        "880566e17c4fce0d998d92610d32fcb9506aa6dd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:03 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "kernel: add bl_list\n\nIntroduce a type of hlist that can support the use of the lowest bit in the\nhlist_head. This will be subsequently used to implement per-bucket bit spinlock\nfor inode and dentry hashes, and may be useful in other cases such as network\nhashes.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "880566e17c4fce0d998d92610d32fcb9506aa6dd",
      "tree": "74b8adcfea568bd6c99dd73412aedcff3a0e496d",
      "parents": [
        "258a5aa8dfc6294f5f7df892023ee4d3e57c9841"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:02 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:30 2011 +1100"
      },
      "message": "xfs: provide simple rcu-walk ACL implementation\n\nThis simple implementation just checks for no ACLs on the inode, and\nif so, then the rcu-walk may proceed, otherwise fail it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "258a5aa8dfc6294f5f7df892023ee4d3e57c9841",
      "tree": "101a4b9ee97f7d838b35a906244085873c599d19",
      "parents": [
        "73598611ade7c85f0c3d52ba5130103f6709c6d3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:01 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:30 2011 +1100"
      },
      "message": "btrfs: provide simple rcu-walk ACL implementation\n\nThis simple implementation just checks for no ACLs on the inode, and\nif so, then the rcu-walk may proceed, otherwise fail it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "73598611ade7c85f0c3d52ba5130103f6709c6d3",
      "tree": "51b54051c2b41cb712db0c47b9e595dafc09c8f3",
      "parents": [
        "1e1743ebe35ec7e3c1fa732408358fbc614cbbe5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:00 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:30 2011 +1100"
      },
      "message": "ext2,3,4: provide simple rcu-walk ACL implementation\n\nThis simple implementation just checks for no ACLs on the inode, and\nif so, then the rcu-walk may proceed, otherwise fail it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "1e1743ebe35ec7e3c1fa732408358fbc614cbbe5",
      "tree": "9654cd50bb29a4c5ccc498b9b08cc385288bc854",
      "parents": [
        "b74c79e99389cd79b31fcc08f82c24e492e63c7e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:59 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: provide simple rcu-walk generic_check_acl implementation\n\nThis simple implementation just checks for no ACLs on the inode, and\nif so, then the rcu-walk may proceed, otherwise fail it.\n\nThis could easily be extended to put acls under RCU and check them\nunder seqlock, if need be. But this implementation is enough to show\nthe rcu-walk aware permissions code for path lookups is working, and\nwill handle cases where there are no ACLs or ACLs in just the final\nelement.\n\nThis patch implicity converts tmpfs to rcu-aware permission check.\nSubsequent patches onvert ext*, xfs, and, btrfs. Each of these uses\nacl/permission code in a different way, so convert them all to provide\ntemplates and proof of concept.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b74c79e99389cd79b31fcc08f82c24e492e63c7e",
      "tree": "763c6b412517306670bc625e90035f2d16bb739f",
      "parents": [
        "34286d6662308d82aed891852d04c7c3a2649b16"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:58 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: provide rcu-walk aware permission i_ops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "34286d6662308d82aed891852d04c7c3a2649b16",
      "tree": "c4b7311404d302e7cb94df7a4690298e1059910a",
      "parents": [
        "44a7d7a878c9cbb74f236ea755b25b6b2e26a9a9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:57 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: rcu-walk aware d_revalidate method\n\nRequire filesystems be aware of .d_revalidate being called in rcu-walk\nmode (nd-\u003eflags \u0026 LOOKUP_RCU). For now do a simple push down, returning\n-ECHILD from all implementations.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "44a7d7a878c9cbb74f236ea755b25b6b2e26a9a9",
      "tree": "d4630a38c0d683a7e1b8823d7971753719b8a54d",
      "parents": [
        "fb045adb99d9b7c562dc7fef834857f78249daa1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:56 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: cache optimise dentry and inode for rcu-walk\n\nPut dentry and inode fields into top of data structure.  This allows RCU path\ntraversal to perform an RCU dentry lookup in a path walk by touching only the\nfirst 56 bytes of the dentry.\n\nWe also fit in 8 bytes of inline name in the first 64 bytes, so for short\nnames, only 64 bytes needs to be touched to perform the lookup. We should\nget rid of the hash-\u003eprev pointer from the first 64 bytes, and fit 16 bytes\nof name in there, which will take care of 81% rather than 32% of the kernel\ntree.\n\ninode is also rearranged so that RCU lookup will only touch a single cacheline\nin the inode, plus one in the i_ops structure.\n\nThis is important for directory component lookups in RCU path walking. In the\nkernel source, directory names average is around 6 chars, so this works.\n\nWhen we reach the last element of the lookup, we need to lock it and take its\nrefcount which requires another cacheline access.\n\nAlign dentry and inode operations structs, so members will be at predictable\noffsets and we can group common operations into head of structure.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff",
      "tree": "f02e7ee57e6060f0af1bcda281baf2972d2da72f",
      "parents": [
        "c28cc36469554dc55540f059fbdc7fa22a2c31fc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:54 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache remove d_mounted\n\nRather than keep a d_mounted count in the dentry, set a dentry flag instead.\nThe flag can be cleared by checking the hash table to see if there are any\nmounts left, which is not time critical because it is performed at detach time.\n\nThe mounted state of a dentry is only used to speculatively take a look in the\nmount hash table if it is set -- before following the mount, vfsmount lock is\ntaken and mount re-checked without races.\n\nThis saves 4 bytes on 32-bit, nothing on 64-bit but it does provide a hole I\nmight use later (and some configs have larger than 32-bit spinlocks which might\nmake use of the hole).\n\nAutofs4 conversion and changelog by Ian Kent \u003craven@themaw.net\u003e:\nIn autofs4, when expring direct (or offset) mounts we need to ensure that we\nblock user path walks into the autofs mount, which is covered by another mount.\nTo do this we clear the mounted status so that follows stop before walking into\nthe mount and are essentially blocked until the expire is completed. The\nautomount daemon still finds the correct dentry for the umount due to the\nfollow mount logic in fs/autofs4/root.c:autofs4_follow_link(), which is set as\nan inode operation for direct and offset mounts only and is called following\nthe lookup that stopped at the covered mount.\n\nAt the end of the expire the covering mount probably has gone away so the\nmounted status need not be restored. But we need to check this and only restore\nthe mounted status if the expire failed.\n\nXXX: autofs may not work right if we have other mounts go over the top of it?\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    }
  ],
  "next": "c28cc36469554dc55540f059fbdc7fa22a2c31fc"
}
