From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id B9EAF386CE40; Thu, 30 Jun 2022 08:19:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B9EAF386CE40 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy01.your-server.de ([78.46.139.224]) by dedi548.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1o6pOI-0000F2-UD; Thu, 30 Jun 2022 10:19:11 +0200 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy01.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o6pOJ-000Eub-3O; Thu, 30 Jun 2022 10:19:11 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id BBE2E480057; Thu, 30 Jun 2022 10:19:10 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 73W-ytjM7jkt; Thu, 30 Jun 2022 10:19:10 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 6BD05480210; Thu, 30 Jun 2022 10:19:10 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id YlDgf-Me_r1Y; Thu, 30 Jun 2022 10:19:10 +0200 (CEST) Received: from [10.10.171.6] (unknown [10.10.171.6]) by mail.embedded-brains.de (Postfix) with ESMTPSA id E00AE480057; Thu, 30 Jun 2022 10:19:09 +0200 (CEST) Message-ID: <8f26a8cf-fd6b-3f74-c3be-14cc29905814@embedded-brains.de> Date: Thu, 30 Jun 2022 10:19:09 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH] libstdc++: retry removal of dir entries if dir removal fails Content-Language: en-US To: Alexandre Oliva , Jonathan Wakely Cc: libstdc++ , gcc Patches , RTEMS References: From: Sebastian Huber In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.6/26588/Wed Jun 29 10:21:17 2022) X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2022 08:19:21 -0000 On 30/06/2022 09:52, Alexandre Oliva via Gcc-patches wrote: > On Jun 27, 2022, Alexandre Oliva wrote: >=20 >> I see two potential ways to avoid this: > Another possibility occurred to me: seeking back to the entry we're > about to remove, before removing it. Then, POSIX-compliant > implementations will just skip the removed entry and find the next one, > while RTEMS will find the next entry at the spot where the removed entr= y > used to be. >=20 > It is syscall-heavier, and it may invoke O(n^2) behavior for each > directory in remove_all, since prev_pos is quite likely to always hold > the initial offset, requiring scanning past more and more removed > entries after each removal, so I don't submit this formally for > inclusion, but post it FTR. I've only confirmed that it solves the > problem on RTEMS, passing libstdc++ filesystem test, but I haven't > tested it further. From my point of view this is behaviour is an RTEMS bug. Instead of=20 adding tweaks for RTEMS, it would be better to report the issues and fix=20 them in RTEMS. It could be also a Newlib issue. --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/