1. 14 6月, 2018 1 次提交
  2. 11 6月, 2018 2 次提交
  3. 05 6月, 2018 1 次提交
  4. 18 5月, 2018 1 次提交
  5. 12 5月, 2018 1 次提交
  6. 03 5月, 2018 1 次提交
  7. 30 4月, 2018 1 次提交
  8. 29 3月, 2018 6 次提交
  9. 06 3月, 2018 1 次提交
  10. 01 3月, 2018 1 次提交
  11. 22 2月, 2018 1 次提交
  12. 12 2月, 2018 1 次提交
    • L
      vfs: do bulk POLL* -> EPOLL* replacement · a9a08845
      Linus Torvalds 提交于
      This is the mindless scripted replacement of kernel use of POLL*
      variables as described by Al, done by this script:
      
          for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
              L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
              for f in $L; do sed -i "-es/^\([^\"]*\)\(\<POLL$V\>\)/\\1E\\2/" $f; done
          done
      
      with de-mangling cleanups yet to come.
      
      NOTE! On almost all architectures, the EPOLL* constants have the same
      values as the POLL* constants do.  But they keyword here is "almost".
      For various bad reasons they aren't the same, and epoll() doesn't
      actually work quite correctly in some cases due to this on Sparc et al.
      
      The next patch from Al will sort out the final differences, and we
      should be all done.
      Scripted-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a9a08845
  13. 29 11月, 2017 1 次提交
  14. 21 11月, 2017 2 次提交
  15. 20 11月, 2017 2 次提交
  16. 13 11月, 2017 4 次提交
  17. 25 10月, 2017 1 次提交
  18. 24 10月, 2017 1 次提交
  19. 22 9月, 2017 1 次提交
  20. 19 9月, 2017 2 次提交
  21. 11 8月, 2017 3 次提交
    • C
      drm/i915/perf: Drop redundant check for perf.initialised on reset · 28b6cb08
      Chris Wilson 提交于
      As we cannot have an exclusive stream set if the perf has not been
      initialized, we only need to check for that exclusive stream.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170810175743.25401-3-chris@chris-wilson.co.ukReviewed-by: NMatthew Auld <matthew.auld@intel.com>
      28b6cb08
    • C
      drm/i915/perf: Drop lockdep assert for i915_oa_init_reg_state() · 84a095e4
      Chris Wilson 提交于
      This is called from execlist context init which we need to be unlocked.
      Commit f89823c2 ("drm/i915/perf: Implement
      I915_PERF_ADD/REMOVE_CONFIG interface") added a lockdep assert to this
      path for unclear reasons, remove it again!
      
      Fixes: f89823c2 ("drm/i915/perf: Implement I915_PERF_ADD/REMOVE_CONFIG interface")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170810175743.25401-2-chris@chris-wilson.co.ukReviewed-by: NMatthew Auld <matthew.auld@intel.com>
      84a095e4
    • C
      drm/i915/perf: Initialise dynamic sysfs group before creation · 40f75ea4
      Chris Wilson 提交于
      Another case where we need to call sysfs_attr_init() to setup the
      internal lockdep class prior to use:
      
      [    9.325229] BUG: key ffff880168bc7bb0 not in .data!
      [    9.325240] DEBUG_LOCKS_WARN_ON(1)
      [    9.325250] ------------[ cut here ]------------
      [    9.325280] WARNING: CPU: 1 PID: 275 at kernel/locking/lockdep.c:3156 lockdep_init_map+0x1b2/0x1c0
      [    9.325301] Modules linked in: intel_powerclamp(+) coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i915(+) snd_hda_intel snd_hda_codec snd_hwdep r8169 mii snd_hda_core snd_pcm prime_numbers i2c_hid pinctrl_geminilake pinctrl_intel
      [    9.325375] CPU: 1 PID: 275 Comm: modprobe Not tainted 4.13.0-rc4-CI-Trybot_1040+ #1
      [    9.325395] Hardware name: Intel Corp. Geminilake/GLK RVP2 LP4SD (07), BIOS GELKRVPA.X64.0045.B51.1704281422 04/28/2017
      [    9.325422] task: ffff8801721a4ec0 task.stack: ffffc900001dc000
      [    9.325440] RIP: 0010:lockdep_init_map+0x1b2/0x1c0
      [    9.325456] RSP: 0018:ffffc900001dfa10 EFLAGS: 00010282
      [    9.325473] RAX: 0000000000000016 RBX: ffff880168d54b80 RCX: 0000000000000000
      [    9.325488] RDX: 0000000080000001 RSI: 0000000000000001 RDI: ffffffff810f0800
      [    9.325505] RBP: ffffc900001dfa30 R08: 0000000000000001 R09: 0000000000000000
      [    9.325521] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880168bc7bb0
      [    9.325537] R13: 0000000000000000 R14: ffff880168bc7b98 R15: ffffffff81a263a0
      [    9.325554] FS:  00007fb60c3fd700(0000) GS:ffff88017fc80000(0000) knlGS:0000000000000000
      [    9.325574] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [    9.325588] CR2: 0000006582777d80 CR3: 000000016d818000 CR4: 00000000003406e0
      [    9.325604] Call Trace:
      [    9.325618]  __kernfs_create_file+0x76/0xe0
      [    9.325632]  sysfs_add_file_mode_ns+0x8a/0x1a0
      [    9.325646]  internal_create_group+0xea/0x2c0
      [    9.325660]  sysfs_create_group+0x13/0x20
      [    9.325737]  i915_perf_register+0xde/0x220 [i915]
      [    9.325800]  i915_driver_load+0xa77/0x16c0 [i915]
      [    9.325863]  i915_pci_probe+0x37/0x90 [i915]
      [    9.325880]  pci_device_probe+0xa8/0x130
      [    9.325894]  driver_probe_device+0x29c/0x450
      [    9.325908]  __driver_attach+0xe3/0xf0
      [    9.325922]  ? driver_probe_device+0x450/0x450
      [    9.325935]  bus_for_each_dev+0x62/0xa0
      [    9.325948]  driver_attach+0x1e/0x20
      [    9.325960]  bus_add_driver+0x173/0x270
      [    9.325974]  driver_register+0x60/0xe0
      [    9.325986]  __pci_register_driver+0x60/0x70
      [    9.326044]  i915_init+0x6f/0x78 [i915]
      [    9.326066]  ? 0xffffffffa024e000
      [    9.326079]  do_one_initcall+0x43/0x170
      [    9.326094]  ? rcu_read_lock_sched_held+0x7a/0x90
      [    9.326109]  ? kmem_cache_alloc_trace+0x261/0x2d0
      [    9.326124]  do_init_module+0x5f/0x206
      [    9.326137]  load_module+0x2561/0x2da0
      [    9.326150]  ? show_coresize+0x30/0x30
      [    9.326165]  ? kernel_read_file+0x105/0x190
      [    9.326180]  SyS_finit_module+0xc1/0x100
      [    9.326192]  ? SyS_finit_module+0xc1/0x100
      [    9.326210]  entry_SYSCALL_64_fastpath+0x1c/0xb1
      [    9.326223] RIP: 0033:0x7fb60bf359f9
      [    9.326234] RSP: 002b:00007fff92b47c48 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
      [    9.326255] RAX: ffffffffffffffda RBX: ffffffff814898a3 RCX: 00007fb60bf359f9
      [    9.326271] RDX: 0000000000000000 RSI: 00000028a9ceef8b RDI: 0000000000000000
      [    9.326287] RBP: ffffc900001dff88 R08: 0000000000000000 R09: 0000000000000000
      [    9.326303] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000040000
      [    9.326319] R13: 00000028aaef2a70 R14: 0000000000000000 R15: 00000028aaeee5d0
      [    9.326339]  ? __this_cpu_preempt_check+0x13/0x20
      [    9.326353] Code: f1 39 00 85 c0 0f 84 38 ff ff ff 83 3d 9f 44 ce 01 00 0f 85 2b ff ff ff 48 c7 c6 b2 a2 c7 81 48 c7 c7 53 40 c5 81 e8 3f 82 01 00 <0f> ff e9 11 ff ff ff 0f 1f 80 00 00 00 00 55 31 c9 31 d2 31 f6
      
      Fixes: 701f8231 ("drm/i915/perf: prune OA configs")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170810175743.25401-1-chris@chris-wilson.co.ukReviewed-by: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
      40f75ea4
  22. 07 8月, 2017 1 次提交
  23. 04 8月, 2017 4 次提交
    • C
      drm/i915/perf: Initialise the dynamic sysfs attr · 28152a23
      Chris Wilson 提交于
      Use sysfs_attr_init() to dynamically initialise the
      oa_config->sysfs_metric_id.attr as it has the important side-effect of
      setting the lockdep key.
      
      [    4.971513] [drm] Initialized i915 1.6.0 20170731 for 0000:00:02.0 on minor 0
      [    4.973489] BUG: key ffff88026f6e7bb0 not in .data!
      [    4.973506] DEBUG_LOCKS_WARN_ON(1)
      [    4.973518] ------------[ cut here ]------------
      [    4.973547] WARNING: CPU: 1 PID: 258 at kernel/locking/lockdep.c:3156 lockdep_init_map+0x1b2/0x1c0
      [    4.973567] Modules linked in: i915(+) x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm r8169 mei_me mii mei lpc_ich prime_numbers i2c_hid pinctrl_broxton pinctrl_intel
      [    4.973645] CPU: 1 PID: 258 Comm: systemd-udevd Not tainted 4.13.0-rc3-CI-CI_DRM_2915+ #1
      [    4.973664] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016
      [    4.973686] task: ffff8802704c2740 task.stack: ffffc90000224000
      [    4.973700] RIP: 0010:lockdep_init_map+0x1b2/0x1c0
      [    4.973712] RSP: 0018:ffffc90000227a10 EFLAGS: 00010282
      [    4.973726] RAX: 0000000000000016 RBX: ffff880262aac010 RCX: 0000000000000000
      [    4.973741] RDX: 0000000080000001 RSI: 0000000000000001 RDI: ffffffff810ed1ab
      [    4.973757] RBP: ffffc90000227a30 R08: 0000000000000001 R09: 0000000000000000
      [    4.973774] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88026f6e7bb0
      [    4.973789] R13: 0000000000000000 R14: ffff88026f6e7b98 R15: ffffffff81a24da0
      [    4.973805] FS:  00007f588d7f58c0(0000) GS:ffff88027fc80000(0000) knlGS:0000000000000000
      [    4.973823] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [    4.973837] CR2: 00000082482e32a0 CR3: 0000000270531000 CR4: 00000000003406e0
      [    4.973852] Call Trace:
      [    4.973864]  __kernfs_create_file+0x71/0xe0
      [    4.973876]  sysfs_add_file_mode_ns+0x85/0x1a0
      [    4.973890]  internal_create_group+0xe5/0x2b0
      [    4.973903]  sysfs_create_group+0xe/0x10
      [    4.973985]  i915_perf_register+0xd9/0x220 [i915]
      [    4.974044]  i915_driver_load+0xa72/0x16b0 [i915]
      [    4.974124]  i915_pci_probe+0x32/0x90 [i915]
      
      Annoyingly detected by CI, but not reported due to it occurring during boot
      and disabling lockdep for later runs.
      
      Fixes: f89823c2 ("drm/i915/perf: Implement I915_PERF_ADD/REMOVE_CONFIG interface")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
      Cc: Andrzej Datczuk <andrzej.datczuk@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170803223700.10329-1-chris@chris-wilson.co.ukReviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Reviewed-by: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
      28152a23
    • L
      drm/i915/perf: Implement I915_PERF_ADD/REMOVE_CONFIG interface · f89823c2
      Lionel Landwerlin 提交于
      The motivation behind this new interface is expose at runtime the
      creation of new OA configs which can be used as part of the i915 perf
      open interface. This will enable the kernel to learn new configs which
      may be experimental, or otherwise not part of the core set currently
      available through the i915 perf interface.
      
      v2: Drop DRM_ERROR for userspace errors (Matthew)
          Add padding to userspace structure (Matthew)
          s/guid/uuid/ (Matthew)
      
      v3: Use u32 instead of int to iterate through registers (Matthew)
      
      v4: Lock access to dynamic config list (Lionel)
      
      v5: by Matthew:
          Fix uninitialized error values
          Fix incorrect unwiding when opening perf stream
          Use kmalloc_array() to store register
          Use uuid_is_valid() to valid config uuids
          Declare ioctls as write only
          Check padding members are set to 0
          by Lionel:
          Return ENOENT rather than EINVAL when trying to remove non
          existing config
      
      v6: by Chris:
          Use ref counts for OA configs
          Store UUID in drm_i915_perf_oa_config rather then using pointer
          Shuffle fields of drm_i915_perf_oa_config to avoid padding
      
      v7: by Chris
          Rename uapi pointers fields to end with '_ptr'
      
      v8: by Andrzej, Marek, Sebastian
          Update register whitelisting
          by Lionel
          Add more register names for documentation
          Allow configuration programming in non-paranoid mode
          Add support for value filter for a couple of registers already
          programmed in other part of the kernel
      
      v9: Documentation fix (Lionel)
          Allow writing WAIT_FOR_RC6_EXIT only on Gen8+ (Andrzej)
      
      v10: Perform read access_ok() on register pointers (Lionel)
      Signed-off-by: NMatthew Auld <matthew.auld@intel.com>
      Signed-off-by: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Signed-off-by: NAndrzej Datczuk <andrzej.datczuk@intel.com>
      Reviewed-by: NAndrzej Datczuk <andrzej.datczuk@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170803165812.2373-2-lionel.g.landwerlin@intel.com
      f89823c2
    • L
      28964cf2
    • L
      drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs · 3802c5cb
      Lionel Landwerlin 提交于
      There will be a need for userspaces configurations to set this
      register. We can apply the same model inside the kernel for test
      configs.
      Signed-off-by: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Reviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170803165812.2373-4-lionel.g.landwerlin@intel.com
      3802c5cb