Page MenuHomeFreeBSD

jfree (Jake Freeland)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 22 2022, 12:24 AM (194 w, 7 h)

Recent Activity

Fri, Apr 3

jfree committed rG6a13864e02b0: timerfd: Guard expected performance failure (authored by jfree).
timerfd: Guard expected performance failure
Fri, Apr 3, 3:28 PM
jfree committed rG6e0d0fe9102d: timerfd: Expect periodic timer performance failures (authored by jfree).
timerfd: Expect periodic timer performance failures
Fri, Apr 3, 3:28 PM
jfree committed rGd24f87da276f: timerfd: Add tests (authored by jfree).
timerfd: Add tests
Fri, Apr 3, 3:28 PM
jfree committed rGc10591e45071: timerfd: Suppress kqueue readability after jump read (authored by jfree).
timerfd: Suppress kqueue readability after jump read
Fri, Apr 3, 3:28 PM
jfree committed rGf05e8fc76e66: timerfd: Wake up on discontinuous jump (authored by jfree).
timerfd: Wake up on discontinuous jump
Fri, Apr 3, 3:28 PM
jfree committed rGa5a4a2be69f9: sys/time: Add saturating sbt conversions (authored by jfree).
sys/time: Add saturating sbt conversions
Fri, Apr 3, 3:28 PM
jfree committed rGdb0096d573d1: timerfd: Use saturating sbintime conversions (authored by jfree).
timerfd: Use saturating sbintime conversions
Fri, Apr 3, 3:28 PM
jfree committed rG3c00f603a280: timerfd: Fix interval callout scheduling (authored by jfree).
timerfd: Fix interval callout scheduling
Fri, Apr 3, 3:28 PM
jfree committed rG2d103770b5d2: timerfd: Guard expected performance failure (authored by jfree).
timerfd: Guard expected performance failure
Fri, Apr 3, 3:26 PM
jfree committed rG0b7e325153d6: timerfd: Expect periodic timer performance failures (authored by jfree).
timerfd: Expect periodic timer performance failures
Fri, Apr 3, 3:26 PM
jfree committed rG9d710692d207: timerfd: Suppress kqueue readability after jump read (authored by jfree).
timerfd: Suppress kqueue readability after jump read
Fri, Apr 3, 3:26 PM
jfree committed rGc484a2dc47cc: timerfd: Add tests (authored by jfree).
timerfd: Add tests
Fri, Apr 3, 3:26 PM
jfree committed rG6a5176a100fb: timerfd: Wake up on discontinuous jump (authored by jfree).
timerfd: Wake up on discontinuous jump
Fri, Apr 3, 3:26 PM
jfree committed rG53c01df929c1: timerfd: Use saturating sbintime conversions (authored by jfree).
timerfd: Use saturating sbintime conversions
Fri, Apr 3, 3:26 PM
jfree committed rG7f087ed787c6: sys/time: Add saturating sbt conversions (authored by jfree).
sys/time: Add saturating sbt conversions
Fri, Apr 3, 3:26 PM
jfree committed rG9b785380f307: timerfd: Fix interval callout scheduling (authored by jfree).
timerfd: Fix interval callout scheduling
Fri, Apr 3, 3:26 PM

Thu, Mar 26

jfree committed rG4b16ff49bf4b: timerfd: Guard expected performance failure (authored by jfree).
timerfd: Guard expected performance failure
Thu, Mar 26, 4:49 PM
jfree added a comment to D55789: timerfd: Add tests.

This is failing in CI as well: https://ci.freebsd.org/job/FreeBSD-main-amd64-test/28085/testReport/sys.kern/timerfd/timerfd__periodic_timer_performance/

Could you file a bug to track this test failure, and add a atf_tc_expect_fail("https://bugs.freebsd.org/<PR>") to this testcase in the meantime?

Thu, Mar 26, 12:25 AM
jfree committed rGcb692380f1e0: timerfd: Expect periodic timer performance failures (authored by jfree).
timerfd: Expect periodic timer performance failures
Thu, Mar 26, 12:25 AM

Mon, Mar 23

jfree accepted D55886: syslogd: Allow killing when in foreground.

This is great. Way clearer logic IMO

Mon, Mar 23, 9:48 PM

Fri, Mar 20

