Page MenuHomeFreeBSD

luporl (Leandro Lupori)
Engineering

Projects

User does not belong to any projects.

User Details

User Since
Jan 7 2019, 7:21 PM (31 w, 5 d)

Recent Activity

Mon, Aug 12

luporl created D21231: [ppc] avoid empty mdproc struct.
Mon, Aug 12, 4:51 PM
luporl added inline comments to D15118: memcpy optimization for powerpc64.
Mon, Aug 12, 2:07 PM · PowerPC

Thu, Aug 8

luporl added inline comments to D21070: [PPC64] Add ifunc support in libcsu.
Thu, Aug 8, 1:58 PM
luporl added a comment to D15118: memcpy optimization for powerpc64.

@jhibbits, this last change addresses your last comment (moving VSX code to _vsx.S files) and also adds ifunc support.

Thu, Aug 8, 1:55 PM · PowerPC
luporl added a comment to D15118: memcpy optimization for powerpc64.

[PPC64] Optimize bcopy/memcpy/memmove

Thu, Aug 8, 1:47 PM · PowerPC

Mon, Aug 5

luporl added a reviewer for D15118: memcpy optimization for powerpc64: lffpires_ruabrasil.org.

Commandeering to address issues and use ifunc to decide whether VSX should be used.

Mon, Aug 5, 5:57 PM · PowerPC
D15368: strcpy optimization for PowerPC64 now requires review to proceed.
  • Use ifunc to choose best implementation based on running system
Mon, Aug 5, 5:46 PM · PowerPC
luporl added a reviewer for D15368: strcpy optimization for PowerPC64: leonardo.bianconi_eldorado.org.br.

Taking over to add ifunc support, which will make it possible to have the optimized strcpy version and avoid breaking POWER5 and earlier.

Mon, Aug 5, 1:57 PM · PowerPC
luporl added a comment to D21131: [PPC64] Fix rtld direct exec mode.

Looks good. Can the same change apply to powerpc?

Mon, Aug 5, 1:18 PM

Fri, Aug 2

luporl created D21136: [PPC64] Don't mark ld.bfd as obsolete.
Fri, Aug 2, 5:13 PM
luporl added inline comments to D15369: strncpy optimization for PowerPC64.
Fri, Aug 2, 4:18 PM · PowerPC
luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • [PPC64] strncpy - fix rtld crash
Fri, Aug 2, 4:10 PM · PowerPC

Thu, Aug 1

luporl created D21131: [PPC64] Fix rtld direct exec mode.
Thu, Aug 1, 8:38 PM

Wed, Jul 31

luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • [PPC64] strncpy - fix rtld-libc build issue
Wed, Jul 31, 9:31 PM · PowerPC
luporl added a comment to D20827: [PPC64] Implement CAS.

Thanks for checking. Looks good. I assume you tested on bare metal, too?

Wed, Jul 31, 7:26 PM
luporl added a comment to D15369: strncpy optimization for PowerPC64.

This last change fixes the previous "dst not always zeroed" issue and adds ifunc support to strncpy, so that the optimized version is selected on ISAs >= 2.05 while others can use the fallback implementation in C.

Wed, Jul 31, 6:56 PM · PowerPC
luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • [PPC64] strncpy - fix 'dst' not zeroed issue
  • Initial ifunc capable strncpy implementation
Wed, Jul 31, 6:37 PM · PowerPC

Tue, Jul 30

luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.
  • Add missing space
Tue, Jul 30, 6:49 PM
luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.

Redo merge:

Tue, Jul 30, 6:39 PM
luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.

Now the merge result should match the behavior seen in upstream.
Was this what you had in mind? Or is the plan to revert the local changes and apply this patch on it instead?

I think we should indeed revert the local changes and apply the two patches from upstream, but IMO it's fine to do that in a single commit. I believe that is effectively what you have done here?

Tue, Jul 30, 5:15 PM
luporl added inline comments to D20827: [PPC64] Implement CAS.
Tue, Jul 30, 4:40 PM
luporl added inline comments to D20827: [PPC64] Implement CAS.
Tue, Jul 30, 1:57 PM
D21061: powerpc64/mmu: Use a SLIST for the PVO delete list, instead of a RB_TREE is now accepted and ready to land.

