From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by sourceware.org (Postfix) with ESMTPS id 517933858C53; Thu, 11 Jan 2024 03:06:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 517933858C53 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 517933858C53 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.8 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704942362; cv=none; b=rIMijIWJpLaOre6SoIIJzwEdnXRLt/oI7EhmyPuncP7tC1NsmsMIHVWk8P2TsG/AlcXcoEd2PT4mGe2xA4A7EJqkXXP+JQ5NLeda5vTOyPM4zIEhujurNkSYxY1iIGaQ7P9Qf2mNsUsLBzz4enQuWd4nm1PLjQv2+rowMrq0+Vg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704942362; c=relaxed/simple; bh=KYbXDb2hxdDbHvlYEFhGxEEcMDGW8uJWgWDRYRGAAiA=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=RslQyaOKNcxB2vB+EzoKnIZOPMuDh5QD3b0pVe+vit/8sRZWxDZH4Bj0H2hSalqyYycvJvFGOwEkLN7i58Shg5ef6W/xNW106JMrkotYHY0nQE9emHTi3WMUT3F+5qNGDAiUxDG2tiqdfId+oK4Y3LBoS/Thf0zeFsIc92y8a/4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704942360; x=1736478360; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=KYbXDb2hxdDbHvlYEFhGxEEcMDGW8uJWgWDRYRGAAiA=; b=KfLV2078XcH3zcSEhnZPWmlv63z2BUhTfnv0NWo4pMR+Kj8orYnUJvca Xnao59xVDVr8Rd+mCnAJ7P6gMpJQJCjubQ3y1/aSWb1RHSp7HPuXVJAeX D9KpNisyOCtTJLiNHlbMWglmQ1wwUoGB5mODtsYUtHdPqxzksqUs3gAJ1 YjiXXk8iiM1PsgCck8chEuNuaL04spmlSp2iMLoII5r9MMe+EumHu5bXw 70MuRFz7clkDal4sW0R+GUPovoMCkFRKWr3CqJDUYEa5qb3YYTqG91/k6 gOhdzG0H7WNY/6I8Yfv1WPOIN4XdR/MasRCEfFPP4e9WbygD1FvkGpiwX A==; X-IronPort-AV: E=McAfee;i="6600,9927,10949"; a="12210764" X-IronPort-AV: E=Sophos;i="6.04,185,1695711600"; d="scan'208";a="12210764" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2024 19:05:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10949"; a="1029380371" X-IronPort-AV: E=Sophos;i="6.04,185,1695711600"; d="scan'208";a="1029380371" Received: from zhulipeng-win.ccr.corp.intel.com (HELO [10.238.1.222]) ([10.238.1.222]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2024 19:05:56 -0800 Message-ID: <73b1d512-27d7-4332-be07-b3db21b7091c@intel.com> Date: Thu, 11 Jan 2024 11:05:53 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] libgfortran: Bugfix if not define HAVE_ATOMIC_FETCH_ADD To: Richard Earnshaw , tobias@codesourcery.com Cc: Richard.Earnshaw@arm.com, fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org, hongjiu.lu@intel.com, jakub@redhat.com, pan.deng@intel.com, rep.dot.nop@gmail.com, thomas@codesourcery.com, tianyou.li@intel.com, tkoenig@netcologne.de, wangyang.guo@intel.com References: <20240105014325.1490280-1-lipeng.zhu@intel.com> <2ffc6c58-4910-43ab-bc73-b47923d230ea@foss.arm.com> Content-Language: en-US From: Lipeng Zhu Organization: Intel In-Reply-To: <2ffc6c58-4910-43ab-bc73-b47923d230ea@foss.arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00,BODY_8BITS,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,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 List-Id: On 1/10/2024 7:52 PM, Richard Earnshaw wrote: > On 05/01/2024 01:43, Lipeng Zhu wrote: >> This patch try to fix the bug when HAVE_ATOMIC_FETCH_ADD is >> not defined in dec_waiting_unlocked function. As io.h does >> not include async.h, the WRLOCK and RWUNLOCK macros are >> undefined. >> >> libgfortran/ChangeLog: >> >>     * io/io.h (dec_waiting_unlocked): Use >>     __gthread_rwlock_wrlock/__gthread_rwlock_unlock or >>     __gthread_mutex_lock/__gthread_mutex_unlock functions >>     to replace WRLOCK and RWUNLOCK macros. >> >> Signed-off-by: Lipeng Zhu > > Has this been committed yet? > > R. Hi Richard, The patch is waiting for community's review. Hi Tobias, Any concern about this patch? Best Regards, Lipeng Zhu >> --- >>   libgfortran/io/io.h | 10 ++++++++-- >>   1 file changed, 8 insertions(+), 2 deletions(-) >> >> diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h >> index 15daa0995b1..c7f0f7d7d9e 100644 >> --- a/libgfortran/io/io.h >> +++ b/libgfortran/io/io.h >> @@ -1020,9 +1020,15 @@ dec_waiting_unlocked (gfc_unit *u) >>   #ifdef HAVE_ATOMIC_FETCH_ADD >>     (void) __atomic_fetch_add (&u->waiting, -1, __ATOMIC_RELAXED); >>   #else >> -  WRLOCK (&unit_rwlock); >> +#ifdef __GTHREAD_RWLOCK_INIT >> +  __gthread_rwlock_wrlock (&unit_rwlock); >> +  u->waiting--; >> +  __gthread_rwlock_unlock (&unit_rwlock); >> +#else >> +  __gthread_mutex_lock (&unit_rwlock); >>     u->waiting--; >> -  RWUNLOCK (&unit_rwlock); >> +  __gthread_mutex_unlock (&unit_rwlock); >> +#endif >>   #endif >>   } >