jfree committed rG33345b883485: timerfd: Suppress kqueue readability after jump read (authored by jfree).
timerfd: Suppress kqueue readability after jump read
Fri, Mar 20, 7:16 AM
jfree committed rGb11fba41265a: timerfd: Wake up on discontinuous jump (authored by jfree).
timerfd: Wake up on discontinuous jump
Fri, Mar 20, 7:16 AM
jfree committed rG0e8f351be793: timerfd: Use saturating sbintime conversions (authored by jfree).
timerfd: Use saturating sbintime conversions
Fri, Mar 20, 7:16 AM
jfree committed rG834c1ba793d9: timerfd: Add tests (authored by jfree).
timerfd: Add tests
Fri, Mar 20, 7:16 AM
jfree committed rGe3799530b3ba: sys/time: Add saturating sbt conversions (authored by jfree).
sys/time: Add saturating sbt conversions
Fri, Mar 20, 7:16 AM
jfree committed rG85c0f1a87da1: timerfd: Fix interval callout scheduling (authored by jfree).
timerfd: Fix interval callout scheduling
Fri, Mar 20, 7:16 AM
jfree closed D55792: timerfd: Use saturating sbintime conversions.
Fri, Mar 20, 7:16 AM
jfree closed D55791: sys/time: Add saturating sbt conversions.
Fri, Mar 20, 7:16 AM
jfree closed D55789: timerfd: Add tests.
Fri, Mar 20, 7:16 AM
jfree closed D55790: timerfd: Fix interval callout scheduling.
Fri, Mar 20, 7:16 AM
jfree updated the diff for D55792: timerfd: Use saturating sbintime conversions.

Saturate next expiration sbintime

Fri, Mar 20, 6:36 AM
jfree updated the diff for D55789: timerfd: Add tests.

Remove atf-c-leakcheck.h and ALLOW_TIMER_SLACK ifndefs

Fri, Mar 20, 6:30 AM
jfree added a comment to D55789: timerfd: Add tests.

So then the question becomes: what is the minimum amount of time, in the future, that a callout can be scheduled for without missing its activation time?

Say the next expiration is scheduled to happen in 1ns. Instead of actually scheduling that callout to active in 1ns, should I instead schedule the callout for 2ns in the future and when that activates increment the timerfd count +2?

I think this is especially tricky because it depends on system load, as you mentioned in D55790.

Our mitigation for this in other timer systems is to avoid making such estimates, and instead try to ensure that the system automatically stops the callout if the owning process is killed. See the P_SHOULDSTOP(p) || P_KILLED(p) checks in kern_time.c and kern_event.c.

Fri, Mar 20, 3:19 AM

Mon, Mar 16

jfree added a comment to D55789: timerfd: Add tests.

Hmm, this sounds like another bug. Even if the callout handler is lightweight, I'm sure it plus the overhead of scheduling and running a callout costs more than 1ns. The livelock issue relates to the problem where it becomes impossible to schedule a thread on a looping core, because the softclock thread which runs the callout handler has high priority.

Mon, Mar 16, 2:35 PM

Mar 11 2026

jfree added a comment to D55789: timerfd: Add tests.

A bit tangential, but: we found a while back that it was possible to trivially livelock a core by scheduling timeouts of 1ns using EVFILT_TIMER or setitimer(). Basically, it takes longer than the callout interval to execute the callout handler, so the callout handler ends up running in a loop.

Mar 11 2026, 5:02 AM
jfree added inline comments to D55790: timerfd: Fix interval callout scheduling.
Mar 11 2026, 4:52 AM
jfree added inline comments to D55790: timerfd: Fix interval callout scheduling.
Mar 11 2026, 2:38 AM

Mar 10 2026

jfree committed R11:0d7ef50c99db: graphics/igt-gpu-tools: Fix builds since D49183 (authored by dan.kotowski_a9development.com).
graphics/igt-gpu-tools: Fix builds since D49183
Mar 10 2026, 8:14 PM
jfree updated the diff for D55790: timerfd: Fix interval callout scheduling.

Rewrite timerfd__missed_events test to remove excessive errno
checking.

Mar 10 2026, 4:37 PM
jfree added inline comments to D55790: timerfd: Fix interval callout scheduling.
Mar 10 2026, 4:37 PM
jfree requested review of D55792: timerfd: Use saturating sbintime conversions.
Mar 10 2026, 12:52 AM
jfree requested review of D55791: sys/time: Add saturating sbt conversions.
Mar 10 2026, 12:52 AM
jfree requested review of D55790: timerfd: Fix interval callout scheduling.
Mar 10 2026, 12:52 AM
jfree requested review of D55789: timerfd: Add tests.
Mar 10 2026, 12:51 AM

Feb 2 2026

jfree accepted D55033: syslogd: Fix handling of configuration errors.

Like eugen suggested, it might be better to skip the line and log a warning on syntax parse failure instead of terminating. It looks like this would require some more surgery to handle other parse errors though.

