virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
  • [parent not found: <e5e9e8dd-a5b6-cfd2-44d6-4d5aa768e56c@collabora.com>]
  • [parent not found: <20230108210445.3948344-2-dmitry.osipenko@collabora.com>]
  • [parent not found: <20230108210445.3948344-4-dmitry.osipenko@collabora.com>]
  • [parent not found: <20230108210445.3948344-5-dmitry.osipenko@collabora.com>]
  • [parent not found: <20230108210445.3948344-6-dmitry.osipenko@collabora.com>]
  • [parent not found: <20230108210445.3948344-7-dmitry.osipenko@collabora.com>]
  • [parent not found: <20230108210445.3948344-9-dmitry.osipenko@collabora.com>]
  • * Re: [PATCH v10 00/11] Add generic memory shrinker to VirtIO-GPU and Panfrost DRM drivers
           [not found] <20230108210445.3948344-1-dmitry.osipenko@collabora.com>
                       ` (7 preceding siblings ...)
           [not found] ` <20230108210445.3948344-9-dmitry.osipenko@collabora.com>
    @ 2023-02-17 13:28 ` Thomas Zimmermann
           [not found]   ` <e9364e10-1ad8-aaaf-3d78-a29b0c1516ef@collabora.com>
           [not found] ` <20230108210445.3948344-8-dmitry.osipenko@collabora.com>
           [not found] ` <20230108210445.3948344-10-dmitry.osipenko@collabora.com>
      10 siblings, 1 reply; 18+ messages in thread
    From: Thomas Zimmermann @ 2023-02-17 13:28 UTC (permalink / raw)
      To: Dmitry Osipenko, David Airlie, Gerd Hoffmann, Gurchetan Singh,
    	Chia-I Wu, Daniel Vetter, Daniel Almeida, Gustavo Padovan,
    	Daniel Stone, Tomeu Vizoso, Maarten Lankhorst, Maxime Ripard,
    	Rob Clark, Sumit Semwal, Christian König, Qiang Yu,
    	Steven Price, Alyssa Rosenzweig, Rob Herring, Sean Paul,
    	Dmitry Baryshkov, Abhinav Kumar
      Cc: kernel, linux-kernel, dri-devel, virtualization
    
    
    [-- Attachment #1.1.1: Type: text/plain, Size: 5838 bytes --]
    
    Hi,
    
    I looked through the series. Most of the patches should have an r-b or 
    a-b at this point. I can't say much about patch 2 and had questions 
    about others.
    
    Maybe you can already land patches 2, and 4 to 6? They look independent 
    from the shrinker changes. You could also attempt to land the locking 
    changes in patch 7. They need to get testing. I'll send you an a-b for 
    the patch.
    
    Best regards
    Thomas
    
    Am 08.01.23 um 22:04 schrieb Dmitry Osipenko:
    > This series:
    > 
    >    1. Makes minor fixes for drm_gem_lru and Panfrost
    >    2. Brings refactoring for older code
    >    3. Adds common drm-shmem memory shrinker
    >    4. Enables shrinker for VirtIO-GPU driver
    >    5. Switches Panfrost driver to the common shrinker
    > 
    > Changelog:
    > 
    > v10:- Rebased on a recent linux-next.
    > 
    >      - Added Rob's ack to MSM "Prevent blocking within shrinker loop" patch.
    > 
    >      - Added Steven's ack/r-b/t-b for the Panfrost patches.
    > 
    >      - Fixed missing export of the new drm_gem_object_evict() function.
    > 
    >      - Added fixes tags to the first two patches that are making minor fixes,
    >        for consistency.
    > 
    > v9: - Replaced struct drm_gem_shmem_shrinker with drm_gem_shmem and
    >        moved it to drm_device, like was suggested by Thomas Zimmermann.
    > 
    >      - Replaced drm_gem_shmem_shrinker_register() with drmm_gem_shmem_init(),
    >        like was suggested by Thomas Zimmermann.
    > 
    >      - Moved evict() callback to drm_gem_object_funcs and added common
    >        drm_gem_object_evict() helper, like was suggested by Thomas Zimmermann.
    > 
    >      - The shmem object now is evictable by default, like was suggested by
    >        Thomas Zimmermann. Dropped the set_evictable/purgeble() functions
    >        as well, drivers will decide whether BO is evictable within theirs
    >        madvise IOCTL.
    > 
    >      - Added patches that convert drm-shmem code to use drm_WARN_ON() and
    >        drm_dbg_kms(), like was requested by Thomas Zimmermann.
    > 
    >      - Turned drm_gem_shmem_object booleans into 1-bit bit fields, like was
    >        suggested by Thomas Zimmermann.
    > 
    >      - Switched to use drm_dev->unique for the shmem shrinker name. Drivers
    >        don't need to specify the name explicitly anymore.
    > 
    >      - Re-added dma_resv_test_signaled() that was missing in v8 and also
    >        fixed its argument to DMA_RESV_USAGE_READ. See comment to
    >        dma_resv_usage_rw().
    > 
    >      - Added new fix for Panfrost driver that silences lockdep warning
    >        caused by shrinker. Both Panfrost old and new shmem shrinkers are
    >        affected.
    > 
    > v8: - Rebased on top of recent linux-next that now has dma-buf locking
    >        convention patches merged, which was blocking shmem shrinker before.
    > 
    >      - Shmem shrinker now uses new drm_gem_lru helper.
    > 
    >      - Dropped Steven Price t-b from the Panfrost patch because code
    >        changed significantly since v6 and should be re-tested.
    > 
    > v7: - dma-buf locking convention
    > 
    > v6: https://lore.kernel.org/dri-devel/20220526235040.678984-1-dmitry.osipenko@collabora.com/
    > 
    > Related patches:
    > 
    > Mesa: https://gitlab.freedesktop.org/digetx/mesa/-/commits/virgl-madvise
    > igt:  https://gitlab.freedesktop.org/digetx/igt-gpu-tools/-/commits/virtio-madvise
    >        https://gitlab.freedesktop.org/digetx/igt-gpu-tools/-/commits/panfrost-madvise
    > 
    > The Mesa and IGT patches will be sent out once the kernel part will land.
    > 
    > Dmitry Osipenko (11):
    >    drm/msm/gem: Prevent blocking within shrinker loop
    >    drm/panfrost: Don't sync rpm suspension after mmu flushing
    >    drm/gem: Add evict() callback to drm_gem_object_funcs
    >    drm/shmem: Put booleans in the end of struct drm_gem_shmem_object
    >    drm/shmem: Switch to use drm_* debug helpers
    >    drm/shmem-helper: Don't use vmap_use_count for dma-bufs
    >    drm/shmem-helper: Switch to reservation lock
    >    drm/shmem-helper: Add memory shrinker
    >    drm/gem: Add drm_gem_pin_unlocked()
    >    drm/virtio: Support memory shrinking
    >    drm/panfrost: Switch to generic memory shrinker
    > 
    >   drivers/gpu/drm/drm_gem.c                     |  54 +-
    >   drivers/gpu/drm/drm_gem_shmem_helper.c        | 646 +++++++++++++-----
    >   drivers/gpu/drm/lima/lima_gem.c               |   8 +-
    >   drivers/gpu/drm/msm/msm_gem_shrinker.c        |   8 +-
    >   drivers/gpu/drm/panfrost/Makefile             |   1 -
    >   drivers/gpu/drm/panfrost/panfrost_device.h    |   4 -
    >   drivers/gpu/drm/panfrost/panfrost_drv.c       |  34 +-
    >   drivers/gpu/drm/panfrost/panfrost_gem.c       |  30 +-
    >   drivers/gpu/drm/panfrost/panfrost_gem.h       |   9 -
    >   .../gpu/drm/panfrost/panfrost_gem_shrinker.c  | 122 ----
    >   drivers/gpu/drm/panfrost/panfrost_job.c       |  18 +-
    >   drivers/gpu/drm/panfrost/panfrost_mmu.c       |  21 +-
    >   drivers/gpu/drm/virtio/virtgpu_drv.h          |  18 +-
    >   drivers/gpu/drm/virtio/virtgpu_gem.c          |  52 ++
    >   drivers/gpu/drm/virtio/virtgpu_ioctl.c        |  37 +
    >   drivers/gpu/drm/virtio/virtgpu_kms.c          |   8 +
    >   drivers/gpu/drm/virtio/virtgpu_object.c       | 132 +++-
    >   drivers/gpu/drm/virtio/virtgpu_plane.c        |  22 +-
    >   drivers/gpu/drm/virtio/virtgpu_vq.c           |  40 ++
    >   include/drm/drm_device.h                      |  10 +-
    >   include/drm/drm_gem.h                         |  19 +-
    >   include/drm/drm_gem_shmem_helper.h            | 112 +--
    >   include/uapi/drm/virtgpu_drm.h                |  14 +
    >   23 files changed, 1010 insertions(+), 409 deletions(-)
    >   delete mode 100644 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
    > 
    
    -- 
    Thomas Zimmermann
    Graphics Driver Developer
    SUSE Software Solutions Germany GmbH
    Maxfeldstr. 5, 90409 Nürnberg, Germany
    (HRB 36809, AG Nürnberg)
    Geschäftsführer: Ivo Totev
    
    [-- Attachment #1.2: OpenPGP digital signature --]
    [-- Type: application/pgp-signature, Size: 840 bytes --]
    
    [-- Attachment #2: Type: text/plain, Size: 183 bytes --]
    
    _______________________________________________
    Virtualization mailing list
    Virtualization@lists.linux-foundation.org
    https://lists.linuxfoundation.org/mailman/listinfo/virtualization
    
    ^ permalink raw reply	[flat|nested] 18+ messages in thread
  • [parent not found: <20230108210445.3948344-8-dmitry.osipenko@collabora.com>]
  • [parent not found: <20230108210445.3948344-10-dmitry.osipenko@collabora.com>]

  • end of thread, other threads:[~2023-02-27 10:38 UTC | newest]
    
    Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20230108210445.3948344-1-dmitry.osipenko@collabora.com>
         [not found] ` <20230108210445.3948344-11-dmitry.osipenko@collabora.com>
    2023-01-27  8:04   ` [PATCH v10 10/11] drm/virtio: Support memory shrinking Gerd Hoffmann
         [not found] ` <e5e9e8dd-a5b6-cfd2-44d6-4d5aa768e56c@collabora.com>
    2023-01-27  8:13   ` [PATCH v10 00/11] Add generic memory shrinker to VirtIO-GPU and Panfrost DRM drivers Gerd Hoffmann
         [not found]     ` <0081b2c3-56c9-3ed8-b419-5ce8a151999e@collabora.com>
    2023-02-16 12:15       ` Daniel Vetter
         [not found]         ` <c6ae4f5f-7fe1-5497-a611-bee57672c289@collabora.com>
    2023-02-16 22:07           ` Daniel Vetter
         [not found] ` <20230108210445.3948344-2-dmitry.osipenko@collabora.com>
    2023-02-17 12:02   ` [PATCH v10 01/11] drm/msm/gem: Prevent blocking within shrinker loop Thomas Zimmermann
         [not found] ` <20230108210445.3948344-4-dmitry.osipenko@collabora.com>
    2023-02-17 12:23   ` [PATCH v10 03/11] drm/gem: Add evict() callback to drm_gem_object_funcs Thomas Zimmermann
         [not found] ` <20230108210445.3948344-5-dmitry.osipenko@collabora.com>
    2023-02-17 12:25   ` [PATCH v10 04/11] drm/shmem: Put booleans in the end of struct drm_gem_shmem_object Thomas Zimmermann
         [not found] ` <20230108210445.3948344-6-dmitry.osipenko@collabora.com>
    2023-01-26 12:15   ` [PATCH v10 05/11] drm/shmem: Switch to use drm_* debug helpers Gerd Hoffmann
    2023-02-17 12:28   ` Thomas Zimmermann
         [not found] ` <20230108210445.3948344-7-dmitry.osipenko@collabora.com>
    2023-01-26 12:17   ` [PATCH v10 06/11] drm/shmem-helper: Don't use vmap_use_count for dma-bufs Gerd Hoffmann
         [not found]     ` <75698ab8-2e0b-8673-2f7d-83ffa37f447b@collabora.com>
    2023-01-27  8:06       ` Gerd Hoffmann
    2023-02-17 12:41   ` Thomas Zimmermann
         [not found] ` <20230108210445.3948344-9-dmitry.osipenko@collabora.com>
    2023-02-17 13:19   ` [PATCH v10 08/11] drm/shmem-helper: Add memory shrinker Thomas Zimmermann
    2023-02-17 13:28 ` [PATCH v10 00/11] Add generic memory shrinker to VirtIO-GPU and Panfrost DRM drivers Thomas Zimmermann
         [not found]   ` <e9364e10-1ad8-aaaf-3d78-a29b0c1516ef@collabora.com>
         [not found]     ` <6c16f303-81df-7ebe-85e9-51bb40a8b301@collabora.com>
    2023-02-27 10:37       ` Jani Nikula
         [not found] ` <20230108210445.3948344-8-dmitry.osipenko@collabora.com>
    2023-02-17 12:52   ` [PATCH v10 07/11] drm/shmem-helper: Switch to reservation lock Thomas Zimmermann
    2023-02-17 13:29   ` Thomas Zimmermann
         [not found] ` <20230108210445.3948344-10-dmitry.osipenko@collabora.com>
    2023-02-17 13:42   ` [PATCH v10 09/11] drm/gem: Add drm_gem_pin_unlocked() Thomas Zimmermann
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).