There's a report of touchpad breakage that traced back to this commit: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289353
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Sep 15 2025
Sep 13 2025
Aug 13 2025
Committed with a few more cleanups.
Aug 6 2025
In D38047#1177323, @des wrote:Was this superseded by later reviews?
Aug 4 2025
Looks mostly sane and the issues I remember flagging before have been corrected.
Jul 29 2025
Jul 28 2025
LGTM
Jul 27 2025
Closing this, continuation in https://reviews.freebsd.org/D51568
Jul 26 2025
Was this superseded by later reviews?
Jul 20 2025
May we omit the prompt characters in the examples section of tcopy.1 for copy paste?
i'm not a simh-tapefile expert, so I've not verified that this implements that standard.
I do like the cleanup generally and have only a few questions / suggestions.
Jul 14 2025
May 7 2025
Apr 18 2025
Apr 2 2025
Dec 12 2024
Oct 16 2024
rebasing with minor additional changes before I begin the work to split this up
Oct 13 2024
Interim PR changes while I work on splitting this up to different sub PRs. Don't want my work lost
Oct 12 2024
Oct 7 2024
I think the cycle detection patch is fine and should be committed on its own. If you send me (markj@freebsd.org) a patch with that piece of the change, I'll commit it.
Oct 6 2024
Sep 21 2024
Possible to get some eyes on this and see if we can get this across?
With many apologies for the delay, this is now sent.
Sep 10 2024
In D46472#1061633, @sobomax wrote:Undo damage done in c6d3d601c96f, which shifted failure to allocate large buffer to pipe_create() from pipe_write().
The need for such allocation by itself is questionable since absolute majority of users write less than dozen bytes and out of that majority most write exactly 0.
In D46472#1062498, @kib wrote:This undoes the fix done in c6d3d601c96f5836df76847, which hurts real users.
Whatever band-aids you would try to put on top of the issue, it cannot solve the fundamental inability of computers to allocate infinite amount of resources. Perhaps, the only clean way to isolate one user from mal-acting neighbor is to implement per-uid pipe limit (RLIMIT_PIPEN), which is not that useless IMO.
This undoes the fix done in c6d3d601c96f5836df76847, which hurts real users.
Sep 9 2024
Sep 8 2024
In D45056#1061365, @allanjude wrote:In D45056#1058221, @david_crossfamilyweb.com wrote:How should I submit this to you for the path; I have never used git format-patch before; I tried doing git format-patch main and it generated 21 files (since I have 21 commits). Manpage suggests I email this to you? But it seems rude to just blast you with 21 patches; and I don't know your email.
David, did you still need more help here?
Sep 7 2024
Undo damage done in c6d3d601c96f, which shifted failure to allocate large buffer to pipe_create() from pipe_write().
Sep 6 2024
In D45056#1058221, @david_crossfamilyweb.com wrote:How should I submit this to you for the path; I have never used git format-patch before; I tried doing git format-patch main and it generated 21 files (since I have 21 commits). Manpage suggests I email this to you? But it seems rude to just blast you with 21 patches; and I don't know your email.
Sep 3 2024
Make harmless.
P.S. I think this whole new "behaviour" is the (unintended?) consequence of the c6d3d601c, which shifted the failure to allocate buffer from the write() call into the popen() call. Which added the whole new failure mode into fork()->exec() mechanism that can be easily triggered by anybody. So no new process can be created even if the new process and/or its parent would never want to write or read to the pipe in a normal conditions.
Aug 30 2024
@kib thanks for the input. Beefed up telemetry, as suggested, removed the reference to tuning. Added option to kill the repeated offender (or an innocent bystander ;-)
Added option to kill Pipe KVA (ab)users.
Aug 29 2024
Aug 26 2024
In D45056#1058221, @david_crossfamilyweb.com wrote:How should I submit this to you for the path; I have never used git format-patch before; I tried doing git format-patch main and it generated 21 files (since I have 21 commits). Manpage suggests I email this to you? But it seems rude to just blast you with 21 patches; and I don't know your email.
Aug 24 2024
In D45056#1058221, @david_crossfamilyweb.com wrote:How should I submit this to you for the path; I have never used git format-patch before; I tried doing git format-patch main and it generated 21 files (since I have 21 commits). Manpage suggests I email this to you? But it seems rude to just blast you with 21 patches; and I don't know your email.
How should I submit this to you for the path; I have never used git format-patch before; I tried doing git format-patch main and it generated 21 files (since I have 21 commits). Manpage suggests I email this to you? But it seems rude to just blast you with 21 patches; and I don't know your email.
Updated with last PR fixes
Aug 22 2024
This broadly looks good to me. I verified that the existing ggate regression tests pass with this change.
Aug 15 2024
Rebase and remove unnecessary () in an if check (per review comment)
Jul 13 2024
Previous version did have one compile error (missing ;) in the file I warned I had not tested; also updated usage to match man pages
May 30 2024
Any update on getting this committed? Might this make it in for 15-release?
May 10 2024
Updated diff -U99999
May 9 2024
Updated with PR comments
May 2 2024
Updated for -U99999 as requested.
Can you please regenerate a full patch using -U99999?
I believe I have addressed all of reviews; it would be great to get this in for 14.1 so I don't keep having to patch my local copies
Feb 18 2024
Dec 27 2023
I don't think this was intended to be interpreted as a specific path (/var would've been the partition, so they're just saying that the files are on that partition of the system), but I don't know that there's any harm in being more specific.
Dec 26 2023
Aug 23 2023
once again, i have broken a revision by trying to update it.
address @pauamma_gundo.com comments
Aug 4 2023
Cleaned up erroneous patches due to my tree being out of date with target.
Ran entire kyua test suite as follows:
Updates from code review
Aug 1 2023
I think I have more or less workable scheme to make look-aside cache working.
I tried to organize my thought about this cache proposal, and I do think that I managed to understand it better now.
Jul 29 2023
Refactor to more closely follow seqc.h.
Jul 28 2023
Updated to quasi-follow seqlock semantics from seqc.h for continued discussion...
Jul 27 2023
Jul 26 2023
Jul 25 2023
Fix how generation count is updated and synchronized with readers.
Add comments to explain how it works.
Jul 22 2023
Doesn't it make sense to fill curthread cache on key/val creation in pshared_insert? It is highly likely that the same thread would use the lock obj.
Jul 20 2023
Use MACHINE_ABI to build only for 64-bit architectures.
Replace uint64_t with u_long for pshared hash table generation counts.
Jul 19 2023
A buildworld with D41092.id124866.diff added to 239597e0309d4 doesn't compile for me:
===> lib/libthr (obj,all,install)
cc -march=i686 -mmmx -msse -msse2 -target x86_64-unknown-freebsd14.0 -m32 -DCOMPAT_LIBCOMPAT=\"32\" -DCOMPAT_libcompat=\"32\" -DCOMPAT_LIB32 --sysroot=/usr/obj/usr/src/amd64.amd64/tmp -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -B/usr/obj/usr/src/amd64.amd64/tmp/usr/lib32 -O2 -pipe -fno-common -DPTHREAD_KERNEL -I/usr/src/lib/libc/include -I/usr/src/lib/libc/i386 -I/usr/src/lib/libthr/thread -I/usr/src/lib/libthr/arch/i386/include -I/usr/src/lib/libthr/sys -I/usr/src/libexec/rtld-elf -I/usr/src/libexec/rtld-elf/i386 -I/usr/src/lib/libthread_db -fexceptions -D_PTHREAD_FORCED_UNWIND -D_PTHREAD_PSC_SIZE=11 -D_PTHREADS_INVARIANTS -mno-mmx -mno-sse -mno-avx -mno-avx2 -MD -MF.depend.thr_pshared.o -MTthr_pshared.o -std=gnu99 -Wno-format-zero-length -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time -Wmissing-variable-declarations -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-parameter -Qunused-arguments -c /usr/src/lib/libthr/thread/thr_pshared.c -o thr_pshared.o
/usr/src/lib/libthr/thread/thr_pshared.c:137:4: error: call to undeclared function 'atomic_add_rel_64'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
PSHARED_HTGEN_INVALIDATE();
^
/usr/src/lib/libthr/thread/thr_pshared.c:68:36: note: expanded from macro 'PSHARED_HTGEN_INVALIDATE'
#define PSHARED_HTGEN_INVALIDATE() atomic_add_rel_64(&pshared_htgen, 1)
^
/usr/src/lib/libthr/thread/thr_pshared.c:137:4: note: did you mean 'atomic_add_long'?
/usr/src/lib/libthr/thread/thr_pshared.c:68:36: note: expanded from macro 'PSHARED_HTGEN_INVALIDATE'
#define PSHARED_HTGEN_INVALIDATE() atomic_add_rel_64(&pshared_htgen, 1)
^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/i386/atomic.h:602:1: note: 'atomic_add_long' declared here
ATOMIC_ASM(add, long, "addl %1,%0", "ir", v);
^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/i386/atomic.h:105:26: note: expanded from macro 'ATOMIC_ASM'
static __inline void \
^
<scratch space>:208:1: note: expanded from here
atomic_add_long
^
/usr/src/lib/libthr/thread/thr_pshared.c:158:10: error: call to undeclared function 'atomic_load_acq_64'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
htgen = atomic_load_acq_64(&pshared_htgen);
^
/usr/src/lib/libthr/thread/thr_pshared.c:158:10: note: did you mean 'atomic_load_acq_int'?
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/i386/atomic.h:611:1: note: 'atomic_load_acq_int' declared here
ATOMIC_LOADSTORE(int);
^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/i386/atomic.h:606:2: note: expanded from macro 'ATOMIC_LOADSTORE'
ATOMIC_LOAD(TYPE); \
^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/i386/atomic.h:253:30: note: expanded from macro 'ATOMIC_LOAD'
static __inline u_##TYPE \
^
<scratch space>:241:1: note: expanded from here
atomic_load_acq_int
^
/usr/src/lib/libthr/thread/thr_pshared.c:243:4: error: call to undeclared function 'atomic_add_rel_64'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
PSHARED_HTGEN_INVALIDATE();
^
/usr/src/lib/libthr/thread/thr_pshared.c:68:36: note: expanded from macro 'PSHARED_HTGEN_INVALIDATE'
#define PSHARED_HTGEN_INVALIDATE() atomic_add_rel_64(&pshared_htgen, 1)
^
/usr/src/lib/libthr/thread/thr_pshared.c:322:2: error: call to undeclared function 'atomic_add_rel_64'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
PSHARED_HTGEN_INVALIDATE();
^
/usr/src/lib/libthr/thread/thr_pshared.c:68:36: note: expanded from macro 'PSHARED_HTGEN_INVALIDATE'
#define PSHARED_HTGEN_INVALIDATE() atomic_add_rel_64(&pshared_htgen, 1)
^
4 errors generated.
*** Error code 1