Feb 2 2026, 4:08 AM

Jan 12 2026

jfree closed D54343: syslogd: Terminate pipe processes gracefully.

Tests added. I forgot to add the review link into the commit message... oops. Closing this.

Jan 12 2026, 3:46 AM
jfree committed rG60ae4e52f33e: syslogd: Terminate pipe processes gracefully (authored by jfree).
syslogd: Terminate pipe processes gracefully
Jan 12 2026, 3:43 AM
jfree retitled D54343: syslogd: Terminate pipe processes gracefully from syslogd: Do not immediately terminate piped processes on restart to syslogd: Terminate pipe processes gracefully.
Jan 12 2026, 3:41 AM

Dec 23 2025

jfree updated the test plan for D54343: syslogd: Terminate pipe processes gracefully.
Dec 23 2025, 2:58 AM
jfree requested review of D54343: syslogd: Terminate pipe processes gracefully.
Dec 23 2025, 2:56 AM

Sep 10 2025

jfree committed R11:81741b3d473e: audio/spotify-player: Update 0.20.4 -> 0.21.0 (authored by jfree).
audio/spotify-player: Update 0.20.4 -> 0.21.0
Sep 10 2025, 5:02 PM

Sep 4 2025

jfree closed D52313: pci_user: Add compatibility padding.
Sep 4 2025, 2:46 AM
jfree committed rG4f6f4aacaf97: pci_user: Add compatibility padding (authored by jfree).
pci_user: Add compatibility padding
Sep 4 2025, 2:46 AM
jfree closed D44289: pci_user: Report NUMA domain.
Sep 4 2025, 2:46 AM
jfree committed rG9404c479946c: pci_user: Report NUMA domain (authored by jfree).
pci_user: Report NUMA domain
Sep 4 2025, 2:46 AM

Aug 31 2025

jfree updated the test plan for D52313: pci_user: Add compatibility padding.
Aug 31 2025, 8:01 PM
jfree updated the test plan for D52313: pci_user: Add compatibility padding.
Aug 31 2025, 8:00 PM
jfree requested review of D52313: pci_user: Add compatibility padding.
Aug 31 2025, 7:58 PM
jfree edited P644 PCIOCGETCONF Test.
Aug 31 2025, 4:56 PM

Aug 21 2025

jfree updated the summary of D44289: pci_user: Report NUMA domain.
Aug 21 2025, 11:11 PM
jfree updated the diff for D44289: pci_user: Report NUMA domain.

Use memcpy(3) to copy pci_conf data into compat structures instead of assigning
members one by one.

Aug 21 2025, 11:07 PM

Aug 18 2025

jfree accepted D51995: syslogd: EAGAIN and ECONNREFUSED are not permanently fatal.
Aug 18 2025, 1:09 PM

Aug 12 2025

jfree added a comment to D51865: libusb: capsicumize libusb.

Good to see more Capsicumization efforts going on. I just had a few pedantic suggestions. Otherwise, this generally looks good.

Aug 12 2025, 1:47 PM

Aug 11 2025

jfree added inline comments to D51865: libusb: capsicumize libusb.
Aug 11 2025, 5:34 PM

Apr 3 2025

jfree committed R11:bc61b17b597f: audio/spotify-player: Remove invalid option (authored by jfree).
audio/spotify-player: Remove invalid option
Apr 3 2025, 9:18 PM
jfree committed R11:e912eabe5282: audio/spotify-player: Update 0.17.1 -> 0.20.4 (authored by jfree).
audio/spotify-player: Update 0.17.1 -> 0.20.4
Apr 3 2025, 7:39 PM

Jan 19 2025

jfree accepted D48499: ktrace: Fix uninitialized memory disclosure.
Jan 19 2025, 10:08 PM

Jan 5 2025

jfree added a comment to D48222: syslogd: Ensure that forwarded messages are sent from port 514.

Another option might be to extend connectat(2) to support IP sockets. For instance, connectat(s, {AF_INET, 0.0.0.0, 0}), disallowed in capability, could permit sendto(s) in capability mode. Or, connectat(s, {AF_INET, 192.168.1.0}, 0) permits sendto() to 192.168.1.0/24. This would allow syslogd to transmit to any sockaddr, so weakens the sandbox a bit, but it makes userspace much simpler.

Jan 5 2025, 3:06 AM

Jan 3 2025

jfree accepted D48222: syslogd: Ensure that forwarded messages are sent from port 514.
Jan 3 2025, 5:05 AM
jfree added a comment to D48222: syslogd: Ensure that forwarded messages are sent from port 514.

