Re: [PATCH] Add loongarch native checksum implementation.

Поиск
Список
Период
Сортировка
От huchangqi
Тема Re: [PATCH] Add loongarch native checksum implementation.
Дата
Msg-id 87r0ow5s0q.fsf@loongson.cn
обсуждение исходный текст
Ответ на [PATCH] Add loongarch native checksum implementation.  (YANG Xudong <yangxudong@ymatrix.cn>)
Список pgsql-hackers
-------------------- Start of forwarded message --------------------
From: huchangqi <huchangqi@loongson.cn>
To: YANG Xudong <yangxudong@ymatrix.cn>
Subject: Re: [PATCH] Add loongarch native checksum implementation.
Date: Tue, 25 Jul 2023 15:51:43 +0800

Both cisticola and nuthatch are on the buildfarm now。

cisticola is "old world ABI".
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=cisticola&br=HEAD

nuthatch is "new world ABI".
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=nuthatch&br=HEAD

----------
Best regards,
huchangqi

YANG Xudong <yangxudong@ymatrix.cn> writes:

> On 2023/7/6 15:14, huchangqi wrote:
>> Hi, i have a loongarch machine runing Loongnix-server (based on redhat/centos, it has gcc-8.3 on it), i am trying to
testbuildfarm on it, when i edit build-farm.conf it seems to need animal and secret to connect the buildfarm server. 
>> then i go to  https://buildfarm.postgresql.org/cgi-bin/register-form.pl, and registered the buildfarm  a week ago,
butdidn't receive any response. so what else i need to do next. 
>>
>>
>
> Is it possible to provide a build farm instance for new world ABI of
> loongarch also by loongson? It will be really appreciated.
>
> Thanks!
>
>>
>>> -----Original Messages-----
>>> From: "YANG Xudong" <yangxudong@ymatrix.cn>
>>> Send time:Wednesday, 07/05/2023 10:15:51
>>> To: "John Naylor" <john.naylor@enterprisedb.com>
>>> Cc: pgsql-hackers@lists.postgresql.org, wengyanqing@ymatrix.cn, wanghao@ymatrix.cn
>>> Subject: Re: [PATCH] Add loongarch native checksum implementation.
>>>
>>> Is there any other comment?
>>>
>>> If the patch looks OK, I would like to update its status to ready for
>>> committer in the commitfest.
>>>
>>> Thanks!
>>>
>>> On 2023/6/16 09:28, YANG Xudong wrote:
>>>> Updated the patch based on the comments.
>>>>
>>>> On 2023/6/15 18:30, John Naylor wrote:
>>>>>
>>>>> On Wed, Jun 14, 2023 at 9:20 AM YANG Xudong <yangxudong@ymatrix.cn
>>>>> <mailto:yangxudong@ymatrix.cn>> wrote:
>>>>>   >
>>>>>   > Attached a new patch with fixes based on the comment below.
>>>>>
>>>>> Note: It's helpful to pass "-v" to git format-patch, to have different
>>>>> versions.
>>>>>
>>>>
>>>> Added v2
>>>>
>>>>>   > > For x86 and Arm, if it fails to link without an -march flag, we
>>>>> allow
>>>>>   > > for a runtime check. The flags "-march=armv8-a+crc" and
>>>>> "-msse4.2" are
>>>>>   > > for instructions not found on all platforms. The patch also
>>>>> checks both
>>>>>   > > ways, and each one results in "Use LoongArch CRC instruction
>>>>>   > > unconditionally". The -march flag here is general, not specific. In
>>>>>   > > other words, if this only runs inside "+elif host_cpu ==
>>>>> 'loongarch64'",
>>>>>   > > why do we need both with -march and without?
>>>>>   > >
>>>>>   >
>>>>>   > Removed the elif branch.
>>>>>
>>>>> Okay, since we've confirmed that no arch flag is necessary, some other
>>>>> places can be simplified:
>>>>>
>>>>> --- a/src/port/Makefile
>>>>> +++ b/src/port/Makefile
>>>>> @@ -98,6 +98,11 @@ pg_crc32c_armv8.o: CFLAGS+=$(CFLAGS_CRC)
>>>>>    pg_crc32c_armv8_shlib.o: CFLAGS+=$(CFLAGS_CRC)
>>>>>    pg_crc32c_armv8_srv.o: CFLAGS+=$(CFLAGS_CRC)
>>>>>
>>>>> +# all versions of pg_crc32c_loongarch.o need CFLAGS_CRC
>>>>> +pg_crc32c_loongarch.o: CFLAGS+=$(CFLAGS_CRC)
>>>>> +pg_crc32c_loongarch_shlib.o: CFLAGS+=$(CFLAGS_CRC)
>>>>> +pg_crc32c_loongarch_srv.o: CFLAGS+=$(CFLAGS_CRC)
>>>>>
>>>>> This was copy-and-pasted from platforms that use a runtime check, so
>>>>> should be unnecessary.
>>>>>
>>>>
>>>> Removed these lines.
>>>>
>>>>> +# If the intrinsics are supported, sets
>>>>> pgac_loongarch_crc32c_intrinsics,
>>>>> +# and CFLAGS_CRC.
>>>>>
>>>>> +# Check if __builtin_loongarch_crcc_* intrinsics can be used
>>>>> +# with the default compiler flags.
>>>>> +# CFLAGS_CRC is set if the extra flag is required.
>>>>>
>>>>> Same here -- it seems we don't need to set CFLAGS_CRC at all. Can you
>>>>> confirm?
>>>>>
>>>>
>>>> We don't need to set CFLAGS_CRC as commented. I have updated the
>>>> configure script to make it align with the logic in meson build script.
>>>>
>>>>>   > > Also, I don't have a Loongarch machine for testing. Could you
>>>>> show that
>>>>>   > > the instructions are found in the binary, maybe using objdump and
>>>>> grep?
>>>>>   > > Or a performance test?
>>>>>   > >
>>>>>   >
>>>>>   > The output of the objdump command `objdump -dS
>>>>>   > ../postgres-build/tmp_install/usr/local/pgsql/bin/postgres  | grep
>>>>> -B 30
>>>>>   > -A 10 crcc` is attached.
>>>>>
>>>>> Thanks for confirming.
>>>>>
>>>>> --
>>>>> John Naylor
>>>>> EDB: http://www.enterprisedb.com <http://www.enterprisedb.com>
>>>
>>
>>
>>
本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。
>> This email and its attachments contain confidential information from Loongson Technology , which is intended only
forthe person or entity whose address is listed above. Any use of the information contained herein in any way
(including,but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the
intendedrecipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email
immediatelyand delete it. 
-------------------- End of forwarded message --------------------




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Masahiko Sawada
Дата:
Сообщение: Re: doc: improve the restriction description of using indexes on REPLICA IDENTITY FULL table.
Следующее
От: Bharath Rupireddy
Дата:
Сообщение: A failure in 031_recovery_conflict.pl on Cirrus CI Windows Server