LGTM

Tue, Jul 30, 12:59 PM
luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.

Now the merge result should match the behavior seen in upstream.

Tue, Jul 30, 12:40 PM
D21102: [PPC64] Backport fix for missing IRELATIVE relocations now requires review to proceed.
  • Match upstream behavior
Tue, Jul 30, 12:29 PM

Mon, Jul 29

luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.

I guess it is ok now.

Mon, Jul 29, 7:36 PM
luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.
  • Fix merge issues
Mon, Jul 29, 7:29 PM
luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.

Were there any conflicts in the merge?

Mon, Jul 29, 6:17 PM
luporl created D21102: [PPC64] Backport fix for missing IRELATIVE relocations.
Mon, Jul 29, 5:34 PM

Thu, Jul 25

luporl created D21070: [PPC64] Add ifunc support in libcsu.
Thu, Jul 25, 7:53 PM

Wed, Jul 24

luporl added inline comments to D15369: strncpy optimization for PowerPC64.
Wed, Jul 24, 3:56 PM · PowerPC
luporl added a comment to D15369: strncpy optimization for PowerPC64.

Have you checked performance on this latest version?

Wed, Jul 24, 3:24 PM · PowerPC
luporl added inline comments to D21035: powerpc: Improve pvo allocation code.
Wed, Jul 24, 1:34 PM
luporl added a comment to D21035: powerpc: Improve pvo allocation code.
  • Addressed jhibbits' comments
Wed, Jul 24, 1:32 PM
D20903: powerpc/pmap64: Make moea64 statistics optional is now accepted and ready to land.
Wed, Jul 24, 10:54 AM

Tue, Jul 23

luporl added inline comments to D21035: powerpc: Improve pvo allocation code.
Tue, Jul 23, 1:20 PM
luporl added inline comments to D21035: powerpc: Improve pvo allocation code.
Tue, Jul 23, 1:15 PM
luporl updated the summary of D21035: powerpc: Improve pvo allocation code.
Tue, Jul 23, 1:09 PM
luporl created D21035: powerpc: Improve pvo allocation code.
Tue, Jul 23, 1:09 PM

Fri, Jul 19

luporl added inline comments to D20261: [PowerPC64] Adds support for using ld.bfd on LIB32 and STAND, when default linker is ld.lld.
Fri, Jul 19, 4:19 PM
luporl added a comment to D20261: [PowerPC64] Adds support for using ld.bfd on LIB32 and STAND, when default linker is ld.lld.
  • Fix cross build detection
  • Refactored LIB32LD detection code
  • Avoid using short form of -fuse-ld, that avoids issues with native builds and picking up a newer ld in PATH
  • Using COMPILER_TYPE instead of LINKER_TYPE in stand/defs.mk, as an installed /usr/local/bin/ld pointing to ld.bfd can confuse LINKER_TYPE detection in this case.
  • Aborting if LIB32LD is not defined when building stand. This will tipically happen when trying to build stand alone and without performing a 'make buildenv' first
Fri, Jul 19, 4:10 PM
luporl added a reviewer for D20261: [PowerPC64] Adds support for using ld.bfd on LIB32 and STAND, when default linker is ld.lld: alfredo.junior_eldorado.org.br.

I've tested @alfredo.junior_eldorado.org.br's patch and I've found a few issues, that I plan to fix in the next diff, as well as address @imp's comments.

Fri, Jul 19, 4:01 PM

Jul 17 2019

luporl added a comment to D20827: [PPC64] Implement CAS.

I've posted a previous diff over an already patched file, that temporarily screwed the patch/history.

Jul 17 2019, 7:22 PM
luporl added a comment to D20827: [PPC64] Implement CAS.
  • [PPC64] Implement CAS
  • Skip CAS if PSL_HV bit is set on MSR
Jul 17 2019, 7:15 PM
luporl added inline comments to D20827: [PPC64] Implement CAS.
Jul 17 2019, 7:03 PM
luporl added a comment to D20827: [PPC64] Implement CAS.
  • Fix inverted tab/newline in asm
Jul 17 2019, 7:01 PM
luporl added a comment to D20827: [PPC64] Implement CAS.

Skip CAS if PSL_HV bit is set on MSR

Jul 17 2019, 6:58 PM

