From: Miod Vallat Subject: dead code tells no tales, 5/16 To: tech@openbsd.org Date: Sun, 20 Sep 2026 21:06:06 +0000 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