Page MenuHomeFreeBSD

markmi_dsl-only.net (Mark Millard)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 19 2016, 6:23 AM (200 w, 16 h)

Recent Activity

Thu, Sep 10

markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

Given what I've seen about the 5.8 mainline Linux kernel status for the RPi4 and that Fedora just branched 33 from Rawhide (for a late Oct. release), I decided to try installing a Fedora 33 branch server and UEFI/ACPI v1.20 and doing a "yum update" on the booted result. (USB3 SSD based, no microsd card involved.) That ended up with a 5.8.7-300.fc33.aarch64 kernel and it sees all 8GiB of RAM. I've tried the huge file copy and diff type of test and it has not failed yet. (The files are each bigger than the RAM.) (I've not noticed other issues but that likely does not imply much.) For reference, the boot reported the following "Zone ranges":

[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x00000001ffffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x1fefec8c0-0x1ff002fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000]   Device   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x00000000001fffff]
[    0.000000]   node   0: [mem 0x0000000000200000-0x00000000337d7fff]
[    0.000000]   node   0: [mem 0x00000000337d8000-0x000000003387ffff]
[    0.000000]   node   0: [mem 0x0000000033880000-0x000000003390ffff]
[    0.000000]   node   0: [mem 0x0000000033910000-0x000000003398ffff]
[    0.000000]   node   0: [mem 0x0000000033990000-0x00000000339affff]
[    0.000000]   node   0: [mem 0x00000000339b0000-0x0000000033a2ffff]
[    0.000000]   node   0: [mem 0x0000000033a30000-0x0000000036efffff]
[    0.000000]   node   0: [mem 0x0000000036f00000-0x00000000372dffff]
[    0.000000]   node   0: [mem 0x00000000372e0000-0x000000003b2fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 552 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000001ffffffff]

What OpenBSD did for the size of the DMA area for XHCI looks to be unusual (relative to NetBSD and Linux). But the next-to-last "node 0:" line above does show not using the whole DMA32 range. (I do not now why they had it do that.)

Thu, Sep 10, 7:08 AM

Wed, Sep 9

markmi_dsl-only.net added inline comments to D26344: bcm2838_pci.c: Respect DMA limits of controller..
Wed, Sep 9, 9:13 PM
markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

FYI: Something that I do not see represented in the NetBSD debug information is that DMA channel 11 (of DMA4 engine type) is the only one explicitly noted in rpi_DATA_2711_1p0.pdf as "additionally able to access the PCIe interface".

Wed, Sep 9, 6:03 AM
markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

. . .

The 0x3c000000 limit is taken from OpenBSD.

Wed, Sep 9, 3:21 AM

Mon, Sep 7

markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

My understanding is that different devices have different DMA limits. XHCI has 3 GiB but others have 1 GiB. There is not one DMA controller enforcing one limit common to all contexts but multiple separate limits. Using the smallest limit for all devices may well be an alternative but that is not what the ACPI tables describe (from what I read on the lists).

Mon, Sep 7, 8:34 PM

Jul 11 2020

markmi_dsl-only.net added a comment to D25068: Add driver for bcm2838 PCI express controller.

This code leads to an OverDrive 1000 getting the following error.

Jul 11 2020, 8:13 PM

Jun 20 2020

markmi_dsl-only.net added inline comments to D23828: powerpc/powermac: Constrain 'cpu_sleep()' for AIM to mpc745x.
Jun 20 2020, 12:21 AM

Feb 28 2020

markmi_dsl-only.net added a comment to D15955: Discover cards on boot.

I have removed my prior comments: they traced to a different issue that, when worked around, got rid of the behavior that I had reported. Sorry for the noise.

Feb 28 2020, 7:21 PM

Feb 23 2020

markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

. . .
You can look in Linux's arch/powerpc/platform/powermac/smp.c, and arch/powerpc/kernel/smp-tbsync.c for how Linux does it. Their generic tbsync handshake is similar to yours.

Feb 23 2020, 9:25 PM · PowerPC
markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

. . .
I do intend to shortly (next few days) clean up the one additional platform_timebase_sync() user (cpu_sleep()) to not use it, and handle it directly, since the code in cpu_sleep() is actually mpc74xx-specific, it's not generic at all. So once that's made explicit, a proper rendezvous sync should be done in platform_powermac.c instead.
. . .

Feb 23 2020, 4:29 AM · PowerPC
markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 23 2020, 12:40 AM · PowerPC

Feb 22 2020

markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 22 2020, 10:56 PM · PowerPC
markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 22 2020, 10:20 PM · PowerPC
markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

What we really want to achieve is a better timebase sync mechanism. This can only be achieved by disabling the timebase, rendezvousing, and re-enabling it. Adding a drift into the generic code for a specific platform is not the correct solution.

