1. 03 Jul, 2020 11 commits
  2. 02 Jul, 2020 2 commits
  3. 01 Jul, 2020 9 commits
  4. 30 Jun, 2020 2 commits
  5. 27 Jun, 2020 5 commits
  6. 24 Jun, 2020 2 commits
  7. 20 Jun, 2020 8 commits
  8. 16 Jun, 2020 1 commit
    • Stanley Chu's avatar
      scsi: ufs: Fix imprecise load calculation in devfreq window · b1bf66d1
      Stanley Chu authored
      The UFS load calculation is based on "total_time" and "busy_time" in a
      devfreq window.  However, the source of time is different for both
      parameters: "busy_time" is assigned from "jiffies" thus has different
      accuracy from "total_time" which is assigned from ktime_get().
      
      In addition, the time of window boundary is not exactly the same as the
      starting busy time in this window if UFS is actually busy in the beginning
      of the window. A similar accuracy error may also happen for the end of busy
      time in current window.
      
      To guarantee the precision of load calculation, we need to
      
      1. Align time accuracy of both devfreq_dev_status.total_time and
         devfreq_dev_status.busy_time. For example, use "ktime_get()" directly.
      
      2. Align the following timelines:
         - The beginning time of devfreq windows
         - The beginning of busy time in a new window
         - The end of busy time in the current window
      
      Link: https://lore.kernel.org/r/20200611101043.6379-1-stanley.chu@mediatek.com
      Fixes: a3cd5ec5 ("scsi: ufs: add load based scaling of UFS gear")
      Reviewed-by: default avatarAvri Altman <avri.altman@wdc.com>
      Signed-off-by: default avatarStanley Chu <stanley.chu@mediatek.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      b1bf66d1