)]}'
{
  "log": [
    {
      "commit": "2ab7e1ecb81ce35ed8e8df512e3fc6338a4c55bb",
      "tree": "cc4fea4717a66e7d1428505bb409146d37e52668",
      "parents": [
        "8abbe3a42324264c9d5cc4e7c3d265b5be6d82d6"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:58 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:03 2009 -0500"
      },
      "message": "[SCSI] libfc: send GPN_ID in reaction to single-port RSCNs.\n\nWhen an RSCN indicates changes to individual remote ports,\ndon\u0027t blindly log them out and then back in.  Instead, determine\nwhether they\u0027re still in the directory, by doing GPN_ID.\n\nIf that is successful, call login, which will send ADISC and reverify,\notherwise, call logoff.  Perhaps we should just delete the rport,\nnot send LOGO, but it seems safer.\n\nAlso, fix a possible issue where if a mix of records in the RSCN\ncause us to queue disc_ports for disc_single and then we decide\nto do full rediscovery, we leak memory for those disc_ports queued.\n\nSo, go through the list of disc_ports even if doing full discovery.\nFree the disc_ports in any case.  If any of the disc_single() calls\nreturn error, do a full discovery.\n\nThe ability to fill in GPN_ID requests was added to fc_ct_fill().\nFor this, it needs the FC_ID to be passed in as an arg.\nThe did parameter for fc_elsct_send() is used for that, since the\nactual D_DID will always be 0xfffffc for all CT requests so far.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "370c3bd05cf02afabea9cd3f2de66202d6b516dc",
      "tree": "832cf6b3091db117f119aa8692d050f43fe0a9cb",
      "parents": [
        "68a1750b46ad5177f7703081b5fe85624f1aa62b"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:47 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:08:02 2009 -0500"
      },
      "message": "[SCSI] libfc: use ADISC to verify rport login state\n\nWhen rport_login is called on an rport that is already thought\nto be logged in, use ADISC.  If that fails, redo PLOGI.\nThis is less disruptive after fabric changes that don\u0027t affect\nthe state of the target.\n\nImplement the sending of ADISC via fc_els_fill.\n\nAdd ADISC state to the rport state machine.  This is entered from READY\nand returns to READY after successful completion.  If it fails, the rport\nis either logged off and deleted or re-does PLOGI.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f657d299cf05883e23e12a69e86842da1df378ad",
      "tree": "3593d2054bd361f28593eea12c83868709013b0c",
      "parents": [
        "25b37b981e706c6df72c28c94f7787c3ea0cd343"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:21 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:59 2009 -0500"
      },
      "message": "[SCSI] libfc: improve debug messages for ELS response handlers\n\nImprove lport and rport debug messages to indicate whether\nthe response is LS_ACC, LS_RJT, closed, or timeout.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "131203a1ef53f3a4deb3260031bc53c7e4db4a24",
      "tree": "0f85ee5bf5db4612a7a62aa8835f33a1acc5a9ac",
      "parents": [
        "6bd054cbf3f7da3442f30a7d4eb7da4dd1c44f21"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:03:10 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:58 2009 -0500"
      },
      "message": "[SCSI] libfc: move remote port lookup for ELS requests into fc_rport.c.\n\nThis moves the remote port lookup for incoming ELS requests into\nfc_rport.c, in preparation for handing PLOGI and LOGO from\nunknown rports.\n\nThis changes the arg to rport_recv_req from an rdata to an lport.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9737e6a7b5b8af48f983cd565df93493597c565b",
      "tree": "2bb3e50171af1fbc18d0f739d760b6218031fb31",
      "parents": [
        "935d0fce44b906268b8a29de4e72ebb57a3a06d8"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Aug 25 14:02:59 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:57 2009 -0500"
      },
      "message": "[SCSI] libfc: Initialize fc_rport_identifiers inside fc_rport_create\n\nCurrently these values are initialized by the callers. This was exposed\nby a later patch that adds PLOGI request support. The patch failed to\ninitialize the new remote port\u0027s roles and it caused problems. This patch\nhas the rport_create routine initialize the identifiers and then the\ncallers can override them with real values.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c762608bf75f792dcaf3658338189b9970951704",
      "tree": "16ed727f905466e550de7c2bee962c06736bda1d",
      "parents": [
        "883a337cf8969b2906ffd8aeb838d875f7338190"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:33 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:50 2009 -0500"
      },
      "message": "[SCSI] libfc: fix: empty zone causes endless discovery retries.\n\nOn some switches, an empty zone causes GPN_FT to be rejected\nwith reason 9 (unable) explanation 7 (FC-4 types not registered),\nwhich causes discovery to be retried endlessly.  Treat this as\njust an empty response and consider discovery complete.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "0f6c6149870e03c722af6eae406758b28cb71320",
      "tree": "7dca629255539d73bd44fea4fb50a9c0a9ddd079",
      "parents": [
        "8025b5db7e10cd90cadec940cc766be3bbda65e8"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:02:11 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:48 2009 -0500"
      },
      "message": "[SCSI] libfc: do not log off rports before or after discovery\n\nWhen receiving an RSCN, do not log off all rports.  This is\nextremely disruptive.  If, after the GPN_FT response, some\nrports haven\u0027t been listed, delete them.\n\nAdd field disc_id to structs fc_rport_priv and fc_disc.\ndisc_id is an arbitrary serial number used to identify the\nrports found by the latest discovery.  This eliminates the need\nto go through the rport list when restarting discovery.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b84c7962653e4d04065d2603f0e1424ee0f455ae",
      "tree": "7f5086f5a97a36dd081cb18c17a3a1a7b4cd8759",
      "parents": [
        "786681b96fc1a5b94d187160b7bf80bf6b4681ed"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:34 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:45 2009 -0500"
      },
      "message": "[SCSI] libfc: remove unused disc-\u003edelay element\n\nDelete unused disc-\u003edelay element.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "786681b96fc1a5b94d187160b7bf80bf6b4681ed",
      "tree": "f15c89228d48057957d86ef468118a2c76dcce42",
      "parents": [
        "00fea930d404b9a9039291d5a61975e6c2ea974e"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:29 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:44 2009 -0500"
      },
      "message": "[SCSI] libfc: eliminate disc-\u003eevent\n\nThere was no need to have the discovery status stored in struct fc_disc.\n\nChange fc_disc_done() to take the discovery status as an argument\nand just pass it on to the discovery callback.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9e9d0452fe12115b1c1883c0d4d2ee509079791b",
      "tree": "7cf8bb38e28e562274dcd7eeb2adfdf394876d14",
      "parents": [
        "4c0f62b5679321b2e5572cf541ffb9f7b344d47c"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:18 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:43 2009 -0500"
      },
      "message": "[SCSI] libfc: don\u0027t create dummy (rogue) remote ports\n\nDon\u0027t create a \"dummy\" remote port to go with fc_rport_priv.\n\nMake the rport truly optional by allocating fc_rport_priv separately\nand not requiring a dummy rport to be there if we haven\u0027t yet done\nfc_remote_port_add().\n\nThe fc_rport_libfc_priv remains as a structure attached to the\nrport for I/O purposes.\n\nBe sure to hold references on rdata when the lock is dropped in\nfc_rport_work().\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4c0f62b5679321b2e5572cf541ffb9f7b344d47c",
      "tree": "0c4fba12e9098c63cfdc37dac15313f313887b1a",
      "parents": [
        "629f44279d169f29b084d406e9f1c33314f220fa"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:12 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:43 2009 -0500"
      },
      "message": "[SCSI] libfc: rename rport event CREATED to READY\n\nRemote ports will become READY more than once after\nADISC is implemented in a later patch.\n\nThe event callback that has been called \"CREATED\" will mean \"READY\".\nRename it now in preparation for those changes.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f211fa514a07326c0f9364c0e6ed17e38860172f",
      "tree": "9c2c54fee556816f36211185b6d6df0812b9acec",
      "parents": [
        "a46f327aa5caf2cce138e98ddd863b6cca0e71e2"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:01:01 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:42 2009 -0500"
      },
      "message": "[SCSI] libfc: make rport structure optional\n\nAllow a struct fc_rport_priv to have no fc_rport associated with it.\nThis sets up to remove the need for \"rogue\" rports.\n\nAdd a few fields to fc_rport_priv that are needed before the fc_rport\nis created.  These are the ids, maxframe_size, classes, and rport pointer.\n\nRemove the macro PRIV_TO_RPORT().  Just use rdata-\u003erport where appropriate.\n\nTo take the place of the get_device()/put_device ops that were used to\nhold both the rport and rdata, add a reference count to rdata structures\nusing kref.  When kref_get decrements the refcount to zero, a new template\nfunction releasing the rdata should be called.  This will take care of\nfreeing the rdata and releasing the hold on the rport (for now).  After\nsubsequent patches make the rport truly optional, this release function\nwill simply free the rdata.\n\nRemove the simple inline function fc_rport_set_name(), which becomes\nsemanticly ambiguous otherwise.  The caller will set the port_name and\nnode_name in the rdata-\u003eIds, which will later be copied to the rport\nwhen it its created.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "a46f327aa5caf2cce138e98ddd863b6cca0e71e2",
      "tree": "dbb230e8d4e024085e126445e6d819d5088e0406",
      "parents": [
        "9fb9d32831fd687e427ec5b147bb690f468b99a0"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:55 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:41 2009 -0500"
      },
      "message": "[SCSI] libfc: change elsct to use FC_ID instead of rdata\n\ntt.elsct_send is used by both FCP and by the rport state machine.\nAfter further patches, these two modules will use different\nstructures for the remote port.\n\nSo, change elsct_send to use the FC_ID instead of the fc_rport_priv\nas its argument.  It currently only uses the FC_ID anyway.\n\nFor CT requests the destination FC_ID is still implicitly 0xfffffc.\nAfter further patches the did arg on CT requests will be used to\nspecify the FC_ID being inquired about for GPN_ID or other queries.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9fb9d32831fd687e427ec5b147bb690f468b99a0",
      "tree": "c3b6c29cb94040718ea2fe00daac05abf10db714",
      "parents": [
        "922aa210bcad4b34a7bb98ec9d318b7e59e7a5ca"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:50 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:41 2009 -0500"
      },
      "message": "[SCSI] libfc: make fc_rport_priv the primary rport interface.\n\nThe rport and discovery modules deal with remote ports\nbefore fc_remote_port_add() can be done, because the\nfull set of rport identifiers is not known at early stages.\n\nIn preparation for splitting the fc_rport/fc_rport_priv allocation,\nmake fc_rport_priv the primary interface for the remote port and\ndiscovery engines.\n\nThe FCP / SCSI layers still deal with fc_rport and\nfc_rport_libfc_priv, however.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "922aa210bcad4b34a7bb98ec9d318b7e59e7a5ca",
      "tree": "480d1304252f34cdb8286ec104850648b852e598",
      "parents": [
        "795d86f55ec3bf6280dda368f208943f1fb7d366"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:45 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:40 2009 -0500"
      },
      "message": "[SCSI] libfc: fix RPORT_TO_PRIV and PRIV_TO_RPORT() macros.\n\nThese macros introduce extra undesirable semicolons that keep\nthem from being used in expressions, and they don\u0027t protect\nagainst being passed an expression.\n\nAdd parens and remove the semicolons.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "795d86f55ec3bf6280dda368f208943f1fb7d366",
      "tree": "8d123acf1e7d9d07495d702b88ef2d75dfe696b1",
      "parents": [
        "ab28f1fd3b0d14c1bd693e640decd711d5e6642a"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:40 2009 -0500"
      },
      "message": "[SCSI] libfc: change interface for rport_create\n\nThe interface for lport-\u003ett.rport_create() takes a fc_disc_port arg,\nwhich is unnatural for most calls.   The only reason for this was\nto avoid passing in the local port as an argument, but otherwise\nadded to complexity.\n\nSimplify by just using lport and fc_rport_identifiers.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ab28f1fd3b0d14c1bd693e640decd711d5e6642a",
      "tree": "3d7b051d7ab8b6d7fb7d936f95e336bf25f26832",
      "parents": [
        "090eb6c41aa74273d3f0721637cff738cfd80669"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Aug 25 14:00:34 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 10 12:07:39 2009 -0500"
      },
      "message": "[SCSI] libfc: prepare to split off struct fc_rport_priv from fc_rport_libfc_priv\n\nWhile the I/O and LLD interfaces use fc_rport_libfc_priv, the\ndisc and rport interfaces will use fc_rport_priv, which will\nbe separately allocated.\n\nChange the disc and rport usage of fc_rport_libfc_priv to fc_rport_priv.\n\nUse #define temporarily to make both names equivalent until a\nsubsequent patch splits them.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b2f0091fbf8b475fa09b5e1712e0ab84cb3e1ca4",
      "tree": "98d3427aaae0b3d20d5fd077023b4ea23f5b575c",
      "parents": [
        "e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Aug 25 13:58:53 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:37 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock\n\n1. Updates fcoe_rcv() to queue incoming frames to the fcoe per\n   cpu thread on which this frame\u0027s exch was originated and simply\n   use current cpu for request exch not originated by initiator.\n   It is redundant to add this code under CONFIG_SMP, so removes\n   CONFIG_SMP uses around this code.\n\n2. Updates fc_exch_em_alloc, fc_exch_delete, fc_exch_find to use\n   per cpu exch pools, here fc_exch_delete is rename of older\n   fc_exch_mgr_delete_ep since ep/exch are now deleted in pools\n   of EM and so brief new name is sufficient and better name.\n\n   Updates these functions to map exch id to their index into exch\n   pool using fc_cpu_mask, fc_cpu_order and EM min_xid.\n   This mapping is as per detailed explanation about this in\n   last patch and basically this is just as lower fc_cpu_mask\n   bits of exch id as cpu number and upper bit sum of EM min_xid\n   and exch index in pool.\n\n   Uses pool next_index to keep track of exch allocation from\n   pool along with pool_max_index as upper bound of exches array\n   in pool.\n\n3. Adds exch pool ptr to fc_exch to free exch to its pool in\n   fc_exch_delete.\n\n4. Updates fc_exch_mgr_reset to reset all exch pools of an EM,\n   this required adding fc_exch_pool_reset func to reset exches\n   in pool and then have fc_exch_mgr_reset call fc_exch_pool_reset\n   for each pool within each EM for a lport.\n\n5. Removes no longer needed exches array, em_lock, next_xid, and\n   total_exches from struct fc_exch_mgr, these are not needed after\n   use of per cpu exch pool, also removes not used max_read,\n   last_read from struct fc_exch_mgr.\n\n6. Updates locking notes for exch pool lock with fc_exch lock and\n   uses pool lock in exch allocation, lookup and reset.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1",
      "tree": "43f4e7a1d1fb5c042330c07cd0209f1b0eb92fb5",
      "parents": [
        "a69b06bc5e7b153043db8984564b731f99e014fc"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Aug 25 13:58:47 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:47:36 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: adds per cpu exch pool within exchange manager(EM)\n\nAdds per cpu exch pool for these reasons:-\n\n 1. Currently an EM instance is shared across all cpus to manage\n    all exches for all cpus. This required em_lock across all\n    cpus for an exch alloc, free, lookup and reset each frame\n    and that made em_lock expensive, so instead having per cpu\n    exch pool with their own per cpu pool lock will likely reduce\n    locking contention in fast path for an exch alloc, free and\n    lookup.\n\n 2. Per cpu exch pool will likely improve cache hit ratio since\n    all frames of an exch will be processed on the same cpu on\n    which exch originated.\n\nThis patch is only prep work to help in keeping complexity of next\npatch low, so this patch only sets up per cpu exch pool and related\nhelper funcs to be used by next patch. The next patch fully makes\nuse of per cpu exch pool in all code paths ie. tx, rx and reset.\n\nDivides per EM exch id range equally across all cpus to setup per\ncpu exch pool. This division is such that lower bits of exch id\ncarries cpu number info on which exch originated, later a simple\nbitwise AND operation on exch id of incoming frame with fc_cpu_mask\nretrieves cpu number info to direct all frames to same cpu on which\nexch originated. This required a global fc_cpu_mask and fc_cpu_order\ninitialized to max possible cpus number nr_cpu_ids rounded up to 2\u0027s\npower, this will be used in mapping exch id and exch ptr array\nindex in pool during exch allocation, find or reset code paths.\n\nAdds a check in fc_exch_mgr_alloc() to ensure specified min_xid\nlower bits are zero since these bits are used to carry cpu info.\n\nAdds and initializes struct fc_exch_pool with all required fields\nto manage exches in pool.\n\nAllocates per cpu struct fc_exch_pool with memory for exches array\nfor range of exches per pool. The exches array memory is followed\nby struct fc_exch_pool.\n\nAdds fc_exch_ptr_get/set() helper functions to get/set exch ptr in\npool exches array at specified array index.\n\nIncreases default FCOE_MAX_XID to 0x0FFF from 0x07EF, so that more\nexches are available per cpu after above described exch id range\ndivision across all cpus to each pool.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d1af8a328755f51c9b76157a8692e56520d3fd94",
      "tree": "36abdfc44e548134d3a51feff45e3c85591d76d8",
      "parents": [
        "632248aab3170004e24512a4378fc6d9d7f3b4ac"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Aug 20 15:11:02 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 05 09:42:47 2009 -0500"
      },
      "message": "[SCSI] iscsi_tcp: add new conn error to indicate tcp conn closed\n\nIf a target closed the connection, we will detect it in the\nstate_changed or data_ready callout. This adds a new conn\nerror value to use for this problem, so it is not confused\nwith when the initiator throws a conn error and drops\nthe connection.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "18ee70c9d7b2dcd312a1f8c6536841e7c0fea5ca",
      "tree": "fc147f1704a72f2e79b4b2b4e3aedee95b26f601",
      "parents": [
        "21fab1d0595eacf781705ec3509012a28f298245"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Aug 03 12:42:33 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:14 2009 -0500"
      },
      "message": "[SCSI] scsi_dh: add the interface scsi_dh_set_params()\n\nWhen we moved the device handler functionality from dm layer to SCSI layer\nwe dropped the parameter functionality.\n\nThis path adds an interface to scsi dh layer to set device handler\nparameters.\n\nBasically, multipath layer need to create a string with all the parameters\nand call scsi_dh_set_params() after it called scsi_dh_attach() on a\ndevice.\n\nIf a device handler provides such an interface it will handle the parameters\nas it expects them.\n\nReported-by: Eddie Williams \u003cEddie.Williams@steeleye.com\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nTested-by: Eddie Williams \u003cEddie.Williams@steeleye.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "43d8eb9cfd0aea93be32181c64e18191b69c211c",
      "tree": "76725fe2ea080cb26c7503dbab8226181de1aa04",
      "parents": [
        "163f52b6cf3a639df6a72c7937e0eb88b20f1ef3"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Aug 01 00:41:22 2009 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:13 2009 -0500"
      },
      "message": "[SCSI] ses: add support for enclosure component hot removal\n\nRight at the moment, hot removal of a device within an enclosure does\nnothing (because the intf_remove only copes with enclosure removal not\nwith component removal). Fix this by adding a function to remove the\ncomponent.  Also needed to fix the prototype of\nenclosure_remove_device, since we know the device we\u0027ve removed but\nnot the internal component number\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "163f52b6cf3a639df6a72c7937e0eb88b20f1ef3",
      "tree": "68991096e7ff15e31db28fb0d7bf2e87b1bd01c2",
      "parents": [
        "0124ca9d8ee58b3cd028a23cef2fe225fcfee3b8"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Aug 01 00:39:36 2009 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:13 2009 -0500"
      },
      "message": "[SCSI] ses: fix hotplug with multiple devices and expanders\n\nIn a situation either with expanders or with multiple enclosure\ndevices, hot add doesn\u0027t always work.  This is because we try to find\na single enclosure device attached to the host.  Fix this by looping\nover all enclosure devices attached to the host and also by making the\nfind loop recognise that the enclosure devices may be expander remote\n(i.e. not parented by the host).\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "537029f8e950776951ca2a3fe30121d5c05643d1",
      "tree": "98a6cbdf513eb5c1d73c2b356dc33f65e7cfd899",
      "parents": [
        "15a521b4243f3d61971f8422f3e514ef009a42b8"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Jul 29 17:05:32 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:10 2009 -0500"
      },
      "message": "[SCSI] libfc: Remove FC_FRAME_SG_LEN in fc_fcp_send_data\n\nFC_FRAME_SG_LEN is 4 which is too small when offload is enabled. Actually, the\nWARN_ON() in fc_fcp_send_data() should be:\n\n\tWARN_ON(skb_shinfo(fp_skb(fp))-\u003enr_frags \u003e MAX_SKB_FRAGS);\n\nBut since we will not get anything more than 64K anyway, so there is no need\nto do this anyway here. Therefore, I am getting rid of FC_FRAME_SG_LEN here\nand the WARN_ON here.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "52ff878c912215210f53c0a080552dd6ba3055a2",
      "tree": "efaf0c6a6585aedc02af5faa3b47f4f4685fc783",
      "parents": [
        "d459b7ea1b4c7aa3dacfeee174d02b2f7a95850d"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 29 17:05:10 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:08 2009 -0500"
      },
      "message": "[SCSI] fcoe, fnic, libfc: modifies current code paths to use EM anchor list\n\nModifies current code to use EM anchor list in EM allocation, EM free,\nEM reset, exch allocation and exch lookup code paths.\n\n 1. Modifies fc_exch_mgr_alloc to accept EM match function and then\n    have allocated EM added to the lport using fc_exch_mgr_add API\n    while also updating EM kref for newly added EM.\n\n 2. Updates fc_exch_mgr_free API to accept only lport pointer instead\n    EM and then have this API free all EMs of the lport from EM anchor\n    list.\n\n 3. Removes single lport pointer link from the EM, which was used in\n    associating lport pointer in newly allocated exchange. Instead have\n    lport pointer passed along new exchange allocation call path and\n    then store passed lport pointer in newly allocated exchange, this\n    will allow a single EM instance to be used across more than one\n    lport and used in EM reset to reset only lport specific exchanges.\n\n 4. Modifies fc_exch_mgr_reset to reset all EMs from the EM anchor list\n    of the lport, adds additional exch lport pointer (ep-\u003elp) check for\n    shared EM case to reset exchange specific to a lport requested reset.\n\n 5. Updates exch allocation API fc_exch_alloc to use EM anchor list and\n    its anchor match func pointer. The fc_exch_alloc will walk the list\n    of EMs until it finds a match, a match will be either null match\n    func pointer or call to match function returning true value.\n\n 6. Updates fc_exch_recv to accept incoming frame on local port using\n    only lport pointer and frame pointer without specifying EM instance\n    of incoming frame. Instead modified fc_exch_recv to locate EM for the\n    incoming frame by matching xid of incoming frame against a EM xid range.\n    This change was required to use EM list in libfc Rx path and after this\n    change the lport fc_exch_mgr pointer emp is not needed anymore, so\n    removed emp pointer.\n\n 7. Updates fnic for removed lport emp pointer and above modified libfc APIs\n    fc_exch_recv, fc_exch_mgr_alloc and fc_exch_mgr_free.\n\n 8. Removes exch_get and exch_put from libfc_function_template as these\n    are no longer needed with EM anchor list and its match function use.\n    Also removes its default function fc_exch_get.\n\nA defect this patch introduced regarding the libfc initialization order in\nthe fnic driver was fixed by Joe Eykholt \u003cjeykholt@cisco.com\u003e.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d459b7ea1b4c7aa3dacfeee174d02b2f7a95850d",
      "tree": "65fafcc2af6d44713fd5e7f113fa7f180d4f4675",
      "parents": [
        "96316099ac3cb259eac2d6891f3c75b38b29d26e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Wed Jul 29 17:05:05 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:08 2009 -0500"
      },
      "message": "[SCSI] libfc: Remove the FC_EM_DBG macro\n\nCurrently there is a 1:1 relationship between the lport\nand exchange manager. This macro takes an EM as an argument\nand determines the lport from it. However, later patches\nwill use an EM list per lport, so we will no longer have\nthis 1:1 relationship- this macro must change.\n\nThe FC_EM_DBG macro is rarely used. There are four callers,\ntwo can use FC_LPORT_DBG instead and two can be removed\nsince they\u0027re not necessary. This patch makes those changes\nand removes the macro.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "96316099ac3cb259eac2d6891f3c75b38b29d26e",
      "tree": "f4ec7001462bd00340de19b3045063872652c5a6",
      "parents": [
        "201e5795b7b9582accb6d83316e30f24d7d40fd3"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Wed Jul 29 17:05:00 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:07 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfc: adds exchange manager(EM) anchor list per lport and related APIs\n\nAdds EM list using a anchor struct fc_exch_mgr_anchor, anchor is used\nto allow same EM instance sharing across more than one lport on a eth\ndevice, this implementation is per discussed design posted at\nhttp://www.open-fcoe.org/pipermail/devel/2009-June/002566.html.\n\nThe shared EM is required for multiple lports on eth device when\nusing multiple VLANs or NPIV.\n\nAdds fc_exch_mgr_add API to add a EM to the lport and fc_exch_mgr_del\nAPI to delete previously added EM.\n\nAlso adds function fc_exch_mgr_destroy() to destroy allocated EM.\nThe kref is added to the EM to keep track of EM usage count, the EM is\ndestroyed when no longer in use upon kref reaching to zero.\n\nThe caller can specify match function to fc_exch_mgr_add, this\nwill be used in determining exchange allocation from its EM or not.\n\nMoved calling of fcoe_em_config below fcoe_libfc_config calling,\nso that list head lp-\u003eema_list is initialized before configuring\nEM.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "141940548c6919c22bf0573c68fd59d961e22475",
      "tree": "64ef27e9f0e11df5e64bd5616ed194a02b0eea5c",
      "parents": [
        "84b05445b9f0b1ac2192f32260c916426d902d79"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Jul 29 17:04:43 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:06 2009 -0500"
      },
      "message": "[SCSI] libfc: rename rport state \"NONE\" to \"DELETE\".\n\nState RPORT_ST_NONE was intented to be an invalid state (0), never used.\nThis was a misguided attempt to be sure it was always initialized.\nHaving an extra state meaning nothing requires switch statements to\nhave a case covering that state.\n\nState NONE has been used instead to mean the remote port is being deleted.\nChanging the name to RPORT_ST_DELETE.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b1d9fd5574763abe5c763e32e3547a4adee9bd88",
      "tree": "fbf80ee698c4f9c9ffa8dc054d5c84df2459076f",
      "parents": [
        "f161fb72104c7addac3d404a1ff543b2491c1426"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Jul 29 17:04:22 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:04 2009 -0500"
      },
      "message": "[SCSI] libfc: rename lport NONE state to DISABLED\n\nThe state NONE was meant to be invalid, but has been used as\nthe initial state.  Rename it to be DISABLED, as more descriptive.\nFurther patches will make it the like the RESET state, except\nit won\u0027t transition to FLOGI until fc_lport_fabric_login() is called.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "7f74549ff630ad444b0b6bbcabf426f781910906",
      "tree": "37e0a61a3cb43cd55799bb3b5bbb98cba215eee3",
      "parents": [
        "beb29a6d421f6dbd41d68d0621c1b28ad1d4a9f4"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Jul 29 17:04:12 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:03 2009 -0500"
      },
      "message": "[SCSI] libfc: change debug messages to give host number.\n\nlibfc debug messages currently show \u0027lport: \u003cfc-id\u003e:\u0027\nwher \u003cfc-id\u003e is the hex assigned port-id.  When the lport\nis logged off, that will be zero, so its hard to distinguish\nwhich instance is involved.  The FC-ID can change\nif the port is re-patched or changes VSANs.\n\nTwo lports may even have the same FC-ID if connected to isolated SANs.\n\nChange the debug messages to print the SCSI host number \"hostN:\",\nwhich will not change for the life of the lport.\nStill show the FC_ID on lport messages.\n\nAlso, add a macro to FC_RPORT_ID_DBG for rport debugging where there\u0027s\nno rdata structure involved.  It takes the lport and port_id as parameters.\nUse this in fc_rport_recv_plogi_req() and fc_rport_recv_logo_req().\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "beb29a6d421f6dbd41d68d0621c1b28ad1d4a9f4",
      "tree": "a899439f436fe913f8ee505bd367387395516c76",
      "parents": [
        "2f718d64ecc7010463d36e6ec4ae37778d03fc0b"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Wed Jul 29 17:04:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:52:03 2009 -0500"
      },
      "message": "[SCSI] libfc: remove extra semicolons from debug macros\n\nThis is unlikely to cause any problems, but the libfc debug macros\nintroduce extra undesirable semicolons.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "6c10db72c94818573552fd71c89540da325efdfb",
      "tree": "6afa9b0431d22638a1a11dfe3c5924b8e1a8e2f3",
      "parents": [
        "b4567ca6304a9b31cb2eae62f812e9eb9badcb60"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Fri Jun 26 19:30:06 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Aug 22 17:51:51 2009 -0500"
      },
      "message": "[SCSI] scsi_dh: Reference count scsi_dh_attach\n\nProblem reported: http://marc.info/?l\u003ddm-devel\u0026m\u003d124585978305866\u0026w\u003d2\n\nscsi_dh does not do a refernce count for attach/detach, and this affects\nthe way it is supposed to work with multipath when a device is not\nin the dev_list of the hardware handler.\n\nThis patch adds a reference count that counts each attach.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4dfd79e7b42bff334128907e28c3b41f1ef1cec8",
      "tree": "a7a36cef11cba89663fd0d10f4ffb81c92c3fce6",
      "parents": [
        "b57f92157e6517f0b3bd22e3a8ce7227e230c4f5",
        "f779b3e513478218cbaaaa0a506d7801cab6fd14"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 10:45:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 10:45:09 2009 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon: add GET_PARAM/INFO support for Z pipes\n  drm/radeon/kms: add r100/r200 OQ support.\n  drm: Fix sysfs device confusion.\n  drm/radeon/kms: implement the bo busy ioctl properly.\n"
    },
    {
      "commit": "f4b0373b26567cafd421d91101852ed7a34e9e94",
      "tree": "35607b1c1d28429bb275ca3472cd0065fbde2f14",
      "parents": [
        "83d349f35e1ae72268c5104dbf9ab2ae635425d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 09:26:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 21 09:26:15 2009 -0700"
      },
      "message": "Make bitmask \u0027and\u0027 operators return a result code\n\nWhen \u0027and\u0027ing two bitmasks (where \u0027andnot\u0027 is a variation on it), some\ncases want to know whether the result is the empty set or not.  In\nparticular, the TLB IPI sending code wants to do cpumask operations and\ndetermine if there are any CPU\u0027s left in the final set.\n\nSo this just makes the bitmask (and cpumask) functions return a boolean\nfor whether the result has any bits set.\n\nCc: stable@kernel.org (2.6.30, needed by TLB shootdown fix)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f779b3e513478218cbaaaa0a506d7801cab6fd14",
      "tree": "977258791900e68ed2fbcd78d631c22f4185e48a",
      "parents": [
        "17782d99502851dc7e48114ee9c5a6d6741cba18"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Wed Aug 19 19:11:39 2009 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 21 19:10:30 2009 +1000"
      },
      "message": "drm/radeon: add GET_PARAM/INFO support for Z pipes\n\nNeeded for occlusion queries on rv530 chips.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e3b2415e281a97ade36d88404094a90cfea838c0",
      "tree": "80c22c9a94fcf57d6cfb7b6375e771fdb1c03b42",
      "parents": [
        "6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 21 09:47:45 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Aug 21 09:51:30 2009 +1000"
      },
      "message": "drm/radeon/kms: implement the bo busy ioctl properly.\n\nThe previous patch assumes the ioctl already existed, when\nit actually didn\u0027t.\n\nIt also didn\u0027t return the correct error code.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "cad2c8fd9b3afceced08838c87c520e6da417a65",
      "tree": "8da6ce24a55e59bb1b81c75c9835626558f7bbf7",
      "parents": [
        "4aa2d56b2149e70a0b944b4f21e4aed33d9ab94e",
        "5ef5f72febfea420ce58f670bad83830a5e5e3de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 10:38:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 10:38:36 2009 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/kms: teardown crtc correctly when fb is destroyed.\n  drm/kms/radeon: cleanup combios TV table like DDX.\n  drm/radeon/kms: memset the allocated framebuffer before using it.\n  drm/radeon/kms: although LVDS might be possible on crtc 1 don\u0027t do it.\n  drm/radeon/kms: implement bo busy check + current domain\n  drm/radeon/kms: cut down indirects in register accesses.\n  drm/radeon/kms: Fix up vertical blank interrupt support.\n  drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR\n  drm/edid: fixup detailed timings like the X server.\n  drm/radeon/kms: Add specific rs690 authorized register table\n"
    },
    {
      "commit": "0753ba01e126020bf0f8150934903b48935b697d",
      "tree": "fbfd7e2d0abbe724a8c5e0e17fb9af522ed2e097",
      "parents": [
        "89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 18 14:11:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 16:31:13 2009 -0700"
      },
      "message": "mm: revert \"oom: move oom_adj value\"\n\nThe commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to\nthe mm_struct.  It was a very good first step for sanitize OOM.\n\nHowever Paul Menage reported the commit makes regression to his job\nscheduler.  Current OOM logic can kill OOM_DISABLED process.\n\nWhy? His program has the code of similar to the following.\n\n\t...\n\tset_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */\n\t...\n\tif (vfork() \u003d\u003d 0) {\n\t\tset_oom_adj(0); /* Invoked child can be killed */\n\t\texecve(\"foo-bar-cmd\");\n\t}\n\t....\n\nvfork() parent and child are shared the same mm_struct.  then above\nset_oom_adj(0) doesn\u0027t only change oom_adj for vfork() child, it\u0027s also\nchange oom_adj for vfork() parent.  Then, vfork() parent (job scheduler)\nlost OOM immune and it was killed.\n\nActually, fork-setting-exec idiom is very frequently used in userland program.\nWe must not break this assumption.\n\nThen, this patch revert commit 2ff05b2b and related commit.\n\nReverted commit list\n---------------------\n- commit 2ff05b2b4e (oom: move oom_adj value from task_struct to mm_struct)\n- commit 4d8b9135c3 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE)\n- commit 8123681022 (oom: only oom kill exiting tasks with attached memory)\n- commit 933b787b57 (mm: copy over oom_adj value at fork time)\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8486a0f95c844b27ecc855cfec89b7e34f831cad",
      "tree": "18c0522bc8e4f33cb45a7ec88c7d207071ae5e6d",
      "parents": [
        "b9d030a123b6b7fbf262c995455197ea5184b497",
        "c1a8f1f1c8e01eab5862c8db39b49ace814e6c66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 13:55:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 13:55:01 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits)\n  net: restore gnet_stats_basic to previous definition\n  NETROM: Fix use of static buffer\n  e1000e: fix use of pci_enable_pcie_error_reporting\n  e1000e: WoL does not work on 82577/82578 with manageability enabled\n  cnic: Fix locking in init/exit calls.\n  cnic: Fix locking in start/stop calls.\n  bnx2: Use mutex on slow path cnic calls.\n  cnic: Refine registration with bnx2.\n  cnic: Fix symbol_put_addr() panic on ia64.\n  gre: Fix MTU calculation for bound GRE tunnels\n  pegasus: Add new device ID.\n  drivers/net: fixed drivers that support netpoll use ndo_start_xmit()\n  via-velocity: Fix test of mii_status bit VELOCITY_DUPLEX_FULL\n  rt2x00: fix memory corruption in rf cache, add a sanity check\n  ixgbe: Fix receive on real device when VLANs are configured\n  ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion\n  netxen: free napi resources during detach\n  netxen: remove netxen workqueue\n  ixgbe: fix issues setting rx-usecs with legacy interrupts\n  can: fix oops caused by wrong rtnl newlink usage\n  ...\n"
    },
    {
      "commit": "c1a8f1f1c8e01eab5862c8db39b49ace814e6c66",
      "tree": "0679f709f70d9a91850888636a28adb79940c402",
      "parents": [
        "c6ba973b8fa97422aab4204f7d79f1d413cde925"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Aug 16 09:36:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 17 21:33:49 2009 -0700"
      },
      "message": "net: restore gnet_stats_basic to previous definition\n\nIn 5e140dfc1fe87eae27846f193086724806b33c7d \"net: reorder struct Qdisc\nfor better SMP performance\" the definition of struct gnet_stats_basic\nchanged incompatibly, as copies of this struct are shipped to\nuserland via netlink.\n\nRestoring old behavior is not welcome, for performance reason.\n\nFix is to use a private structure for kernel, and\nteach gnet_stats_copy_basic() to convert from kernel to user land,\nusing legacy structure (struct gnet_stats_basic)\n\nBased on a report and initial patch from Michael Spang.\n\nReported-by: Michael Spang \u003cmspang@csclub.uwaterloo.ca\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d9959734a1949ea4f2427bd2d8b21ede6b2441c",
      "tree": "94ef89360f198d7de426d6f65e9124118d8deed7",
      "parents": [
        "788084aba2ab7348257597496befcbccabdc98a3"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Aug 07 14:53:57 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 15:09:27 2009 +1000"
      },
      "message": "security: define round_hint_to_min in !CONFIG_SECURITY\n\nFix the header files to define round_hint_to_min() and to define\nmmap_min_addr_handler() in the !CONFIG_SECURITY case.\n\nBuilt and tested with !CONFIG_SECURITY\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "788084aba2ab7348257597496befcbccabdc98a3",
      "tree": "2da42d746d67b16ef705229a1b5a3528ec19c725",
      "parents": [
        "8cf948e744e0218af604c32edecde10006dc8e9e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:54:11 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 15:09:11 2009 +1000"
      },
      "message": "Security/SELinux: seperate lsm specific mmap_min_addr\n\nCurrently SELinux enforcement of controls on the ability to map low memory\nis determined by the mmap_min_addr tunable.  This patch causes SELinux to\nignore the tunable and instead use a seperate Kconfig option specific to how\nmuch space the LSM should protect.\n\nThe tunable will now only control the need for CAP_SYS_RAWIO and SELinux\npermissions will always protect the amount of low memory designated by\nCONFIG_LSM_MMAP_MIN_ADDR.\n\nThis allows users who need to disable the mmap_min_addr controls (usual reason\nbeing they run WINE as a non-root user) to do so and still have SELinux\ncontrols preventing confined domains (like a web server) from being able to\nmap some area of low memory.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9c0d90103c7e0eb6e638e5b649e9f6d8d9c1b4b3",
      "tree": "ba7c5fbed87e6ad6c395f4ca560e2e85d153a5dc",
      "parents": [
        "894ef820b10d77e2d6d717342fc408bdd9825139"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:53:58 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 15:08:35 2009 +1000"
      },
      "message": "Capabilities: move cap_file_mmap to commoncap.c\n\nCurrently we duplicate the mmap_min_addr test in cap_file_mmap and in\nsecurity_file_mmap if !CONFIG_SECURITY.  This patch moves cap_file_mmap\ninto commoncap.c and then calls that function directly from\nsecurity_file_mmap ifndef CONFIG_SECURITY like all of the other capability\nchecks are done.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "cefb87efc9aa0288849149484870d5ab989fbd59",
      "tree": "0df20514740f6a816da3700989183bb253ada0c1",
      "parents": [
        "de1b28989edff519d0548ebaa3f94fd3d1524cf2"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sun Aug 16 21:05:45 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Aug 17 12:28:56 2009 +1000"
      },
      "message": "drm/radeon/kms: implement bo busy check + current domain\n\nThis implements the busy ioctl along with a current domain check.\nreturns 0 or -EBUSY\nputs the current domain no matter what the answer.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "3493e84de60590d3012139187f631f2dfbf0887f",
      "tree": "c7a994c2e6f0d06b5044ea0b322e5ff0cc0b4a63",
      "parents": [
        "919aa96a9cfc5071f037bf58718e05335562a6ac",
        "94d5d1b2d891f1fd5205f978246b7864d998b25c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:24:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:24:33 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Report the cloning task as parent on perf_counter_fork()\n  perf_counter: Fix an ipi-deadlock\n  perf: Rework/fix the whole read vs group stuff\n  perf_counter: Fix swcounter context invariance\n  perf report: Don\u0027t show unresolved DSOs and symbols when -S/-d is used\n  perf tools: Add a general option to enable raw sample records\n  perf tools: Add a per tracepoint counter attribute to get raw sample\n  perf_counter: Provide hw_perf_counter_setup_online() APIs\n  perf list: Fix large list output by using the pager\n  perf_counter, x86: Fix/improve apic fallback\n  perf record: Add missing -C option support for specifying profile cpu\n  perf tools: Fix dso__new handle() to handle deleted DSOs\n  perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available\n  perf report: Show the tid too in -D\n  perf record: Fix .tid and .pid fill-in when synthesizing events\n  perf_counter, x86: Fix generic cache events on P6-mobile CPUs\n  perf_counter, x86: Fix lapic printk message\n"
    },
    {
      "commit": "919aa96a9cfc5071f037bf58718e05335562a6ac",
      "tree": "00f55468065e2f290aa3f24bdc61654f82da9dcc",
      "parents": [
        "1c2ffff407140adf75bb72ae375688480793a228",
        "392741e0a4e17c82e3978b7fcbf04291294dc0a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:09:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:09:16 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Fix handling of bad requeue syscall pairing\n  futex: Fix compat_futex to be same as futex for REQUEUE_PI\n  locking, sched: Give waitqueue spinlocks their own lockdep classes\n  futex: Update futex_q lock_ptr on requeue proxy lock\n"
    },
    {
      "commit": "3dab77fb1bf89664bb1c9544607159dcab6f7d57",
      "tree": "9b0a47c53784cb066cecfd3091ac6042ce21a29e",
      "parents": [
        "bcfc2602e8541ac13b1def38e2591dca072cff7a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Aug 13 11:47:53 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 12:58:04 2009 +0200"
      },
      "message": "perf: Rework/fix the whole read vs group stuff\n\nReplace PERF_SAMPLE_GROUP with PERF_SAMPLE_READ and introduce\nPERF_FORMAT_GROUP to deal with group reads in a more generic\nway.\n\nThis allows you to get group reads out of read() as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003c20090813103655.117411814@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28402971d869e26271b25301011f667d3a5640c3",
      "tree": "39fe9451f609c3ad47382595c61db855ee5dc49d",
      "parents": [
        "8f7a0dc51674ad0dd06155291b0aed60d655943c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 10:13:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 10:13:22 2009 +0200"
      },
      "message": "perf_counter: Provide hw_perf_counter_setup_online() APIs\n\nProvide weak aliases for hw_perf_counter_setup_online(). This is\nused by the BTS patches (for v2.6.32), but it interacts with\nfixes so propagate this upstream. (it has no effect as of yet)\n\nAlso export perf_counter_output() to architecture code.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ae88b2e446261c038f2c0c3150ffae142b227a2",
      "tree": "b3c9c11e4391c59086308e2674661688db5b12f5",
      "parents": [
        "7cb7beb31aa3d941833b6a6e553687422c31e4b6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 12 09:12:30 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:21:39 2009 -0700"
      },
      "message": "NFS: Fix an O_DIRECT Oops...\n\nWe can\u0027t call nfs_readdata_release()/nfs_writedata_release() without\nfirst initialising and referencing args.context. Doing so inside\nnfs_direct_read_schedule_segment()/nfs_direct_write_schedule_segment()\ncauses an Oops.\n\nWe should rather be calling nfs_readdata_free()/nfs_writedata_free() in\nthose cases.\n\nLooking at the O_DIRECT code, the \"struct nfs_direct_req\" is already\nreferencing the nfs_open_context for us. Since the readdata and writedata\nstructures carry a reference to that, we can simplify things by getting rid\nof the extra nfs_open_context references, so that we can replace all\ninstances of nfs_readdata_release()/nfs_writedata_release().\n\nReported-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d00aa6695b67a31be2ce5f7464da32c20cb50699",
      "tree": "4e4a2bbd1ab710ddca3bd1a611a6c3e9a00f52f9",
      "parents": [
        "cec36911b5fa4ac342f6de856b12a9f71f84e6e5",
        "1853db0e02ae4088f102b0d8e59e83dc98f93f03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 10 11:48:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 10 11:48:51 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)\n  perf_counter: Zero dead bytes from ftrace raw samples size alignment\n  perf_counter: Subtract the buffer size field from the event record size\n  perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data\n  perf_counter: Correct PERF_SAMPLE_RAW output\n  perf tools: callchain: Fix bad rounding of minimum rate\n  perf_counter tools: Fix libbfd detection for systems with libz dependency\n  perf: \"Longum est iter per praecepta, breve et efficax per exempla\"\n  perf_counter: Fix a race on perf_counter_ctx\n  perf_counter: Fix tracepoint sampling to be part of generic sampling\n  perf_counter: Work around gcc warning by initializing tracepoint record unconditionally\n  perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode\n  perf tools: callchain: Fix \u0027perf report\u0027 display to be callchain by default\n  perf tools: callchain: Fix spurious \u0027perf report\u0027 warnings: ignore empty callchains\n  perf record: Fix the -A UI for empty or non-existent perf.data\n  perf util: Fix do_read() to fail on EOF instead of busy-looping\n  perf list: Fix the output to not include tracepoints without an id\n  perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support\n  perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale\n  perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc)\n  perf report: Fix per task mult-counter stat reporting\n  ...\n"
    },
    {
      "commit": "1853db0e02ae4088f102b0d8e59e83dc98f93f03",
      "tree": "9fd877538baf1904a31eb5436536954cdced5293",
      "parents": [
        "304703aba31a87903b8c0db8f5e6890cac2d596d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Aug 10 16:38:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 16:51:19 2009 +0200"
      },
      "message": "perf_counter: Zero dead bytes from ftrace raw samples size alignment\n\nAfter aligning the ftrace raw samples, there are dead bytes storing\nrandom data from the stack. We don\u0027t want to leak these to userspace,\nthen zero these out.\n\nBefore:\n\n\t0x2de88 [0x50]: event: 9\n\t.\n\t. ... raw event: size 80 bytes\n\t.  0000:  09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff  ......P........\n\t.  0010:  68 01 00 00 68 01 00 00 2c 00 00 00 00 00 00 00  h...h...,......\n\t.  0020:  2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00  ,...+...h...h..\n\t.  0030:  6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00  kondemand/0....\n\t.  0040:  68 01 00 00 40 7f 46 81 ff ff ff ff 00 10 1b 7f  h...@.F........\n                                                      ^  ^  ^  ^\n                                                         Leak\n\nAfter:\n\n\t0x2d318 [0x50]: event: 9\n\t.\n\t. ... raw event: size 80 bytes\n\t.  0000:  09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff  ......P........\n\t.  0010:  68 01 00 00 68 01 00 00 68 14 00 00 00 00 00 00  h...h...h......\n\t.  0020:  2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00  ,...+...h...h..\n\t.  0030:  6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00  kondemand/0....\n\t.  0040:  68 01 00 00 a0 80 46 81 ff ff ff ff 00 00 00 00  h.....F........\n                                                      ^  ^  ^  ^\n\t\t\t\t\t\t\t Fixed\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1249915116-5210-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "304703aba31a87903b8c0db8f5e6890cac2d596d",
      "tree": "bd233c6fd72d1d674c4a9537cfd6519069914d74",
      "parents": [
        "a4e95fc2cbb31d70a65beffeaf8773f881328c34"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Aug 10 16:11:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 16:18:50 2009 +0200"
      },
      "message": "perf_counter: Subtract the buffer size field from the event record size\n\nWe compute the perf raw sample size by aligning the raw ftrace\nevent size plus the buffer size field itself. We do that\ninstead of aligning only the perf raw sample size, so that we\nmight economize some in some cases.\n\nBut this buffer size field is not stored in the perf raw\nsample, we must then substract its size from the buffer once we\ncomputed the alignment unless we may get a useless u32 field in\nthe buffer.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20090810141129.GA5124@nowhere\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2fc391112fb6f3424435a3aa2fda887497b5f807",
      "tree": "89cda7002d591807536dca68b6344a558b081428",
      "parents": [
        "beda2c7ea2c15ed01eef00a997d2b0496c3a502d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 10 12:33:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 14:43:09 2009 +0200"
      },
      "message": "locking, sched: Give waitqueue spinlocks their own lockdep classes\n\nGive waitqueue spinlocks their own lockdep classes when they\nare initialised from init_waitqueue_head().  This means that\nstruct wait_queue::func functions can operate other waitqueues.\n\nThis is used by CacheFiles to catch the page from a backing fs\nbeing unlocked and to wake up another thread to take a copy of\nit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: linux-cachefs@redhat.com\nCc: torvalds@osdl.org\nCc: akpm@linux-foundation.org\nLKML-Reference: \u003c20090810113305.17284.81508.stgit@warthog.procyon.org.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a044560c3a1f0ad75ce685c1ed7604820b9ed319",
      "tree": "51fa4979ad02d388b35e1a56020bfbd8c2e5329d",
      "parents": [
        "c0a8865e32c8d1a562db38e06ef31ef23282f646"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 10 11:16:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 11:33:09 2009 +0200"
      },
      "message": "perf_counter: Correct PERF_SAMPLE_RAW output\n\nPERF_SAMPLE_* output switches should unconditionally output the\ncorrect format, as they are the only way to unambiguously parse\nthe PERF_EVENT_SAMPLE data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249896447.17467.74.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17d11ba14990d2bbaaec9c09a200b803679a968e",
      "tree": "94bf086e93f3f5f625b04eb549178180598cd213",
      "parents": [
        "fb1ee451e64a1c963a149aeccd9ef6a718f545e7",
        "b4a2f5e723e4f7df46731106faf9e2405673c073"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:58:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:58:21 2009 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.31\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.31\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Avoid redelivery of edge interrupt before next edge\n  KVM: MMU: limit rmap chain length\n  KVM: ia64: fix build failures due to ia64/unsigned long mismatches\n  KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc\n  KVM: fix ack not being delivered when msi present\n  KVM: s390: fix wait_queue handling\n  KVM: VMX: Fix locking imbalance on emulation failure\n  KVM: VMX: Fix locking order in handle_invalid_guest_state\n  KVM: MMU: handle n_free_mmu_pages \u003e n_alloc_mmu_pages in kvm_mmu_change_mmu_pages\n  KVM: SVM: force new asid on vcpu migration\n  KVM: x86: verify MTRR/PAT validity\n  KVM: PIT: fix kpit_elapsed division by zero\n  KVM: Fix KVM_GET_MSR_INDEX_LIST\n"
    },
    {
      "commit": "3a43ce68ae1758fa6a839386025ef45acb6baa22",
      "tree": "5431e80f427ac6312dc123ecfdb101ea71b3d364",
      "parents": [
        "10b8e3066066708f304e0fc5cfe658e05abf943d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 08 04:26:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:45 2009 +0200"
      },
      "message": "perf_counter: Fix tracepoint sampling to be part of generic sampling\n\nBased on Peter\u0027s comments, make tracepoint sampling generic\njust like all the other sampling bits are. This is a rename\nwith no code changes:\n\n- PERF_SAMPLE_TP_RECORD to PERF_SAMPLE_RAW\n- struct perf_tracepoint_record to perf_raw_record\n\nWe want the system in place that transport tracepoints raw\nsamples events into the perf ring buffer to be generalized and\nusable by any type of counter.\n\nReported-by; Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249698400-5441-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75",
      "tree": "08a9621cb1318f73a37faeed14c4e728408551ad",
      "parents": [
        "3a6593050fbd8bbcaed3a44d01c31d907315c86c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Aug 07 01:25:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:53:48 2009 +0200"
      },
      "message": "perf_counter: Fix/complete ftrace event records sampling\n\nThis patch implements the kernel side support for ftrace event\nrecord sampling.\n\nA new counter sampling attribute is added:\n\n   PERF_SAMPLE_TP_RECORD\n\nwhich requests ftrace events record sampling. In this case\nif a PERF_TYPE_TRACEPOINT counter is active and a tracepoint\nfires, we emit the tracepoint binary record to the\nperfcounter event buffer, as a sample.\n\nResult, after setting PERF_SAMPLE_TP_RECORD attribute from perf\nrecord:\n\n perf record -f -F 1 -a -e workqueue:workqueue_execution\n perf report -D\n\n 0x21e18 [0x48]: event: 9\n .\n . ... raw event: size 72 bytes\n .  0000:  09 00 00 00 01 00 48 00 d0 c7 00 81 ff ff ff ff  ......H........\n .  0010:  0a 00 00 00 0a 00 00 00 21 00 00 00 00 00 00 00  ........!......\n .  0020:  2b 00 01 02 0a 00 00 00 0a 00 00 00 65 76 65 6e  +...........eve\n .  0030:  74 73 2f 31 00 00 00 00 00 00 00 00 0a 00 00 00  ts/1...........\n .  0040:  e0 b1 31 81 ff ff ff ff                          .......\n.\n0x21e18 [0x48]: PERF_EVENT_SAMPLE (IP, 1): 10: 0xffffffff8100c7d0 period: 33\n\nThe raw ftrace binary record starts at offset 0020.\n\nTranslation:\n\n struct trace_entry {\n\ttype\t\t\u003d 0x2b \u003d 43;\n\tflags\t\t\u003d 1;\n\tpreempt_count\t\u003d 2;\n\tpid\t\t\u003d 0xa \u003d 10;\n\ttgid\t\t\u003d 0xa \u003d 10;\n }\n\n thread_comm \u003d \"events/1\"\n thread_pid  \u003d 0xa \u003d 10;\n func\t    \u003d 0xffffffff8131b1e0 \u003d flush_to_ldisc()\n\nWhat will come next?\n\n - Userspace support (\u0027perf trace\u0027), \u0027flight data recorder\u0027 mode\n   for perf trace, etc.\n\n - The unconditional copy from the profiling callback brings\n   some costs however if someone wants no such sampling to\n   occur, and needs to be fixed in the future. For that we need\n   to have an instant access to the perf counter attribute.\n   This is a matter of a flag to add in the struct ftrace_event.\n\n - Take care of the events recursivity! Don\u0027t ever try to record\n   a lock event for example, it seems some locking is used in\n   the profiling fast path and lead to a tracing recursivity.\n   That will be fixed using raw spinlock or recursivity\n   protection.\n\n - [...]\n\n - Profit! :-)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a6593050fbd8bbcaed3a44d01c31d907315c86c",
      "tree": "5bbaa0015ed0b0986146cc6fa9390f559bcb66b1",
      "parents": [
        "e3560336be655c6791316482fe288b119f34c427"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 21 17:34:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:47:25 2009 +0200"
      },
      "message": "perf_counter, ftrace: Fix perf_counter integration\n\nAdds possible second part to the assign argument of TP_EVENT().\n\n  TP_perf_assign(\n\t__perf_count(foo);\n\t__perf_addr(bar);\n  )\n\nWhich, when specified make the swcounter increment with @foo instead\nof the usual 1, and report @bar for PERF_SAMPLE_ADDR (data address\nassociated with the event) when this triggers a counter overflow.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb385003c4ac9634cf2448f6ded81e5fd1190c1f",
      "tree": "3a6068559cef144c04b96372ee0eecf20dfb108b",
      "parents": [
        "36b8659f9316b24c514a7c8290596b2382b91dd2",
        "b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 18:53:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 18:53:44 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races:\n  xfs: fix freeing of inodes not yet added to the inode cache\n  vfs: add __destroy_inode\n  vfs: fix inode_init_always calling convention\n"
    },
    {
      "commit": "da758ddede96dd850945d3417ff75209a666ba0d",
      "tree": "f8da615ef68c9311b87af8fed6a7b717d7e5564d",
      "parents": [
        "389623fef0e8b088f293c437d3b7094fe82349fd",
        "1054598cab8674438675085fae459e960eb10799"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:43:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:43:07 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Fix double list iteration in per task precise stats\n  perf: Auto-detect libelf\n  perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink\n  perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it\n  ftrace: Fix perf-tracepoint OOPS\n  perf report: Add missing command line options to man page\n  perf: Auto-detect libbfd\n  perf report: Make --sort comm,dso,symbol the default\n"
    },
    {
      "commit": "389623fef0e8b088f293c437d3b7094fe82349fd",
      "tree": "e7e7175531f9ee9a7b215fe6b8c62674fb32862a",
      "parents": [
        "385861206c21364c01dcfdda5064643ce111d517",
        "57ca7deb062abf56168d15f000c16e25f88a9cf3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:31 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  jffs2: Fix return value from jffs2_do_readpage_nolock()\n  mtd: mtdblock: introduce mtdblks_lock\n  mtd: remove \u0027SBC8240 Wind River\u0027 Device Driver Code\n  mtd: OneNAND: OMAP2/3: free GPMC CS on module removal\n  mtd: OneNAND: fix incorrect bufferram offset\n  mtd: blkdevs: do not forget to get MTD devices\n  mtd: fix the conversion from dev to mtd_info\n  mtd: let include/linux/mtd/partitions.h stand on its own\n"
    },
    {
      "commit": "385861206c21364c01dcfdda5064643ce111d517",
      "tree": "6c813af2c95a469a42e12df0b16ee357c377c80b",
      "parents": [
        "131f7340b4f93f9a4a8e5a65abbd352b34d0ee08",
        "d82f1c35348cebe2fb2d4a4d31ce0ab0769e3d93"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:42:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: matrix_keypad - make matrix keymap size dynamic\n  Input: wistron_btns - support Prestigio Wifi RF kill button\n  Input: i8042 - add Asus G1S to noloop exception list\n"
    },
    {
      "commit": "daeb6b6fbe27049f465c48a7d0ee5555c3b84064",
      "tree": "3a53744300e0083f3cbf8f769780d971234e3f8a",
      "parents": [
        "9c8a8228d0827e0d91d28527209988f672f97d28"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Aug 06 15:09:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:56 2009 -0700"
      },
      "message": "bzip2/lzma/gzip: fix comments describing decompressor API\n\nFix and improve comments in decompress/generic.h that describe the\ndecompressor API.  Also remove an unused definition, and rename INBUF_LEN\nin lib/decompress_inflate.c to conform to bzip2/lzma naming.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bfc44958e499af9a73f62201543b3a1f617cfeb",
      "tree": "01b40f951cd1a5e6dda8e2b21e1e24650c43c95e",
      "parents": [
        "93274e4d4e9416ad1fa47e2f26011e2c483fe5fe"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Aug 06 15:07:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:55 2009 -0700"
      },
      "message": "mm: make set_mempolicy(MPOL_INTERLEAV) N_HIGH_MEMORY aware\n\nAt first, init_task\u0027s mems_allowed is initialized as this.\n init_task-\u003emems_allowed \u003d\u003d node_state[N_POSSIBLE]\n\nAnd cpuset\u0027s top_cpuset mask is initialized as this\n top_cpuset-\u003emems_allowed \u003d node_state[N_HIGH_MEMORY]\n\nBefore 2.6.29:\npolicy\u0027s mems_allowed is initialized as this.\n\n  1. update tasks-\u003emems_allowed by its cpuset-\u003emems_allowed.\n  2. policy-\u003emems_allowed \u003d nodes_and(tasks-\u003emems_allowed, user\u0027s mask)\n\nUpdating task\u0027s mems_allowed in reference to top_cpuset\u0027s one.\ncpuset\u0027s mems_allowed is aware of N_HIGH_MEMORY, always.\n\nIn 2.6.30: After commit 58568d2a8215cb6f55caf2332017d7bdff954e1c\n(\"cpuset,mm: update tasks\u0027 mems_allowed in time\"), policy\u0027s mems_allowed\nis initialized as this.\n\n  1. policy-\u003emems_allowd \u003d nodes_and(task-\u003emems_allowed, user\u0027s mask)\n\nHere, if task is in top_cpuset, task-\u003emems_allowed is not updated from\ninit\u0027s one.  Assume user excutes command as #numactrl --interleave\u003dall\n,....\n\n  policy-\u003emems_allowd \u003d nodes_and(N_POSSIBLE, ALL_SET_MASK)\n\nThen, policy\u0027s mems_allowd can includes a possible node, which has no pgdat.\n\nMPOL\u0027s INTERLEAVE just scans nodemask of task-\u003emems_allowd and access this\ndirectly.\n\n  NODE_DATA(nid)-\u003ezonelist even if NODE_DATA(nid)\u003d\u003dNULL\n\nThen, what\u0027s we need is making policy-\u003emems_allowed be aware of\nN_HIGH_MEMORY.  This patch does that.  But to do so, extra nodemask will\nbe on statck.  Because I know cpumask has a new interface of\nCPUMASK_ALLOC(), I added it to node.\n\nThis patch stands on old behavior.  But I feel this fix itself is just a\nBand-Aid.  But to do fundametal fix, we have to take care of memory\nhotplug and it takes time.  (task-\u003emems_allowd should be N_HIGH_MEMORY, I\nthink.)\n\nmpol_set_nodemask() should be aware of N_HIGH_MEMORY and policy\u0027s nodemask\nshould be includes only online nodes.\n\nIn old behavior, this is guaranteed by frequent reference to cpuset\u0027s\ncode.  Now, most of them are removed and mempolicy has to check it by\nitself.\n\nTo do check, a few nodemask_t will be used for calculating nodemask.  But,\nsize of nodemask_t can be big and it\u0027s not good to allocate them on stack.\n\nNow, cpumask_t has CPUMASK_ALLOC/FREE an easy code for get scratch area.\nNODEMASK_ALLOC/FREE shoudl be there.\n\n[akpm@linux-foundation.org: cleanups \u0026 tweaks]\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e00c97e2c1d2ffc9e26252ca26b237678b0b772",
      "tree": "e2c65f473e079c4b6027f7f8b7224febe7483884",
      "parents": [
        "54e346215e4fe2ca8c94c54e546cc61902060510"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "message": "vfs: add __destroy_inode\n\nWhen we want to tear down an inode that lost the add to the cache race\nin XFS we must not call into -\u003edestroy_inode because that would delete\nthe inode that won the race from the inode cache radix tree.\n\nThis patch provides the __destroy_inode helper needed to fix this,\nthe actual fix will be in th next patch.  As XFS was the only reason\ndestroy_inode was exported we shift the export to the new __destroy_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "54e346215e4fe2ca8c94c54e546cc61902060510",
      "tree": "9b4ed9b0ab78117ba1a41db7073708031622cf10",
      "parents": [
        "90bc1a658a53f8832ee799685703977a450e5af9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "message": "vfs: fix inode_init_always calling convention\n\nCurrently inode_init_always calls into -\u003edestroy_inode if the additional\ninitialization fails.  That\u0027s not only counter-intuitive because\ninode_init_always did not allocate the inode structure, but in case of\nXFS it\u0027s actively harmful as -\u003edestroy_inode might delete the inode from\na radix-tree that has never been added.  This in turn might end up\ndeleting the inode for the same inum that has been instanciated by\nanother process and cause lots of cause subtile problems.\n\nAlso in the case of re-initializing a reclaimable inode in XFS it would\nfree an inode we still want to keep alive.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "d82f1c35348cebe2fb2d4a4d31ce0ab0769e3d93",
      "tree": "6ff3e1d1d3aea32c86305f6fdf7bee204ad26389",
      "parents": [
        "194934785a846e0a7b1b674b7b475a9d0125d2f8"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.y.miao@gmail.com",
        "time": "Wed Aug 05 01:24:41 2009 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Aug 05 22:20:14 2009 -0700"
      },
      "message": "Input: matrix_keypad - make matrix keymap size dynamic\n\nRemove assumption on the shift and size of rows/columns form\nmatrix_keypad driver.\n\nSigned-off-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "af6af30c0fcd77e621638e53ef8b176bca8bd3b4",
      "tree": "fde3faf7cc117e208dd033eee707dbd9de5f912e",
      "parents": [
        "386c0b702b1ea81c0f54f5c9832a3d4a52270f14"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Aug 05 20:41:04 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 06 06:26:09 2009 +0200"
      },
      "message": "ftrace: Fix perf-tracepoint OOPS\n\nNot all tracepoints are created equal, in specific the ftrace\ntracepoints are created with TRACE_EVENT_FORMAT() which does\nnot generate the needed bits to tie them into perf counters.\n\nFor those events, don\u0027t create the \u0027id\u0027 file and fail\n-\u003eprofile_enable when their ID is specified through other\nmeans.\n\nReported-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1249497664.5890.4.camel@laptop\u003e\n[ v2: fix build error in the !CONFIG_EVENT_PROFILE case ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5116d8f6b977970ebefc1932c0f313163a6ec91f",
      "tree": "6666716c07c7c3e1ea9803350278e96e02fbf16a",
      "parents": [
        "d3bc2f91b4761a8d9f96bea167fef2f8c00dea54"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Jul 26 17:10:01 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Aug 05 14:03:43 2009 +0300"
      },
      "message": "KVM: fix ack not being delivered when msi present\n\nkvm_notify_acked_irq does not check irq type, so that it sometimes\ninterprets msi vector as irq.  As a result, ack notifiers are not\ncalled, which typially hangs the guest.  The fix is to track and\ncheck irq type.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "6502fbfaf81b09b3f474bb7b3796257e9450273e",
      "tree": "f8b61e7d368d2251977ce36ecbda299bcf98e3b2",
      "parents": [
        "90bc1a658a53f8832ee799685703977a450e5af9"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Tue Aug 04 11:24:24 2009 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Aug 05 12:07:09 2009 +1000"
      },
      "message": "drm/radeon: Add support for RS880 chips\n\nThese are new AMD IGP chips\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "9f3eea6a2fbf5a07625713dc35e5f8fb91adb12f",
      "tree": "e5358f8cee31ca38d82b97269e904cb8d0b546b1",
      "parents": [
        "2cf812d732442e86c1e2018e23ad82f9bc594a38",
        "cbe9352fa08f90aa03b4dbf1bbabfc95d196e562"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:39:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:39:43 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  tty-ldisc: be more careful in \u0027put_ldisc\u0027 locking\n  tty-ldisc: turn ldisc user count into a proper refcount\n  tty-ldisc: make refcount be atomic_t \u0027users\u0027 count\n"
    },
    {
      "commit": "2cf812d732442e86c1e2018e23ad82f9bc594a38",
      "tree": "c530171e406efdebc3fa91501f484260ee781296",
      "parents": [
        "ae83060026537885fd23737af161fee8afd04f4b",
        "14d9fa352592582e457cf75022202766baac1348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:39:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:39:16 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG\n  block: Update topology documentation\n  block: Stack optimal I/O size\n  block: Add a wrapper for setting minimum request size without a queue\n  block: Make blk_queue_stack_limits use the new stacking interface\n"
    },
    {
      "commit": "ae83060026537885fd23737af161fee8afd04f4b",
      "tree": "111773ae905a54c77208770962a2fce537b7bc33",
      "parents": [
        "2edb3898b82a20ec459a67fcf76ceddcbecfe395",
        "357eb46d8f275b4e8484541234ea3ba06065e258"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:38:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:38:34 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  ehea: Fix napi list corruption on ifconfig down\n  igbvf: Allow VF driver to correctly recognize failure to set mac\n  3c59x: Fix build failure with gcc 3.2\n  sky2: Avoid transmits during sky2_down()\n  iwlagn: do not send key clear commands when rfkill enabled\n  libertas: Read buffer overflow\n  drivers/net/wireless: introduce missing kfree\n  drivers/net/wireless/iwlwifi: introduce missing kfree\n  zd1211rw: fix unaligned access in zd_mac_rx\n  cfg80211: fix regression on beacon world roaming feature\n  cfg80211: add two missing NULL pointer checks\n  ixgbe: Patch to modify 82598 PCIe completion timeout values\n  bluetooth: rfcomm_init bug fix\n  mlx4_en: Fix double pci unmapping.\n  mISDN: Fix handling of receive buffer size in L1oIP\n  pcnet32: VLB support fixes\n  pcnet32: remove superfluous NULL pointer check in pcnet32_probe1()\n  net: restore the original spinlock to protect unicast list\n  netxen: fix coherent dma mask setting\n  mISDN: Read buffer overflow\n  ...\n"
    },
    {
      "commit": "78ec75cd1c81e01909005f392954c797f686d7bc",
      "tree": "4ebc0173de512bbf5e7ea603faf272b15b923829",
      "parents": [
        "1ee5332cf67c2f5f468ad1a59033d57453bcad1a",
        "c96e7c7a3a79931446ecf9494a8415e4d164ebd8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:34:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:34:30 2009 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/ttm: Read buffer overflow\n  drm/radeon: Read buffer overflow\n  drm/ttm: Fix a sync object leak.\n  drm/radeon/kms: fix memory leak in radeon_driver_load_kms\n  drm/radeon/kms: fix nomodeset.\n  drm/ttm: Fix a potential comparison of structs.\n  drm/radeon/kms: fix rv515 VRAM initialisation.\n  drm/radeon: add some new r7xx pci ids\n  drm: Catch stop possible NULL pointer reference\n  drm: Small logic fix in drm_mode_setcrtc\n"
    },
    {
      "commit": "a40694a38a745af0dd7d8b796597ada1dd6caeb7",
      "tree": "b9f7014a6309f6b82e947d926384c0e2101b28cd",
      "parents": [
        "ea5634246beaedd91b93d7e7fce7d825232d1b78",
        "f26542600e605482a1231c44ddb2966d69bd09b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:40 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING\u003dy\n  perf: Fix read buffer overflow\n  perf top: Add mwait_idle_with_hints to skip_symbols[]\n  perf tools: Fix faulty check\n  perf report: Update for the new FORK/EXIT events\n  perf_counter: Full task tracing\n  perf_counter: Collapse inherit on read()\n  tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE\n  perf_counter tools: Fix link errors with older toolchains\n"
    },
    {
      "commit": "18eac1cc100fa2afd5f39085aae6b694e417734b",
      "tree": "52ac69ef9832c77a0c6865f9eff39dd4f287776e",
      "parents": [
        "a33a052f19a21d727847391c8c1aff3fb221c472"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 03 10:58:29 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 04 13:46:30 2009 -0700"
      },
      "message": "tty-ldisc: make refcount be atomic_t \u0027users\u0027 count\n\nThis is pure preparation of changing the ldisc reference counting to be\na true refcount that defines the lifetime of the ldisc.  But this is a\npurely syntactic change for now to make the next steps easier.\n\nThis patch should make no semantic changes at all. But I wanted to make\nthe ldisc refcount be an atomic (I will be touching it without locks\nsoon enough), and I wanted to rename it so that there isn\u0027t quite as\nmuch confusion between \u0027ldo-\u003erefcount\u0027 (ldisk operations refcount) and\n\u0027ld-\u003erefcount\u0027 (ldisc refcount itself) in the same file.\n\nSo it\u0027s now an atomic \u0027ld-\u003eusers\u0027 count. It still starts at zero,\ndespite having a reference from \u0027tty-\u003eldisc\u0027, but that will change once\nwe turn it into a _real_ refcount.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nTested-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nTested-by: Sergey Senozhatsky \u003csergey.senozhatsky@mail.by\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7320700df1864b601cef5adbddce8654a0e3f78b",
      "tree": "ae870ef2d02a0637f6d82e7b28e48a644d2bdbe4",
      "parents": [
        "4cb72b1727140f131b2df5f37c2e54f5965f98c2"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Mon Aug 03 17:01:53 2009 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Aug 04 13:32:39 2009 +1000"
      },
      "message": "drm/radeon: add some new r7xx pci ids\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "eca4c3d2dd66d0230140c9af05dee591df6f0e42",
      "tree": "59167ea2ac39a78f626bb3905e495963af326b77",
      "parents": [
        "f6caa14aa0b126d4a2933907d1519611b2a8524a",
        "99f1b01562b7dcae75b043114f76163fbf84fcab"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 03 19:05:50 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 03 19:05:50 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "371842448c05b42d11a4be1c8e4e81d62ecc7534",
      "tree": "37c6f66d8a34999801cd09abffd7d7b66c0925dd",
      "parents": [
        "cd3468bad96c00b5a512f551674f36776129520e"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jul 30 17:43:48 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 03 16:31:21 2009 -0400"
      },
      "message": "cfg80211: fix regression on beacon world roaming feature\n\nA regression was added through patch a4ed90d6:\n\n\"cfg80211: respect API on orig_flags on channel for beacon hint\"\n\nWe did indeed respect _orig flags but the intention was not clearly\nstated in the commit log. This patch fixes firmware issues picked\nup by iwlwifi when we lift passive scan of beaconing restrictions\non channels its EEPROM has been configured to always enable.\n\nBy doing so though we also disallowed beacon hints on devices\nregistering their wiphy with custom world regulatory domains\nenabled, this happens to be currently ath5k, ath9k and ar9170.\nThe passive scan and beacon restrictions on those devices would\nnever be lifted even if we did find a beacon and the hardware did\nsupport such enhancements when world roaming.\n\nSince Johannes indicates iwlwifi firmware cannot be changed to\nallow beacon hinting we set up a flag now to specifically allow\ndrivers to disable beacon hints for devices which cannot use them.\n\nWe enable the flag on iwlwifi to disable beacon hints and by default\nenable it for all other drivers. It should be noted beacon hints lift\npassive scan flags and beacon restrictions when we receive a beacon from\nan AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz\nband. We don\u0027t bother with channels 1-11 as those channels are allowed\nworld wide.\n\nThis should fix world roaming for ath5k, ath9k and ar9170, thereby\nimproving scan time when we receive the first beacon from any AP,\nand also enabling beaconing operation (AP/IBSS/Mesh) on cards which\nwould otherwise not be allowed to do so. Drivers not using custom\nregulatory stuff (wiphy_apply_custom_regulatory()) were not affected\nby this as the orig_flags for the channels would have been cleared\nupon wiphy registration.\n\nI tested this with a world roaming ath5k card.\n\nCc: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af0d3b103bcfa877343ee338de12002cd50c9ee5",
      "tree": "a06b348fae8d295b17e7620d00df6701f678d449",
      "parents": [
        "eb4ad826419ab5b1260bc1625249114767d36bea"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Aug 03 04:26:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 03 13:24:39 2009 -0700"
      },
      "message": "bluetooth: rfcomm_init bug fix\n\nrfcomm tty may be used before rfcomm_tty_driver initilized,\nThe problem is that now socket layer init before tty layer, if userspace\nprogram do socket callback right here then oops will happen.\n\nreporting in:\nhttp://marc.info/?l\u003dlinux-bluetooth\u0026m\u003d124404919324542\u0026w\u003d2\n\nmake 3 changes:\n1. remove #ifdef in rfcomm/core.c,\nmake it blank function when rfcomm tty not selected in rfcomm.h\n\n2. tune the rfcomm_init error patch to ensure\ntty driver initilized before rfcomm socket usage.\n\n3. remove __exit for rfcomm_cleanup_sockets\nbecause above change need call it in a __init function.\n\nReported-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nTested-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6afc4fdb3e94ba60cd566cb878b60c6c01979277",
      "tree": "75cc3a29b3e988f852fde390e3fe79e6d157db51",
      "parents": [
        "7699ad35ed06044c4fc1be162553880f98658616"
      ],
      "author": {
        "name": "Saeed Bishara",
        "email": "saeed@marvell.com",
        "time": "Tue Jul 28 04:56:43 2009 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Aug 03 14:16:01 2009 +0100"
      },
      "message": "mtd: fix the conversion from dev to mtd_info\n\nThe patch fixes a bug when converting dev to mtd_info by using the\ndrvdata of the dev, the previous code used\ncontainer_of(dev, struct mtd_info, dev), but won\u0027t work for the mtdXro\ndevices as they created without being contained inside mtd_info structure.\n\nSigned-off-by: Saeed Bishara \u003csaeed@marvell.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7699ad35ed06044c4fc1be162553880f98658616",
      "tree": "b348219148cc4129f785ff24338de762a8e41f65",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Mon Jun 15 01:10:18 2009 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Aug 03 14:00:14 2009 +0100"
      },
      "message": "mtd: let include/linux/mtd/partitions.h stand on its own\n\nWhen declaring static MTD partitions in board specific code, only\nincluding \u003cinclude/linux/mtd/partitions.h\u003e should suffice without\ngcc nagging us with:\n\nIn file included from arch/arm/mach-kirkwood/sheevaplug-setup.c:14:\ninclude/linux/mtd/partitions.h:50: warning: \u0027struct mtd_info\u0027 declared inside parameter list\ninclude/linux/mtd/partitions.h:50: warning: its scope is only this definition or declaration, which is probably not what you want\ninclude/linux/mtd/partitions.h:51: warning: \u0027struct mtd_info\u0027 declared inside parameter list\ninclude/linux/mtd/partitions.h:61: warning: \u0027struct mtd_info\u0027 declared inside parameter list\ninclude/linux/mtd/partitions.h:67: warning: \u0027struct mtd_info\u0027 declared inside parameter list\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b8a848ed7ffda36ed069f63de085a9411d2aa39f",
      "tree": "42af80200ade14b6a27695d197a234e7e64b94e2",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564",
        "7cb7f45c7feef43c8f71f5cfedfc0b19be2142f7"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Aug 02 11:31:32 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Aug 02 11:31:32 2009 -0400"
      },
      "message": "Merge branch \u0027bugzilla-13620-revert\u0027 into release\n"
    },
    {
      "commit": "9f498cc5be7e013d8d6e4c616980ed0ffc8680d2",
      "tree": "25ef7a52d61ffd336c73b42dcf770424beb19cf3",
      "parents": [
        "e53c0994709166b111fbe9162d1a16ece7dfc45b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 23 14:46:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 13:47:56 2009 +0200"
      },
      "message": "perf_counter: Full task tracing\n\nIn order to be able to distinguish between no samples due to\ninactivity and no samples due to task ended, Arjan asked for\nPERF_EVENT_EXIT events. This is useful to the boot delay\ninstrumentation (bootchart) app.\n\nThis patch changes the PERF_EVENT_FORK to be emitted on every\nclone, and adds PERF_EVENT_EXIT to be emitted on task exit,\nafter the task\u0027s counters have been closed.\n\nThis task tracing is controlled through: attr.comm || attr.mmap\nand through the new attr.task field.\n\nSuggested-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n[ cleaned up perf_counter.h a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c958e32649e0c35801762878fb0b6da8c55a515",
      "tree": "610b1e685b5f634ca591865cc9f5ce22f1e3e6c1",
      "parents": [
        "fef246672b009cf3f7a74e2fc9a76932ef2eeed2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:11 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Add a wrapper for setting minimum request size without a queue\n\nIntroduce blk_limits_io_min() and make blk_queue_io_min() call it.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a5bc92cdf2ab27a15732976004b3755c40740f57",
      "tree": "ab7ee562f31ed9fddac78c1e17a2ba9eee6cb028",
      "parents": [
        "6eb80e00bff341dd09a7ec8b9dba6da8410448bf",
        "cbb4f2646d77b536ed2b1500ef6641083228ed8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:10:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:10:26 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  io context: fix ref counting\n  block: make the end_io functions be non-GPL exports\n  block: fix improper kobject release in blk_integrity_unregister\n  block: always assign default lock to queues\n  mg_disk: Add missing ready status check on mg_write()\n  mg_disk: fix issue with data integrity on error in mg_write()\n  mg_disk: fix reading invalid status when use polling driver\n  mg_disk: remove prohibited sleep operation\n"
    },
    {
      "commit": "6eb80e00bff341dd09a7ec8b9dba6da8410448bf",
      "tree": "c0966b7f7d2bb3510de15226a61071abb3d8c453",
      "parents": [
        "d27d4e2a660939f1bdf74f0e24c4c109f90cd98d",
        "c7121843685de2bf7f3afd3ae1d6a146010bf1fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:09:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:09:57 2009 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: Save mult_orig in clocksource_disable()\n"
    },
    {
      "commit": "c7121843685de2bf7f3afd3ae1d6a146010bf1fc",
      "tree": "f3a098159b8463386cd6d55b6272b6604bfbb9ce",
      "parents": [
        "4be3bd7849165e7efa6b0b35a23d6a3598d97465"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Tue Jul 28 14:09:55 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 31 14:12:36 2009 +0200"
      },
      "message": "clocksource: Save mult_orig in clocksource_disable()\n\nTo fix the common case where -\u003eenable() does not set up\nmult, make sure mult_orig is saved in mult on disable.\n\nAlso add comments to explain why we do this.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: johnstul@us.ibm.com\nCc: lethal@linux-sh.org\nCc: akpm@linux-foundation.org\nLKML-Reference: \u003c20090618152432.10136.9932.sendpatchset@rx1.opensource.se\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4b2a108cd0d34880fe9d932258ca5b2ccebcd05e",
      "tree": "ce41850f6b9a738804cc8d811f74f3a09bc954f4",
      "parents": [
        "da60a91d012bcb10bc5bcd86d585c4281742832c"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Mon Jun 22 09:18:05 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Fri Jul 31 12:28:46 2009 +0200"
      },
      "message": "cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG\n\nthe code allready uses flush_kernel_dcache_page(). This patch updates the\ndriver to the recent sg API changes which require that either SG_MITER_TO_SG\nor SG_MITER_FROM_SG is set. SG_MITER_TO_SG calls flush_kernel_dcache_page()\nin sg_mitter_stop()\n\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nAcked-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "6de7e356faf54aa75de5b624bbce28a5b776dfa8",
      "tree": "09b341b7c1371448a5ae8a9cd4009a4f81f4a3dd",
      "parents": [
        "b592972493c38665efd7d429a01b23fcb21e331a"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Thu Jun 18 10:19:12 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Fri Jul 31 12:28:45 2009 +0200"
      },
      "message": "lib/scatterlist: add a flags to signalize mapping direction\n\nsg_miter_start() is currently unaware of the direction of the copy\nprocess (to or from the scatter list). It is important to know the\ndirection because the page has to be flushed in case the data written\nis seen on a different mapping in user land on cache incoherent\narchitectures.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "cbb4f2646d77b536ed2b1500ef6641083228ed8f",
      "tree": "e238098c2239ca1a2ec978858f63566d0281d49a",
      "parents": [
        "56ad1740d9a8dc271e71fee234be662638c64458"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jul 31 08:55:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 31 08:55:48 2009 +0200"
      },
      "message": "io context: fix ref counting\n\nCommit d9c7d394a8ebacb60097b192939ae9f15235225e\n(\"block: prevent possible io_context-\u003erefcount overflow\") mistakenly\nchanged atomic_inc(\u0026ioc-\u003enr_tasks) to atomic_long_inc(\u0026ioc-\u003erefcount).\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1842f23c05b6a866be831aa60bc8a8731c58ddd0",
      "tree": "8047f21d149b3958b5c4278c1a5601ddce9e0e4b",
      "parents": [
        "a91d74a3c4de8115295ee87350c13a329164aaaf"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:46 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:46 2009 +0930"
      },
      "message": "lguest and virtio: cleanup struct definitions to Linux style.\n\nI\u0027ve been doing this for years, and akpm picked me up on it about 12\nmonths ago.  lguest partly serves as example code, so let\u0027s do it Right.\n\nAlso, remove two unused fields in struct vblk_info in the example launcher.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "2e04ef76916d1e29a077ea9d0f2003c8fd86724d",
      "tree": "2ff8d625d6e467be9f9f1b67a3674cb6e125e970",
      "parents": [
        "e969fed542cae08cb11d666efac4f7c5d624d09f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:45 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:45 2009 +0930"
      },
      "message": "lguest: fix comment style\n\nI don\u0027t really notice it (except to begrudge the extra vertical\nspace), but Ingo does.  And he pointed out that one excuse of lguest\nis as a teaching tool, it should set a good example.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "91a5698d1f253d30f53f0c58d2504eaec481b854",
      "tree": "684d8060e16b33c6ede5b814dbd459e0c5cb1f39",
      "parents": [
        "084bad91afd0f40ff4db9ceb56e29234c314d8d1",
        "dddac6a7b445de95515f64fdf82fe5dc36c02f26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:15:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:15:18 2009 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM / Hibernate: Replace bdget call with simple atomic_inc of i_count\n  PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk\n"
    },
    {
      "commit": "812ed032cdc8138b7546eecc996879756b92d801",
      "tree": "6285496aedfaedbf63b472a2f09ab944af9a86e0",
      "parents": [
        "8da14b5fc32368f582df09fe9c0bec2507868583"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Jul 29 15:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:39 2009 -0700"
      },
      "message": "uio: mark uio.h functions __KERNEL__ only\n\nTo avoid userspace build failures such as:\n\n.../linux/uio.h:37: error: expected `\u003d\u0027, `,\u0027, `;\u0027, `asm\u0027 or `__attribute__\u0027 before `iov_length\u0027\n.../linux/uio.h:47: error: expected declaration specifiers or `...\u0027 before `size_t\u0027\n\nmove uio functions inside a __KERNEL__ block.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "534acc057b5a08ec33fa57cdd2f5a09ef124e7f2",
      "tree": "186e6ff90a7a696a2d15f183871250c9d83f476d",
      "parents": [
        "a9e58f25734e153b8c6516d904e2398fb8b0b23d"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Wed Jul 29 15:04:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:36 2009 -0700"
      },
      "message": "lib: flexible array implementation\n\nOnce a structure goes over PAGE_SIZE*2, we see occasional allocation\nfailures.  Some people have chosen to switch over to things like vmalloc()\nthat will let them keep array-like access to such a large structures.\nBut, vmalloc() has plenty of downsides.\n\nHere\u0027s an alternative.  I think it\u0027s what Andrew was suggesting here:\n\n\thttp://lkml.org/lkml/2009/7/2/518\n\nI call it a flexible array.  It does all of its work in PAGE_SIZE bits, so\nnever does an order\u003e0 allocation.  The base level has\nPAGE_SIZE-2*sizeof(int) bytes of storage for pointers to the second level.\n So, with a 32-bit arch, you get about 4MB (4183112 bytes) of total\nstorage when the objects pack nicely into a page.  It is half that on\n64-bit because the pointers are twice the size.  There\u0027s a table detailing\nthis in the code.\n\nThere are kerneldocs for the functions, but here\u0027s an\noverview:\n\nflex_array_alloc() - dynamically allocate a base structure\nflex_array_free() - free the array and all of the\n\t\t    second-level pages\nflex_array_free_parts() - free the second-level pages, but\n\t\t\t  not the base (for static bases)\nflex_array_put() - copy into the array at the given index\nflex_array_get() - copy out of the array at the given index\nflex_array_prealloc() - preallocate the second-level pages\n\t\t\tbetween the given indexes to\n\t\t\tguarantee no allocs will occur at\n\t\t\tput() time.\n\nWe could also potentially just pass the \"element_size\" into each of the\nAPI functions instead of storing it internally.  That would get us one\nmore base pointer on 32-bit.\n\nI\u0027ve been testing this by running it in userspace.  The header and patch\nthat I\u0027ve been using are here, as well as the little script I\u0027m using to\ngenerate the size table which goes in the kerneldocs.\n\n\thttp://sr71.net/~dave/linux/flexarray/\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5a55efa140f5e9c9dd0f398fef54f20cdb74ec9",
      "tree": "d576ed9bebfa3e1d5f47b4c3b701d0056101a34b",
      "parents": [
        "5c8053652328693d10551131432ef3573e77ed2d"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Jul 29 15:04:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:36 2009 -0700"
      },
      "message": "pps.h needs \u003clinux/types.h\u003e\n\nFound with make headers_check\n\n/usr/include/linux/pps.h:52: found __[us]{8,16,32,64} type without #include \u003clinux/types.h\u003e\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "887032670d47366a8c8f25396ea7c14b7b2cc620",
      "tree": "e5f9ece5ab9239648e8d7051ccb9a217d92553d7",
      "parents": [
        "f0d83679a8d471dc8b646919f70595d6fe8c9606"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jul 29 15:04:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:35 2009 -0700"
      },
      "message": "cgroup avoid permanent sleep at rmdir\n\nAfter commit ec64f51545fffbc4cb968f0cea56341a4b07e85a (\"cgroup: fix\nfrequent -EBUSY at rmdir\"), cgroup\u0027s rmdir (especially against memcg)\ndoesn\u0027t return -EBUSY by temporary ref counts.  That commit expects all\nrefs after pre_destroy() is temporary but...it wasn\u0027t.  Then, rmdir can\nwait permanently.  This patch tries to fix that and change followings.\n\n - set CGRP_WAIT_ON_RMDIR flag before pre_destroy().\n - clear CGRP_WAIT_ON_RMDIR flag when the subsys finds racy case.\n   if there are sleeping ones, wakes them up.\n - rmdir() sleeps only when CGRP_WAIT_ON_RMDIR flag is set.\n\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReported-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Balbir Sigh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "096b7fe012d66ed55e98bc8022405ede0cc80e96",
      "tree": "755709b6d3ff21a9e9640d6c19432b31c863ad34",
      "parents": [
        "b317c833211b7fbf902163de766f09554090e0bf"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jul 29 15:04:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:35 2009 -0700"
      },
      "message": "cgroups: fix pid namespace bug\n\nThe bug was introduced by commit cc31edceee04a7b87f2be48f9489ebb72d264844\n(\"cgroups: convert tasks file to use a seq_file with shared pid array\").\n\nWe cache a pid array for all threads that are opening the same \"tasks\"\nfile, but the pids in the array are always from the namespace of the\nlast process that opened the file, so all other threads will read pids\nfrom that namespace instead of their own namespaces.\n\nTo fix it, we maintain a list of pid arrays, which is keyed by pid_ns.\nThe list will be of length 1 at most time.\n\nReported-by: Paul Menage \u003cmenage@google.com\u003e\nIdea-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84210aeb4a6a77de8a3067b121026bad630cd3da",
      "tree": "1a458ba7dba9955108349a49a4e878ed9ea79755",
      "parents": [
        "7d4dd028b022ddf8631b4530ed8d7777526f545e",
        "ed8f0d9e708a1a7c9222e7d0a35d97521e904223"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 12:31:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 12:31:59 2009 -0700"
      },
      "message": "Merge branch \u0027drm-radeon-kms\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-radeon-kms\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (35 commits)\n  drm/radeon: set fb aperture sizes for framebuffer handoff.\n  drm/ttm: fix highuser vs dma32 confusion.\n  drm/radeon: Fix size used for benchmarking BO copies.\n  drm/radeon: Add radeon.test parameter for running BO GPU copy tests.\n  drm/radeon/kms: allow interruptible waits for objects.\n  drm/ttm: powerpc: Fix Highmem cache flushing.\n  x86: Export kmap_atomic_prot() needed for TTM.\n  drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes.\n  drm/ttm: Fix an oops and sync object leak.\n  drm/radeon/kms: vram sizing on certain r100 chips needs workaround.\n  drm/radeon: Pay more attention to object placement requested by userspace.\n  drm/radeon: Fall back to evicting BOs with memcpy if necessary.\n  drm/radeon: Don\u0027t unreserve twice on failure to validate.\n  drm/radeon/kms: fix bandwidth computation on avivo hardware\n  drm/radeon/kms: add initial colortiling support.\n  drm/radeon/kms: fix hotspot handling on pre-avivo chips\n  drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740\n  drm/radeon/kms: add PLL flag to prefer frequencies \u003c\u003d the target freq\n  drm/radeon/kms: block RN50 from using 3D engine.\n  drm/radeon/kms: fix VRAM sizing like DDX does it.\n  ...\n"
    }
  ],
  "next": "2e13e5f03538cfded0c463fd60eddd0c8e2cd959"
}
