Page MenuHomeFreeBSD

inpcb: retire the inpcbinfo list lock
AcceptedPublic

Authored by glebius on Thu, Mar 19, 7:19 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 8, 9:56 AM
Unknown Object (File)
Mon, Apr 6, 10:09 AM
Unknown Object (File)
Mon, Apr 6, 10:07 AM
Unknown Object (File)
Sun, Apr 5, 7:06 PM
Unknown Object (File)
Sat, Mar 28, 12:37 PM
Unknown Object (File)
Sat, Mar 28, 2:14 AM
Unknown Object (File)
Thu, Mar 26, 6:45 PM
Unknown Object (File)
Thu, Mar 26, 5:36 AM

Details

Reviewers
markj
pouria
rrs
Group Reviewers
transport
network
Summary

With the SMR locking of inpcbs the use of this lock reduced down to the
global list and generation number. It was used only on an inpcb creation
and destruction. Use the inpcbinfo hash lock for this purpose.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 71551
Build 68434: arc lint + arc unit

Event Timeline

Probably the lock should be renamed to something more generic, not including "hash"?

Probably the lock should be renamed to something more generic, not including "hash"?

On the next changeset in the stack lock usage is reduced mostly to the hash, as the list of all inpcbs goes away.

pouria added a subscriber: pouria.

The only user of in_pcbremhash() function is now only in_pcbdrop()
should we keep it?
IMHO, since the in_pcbdrop() is small enough, maybe we should expand the in_pcbremhash() and remove it entirely.

The only user of in_pcbremhash() function is now only in_pcbdrop()
should we keep it?
IMHO, since the in_pcbdrop() is small enough, maybe we should expand the in_pcbremhash() and remove it entirely.

I haven't yet shared the entire patch queue. The in_pcbdrop() also goes away together with INP_DROPPED and this state is internalized to TCP. This depends on D56025. Once it is in main, I will rebase my branch and share missing patches.

This revision is now accepted and ready to land.Fri, Apr 3, 1:28 PM