Jul 15 2019

D20944: powerpc64/mmu: Make moea64_pvo_enter() return if an entry already exists is now accepted and ready to land.

LGTM.

Jul 15 2019, 4:57 PM
luporl added a comment to D15369: strncpy optimization for PowerPC64.

I consider the strncpy implementation complete now.
Adding ifunc to select the optimized implementation, however, is still not possible, as rtld doesn't support it yet.

Jul 15 2019, 1:22 PM · PowerPC
luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • Handled misalignment issues
  • Improved implementation
  • Now using memset() for faster zeroing of dst buffer
Jul 15 2019, 1:19 PM · PowerPC

Jul 11 2019

D20911: Set pcpu curpmap for powerpc64 is now accepted and ready to land.
Jul 11 2019, 12:30 PM

Jul 10 2019

luporl added a comment to D20903: powerpc/pmap64: Make moea64 statistics optional.

Looks good.
But I think MOEA64_STATS should become a kernel config option, to make it easier to enable the statistics and to have this option documented.

Jul 10 2019, 2:01 PM
D20896: powerpc: Only worry about the lower 32 bits of SP in a 32-bit process is now accepted and ready to land.

Nice catch!

Jul 10 2019, 1:48 PM
luporl added inline comments to D20827: [PPC64] Implement CAS.
Jul 10 2019, 1:42 PM

Jul 8 2019

luporl added a comment to D15369: strncpy optimization for PowerPC64.

Changed register convention.
Still need to investigate and fix the misaligned access issue.

Jul 8 2019, 4:41 PM · PowerPC
luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • Use %r* instead of raw numbers for registers
Jul 8 2019, 4:40 PM · PowerPC
luporl updated the summary of D20857: [PPC64] pseries: fix realmaxaddr calculation.
  • Addressed jhibbits' comments
Jul 8 2019, 12:40 PM
luporl added inline comments to D20857: [PPC64] pseries: fix realmaxaddr calculation.
Jul 8 2019, 12:34 PM

Jul 4 2019

luporl created D20857: [PPC64] pseries: fix realmaxaddr calculation.
Jul 4 2019, 7:07 PM

Jul 3 2019

luporl added inline comments to D20843: [PPC64] pseries llan: fix MAC address.
Jul 3 2019, 7:32 PM
luporl added a comment to D20843: [PPC64] pseries llan: fix MAC address.
  • Address jhibbits comments
Jul 3 2019, 7:30 PM
luporl created D20843: [PPC64] pseries llan: fix MAC address.
Jul 3 2019, 4:34 PM

Jul 1 2019

luporl created D20827: [PPC64] Implement CAS.
Jul 1 2019, 5:57 PM

Jun 28 2019

luporl accepted D20756: fix missing powerpc64 in _LLVM_TARGET_FILT.
Jun 28 2019, 3:48 PM

Jun 27 2019

D20771: [PowerPC64] Adds ABI flags to 'file' magic is now accepted and ready to land.

Looks good.

Jun 27 2019, 6:58 PM
D20782: [PowerPC64] readelf: print description for 'e_flags' in ELF header (ABI type) is now accepted and ready to land.

Looks good.

Jun 27 2019, 6:50 PM

Jun 19 2019

D20694: powerpc64/pmap: Reduce scope of PV_LOCK in remove path is now accepted and ready to land.

Nice, LGTM.

Jun 19 2019, 11:46 AM

Jun 17 2019

luporl created D20676: [PPC] Fix loader input with newer QEMU versions.
Jun 17 2019, 7:34 PM

Jun 14 2019

luporl updated the summary of D20640: Enable use of ofwcons for early debug.
Jun 14 2019, 7:07 PM
luporl created D20640: Enable use of ofwcons for early debug.
Jun 14 2019, 7:05 PM

Jun 11 2019

luporl accepted D20608: Fix PPC970 boot after r348783.

Looks good, thanks for fixing this.
I've tested this on QEMU, both with and without huge pages and it worked fine.

Jun 11 2019, 5:19 PM · PowerPC
luporl committed rS348900: [PPC] Fix build error when POWERNV is disabled.
[PPC] Fix build error when POWERNV is disabled
Jun 11 2019, 11:23 AM
luporl committed rS348899: [PPC64] Fix ofw_initrd.
[PPC64] Fix ofw_initrd
Jun 11 2019, 11:17 AM
luporl closed D20553: [PPC64] Fix ofw_initrd.
Jun 11 2019, 11:17 AM

