diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2017-05-16 13:10:42 +0200 |
---|---|---|
committer | Gustavo Padovan <gustavo.padovan@collabora.com> | 2017-05-24 18:08:29 +0200 |
commit | 71ebc9a3795818eab52e81bbcbdfae130ee35d9e (patch) | |
tree | 471cdf0619cc75a44a992c0916beb498b3c894d9 /drivers/gpu | |
parent | sync_file.txt: standardize document format (diff) | |
download | linux-71ebc9a3795818eab52e81bbcbdfae130ee35d9e.tar.xz linux-71ebc9a3795818eab52e81bbcbdfae130ee35d9e.zip |
dma-buf/sync-file: Defer creation of sync_file->name
Constructing the name takes the majority of the time for allocating a
sync_file to wrap a fence, and the name is very rarely used (only via
the sync_file status user interface). To reduce the impact on the common
path (that of creating sync_file to pass around), defer the construction
of the name until it is first used.
v2: Update kerneldoc (kbuild test robot)
v3: sync_debug.c was peeking at the name
v4: Comment upon the potential race between two users of
sync_file_get_name() and claim that such a race is below the level of
notice. However, to prevent any future nuisance, use a global spinlock
to serialize the assignment of the name.
v5: Completely avoid the read/write race by only storing the name passed
in from the user inside sync_file->user_name and passing in a buffer to
dynamically construct the name otherwise.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170516111042.24719-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu')
0 files changed, 0 insertions, 0 deletions