Download raw body.
dead code tells no tales, 5/16
This code isn't currently used. I would like to know if dlg@ has evil
plans to use it in the near future; it might be better to #ifdef notyet
that code rather than removing it, in this case.
Index: sys/kern/kern_lock.c
===================================================================
RCS file: /OpenBSD/src/sys/kern/kern_lock.c,v
diff -u -p -u -p -r1.87 kern_lock.c
--- sys/kern/kern_lock.c 30 Aug 2026 23:36:26 -0000 1.87
+++ sys/kern/kern_lock.c 20 Sep 2026 16:47:44 -0000
@@ -699,45 +699,6 @@ pc_sprod_leave(struct pc_lock *pcl, unsi
pcl->pcl_gen = ++gen;
}
-#ifdef MULTIPROCESSOR
-unsigned int
-pc_mprod_enter(struct pc_lock *pcl)
-{
- unsigned int gen, ngen, ogen;
-
- gen = pcl->pcl_gen;
- for (;;) {
- while (gen & 1) {
- CPU_BUSY_CYCLE();
- gen = pcl->pcl_gen;
- }
-
- ngen = 1 + gen;
- ogen = atomic_cas_uint(&pcl->pcl_gen, gen, ngen);
- if (gen == ogen)
- break;
-
- CPU_BUSY_CYCLE();
- gen = ogen;
- }
-
- membar_enter_after_atomic();
- return (ngen);
-}
-
-void
-pc_mprod_leave(struct pc_lock *pcl, unsigned int gen)
-{
- membar_exit();
- pcl->pcl_gen = ++gen;
-}
-#else /* MULTIPROCESSOR */
-unsigned int pc_mprod_enter(struct pc_lock *)
- __attribute__((alias("pc_sprod_enter")));
-void pc_mprod_leave(struct pc_lock *, unsigned int)
- __attribute__((alias("pc_sprod_leave")));
-#endif /* MULTIPROCESSOR */
-
void
pc_cons_enter(struct pc_lock *pcl, unsigned int *genp)
{
Index: sys/sys/pclock.h
===================================================================
RCS file: /OpenBSD/src/sys/sys/pclock.h,v
diff -u -p -u -p -r1.1 pclock.h
--- sys/sys/pclock.h 31 May 2025 10:24:50 -0000 1.1
+++ sys/sys/pclock.h 20 Sep 2026 16:47:44 -0000
@@ -35,10 +35,6 @@ void pc_lock_init(struct pc_lock *);
unsigned int pc_sprod_enter(struct pc_lock *);
void pc_sprod_leave(struct pc_lock *, unsigned int);
-/* multiple (interlocking) producers */
-unsigned int pc_mprod_enter(struct pc_lock *);
-void pc_mprod_leave(struct pc_lock *, unsigned int);
-
/* consumer */
void pc_cons_enter(struct pc_lock *, unsigned int *);
__warn_unused_result int
dead code tells no tales, 5/16