From: Claudio Jeker Subject: Re: socket wait channels To: Alexander Bluhm Cc: tech@openbsd.org Date: Thu, 25 Apr 2024 16:43:26 +0200 On Thu, Apr 25, 2024 at 03:58:32PM +0200, Alexander Bluhm wrote: > Hi, > > Wait channel names should be unique for easier debugging. > > "netcon2" was copied from sys_connect() to sys_ypconnect(), better > call it "ypcon". > > Calling the accept sleep "netcon" makes no sense. Better use > "netacc" for accept(2) and "netcon" for connect(2). > > "netlck" for the socket buffer lock in bslock() can easily mixed > with "netlock" for the global network lock. How about "sblock" for > sblock()? Sounds good to me. I thought sblock was already used but that's sbwait. So OK claudio@ > ok? > > bluhm > > Index: kern/uipc_socket2.c > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sys/kern/uipc_socket2.c,v > diff -u -p -r1.149 uipc_socket2.c > --- kern/uipc_socket2.c 11 Apr 2024 13:32:51 -0000 1.149 > +++ kern/uipc_socket2.c 25 Apr 2024 13:45:23 -0000 > @@ -559,7 +559,7 @@ sblock(struct socket *so, struct sockbuf > while (sb->sb_flags & SB_LOCK) { > sb->sb_flags |= SB_WANT; > mtx_leave(&sb->sb_mtx); > - error = sosleep_nsec(so, &sb->sb_flags, prio, "netlck", INFSLP); > + error = sosleep_nsec(so, &sb->sb_flags, prio, "sblock", INFSLP); > if (error) > return (error); > mtx_enter(&sb->sb_mtx); > Index: kern/uipc_syscalls.c > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sys/kern/uipc_syscalls.c,v > diff -u -p -r1.218 uipc_syscalls.c > --- kern/uipc_syscalls.c 1 Mar 2024 14:15:01 -0000 1.218 > +++ kern/uipc_syscalls.c 25 Apr 2024 13:45:12 -0000 > @@ -300,7 +300,7 @@ doaccept(struct proc *p, int sock, struc > break; > } > error = sosleep_nsec(head, &head->so_timeo, PSOCK | PCATCH, > - "netcon", INFSLP); > + "netacc", INFSLP); > if (error) > goto out_unlock; > } > @@ -428,7 +428,7 @@ sys_connect(struct proc *p, void *v, reg > } > while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) { > error = sosleep_nsec(so, &so->so_timeo, PSOCK | PCATCH, > - "netcon2", INFSLP); > + "netcon", INFSLP); > if (error) { > if (error == EINTR || error == ERESTART) > interrupted = 1; > @@ -1651,7 +1651,7 @@ out: > error = soconnect(so, nam); > while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) { > error = sosleep_nsec(so, &so->so_timeo, PSOCK | PCATCH, > - "netcon2", INFSLP); > + "ypcon", INFSLP); > if (error) > break; > } > -- :wq Claudio