)]}'
{
  "commit": "16b61beb39f2446460f93c08d4d263dc24f22dd8",
  "tree": "3901c6f9d786c934f971cffb65dc4fb8577044c8",
  "parents": [
    "66c87bd50ddae681ebedfda0d75e6e73ecd29ce7"
  ],
  "author": {
    "name": "John Fastabend",
    "email": "john.r.fastabend@intel.com",
    "time": "Tue Nov 16 19:26:44 2010 -0800"
  },
  "committer": {
    "name": "Jeff Kirsher",
    "email": "jeffrey.t.kirsher@intel.com",
    "time": "Tue Nov 16 19:26:44 2010 -0800"
  },
  "message": "ixgbe: DCB set PFC high and low water marks per data sheet specs\n\nCurrently the high and low water marks for PFC are being set\nconservatively for jumbo frames. This means the RX buffers\nare being underutilized in the default 1500 MTU. This patch\nfixes this so that the water marks are set as described in\nthe data sheet considering the MTU size.\n\nThe equation used is,\n\nRTT * 1.44 + MTU * 1.44 + MTU\n\nWhere RTT is the round trip time and MTU is the max frame size\nin KB. To avoid floating point arithmetic FC_HIGH_WATER is\ndefined\n\n((((RTT + MTU) * 144) + 99) / 100) + MTU\n\nThis changes how the hardware field fc.low_water and\nfc.high_water are used. With this change they are no longer\nstoring the actual low water and high water markers but are\nstoring the required head room in the buffer. This simplifies\nthe logic and we do not need to account for the size of the\nbuffer when setting the thresholds.\n\nTesting with iperf and 16 threads showed a slight uptick in\nthroughput over a single traffic class .1-.2Gbps and a reduction\nin pause frames. Without the patch a 30 second run would show\n~10-15 pause frames being transmitted with the patch ~2-5 are\nseen. Test were run back to back with 82599.\n\nNote RXPBSIZE is in KB and low and high water marks fields are\nalso in KB. However the FCRT* registers are 32B granularity and\nright shifted 5 into the register,\n\n(((rx_pbsize - water_mark) * 1024) / 32) \u003c\u003c 5\n\nis the most explicit conversion here we simplify\n\n(rx_pbsize - water_mark) * 32 \u003c\u003c 5 \u003d (rx_pbsize - water_mark) \u003c\u003c 10\n\nThis patch updates the PFC thresholds and legacy FC thresholds.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "018e143612b2a99ea9d50f82d51d8d0b88353891",
      "old_mode": 33188,
      "old_path": "drivers/net/ixgbe/ixgbe.h",
      "new_id": "4f98486d8c2cdd9f3d4d054767f5032c5c82b8ba",
      "new_mode": 33188,
      "new_path": "drivers/net/ixgbe/ixgbe.h"
    },
    {
      "type": "modify",
      "old_id": "9c02d6014cc43856fa405d8b0c0cc140aef63dde",
      "old_mode": 33188,
      "old_path": "drivers/net/ixgbe/ixgbe_82598.c",
      "new_id": "25b20f93190a1307eb009614eba58d1beb743c9d",
      "new_mode": 33188,
      "new_path": "drivers/net/ixgbe/ixgbe_82598.c"
    },
    {
      "type": "modify",
      "old_id": "e3eca13163891c7ba339b71c1b95768247c4542e",
      "old_mode": 33188,
      "old_path": "drivers/net/ixgbe/ixgbe_common.c",
      "new_id": "62aa2be199f15bf89c7be3bfa932424372e9cc82",
      "new_mode": 33188,
      "new_path": "drivers/net/ixgbe/ixgbe_common.c"
    },
    {
      "type": "modify",
      "old_id": "50288bcadc5985bac86d29e2ff12abd1777875bc",
      "old_mode": 33188,
      "old_path": "drivers/net/ixgbe/ixgbe_dcb_82598.c",
      "new_id": "9a5e89c12e050281af83dbf2b143264fdf974fe3",
      "new_mode": 33188,
      "new_path": "drivers/net/ixgbe/ixgbe_dcb_82598.c"
    },
    {
      "type": "modify",
      "old_id": "05f224715073cf46e42e52db91a1b57fca226ddc",
      "old_mode": 33188,
      "old_path": "drivers/net/ixgbe/ixgbe_dcb_82599.c",
      "new_id": "374e1f74d0f51c20bbfe6e245d8500f90a015dab",
      "new_mode": 33188,
      "new_path": "drivers/net/ixgbe/ixgbe_dcb_82599.c"
    },
    {
      "type": "modify",
      "old_id": "a137f9dbaacd7ee90e410bdf246acedbb38faa7c",
      "old_mode": 33188,
      "old_path": "drivers/net/ixgbe/ixgbe_main.c",
      "new_id": "f374207e14b407cbd69a32ad344c1e7d146687b4",
      "new_mode": 33188,
      "new_path": "drivers/net/ixgbe/ixgbe_main.c"
    },
    {
      "type": "modify",
      "old_id": "d3cc6ce7c973a3c71855588029e57ab7dcd82ef6",
      "old_mode": 33188,
      "old_path": "drivers/net/ixgbe/ixgbe_type.h",
      "new_id": "96dea7731e68abcb93733211b5a1fff8b61b9570",
      "new_mode": 33188,
      "new_path": "drivers/net/ixgbe/ixgbe_type.h"
    }
  ]
}
