Re: [PATCH] drm/doc: Add a warning to drm_dev_is_unplugged

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Den 29.01.2019 10.51, skrev Daniel Vetter:
> On Tue, Jan 29, 2019 at 10:02:32AM +0100, Noralf Trønnes wrote:
>>
>>
>> Den 29.01.2019 09.56, skrev Daniel Vetter:
>>> It's probably not what you want, definitely not after Noralf's work to
>>> add drm_dev_enter/exit.
>>>
>>> Cc: Noralf Trønnes <noralf@xxxxxxxxxxx>
>>> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
>>> ---
>>
>> Reviewed-by: Noralf Trønnes <noralf@xxxxxxxxxxx>
> 
> Thanks for your review, applied. btw I noticed that we also have plenty of
> drm_dev_is_unplugged in the core, not sure what to do about those.

I think they're fine. They're kind of a shortcut for some code paths,
but in order to be safe I believe that it's the driver that needs to
have the responsibility to protect its resources. This way we don't run
into any suprises, since DRM and it's codepaths are quite complex.

Noralf.

> -Daniel
> 
>>
>>>  include/drm/drm_drv.h | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
>>> index 9a688cf12881..ca46a45a9cce 100644
>>> --- a/include/drm/drm_drv.h
>>> +++ b/include/drm/drm_drv.h
>>> @@ -740,6 +740,10 @@ void drm_dev_unplug(struct drm_device *dev);
>>>   * Unplugging itself is singalled through drm_dev_unplug(). If a device is
>>>   * unplugged, these two functions guarantee that any store before calling
>>>   * drm_dev_unplug() is visible to callers of this function after it completes
>>> + *
>>> + * WARNING: This function fundamentally races against drm_dev_unplug(). It is
>>> + * recommended that drivers instead use the underlying drm_dev_enter() and
>>> + * drm_dev_exit() function pairs.
>>>   */
>>>  static inline bool drm_dev_is_unplugged(struct drm_device *dev)
>>>  {
>>>
> 
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux