From patchwork Mon Aug 26 19:26:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cheng-Hao Yang X-Patchwork-Id: 21030 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id E30B8C32C2 for ; Mon, 26 Aug 2024 19:32:10 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id DE7CF63421; Mon, 26 Aug 2024 21:32:07 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="SPzKzRWw"; dkim-atps=neutral Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 53C6163418 for ; Mon, 26 Aug 2024 21:32:03 +0200 (CEST) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-42808071810so41101105e9.1 for ; Mon, 26 Aug 2024 12:32:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1724700722; x=1725305522; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=cYKCTdi3llhfs8qeIKTC/ybM4u/NPqrhIEcGdwV7EF4=; b=SPzKzRWw7xr0i+c1A+9csYVYredurfd4ypblKtlpMS2rjlcIgDWqCVWCEXpH5qX0Lq bcAXcA5Xh0C8G13csoogSNN3nbewrVenY+/wsGulifKE8Mon07HBspe+bjXCVK0h7090 FXjGGzRNTla/dsBVFE0GS3/xG3oIkqTSz5q34= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724700722; x=1725305522; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cYKCTdi3llhfs8qeIKTC/ybM4u/NPqrhIEcGdwV7EF4=; b=lY4lZpPqG73vRJxRmZKA5T630n1FUigIahH7QlfC8i3mG/UANFNokgt4jRkNCffmuW 6LEKtV1rm+3Jhza7dN1fideX/D+SvnzLKnuXc9fO8QraccwQ9flVpYpKaB8dn5oPGbwL mWHqTRB5vhED31vJ/RvedxJb2KTA3tRw1mBti5ZfC67ixM3o4UBsMcWdGUsukouVyPJi ZEBNB3eRHZHya+lLK34NgzIN8bT1f6kz5UeZU6LoBPu1dieKkTKaXhYjlDg9YMqqrQia bcxlhjNaeFalQmuvGfgMOZfq9x6fSTSgVRyKeiK9q8nksulUIO1/jCHKOQ3FmFNf2Enx 1WfA== X-Gm-Message-State: AOJu0YwBF0shKIzYzIZT17ouzd7Piy5pN4Wj3e6SEONShcoY3J3Ob8sX UILM9L8wlHVSVIeJ0tXNWEtNRMUscd3oDkll0bk+yWvzHLC1Onh1DA0jZfIYvSqq4+7UvhXRASZ XjJkn X-Google-Smtp-Source: AGHT+IHkv2hhXrC8l3f0K3NjvT4rK3Pk4SsbBUCZMOKIrr5zXJ7/IIbgRyDGQ6Lvrf6v/ugwVDMOTw== X-Received: by 2002:adf:ea84:0:b0:36d:2941:d534 with SMTP id ffacd0b85a97d-3748c7dbd8dmr445913f8f.36.1724700721800; Mon, 26 Aug 2024 12:32:01 -0700 (PDT) Received: from chenghaoyang-germany.c.googlers.com.com (161.126.77.34.bc.googleusercontent.com. [34.77.126.161]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3730813c465sm11393711f8f.32.2024.08.26.12.32.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Aug 2024 12:32:01 -0700 (PDT) From: Harvey Yang X-Google-Original-From: Harvey Yang To: libcamera-devel@lists.libcamera.org Cc: Harvey Yang Subject: [PATCH v1 0/1] Add Task and Scheduler Date: Mon, 26 Aug 2024 19:26:54 +0000 Message-ID: <20240826193159.1503757-1-chenghaoyang@google.com> X-Mailer: git-send-email 2.46.0.295.g3b9ea8a38a-goog MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi folks, This is mostly the Task and Scheduler used in pipeline handler mtkisp7. All operations of mtkisp7 are wrapped in Tasks and executed by the Scheduler. Laurent mentioned that they have another scheduler design in mind. Please share your thoughts in the email thread, or upload a POC patch that we can compare the two different designs. Thanks! BR, Harvey Harvey Yang (1): libcamera: Introduce scheduler and task for complex pipeline data flow include/libcamera/internal/meson.build | 1 + include/libcamera/internal/task_scheduler.h | 116 ++++++++ src/libcamera/meson.build | 1 + src/libcamera/task_scheduler.cpp | 301 ++++++++++++++++++++ 4 files changed, 419 insertions(+) create mode 100644 include/libcamera/internal/task_scheduler.h create mode 100644 src/libcamera/task_scheduler.cpp