From: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
To: Jeffrey Hugo <quic_jhugo@quicinc.com>
Cc: quic_carlv@quicinc.com, quic_pkanojiy@quicinc.com,
ogabbay@kernel.org, linux-arm-msm@vger.kernel.org,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 0/7] accel/qaic: Extend uAPI to support undoing ATTACH_SLICE_BO
Date: Sun, 17 Sep 2023 10:58:38 +0200 [thread overview]
Message-ID: <20230917085838.GC441281@linux.intel.com> (raw)
In-Reply-To: <20230901172247.11410-1-quic_jhugo@quicinc.com>
On Fri, Sep 01, 2023 at 11:22:40AM -0600, Jeffrey Hugo wrote:
> A BO for a QAIC device has two states -
> 1. Allocated
> 2. Sliced
>
> A BO can be allocated at any time, and is initialized in the allocated state.
> A BO can transition to the sliced state via ATTACH_SLICE_BO. This prepares the
> BO for use with an active workload. Currently a BO in the sliced state can
> only be used with a single workload, and will only transition back to the
> allocated state once the workload is deactivated.
>
> Userspace would like the ability to trigger a BO transition from the sliced
> state to the allocated state. This would support the usecase of a userspace
> client that has two active workloads, where the output of the first workload
> becomes the input of the second workload. Currently, the client would need
> two BOs, once for each workload, and copy from one BO to the other.
>
> To support this usecase, we create the detach slice concept which is the
> inverse operation of ATTACH_SLICE_BO. We extend the uAPI with a new
> DETACH_SLICE_BO ioctl that allows userspace to perform this operation.
>
> Since ATTACH_SLICE_BO and DETACH_SLICE_BO are related operations, they share
> a decent amount of code. This series starts with restructuring the common code
> for use in both ioctls before finally adding the DETACH_SLICE_BO.
>
> Pranjal Ramajor Asha Kanojiya (7):
> accel/qaic: Remove ->size field from struct qaic_bo
> accel/qaic: Update BO metadata in a central location
> accel/qaic: Declare BO 'sliced' after all the operations are complete
> accel/qaic: Undo slicing setup done in qaic_attach_slicing_bo()
> accel/qaic: Clean up BO during flushing of transfer list
> accel/qaic: Create a function to initialize BO
> accel/qaic: Add QAIC_DETACH_SLICE_BO IOCTL
>
> Documentation/accel/qaic/qaic.rst | 10 ++
> drivers/accel/qaic/qaic.h | 6 +-
> drivers/accel/qaic/qaic_data.c | 187 +++++++++++++++++++++++-------
> drivers/accel/qaic/qaic_drv.c | 1 +
> include/uapi/drm/qaic_accel.h | 24 +++-
> 5 files changed, 175 insertions(+), 53 deletions(-)
Do not see any serious issues with the set.
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> for the whole series.
WARNING: multiple messages have this Message-ID (diff)
From: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
To: Jeffrey Hugo <quic_jhugo@quicinc.com>
Cc: quic_pkanojiy@quicinc.com, linux-arm-msm@vger.kernel.org,
quic_carlv@quicinc.com, ogabbay@kernel.org,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 0/7] accel/qaic: Extend uAPI to support undoing ATTACH_SLICE_BO
Date: Sun, 17 Sep 2023 10:58:38 +0200 [thread overview]
Message-ID: <20230917085838.GC441281@linux.intel.com> (raw)
In-Reply-To: <20230901172247.11410-1-quic_jhugo@quicinc.com>
On Fri, Sep 01, 2023 at 11:22:40AM -0600, Jeffrey Hugo wrote:
> A BO for a QAIC device has two states -
> 1. Allocated
> 2. Sliced
>
> A BO can be allocated at any time, and is initialized in the allocated state.
> A BO can transition to the sliced state via ATTACH_SLICE_BO. This prepares the
> BO for use with an active workload. Currently a BO in the sliced state can
> only be used with a single workload, and will only transition back to the
> allocated state once the workload is deactivated.
>
> Userspace would like the ability to trigger a BO transition from the sliced
> state to the allocated state. This would support the usecase of a userspace
> client that has two active workloads, where the output of the first workload
> becomes the input of the second workload. Currently, the client would need
> two BOs, once for each workload, and copy from one BO to the other.
>
> To support this usecase, we create the detach slice concept which is the
> inverse operation of ATTACH_SLICE_BO. We extend the uAPI with a new
> DETACH_SLICE_BO ioctl that allows userspace to perform this operation.
>
> Since ATTACH_SLICE_BO and DETACH_SLICE_BO are related operations, they share
> a decent amount of code. This series starts with restructuring the common code
> for use in both ioctls before finally adding the DETACH_SLICE_BO.
>
> Pranjal Ramajor Asha Kanojiya (7):
> accel/qaic: Remove ->size field from struct qaic_bo
> accel/qaic: Update BO metadata in a central location
> accel/qaic: Declare BO 'sliced' after all the operations are complete
> accel/qaic: Undo slicing setup done in qaic_attach_slicing_bo()
> accel/qaic: Clean up BO during flushing of transfer list
> accel/qaic: Create a function to initialize BO
> accel/qaic: Add QAIC_DETACH_SLICE_BO IOCTL
>
> Documentation/accel/qaic/qaic.rst | 10 ++
> drivers/accel/qaic/qaic.h | 6 +-
> drivers/accel/qaic/qaic_data.c | 187 +++++++++++++++++++++++-------
> drivers/accel/qaic/qaic_drv.c | 1 +
> include/uapi/drm/qaic_accel.h | 24 +++-
> 5 files changed, 175 insertions(+), 53 deletions(-)
Do not see any serious issues with the set.
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> for the whole series.
next prev parent reply other threads:[~2023-09-17 8:59 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-01 17:22 [PATCH 0/7] accel/qaic: Extend uAPI to support undoing ATTACH_SLICE_BO Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-01 17:22 ` [PATCH 1/7] accel/qaic: Remove ->size field from struct qaic_bo Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-01 17:22 ` [PATCH 2/7] accel/qaic: Update BO metadata in a central location Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-01 17:22 ` [PATCH 3/7] accel/qaic: Declare BO 'sliced' after all the operations are complete Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-01 17:22 ` [PATCH 4/7] accel/qaic: Undo slicing setup done in qaic_attach_slicing_bo() Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-01 17:22 ` [PATCH 5/7] accel/qaic: Clean up BO during flushing of transfer list Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-01 17:22 ` [PATCH 6/7] accel/qaic: Create a function to initialize BO Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-17 8:48 ` Stanislaw Gruszka
2023-09-17 8:48 ` Stanislaw Gruszka
2023-09-22 14:59 ` Jeffrey Hugo
2023-09-22 14:59 ` Jeffrey Hugo
2023-09-01 17:22 ` [PATCH 7/7] accel/qaic: Add QAIC_DETACH_SLICE_BO IOCTL Jeffrey Hugo
2023-09-01 17:22 ` Jeffrey Hugo
2023-09-17 8:56 ` Stanislaw Gruszka
2023-09-17 8:56 ` Stanislaw Gruszka
2023-09-22 15:16 ` Jeffrey Hugo
2023-09-22 15:16 ` Jeffrey Hugo
2023-09-17 8:58 ` Stanislaw Gruszka [this message]
2023-09-17 8:58 ` [PATCH 0/7] accel/qaic: Extend uAPI to support undoing ATTACH_SLICE_BO Stanislaw Gruszka
2023-09-22 15:17 ` Jeffrey Hugo
2023-09-22 15:17 ` Jeffrey Hugo
2023-09-22 16:04 ` Jeffrey Hugo
2023-09-22 16:04 ` Jeffrey Hugo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230917085838.GC441281@linux.intel.com \
--to=stanislaw.gruszka@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=ogabbay@kernel.org \
--cc=quic_carlv@quicinc.com \
--cc=quic_jhugo@quicinc.com \
--cc=quic_pkanojiy@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.