[{"id":15432,"web_url":"https://patchwork.libcamera.org/comment/15432/","msgid":"<20210303002402.GB460079@pyrite.rasen.tech>","date":"2021-03-03T00:24:02","subject":"Re: [libcamera-devel] [PATCH] tracing: pipeline_handler: Queue\n\tRequests","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Kieran,\n\nOn Tue, Mar 02, 2021 at 03:50:41PM +0000, Kieran Bingham wrote:\n> Add tracing to the base pipeline handler class to track when requests are queued.\n> \n> Tracing is already available for other Request operations, but queuing a Request\n> is not an operation handled by the Request itself.\n> \n> Add the tracepoint to the PipelineHandler::queueRequest() so the lifetime of a\n> Request can be viewed when tracing.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  include/libcamera/internal/tracepoints/request.tp | 9 +++++++++\n>  src/libcamera/pipeline_handler.cpp                | 3 +++\n>  2 files changed, 12 insertions(+)\n> \n> diff --git a/include/libcamera/internal/tracepoints/request.tp b/include/libcamera/internal/tracepoints/request.tp\n> index 7ffc606182f6..9e872951374d 100644\n> --- a/include/libcamera/internal/tracepoints/request.tp\n> +++ b/include/libcamera/internal/tracepoints/request.tp\n> @@ -48,6 +48,15 @@ TRACEPOINT_EVENT_INSTANCE(\n>  \t)\n>  )\n>  \n> +TRACEPOINT_EVENT_INSTANCE(\n> +\tlibcamera,\n> +\trequest,\n> +\trequest_queue,\n> +\tTP_ARGS(\n> +\t\tlibcamera::Request *, req\n> +\t)\n> +)\n> +\n>  TRACEPOINT_EVENT_INSTANCE(\n>  \tlibcamera,\n>  \trequest,\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index f72d26c793cd..d22991d318c9 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -16,6 +16,7 @@\n>  #include \"libcamera/internal/device_enumerator.h\"\n>  #include \"libcamera/internal/log.h\"\n>  #include \"libcamera/internal/media_device.h\"\n> +#include \"libcamera/internal/tracepoints.h\"\n>  #include \"libcamera/internal/utils.h\"\n>  \n>  /**\n> @@ -375,6 +376,8 @@ const ControlList &PipelineHandler::properties(const Camera *camera) const\n>   */\n>  int PipelineHandler::queueRequest(Request *request)\n>  {\n> +\tLIBCAMERA_TRACEPOINT(request_queue, request);\n> +\n>  \tCamera *camera = request->camera_;\n>  \tCameraData *data = cameraData(camera);\n>  \tdata->queuedRequests_.push_back(request);\n> -- \n> 2.25.1\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 921C8BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  3 Mar 2021 00:24:12 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0F76168A69;\n\tWed,  3 Mar 2021 01:24:12 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 57BA8602E8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  3 Mar 2021 01:24:10 +0100 (CET)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BCD5229A;\n\tWed,  3 Mar 2021 01:24:08 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"dRbzq5Y4\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1614731049;\n\tbh=NqQv6DCEk14eK+tOQhpwS0OAuI/R0zfpe7BxrGVt9SQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=dRbzq5Y4LE8PUKgbdEwIy+eCkqgOcXMuP3zfjLX53429OClV//3lLdXv5J3cfiJx/\n\tEonC/GptP5pYCGV9VjLpUCKM/IkDKoMPCKlZKRrq4Du+z3ecgyNVBUfad+VURwx1Jm\n\tbtWv45jIyg/EuzJ7e1McRKF4wNgvO7xva2NkfJGI=","Date":"Wed, 3 Mar 2021 09:24:02 +0900","From":"paul.elder@ideasonboard.com","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20210303002402.GB460079@pyrite.rasen.tech>","References":"<20210302155041.110853-1-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210302155041.110853-1-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] tracing: pipeline_handler: Queue\n\tRequests","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]