1. 29 Nov, 2018 15 commits
  2. 28 Nov, 2018 17 commits
  3. 27 Nov, 2018 4 commits
  4. 26 Nov, 2018 1 commit
  5. 23 Nov, 2018 1 commit
    • Chris Wilson's avatar
      drm/i915: Cache the error string · 0e39037b
      Chris Wilson authored
      Currently, we convert the error state into a string every time we read
      from sysfs (and sysfs reads in page size (4KiB) chunks). We do try to
      window the string and only capture the portion that is being read, but
      that means that we must always convert up to the window to find the
      start. For a very large error state bordering on EXEC_OBJECT_CAPTURE
      abuse, this is noticeable as it degrades to O(N^2)!
      
      As we do not have a convenient hook for sysfs open(), and we would like
      to keep the lazy conversion into a string, do the conversion of the
      whole string on the first read and keep the string until the error state
      is freed.
      
      v2: Don't double advance simple_read_from_buffer
      v3: Due to extreme pain of lack of vrealloc, use a scatterlist
      v4: Keep the forward iterator loosely cached
      v5: Stylistic improvements to reduce patch size
      Reported-by: default avatarJason Ekstrand <jason@jlekstrand.net>
      Testcase: igt/gem_exec_capture/many*
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Jason Ekstrand <jason@jlekstrand.net>
      Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181123132325.26541-1-chris@chris-wilson.co.uk
      0e39037b
  6. 22 Nov, 2018 2 commits