drm/i915: Improve execute_cb struct packing
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 26 May 2020 11:20:51 +0000 (12:20 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 26 May 2020 11:24:28 +0000 (12:24 +0100)
commitfc0e127022162653195788680973eefe72806595
tree072a451bc19d5e94fdd415d066ee26a2c10c7e1c
parent9ae6c4ef7b62e619f1c49dcc0ceb2b2de2a29f04
drm/i915: Improve execute_cb struct packing

Reduce the irq_work llist for attaching the callbacks to the signal for
both smaller structs (two fewer pointers!) and simpler [debug] code:

Function                                     old     new   delta
irq_execute_cb                                35      34      -1
__igt_breadcrumbs_smoketest                 1684    1682      -2
i915_request_retire                         2003    1996      -7
__i915_request_create                       1047    1040      -7
__notify_execute_cb                          135     126      -9
__i915_request_ctor                          188     178     -10
__await_execution.part.constprop             451     440     -11
igt_wait_request                             924     714    -210

One minor artifact is that the order of cb exection is reversed. No
current use cases are affected by that change.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200526112051.10229-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_request.c
drivers/gpu/drm/i915/i915_request.h