Feb 22 2020, 9:30 PM · PowerPC
markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 22 2020, 6:35 PM · PowerPC

Feb 17 2020

markmi_dsl-only.net added a comment to D23729: powerpc: unconditionally mark SLB zones UMA_ZONE_CONTIG.

. . .> Ah, that clarifies things. I was looking for a problem in r357548.

Feb 17 2020, 9:30 PM
markmi_dsl-only.net added a comment to D23729: powerpc: unconditionally mark SLB zones UMA_ZONE_CONTIG.

Can you explain why this makes a difference, at least for slbt_zone? I think I am missing something.

Feb 17 2020, 7:10 PM

Feb 2 2020

markmi_dsl-only.net added a comment to D15955: Discover cards on boot.
Feb 2 2020, 4:39 AM

Feb 1 2020

markmi_dsl-only.net added a comment to D15955: Discover cards on boot.
Feb 1 2020, 10:59 PM

Jan 30 2020

markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Jan 30 2020, 7:44 PM · PowerPC
markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Jan 30 2020, 6:07 PM · PowerPC
markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

Yeah, I used to see this too (on either power9 or amigaone x5000, can't remember which.) IIRC, the problem is that if the tb is significantly unsynced, the callwheel algorithm falls over and misses wakeups for things.

Jan 30 2020, 5:37 PM · PowerPC

Jan 29 2020

markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

If there are non-PowerMac powerpc platforms that get the threads-stuck-sleeping
problem, then this type of solution may be insufficient for it to generalize for the specific
problem. For example, it is not obvious how accurate such would end up for a context
where NUMA can be relevant. I do not have a context for investigating anything that
modern.

Jan 29 2020, 6:36 AM · PowerPC

Jan 26 2020

markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

Note: I was not (and am not) style(9) literate when I did the investigation that eventually stabilized on this code. My information-handling capacity was limited. I fully expect this will need to be dealt with at some point. But I'd prefer to first have the technique(s) used be thought to be stable before focusing on the other type of knowledge.

Jan 26 2020, 11:13 PM · PowerPC
markmi_dsl-only.net created D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Jan 26 2020, 11:04 PM · PowerPC

Jul 10 2019

markmi_dsl-only.net updated subscribers of D20598: powerpc: Transition to Secure-PLT, like most other OSs.

FYI: The addition to CFLAGS.powerpc did not add -msecure-plt to the cc for linking libc.so.7.full :

Jul 10 2019, 1:44 AM
markmi_dsl-only.net added a comment to D20598: powerpc: Transition to Secure-PLT, like most other OSs.

Using -msecure-plt did no good with system-clang. Despite the -msecure-plt as shown below:

Jul 10 2019, 12:58 AM

Jul 9 2019

markmi_dsl-only.net added a comment to D20598: powerpc: Transition to Secure-PLT, like most other OSs.

FYI: I was using devel/powerpc64-binutils with system clang (8.0.0 or now 8.0.1), not gcc.
Changes to gcc will not change the behavior for what I was doing.

Jul 9 2019, 5:34 PM
markmi_dsl-only.net added a comment to D20598: powerpc: Transition to Secure-PLT, like most other OSs.

Justin wrote "Secure-PLT is fully compatible with BSS-PLT, so there's no issue with compatibility".

Jul 9 2019, 6:57 AM

Apr 25 2019

markmi_dsl-only.net added a comment to D18658: top: fix PID sorting after r340742; add process birth time sorting.

In order to keep the thread order stable for process-birth-time,
I ended up also using:

Apr 25 2019, 10:54 AM

Mar 24 2019

markmi_dsl-only.net added a comment to D19588: Add a new efi-update-loader script and associated man page.

I frequently cross-build amd64->aarch64 and amd64->armv7 and also do
installworld's of the aarch64 and armv7 worlds into directories trees on the
amd64 machine ( same file system as the amd64 world is on, but in something
like, for example, /usr/obj/DESTDIRs/clang-cortexA53-installworld-poud ).
(Later such are used via qemu-user-static and poudriere-devel , for example.)

Mar 24 2019, 8:08 AM

Mar 3 2019

markmi_dsl-only.net added a comment to D18547: Fix llvm-tblgen self-bootstrap.

FYI: In attempting a devel/powerpc64-xtoolchain-gcc based build of head -r334018
on a powerpc64 I just had to make these two changes in order to avoid the problem
reported here: otherwise unable to build llvm-tblgen .

Mar 3 2019, 9:34 AM

Jan 25 2019

markmi_dsl-only.net added a comment to D17930: clang: default to DWARF 4 as of FreeBSD 12.

What of using libexec/gdb ? WITH_GDB is still the default except on aarch64 and riscv64* .

libexec/gdb is only intended for crashinfo(8) and the kernel is built with an explicit -gdwarf2 flag so will not be affected by this change. In any case libexec/gdb is probably going away in 13.0 (@jhb can comment).

Jan 25 2019, 8:54 PM

Jan 13 2019

markmi_dsl-only.net added a comment to D17930: clang: default to DWARF 4 as of FreeBSD 12.

What of using libexec/gdb ? WITH_GDB is still the default except on aarch64 and riscv64* . There are architectures for which modern gdb from ports fails ( by running into bugs in C++ thrown-exception support in the system libgc_s ): powerpc families. (I experiment with using more modern compilers. clang has issues of its own but devel/powerpc64-gcc for powerpc64 targeting is useful for buildworld buildkernel and more. I have a patched libgcc_s that I reported on the lists but most folks do not have.)

Jan 13 2019, 7:49 AM

Jul 4 2017

markmi_dsl-only.net added a comment to D11475: Zero initialize all fields of socket structure.

This change addresses the direct, observed consequences for switching from
the first anonymous struct to the second one: it avoids interpreting old
"first struct" material as upcall information.

Jul 4 2017, 9:15 AM

Jul 1 2017

markmi_dsl-only.net added a comment to D9770: Listening sockets revamp try #2..

Again for future reference for folks that might look at this:

Jul 1 2017, 4:17 PM
markmi_dsl-only.net added a comment to D9770: Listening sockets revamp try #2..

In essence some notes from bugzilla 220404 for
future reference to folks that might look here.

Jul 1 2017, 2:30 AM

Jun 28 2017

markmi_dsl-only.net added a comment to rS317835: arch(7): add a table of per-arch initial/final FreeBSD version.

If this page or a variant is to be used for 11.1 then
pc98 should be covered rather than only being listed
for the initial/final releases. (I'm less sure for history
like alpha or ia64.)

Jun 28 2017, 9:23 PM

Apr 28 2017

markmi_dsl-only.net added a comment to D10537: Make sure <arch-gcc> come with consistent content.

I should note that when devel/*-binutils went to
2.28 which failed I reverted to devel/*binutils
-r436731 (2.27) in order for things to work. I still
have that configuration and it was used in the
test builds that I did.

Apr 28 2017, 9:29 PM
markmi_dsl-only.net added a comment to D10537: Make sure <arch-gcc> come with consistent content.

FYI: prior to this change a self-hosted/native build of
devel/aarch64-gcc or devel/powerpc64-gcc would
fail for not finding 6 files listed in pkg-plist .
devel/arm64-gcc did not list the 6 files there and so
did not install them but the self-hosted/native build
would complete.

Apr 28 2017, 7:51 PM
markmi_dsl-only.net accepted D10537: Make sure <arch-gcc> come with consistent content.

I built examples based on patching:

Apr 28 2017, 7:31 PM

Mar 6 2017

markmi_dsl-only.net added a comment to D9869: Return EINVAL for userland CCBs with CAM_UNLOCKED set.

-r314624 prevented a PowerMac G5 so-called "Quad Core" from competing
its boot (of -r314687): CAM status: Command timeout's. Reverting the two
files fixed it. See, e.g.,

Mar 6 2017, 10:49 AM

Feb 17 2017

markmi_dsl-only.net added a comment to D9593: Load the new sp_el0 with interrupts disabled in fork_trampoline.

Note: The "truncated" sp/fp line for "panic() at . . ."
is from the serial console tending to drop text.

Feb 17 2017, 10:23 PM
markmi_dsl-only.net added a comment to D9593: Load the new sp_el0 with interrupts disabled in fork_trampoline.

I got a panic that involved fork_trampoline in the back trace.
I've no clue if it is related.

Feb 17 2017, 9:59 PM

Feb 15 2017

markmi_dsl-only.net added a comment to D9593: Load the new sp_el0 with interrupts disabled in fork_trampoline.

That last buildworld buildkernel completed just
fine (really only building the kernel since world
had completed before).

Feb 15 2017, 3:02 AM
markmi_dsl-only.net added a comment to D9593: Load the new sp_el0 with interrupts disabled in fork_trampoline.

The core files did not suggest a stack corruption
to me, nor was fork active. My test code
recorded its before and after fork stack address
examples and they were equal as they should be.

Feb 15 2017, 2:06 AM

Feb 14 2017

markmi_dsl-only.net added a comment to D9593: Load the new sp_el0 with interrupts disabled in fork_trampoline.

Drat: buildworld got a different failure in sh (see below).

Feb 14 2017, 11:05 PM
markmi_dsl-only.net added a comment to D9593: Load the new sp_el0 with interrupts disabled in fork_trampoline.

Test status update at ~3 hours 40 minutes in:

Feb 14 2017, 9:17 PM
markmi_dsl-only.net added a comment to D9593: Load the new sp_el0 with interrupts disabled in fork_trampoline.

One minor point:

Feb 14 2017, 5:17 PM