Jun 7 2019

luporl committed rS348783: [PPC64] Support QEMU/KVM pseries without hugepages.
[PPC64] Support QEMU/KVM pseries without hugepages
Jun 7 2019, 5:59 PM
luporl closed D20522: [PPC64] Support QEMU/KVM pseries without hugepages.
Jun 7 2019, 5:59 PM
luporl added inline comments to D20522: [PPC64] Support QEMU/KVM pseries without hugepages.
Jun 7 2019, 5:52 PM
luporl created D20553: [PPC64] Fix ofw_initrd.
Jun 7 2019, 5:15 PM
luporl added inline comments to D20522: [PPC64] Support QEMU/KVM pseries without hugepages.
Jun 7 2019, 12:48 PM

Jun 5 2019

luporl commandeered D15369: strncpy optimization for PowerPC64.
Jun 5 2019, 6:18 PM · PowerPC
luporl updated the summary of D20522: [PPC64] Support QEMU/KVM pseries without hugepages.
Jun 5 2019, 4:14 PM
luporl created D20522: [PPC64] Support QEMU/KVM pseries without hugepages.
Jun 5 2019, 4:07 PM
luporl committed rS348691: MFC r345676:.
MFC r345676:
Jun 5 2019, 2:23 PM
luporl committed rS348690: MFC r343744:.
MFC r343744:
Jun 5 2019, 2:20 PM
luporl committed rS348686: MFC r348028:.
MFC r348028:
Jun 5 2019, 12:53 PM
luporl committed rS348685: MFC r348112:.
MFC r348112:
Jun 5 2019, 12:44 PM
luporl committed rS348684: MFC r348025:.
MFC r348025:
Jun 5 2019, 12:39 PM
luporl committed rS348683: MFC r348005:.
MFC r348005:
Jun 5 2019, 12:34 PM

May 24 2019

luporl committed rS348248: Make options MD_ROOT_MEM default on PPC64.
Make options MD_ROOT_MEM default on PPC64
May 24 2019, 6:41 PM
luporl abandoned D15339: Mark relocated memory region as valid.

This is pretty old and it seems the issue that this change was supposed to fix was already fixed in a proper way quite some time ago.

May 24 2019, 3:32 PM
luporl accepted D20383: [PowerPC64] starting from FreeBSD 13.0, default 64-bit ELF ABI is V2 (ELFv2).

The change itself LGTM.

May 24 2019, 3:27 PM

May 22 2019

luporl committed rS348112: Fix PPC64 kernel build with clang8 + lld8.
Fix PPC64 kernel build with clang8 + lld8
May 22 2019, 3:56 PM
luporl closed D19352: Fix PPC64 kernel build with clang8 + lld8.
May 22 2019, 3:56 PM

May 21 2019

luporl accepted D19352: Fix PPC64 kernel build with clang8 + lld8.

LGTM. Tested on ppcdevref.

May 21 2019, 8:14 PM

May 20 2019

luporl committed rS348005: [PowerPC64] stand: fix build using clang 8 as compiler.
[PowerPC64] stand: fix build using clang 8 as compiler
May 20 2019, 7:21 PM
luporl closed D20026: [PowerPC64] stand: fix build using clang 8 as compiler.
May 20 2019, 7:21 PM
luporl committed rS347992: [PPC] Enable build/install of ld.bfd on base.
[PPC] Enable build/install of ld.bfd on base
May 20 2019, 4:00 PM
luporl closed D20259: [PPC] Enable build/install of ld.bfd on base.
May 20 2019, 4:00 PM
luporl added a comment to D19352: Fix PPC64 kernel build with clang8 + lld8.

@git_bdragon.rtk0.net, I haven't tested your last revision, but Alfredo and I have been using your previous revision for more than a month, both in ELFv1 environments as in ELFv2, with no issues so far, and it is essential for the ELFv2 transition on PPC.

May 20 2019, 1:05 PM

May 14 2019

luporl updated the test plan for D20259: [PPC] Enable build/install of ld.bfd on base.
May 14 2019, 1:27 PM