diff mbox series

[v2] drm: document that blobs are ref'counted

Message ID wgav99DTGfubfVPiurrydQEiyufYpxlJQZ0wJMWYBQ@cp7-web-042.plabs.ch (mailing list archive)
State New, archived
Headers show
Series [v2] drm: document that blobs are ref'counted | expand

Commit Message

Simon Ser Nov. 4, 2020, 5:01 p.m. UTC
User-space doesn't need to keep track of blobs that might be in use by
the kernel. User-space can just destroy blobs as soon as they don't need
them anymore.

Signed-off-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Cc: Pekka Paalanen <ppaalanen@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 include/uapi/drm/drm_mode.h | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Pekka Paalanen Nov. 5, 2020, 8:56 a.m. UTC | #1
On Wed, 04 Nov 2020 17:01:40 +0000
Simon Ser <contact@emersion.fr> wrote:

> User-space doesn't need to keep track of blobs that might be in use by
> the kernel. User-space can just destroy blobs as soon as they don't need
> them anymore.
> 
> Signed-off-by: Simon Ser <contact@emersion.fr>
> Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
> Cc: Pekka Paalanen <ppaalanen@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
>  include/uapi/drm/drm_mode.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index 863eda048265..5ad10ab2a577 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -924,6 +924,12 @@ struct drm_mode_create_blob {
>   * struct drm_mode_destroy_blob - Destroy user blob
>   * @blob_id: blob_id to destroy
>   * Destroy a user-created blob property.
> + *
> + * User-space can release blobs as soon as they do not need to refer to them by
> + * their blob object ID.  For instance, if you are using a MODE_ID blob in an
> + * atomic commit and you will not make another commit re-using the same ID, you
> + * can destroy the blob as soon as the commit has been issued, without waiting
> + * for it to complete.
>   */
>  struct drm_mode_destroy_blob {
>  	__u32 blob_id;

Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>


Thanks,
pq
Jonas Ådahl Nov. 5, 2020, 9 a.m. UTC | #2
On Thu, Nov 05, 2020 at 10:56:53AM +0200, Pekka Paalanen wrote:
> On Wed, 04 Nov 2020 17:01:40 +0000
> Simon Ser <contact@emersion.fr> wrote:
> 
> > User-space doesn't need to keep track of blobs that might be in use by
> > the kernel. User-space can just destroy blobs as soon as they don't need
> > them anymore.
> > 
> > Signed-off-by: Simon Ser <contact@emersion.fr>
> > Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> > Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
> > Cc: Pekka Paalanen <ppaalanen@gmail.com>
> > Cc: Daniel Vetter <daniel@ffwll.ch>
> > ---
> >  include/uapi/drm/drm_mode.h | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> > index 863eda048265..5ad10ab2a577 100644
> > --- a/include/uapi/drm/drm_mode.h
> > +++ b/include/uapi/drm/drm_mode.h
> > @@ -924,6 +924,12 @@ struct drm_mode_create_blob {
> >   * struct drm_mode_destroy_blob - Destroy user blob
> >   * @blob_id: blob_id to destroy
> >   * Destroy a user-created blob property.
> > + *
> > + * User-space can release blobs as soon as they do not need to refer to them by
> > + * their blob object ID.  For instance, if you are using a MODE_ID blob in an
> > + * atomic commit and you will not make another commit re-using the same ID, you
> > + * can destroy the blob as soon as the commit has been issued, without waiting
> > + * for it to complete.
> >   */
> >  struct drm_mode_destroy_blob {
> >  	__u32 blob_id;
> 
> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>

This version is as clear to me as the previous one so both are

Reviewed-by: Jonas Ådahl <jadahl@gmail.com>


Jonas

> 
> 
> Thanks,
> pq
Daniel Vetter Nov. 5, 2020, 9:43 a.m. UTC | #3
On Wed, Nov 04, 2020 at 05:01:40PM +0000, Simon Ser wrote:
> User-space doesn't need to keep track of blobs that might be in use by
> the kernel. User-space can just destroy blobs as soon as they don't need
> them anymore.
> 
> Signed-off-by: Simon Ser <contact@emersion.fr>
> Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
> Cc: Pekka Paalanen <ppaalanen@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  include/uapi/drm/drm_mode.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index 863eda048265..5ad10ab2a577 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -924,6 +924,12 @@ struct drm_mode_create_blob {
>   * struct drm_mode_destroy_blob - Destroy user blob
>   * @blob_id: blob_id to destroy
>   * Destroy a user-created blob property.
> + *
> + * User-space can release blobs as soon as they do not need to refer to them by
> + * their blob object ID.  For instance, if you are using a MODE_ID blob in an
> + * atomic commit and you will not make another commit re-using the same ID, you
> + * can destroy the blob as soon as the commit has been issued, without waiting
> + * for it to complete.
>   */
>  struct drm_mode_destroy_blob {
>  	__u32 blob_id;
> -- 
> 2.29.2
> 
>
diff mbox series

Patch

diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index 863eda048265..5ad10ab2a577 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -924,6 +924,12 @@  struct drm_mode_create_blob {
  * struct drm_mode_destroy_blob - Destroy user blob
  * @blob_id: blob_id to destroy
  * Destroy a user-created blob property.
+ *
+ * User-space can release blobs as soon as they do not need to refer to them by
+ * their blob object ID.  For instance, if you are using a MODE_ID blob in an
+ * atomic commit and you will not make another commit re-using the same ID, you
+ * can destroy the blob as soon as the commit has been issued, without waiting
+ * for it to complete.
  */
 struct drm_mode_destroy_blob {
 	__u32 blob_id;