)]}'
{
  "commit": "87f1369d6e2e820c77cf9eac542eed4dcf036f64",
  "tree": "65cbaa15e9378cc680aa2db5b00d99abdfea1a61",
  "parents": [
    "cdbaa0bb26d8116d00be24e6b49043777b382f3a"
  ],
  "author": {
    "name": "Paolo Valente",
    "email": "paolo.valente@unimore.it",
    "time": "Wed Jul 10 15:46:08 2013 +0200"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Jul 11 13:01:07 2013 -0700"
  },
  "message": "pkt_sched: sch_qfq: improve efficiency of make_eligible\n\nIn make_eligible, a mask is used to decide which groups must become eligible:\nthe i-th group becomes eligible only if the i-th bit of the mask (from the\nright) is set. The mask is computed by left-shifting a 1 by a given number of\nplaces, and decrementing the result.  The shift is performed on a ULL to avoid\nproblems in case the number of places to shift is higher than 31.  On a 32-bit\nmachine, this is more costly than working on an UL. This patch replaces such a\ncostly operation with two cheaper branches.\n\nThe trick is based on the following fact: in case of a shift of at least 32\nplaces, the resulting mask has at least the 32 less significant bits set,\nwhereas the total number of groups is lower than 32.  As a consequence, in this\ncase it is enough to just set the 32 less significant bits of the mask with a\ncheaper ~0UL. In the other case, the shift can be safely performed on a UL.\n\nReported-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReported-by: David Laight \u003cDavid.Laight@ACULAB.COM\u003e\nSigned-off-by: Paolo Valente \u003cpaolo.valente@unimore.it\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7c195d972bf0cd437a8b94a6bc80564c1585b82b",
      "old_mode": 33188,
      "old_path": "net/sched/sch_qfq.c",
      "new_id": "8d86a8b5522aca8dd1fe9334b91833a035a29eee",
      "new_mode": 33188,
      "new_path": "net/sched/sch_qfq.c"
    }
  ]
}
