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 test buildfarm 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, but didn'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" <yangxud...@ymatrix.cn>
Send time:Wednesday, 07/05/2023 10:15:51
To: "John Naylor" <john.nay...@enterprisedb.com>
Cc: pgsql-hackers@lists.postgresql.org, wengyanq...@ymatrix.cn,
wang...@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 <yangxud...@ymatrix.cn
<mailto:yangxud...@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 for the 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 intended recipient(s) is prohibited.
If you receive this email in error, please notify the sender by phone or email
immediately and delete it.