Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp370980rdb; Tue, 5 Dec 2023 07:41:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IHH3oohbl4ZVd6MH0PgLrlUh6eWXXnEh979l00OFSy/GJPl9U8HK+Vj12DNgpkCqagK45RW X-Received: by 2002:a05:6e02:1285:b0:35d:59a2:2ac with SMTP id y5-20020a056e02128500b0035d59a202acmr6746803ilq.76.1701790915239; Tue, 05 Dec 2023 07:41:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701790915; cv=none; d=google.com; s=arc-20160816; b=GHIUnii/GvqC+uUufL9L9HWc5NC55oLqbfQJyxZbbNpJ0Bs7ynTvaKH9H2pslEU7Kk EzqUnEmSp5dQv0MPgiX7eHEXL/YAN1r0J6XRM9vQm+VH85Wdh1RiSdcWVHxxkpD3V9Z9 kTC9qfHLkN1DJW590fC5qaOHNL12y/ZXR687KmZV0/hTscTQMHkqEG3CNuXUilIUMgLH BqhlZLd24OldAHSLEOS0ZHJ+ezD0WhlEMPijhdM3ghxu9E3aIDYI1nIcy1i2vEnp0imf SAhZ13PaEzzNruaNyRdvIJSkIYlrUo8EvWWV1Fi/io8jdKHxNrVK37AnzzBD4BRREmeT /gTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=dAoKJ4psFcjVNbAUMsdpr7K2aFVGd9hI1XgWuDzw694=; fh=e5rKN6v2uIX7OpjYyZBKs4yx9LJafobFJ6E6MFsmETo=; b=JEg9EoUij/JYnjA/qrbP3c0L6a/+uxuk8wrcKsQF6xfMDfYpeNLaxntDO/yvO+U4DN FDLw8J7DSgy79wV1FBsqcasTJq+lxnRq8VNikJb3osyyZFihF3QdFjsWarKXFLH3aUvn 6QAacjnHQqRQDLttmyFxw4grkZw3tWaflMhhIDhDl0XwrFWTfPUV2gugnqxiKMznXePu botMQ4f+cQI//R2BlOJL+v9D86J2nDNySFlGPigy7JUxi8MJbCbeVlDeykiQcUSV+LUW 1q17gph4a8STsObzwf75XbVnQluqPrORS9DnowZHOzB8CH5PV44nnOu5zopjMm44ZEHH 0ixw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=atX1eiCg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id p4-20020a92da44000000b0035ce15006e1si1000069ilq.64.2023.12.05.07.41.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Dec 2023 07:41:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=atX1eiCg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id BE877807E414; Tue, 5 Dec 2023 07:41:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442420AbjLEPlh (ORCPT + 99 others); Tue, 5 Dec 2023 10:41:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54276 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346346AbjLEPlg (ORCPT ); Tue, 5 Dec 2023 10:41:36 -0500 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F273BF; Tue, 5 Dec 2023 07:41:42 -0800 (PST) Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-54c7744a93fso4416060a12.2; Tue, 05 Dec 2023 07:41:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701790901; x=1702395701; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dAoKJ4psFcjVNbAUMsdpr7K2aFVGd9hI1XgWuDzw694=; b=atX1eiCgNB3WTAo7Y7k4/qLTLvOhAMsxGaa5SN5GdM/HE/jDnTIh+3A5BXiuYijoqZ 9BBQwkRiwh92nyS2Q/J/Z5rl1JFFKo+83F4fKcCQs/oIBwUEvZyjP+xUSJmmkN8jM9Xr zcIurxarm3iRdN5SL3OpkaY8kADpIA37w6CqjVmrUq33PILTkntxd1H/p7i6QNkL9nfx f6+8hz1tV5tVSoqQh81BnCDY3emkmYpmex8RTnzkI36XX1l+CTBjebhFK15t4KNSTE2B 5RILBs5LuEZk16ZZguBklj5l8V5P3TE+HVv6oncBho7Qw+1eVl8cFHGJ0N3gu6TL3GTj Tz6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701790901; x=1702395701; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dAoKJ4psFcjVNbAUMsdpr7K2aFVGd9hI1XgWuDzw694=; b=Mdpf+Uv2+yPGEfFfhTwmCUQEAui09YAYTH0hPAH6KGTudB+Maq/3wdK4YEdoEGD+KT aKDCWrBnjM5gkhOE7qz2/rDGdR0ePfHlSJC3XSZg52TtS/3wMXKFb/DpI2XCTQzU1WSo YMEMtKzQ5WNbvsH6+n8nnwdRZOcLDKKmy8iSlnGTBqsEm75mDQBchzD8oTuIx6BUiK03 WiF+F4clMnAe7ZtJ/28fut1jyGVX7BbwZzidiDWQ6BGVe/nImoeRdYtJpJeOWJBmluAj abzD60Z4B1/bpm8RFBPUgMXWsQG7Po3X5NiTjCryMy5dJKzRdGKJcbb7GL5yFNLKlZEm H4LQ== X-Gm-Message-State: AOJu0YzAN6PROZ/YjLkXVRg7qETw3W03CZOmAPmCtPK+b70TwAPGJeo5 2WVcjh64NpdMw/kwz5EcxXxCoLIjuMlp8QDOnoc= X-Received: by 2002:a50:d5cd:0:b0:54c:4837:9a9e with SMTP id g13-20020a50d5cd000000b0054c48379a9emr4921654edj.69.1701790900478; Tue, 05 Dec 2023 07:41:40 -0800 (PST) MIME-Version: 1.0 References: <20230322224403.35742-1-robdclark@gmail.com> <69d66b9e-5810-4844-a53f-08b7fd8eeccf@amd.com> In-Reply-To: <69d66b9e-5810-4844-a53f-08b7fd8eeccf@amd.com> From: Rob Clark Date: Tue, 5 Dec 2023 07:41:28 -0800 Message-ID: Subject: Re: [RFC] drm/scheduler: Unwrap job dependencies To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: dri-devel@lists.freedesktop.org, Rob Clark , Luben Tuikov , David Airlie , Daniel Vetter , Sumit Semwal , open list , "open list:DMA BUFFER SHARING FRAMEWORK" , "moderated list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Tue, 05 Dec 2023 07:41:52 -0800 (PST) On Mon, Dec 4, 2023 at 10:46=E2=80=AFPM Christian K=C3=B6nig wrote: > > Am 04.12.23 um 22:54 schrieb Rob Clark: > > On Thu, Mar 23, 2023 at 2:30=E2=80=AFPM Rob Clark = wrote: > >> [SNIP] > > So, this patch turns out to blow up spectacularly with dma_fence > > refcnt underflows when I enable DRIVER_SYNCOBJ_TIMELINE .. I think, > > because it starts unwrapping fence chains, possibly in parallel with > > fence signaling on the retire path. Is it supposed to be permissible > > to unwrap a fence chain concurrently? > > The DMA-fence chain object and helper functions were designed so that > concurrent accesses to all elements are always possible. > > See dma_fence_chain_walk() and dma_fence_chain_get_prev() for example. > dma_fence_chain_walk() starts with a reference to the current fence (the > anchor of the walk) and tries to grab an up to date reference on the > previous fence in the chain. Only after that reference is successfully > acquired we drop the reference to the anchor where we started. > > Same for dma_fence_array_first(), dma_fence_array_next(). Here we hold a > reference to the array which in turn holds references to each fence > inside the array until it is destroyed itself. > > When this blows up we have somehow mixed up the references somewhere. That's what it looked like to me, but wanted to make sure I wasn't overlooking something subtle. And in this case, the fence actually should be the syncobj timeline point fence, not the fence chain. Virtgpu has essentially the same logic (there we really do want to unwrap fences so we can pass host fences back to host rather than waiting in guest), I'm not sure if it would blow up in the same way. BR, -R > Regards, > Christian. > > > > > BR, > > -R