The NetBSD Project

CVS log for src/sys/kern/uipc_socket.c

[BACK] Up to [] / src / sys / kern

Request diff between arbitrary revisions

Default branch: MAIN
Current tag: netbsd-5-1

Revision / (download) - annotate - [select for diffs], Mon Aug 8 19:47:01 2011 UTC (7 years, 4 months ago) by riz
Branch: netbsd-5-1
CVS Tags: netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE
Changes since +48 -68 lines
Diff to previous (colored) next main (colored)

Pull up following revision(s) (requested by bouyer in ticket #1644):
	sys/sys/socketvar.h: revision 1.126
	sys/kern/init_main.c: revision 1.433
	sys/kern/uipc_socket.c: revision 1.205
Fix kern/45093 as discussed on tech-kern@:
The cause of the problem is that the so_pendfree is processed with
the softnet_lock held at one point, and processing the list
calls sodoloanfree() which may kpause(). As the thread sleeps with
softnet_lock held, it ultimately cause a deadlock (see the PR or tech-kern
thread for details).
Although it should be possible to call sodopendfree() after releasing
the socket lock, it's not so easy to know where he socket lock is held and
where it's not, so we may hit the issue again later.
Add a kernel thread to handle the so_pendfree list, and wake up this
thread when adding mbufs to this list. Get rid of the various sodopendfree()
calls, hopefully fixing definitively the problem.

Revision / (download) - annotate - [select for diffs], Sun May 3 13:18:55 2009 UTC (9 years, 7 months ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, matt-nb5-pq3-base, matt-nb5-pq3
Branch point for: netbsd-5-1
Changes since +3 -3 lines
Diff to previous (colored) to branchpoint 1.177 (colored)

Pull up following revision(s) (requested by ad in ticket #731):
	sys/kern/uipc_socket.c: revision 1.189
PR kern/41311: Mutex error: mutex_vector_enter: locking against myself

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>