I do not like how complicated this is getting, but the code all looks good.

Jan 3 2025, 5:05 AM

Jan 2 2025

jfree accepted D48250: syslogd: Fix resource leaks.
Jan 2 2025, 10:34 PM
jfree added a comment to D48250: syslogd: Fix resource leaks.

Thanks for finding and fixing all of these.

Jan 2 2025, 10:34 PM

Dec 28 2024

jfree added inline comments to D48222: syslogd: Ensure that forwarded messages are sent from port 514.
Dec 28 2024, 9:16 PM
jfree accepted D48222: syslogd: Ensure that forwarded messages are sent from port 514.
Dec 28 2024, 5:52 PM
jfree added inline comments to D48222: syslogd: Ensure that forwarded messages are sent from port 514.
Dec 28 2024, 5:52 PM

Nov 30 2024

jfree accepted D47844: syslogd: Fix issues reported by gcc.
Nov 30 2024, 4:18 PM

Nov 27 2024

jfree closed D41640: timerfd: Relocate 32-bit compat code.
Nov 27 2024, 10:49 PM
jfree added a comment to D26456: syslogd: Support locale when removing unsafe characters.

Any progress on this?

Yes, I’ve been working on it. I will try to get them in this weekend. Sorry for the wait

Nov 27 2024, 10:40 PM
jfree committed rGb872bb720630: syslogd: Split up basic test case (authored by jfree).
syslogd: Split up basic test case
Nov 27 2024, 10:28 PM
jfree committed rG8b63477e5e00: syslogd: Add host forwarding test (authored by jfree).
syslogd: Add host forwarding test
Nov 27 2024, 10:28 PM
jfree committed rG4ecbee2760f7: syslogd: Open forwarding socket descriptors (authored by jfree).
syslogd: Open forwarding socket descriptors
Nov 27 2024, 10:28 PM
jfree committed rG897240c7d666: syslogd: Enter capability mode (authored by jfree).
syslogd: Enter capability mode
Nov 27 2024, 10:28 PM
jfree committed rGd2d180fb7736: syslogd: Watch for dead pipe processes (authored by jfree).
syslogd: Watch for dead pipe processes
Nov 27 2024, 10:28 PM
jfree committed rG24f4019b6a89: syslogd: Block timezone updating in capability mode (authored by jfree).
syslogd: Block timezone updating in capability mode
Nov 27 2024, 10:28 PM
jfree committed rG61a29eca550b: syslogd: Log messages using libcasper (authored by jfree).
syslogd: Log messages using libcasper
Nov 27 2024, 10:28 PM
jfree closed D47650: syslogd: Split up basic test case.
Nov 27 2024, 10:28 PM
jfree committed rG2567168dc498: syslogd: Refresh configuration using libcasper (authored by jfree).
syslogd: Refresh configuration using libcasper
Nov 27 2024, 10:28 PM
jfree closed D47649: syslogd: Add host forwarding test.
Nov 27 2024, 10:28 PM
jfree closed D47104: syslogd: Open forwarding socket descriptors.
Nov 27 2024, 10:28 PM
jfree closed D41477: syslogd: Watch for dead pipe processes.
Nov 27 2024, 10:28 PM
jfree closed D41467: syslogd: Enter capability mode.
Nov 27 2024, 10:28 PM
jfree committed rG964687879a38: syslogd: Create syslogd libcasper service (authored by jfree).
syslogd: Create syslogd libcasper service
Nov 27 2024, 10:28 PM
jfree committed rGad607893c9a3: syslogd: Use anonymous union in struct filed (authored by jfree).
syslogd: Use anonymous union in struct filed
Nov 27 2024, 10:28 PM
jfree closed D41466: syslogd: Block timezone updating in capability mode.
Nov 27 2024, 10:28 PM
jfree closed D41465: syslogd: Log messages using libcasper.
Nov 27 2024, 10:28 PM
jfree closed D41464: syslogd: Refresh configuration using libcasper.
Nov 27 2024, 10:28 PM
jfree closed D41463: syslogd: Create syslogd libcasper service.
Nov 27 2024, 10:27 PM
jfree closed D41703: syslogd: Use anonymous union in struct filed.
Nov 27 2024, 10:27 PM

Nov 25 2024

jfree abandoned D41402: casper/cap_net: Expose pack/unpack functions.
Nov 25 2024, 12:30 AM

Nov 24 2024

jfree updated the diff for D41465: syslogd: Log messages using libcasper.

Add missing error checking on memory allocation

Nov 24 2024, 11:52 PM