DragonFly BSD

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

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.55: download - view: text, markup, annotated - select for diffs
Tue Sep 2 16:17:52 2008 UTC (6 years, 1 month ago) by dillon
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.54: preferred, unified
Changes since revision 1.54: +12 -11 lines
Continue working the abort path.  Move SS_ABORTING flag handling inward
to catch remaining cases, fixing a few I missed.

Reported-by: Peter Avalos <pavalos@theshell.com>

Revision 1.54: download - view: text, markup, annotated - select for diffs
Thu Aug 28 23:15:43 2008 UTC (6 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.53: preferred, unified
Changes since revision 1.53: +35 -20 lines
* Add a flag to track an in-transit socket abort to avoid races when closing
  a socket.

* Abort sockets asynchronously to prevent socket proto threads from
  deadlocking each other.

Reported-by: Peter Avalos

Revision 1.53: download - view: text, markup, annotated - select for diffs
Fri Aug 15 17:37:29 2008 UTC (6 years, 2 months ago) by nth
Branches: MAIN
Diff to: previous 1.52: preferred, unified
Changes since revision 1.52: +6 -7 lines
Allocate socket structs with kmalloc() instead of zalloc.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Thu Jul 10 00:19:27 2008 UTC (6 years, 3 months ago) by aggelos
Branches: MAIN
CVS tags: DragonFly_RELEASE_2_0_Slip, DragonFly_RELEASE_2_0, DragonFly_Preview
Diff to: previous 1.51: preferred, unified
Changes since revision 1.51: +5 -6 lines
Fix sockopt syscalls for the Nth time.

- update linux sys_{g,s}etsockopt to do copy{in,out}
- make sure we don't try to kmalloc(0) (use NULL)
- only test non-NULL addresses with kva_p()

Revision 1.51: download - view: text, markup, annotated - select for diffs
Mon Jul 7 14:35:12 2008 UTC (6 years, 3 months ago) by aggelos
Branches: MAIN
Diff to: previous 1.50: preferred, unified
Changes since revision 1.50: +37 -95 lines
Do copy{in,out} early in the {g,s}etsockopt system call paths
so the rest of the kernel can assume it's dealing with a
kernel address in ->sopt_val. This means that soopt{,_m}copy{in,out}
are now seriously misnamed and should be replaced by soopt_{from,to}_*

Suggested-by: dillon@

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sun Jul 6 19:01:57 2008 UTC (6 years, 3 months ago) by nth
Branches: MAIN
Diff to: previous 1.49: preferred, unified
Changes since revision 1.49: +18 -12 lines
Change soopt_mcopyin() and soopt_mcopyout() to not modify soopt_val and
soopt_valsize.  This fixes a "already free" panic when so_pru_ctloutput()
kfree()'s soopt_val.

Reported-by: Thomas Nikolajsen <thomas.nikolajsen@mail.dk>
Reviewed-by: Aggelos Economopoulos <aoiko@cc.ece.ntua.gr>

Revision 1.49: download - view: text, markup, annotated - select for diffs
Tue Jun 17 20:50:11 2008 UTC (6 years, 4 months ago) by aggelos
Branches: MAIN
Diff to: previous 1.48: preferred, unified
Changes since revision 1.48: +70 -3 lines
do early copyin / delayed copyout for socket options

Revision 1.48: download - view: text, markup, annotated - select for diffs
Tue May 27 05:25:34 2008 UTC (6 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.47: preferred, unified
Changes since revision 1.47: +4 -3 lines
Get rid of an old and terrible hack.  Local stream sockets enqueue packets
directly on the peer's sockbuf, rather then the sender's sockbuf.  That
part of the code is fine, but in order to prevent the sender from queueing
infinite mbufs (because its sockbuf appears to be empty when you do that)
the code dynamically messed around with the sender's high water mark.

This blew up the new SOCK_SEQPACKET.  In particular, it blows up the
use of the PR_ATOMIC on stream sockets and can cause spurious EMSGSIZE
errors to be returned instead of the EWOULDBLOCK that should have been
returned.

Also fix, or partially the resource limit code which tries to reduce the
high water mark when a user is using too many mbufs.  This never worked
well and still doesn't, but it is in better shape now.

Get rid of the crufty code and simply add a flag to the signalsockbuf,
SSB_STOP, to stop the sender.

Also adjust the vkernel to increase the default socket buffer when
connecting to vknet instead of if_tap.  VKE currently issues non-blocking
writes to vknet/tap and we do not want to lose packets for no good reason.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Sat Jan 5 14:02:38 2008 UTC (6 years, 9 months ago) by swildner
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_12_Slip, DragonFly_RELEASE_1_12
Diff to: previous 1.46: preferred, unified
Changes since revision 1.46: +2 -4 lines
For kmalloc(), MALLOC() and contigmalloc(), use M_ZERO instead of
explicitly bzero()ing.

Reviewed-by: sephe

Revision 1.45.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 19 18:17:10 2007 UTC (6 years, 11 months ago) by dillon
Branches: DragonFly_RELEASE_1_10
Diff to: previous 1.45: preferred, unified; next MAIN 1.46: preferred, unified
Changes since revision 1.45: +1 -0 lines
MFC socket buffer lock fixes - The macros previously always returned success
even when they failed.  Rework macros in a new header file, sys/socketvar.2
(this header file now tagged for 1.10 and not present in commit message),
fixing the bug and cleaning them up at the same time.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Wed Nov 7 18:24:06 2007 UTC (6 years, 11 months ago) by dillon
Branches: MAIN
Diff to: previous 1.45: preferred, unified
Changes since revision 1.45: +1 -0 lines
Separate ssb_lock() and ssb_unlock() into its own header file and reimplement
the macro as an inline.  Using the DragonFly '2' notation for header files
containing potentially complex inlines.

Correct an extremely old bug that caused ssb_lock() to always return success,
even when it failed.   This could have been responsible for miscellanious
random network bug reports over the years.

Reported-by: Johannes Hofmann <Johannes.Hofmann@gmx.de>
Taken-from: FreeBSD using the inline suggested by OpenBSD

Revision 1.45: download - view: text, markup, annotated - select for diffs
Sun Apr 22 01:13:10 2007 UTC (7 years, 6 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_10_Slip
Branch point for: DragonFly_RELEASE_1_10
Diff to: previous 1.44: preferred, unified
Changes since revision 1.44: +103 -109 lines
Give the sockbuf structure its own header file and supporting source file.
Move all sockbuf-specific functions from kern/uipc_socket2.c into the new
kern/uipc_sockbuf.c and move all the sockbuf-specific structures from
sys/socketvar.h to sys/sockbuf.h.

Change the sockbuf structure to only contain those fields required to
properly management a chain of mbufs.  Create a signalsockbuf structure
to hold the remaining fields (e.g. selinfo, mbmax, etc).

Change the so_rcv and so_snd structures in the struct socket from
a sockbuf to a signalsockbuf.

Remove the recently added sorecv_direct structure which was being used
to provide a direct mbuf path to consumers for socket I/O.  Use the newly
revamped sockbuf base structure instead.  This gives mbuf consumers
direct access to the sockbuf API functions for use outside of a struct
socket.  This will also allow new API functions to be added to the sockbuf
interface to ease the job of parsing data out of chained mbufs.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Fri Apr 20 05:42:20 2007 UTC (7 years, 6 months ago) by dillon
Branches: MAIN
Diff to: previous 1.43: preferred, unified
Changes since revision 1.43: +57 -37 lines
Clean up the so_pru_soreceive() API a bit to make it easier to read
mbuf chains without having to use a fake UIO.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Sun Mar 4 18:51:59 2007 UTC (7 years, 7 months ago) by swildner
Branches: MAIN
Diff to: previous 1.42: preferred, unified
Changes since revision 1.42: +0 -17 lines
Remove weird license clause which has expired.

Revision 1.42: download - view: text, markup, annotated - select for diffs
Mon Jan 1 22:51:17 2007 UTC (7 years, 10 months ago) by corecode
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_8_Slip, DragonFly_RELEASE_1_8
Diff to: previous 1.41: preferred, unified
Changes since revision 1.41: +5 -5 lines
1:1 Userland threading stage 2.10/4:

Separate p_stats into p_ru and lwp_ru.

proc.p_ru keeps track of all statistics directly related to a proc.  This
consists of RSS usage and nswap information and aggregate numbers for all
former lwps of this proc.

proc.p_cru is the sum of all stats of reaped children.

lwp.lwp_ru contains the stats directly related to one specific lwp, meaning
packet, scheduler switch or page fault counts, etc.  This information gets
added to lwp.lwp_proc.p_ru when the lwp exits.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Fri Dec 29 18:02:56 2006 UTC (7 years, 10 months ago) by victor
Branches: MAIN
Diff to: previous 1.40: preferred, unified
Changes since revision 1.40: +1 -0 lines
Made jails IPv6 aware and support more than one IP address.

Based-on: Pawel Jakub Dawidek mijail patches.
Reviewed-by: Simon 'corecode' Schubert, Thomas E. Spanjaard, et al.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Sat Dec 23 23:47:54 2006 UTC (7 years, 10 months ago) by swildner
Branches: MAIN
Diff to: previous 1.39: preferred, unified
Changes since revision 1.39: +11 -32 lines
Ansify function declarations and fix some minor style issues.

In-collaboration-with: Alexey Slynko <slynko@tronet.ru>

Revision 1.39: download - view: text, markup, annotated - select for diffs
Tue Dec 5 23:31:56 2006 UTC (7 years, 10 months ago) by dillon
Branches: MAIN
Diff to: previous 1.38: preferred, unified
Changes since revision 1.38: +1 -1 lines
Local variables that were improperly named 'errno' must be renamed so as
not to conflict with libc's errno, when building a virtual kernel.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Tue Jun 13 08:12:03 2006 UTC (8 years, 4 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_6_Slip, DragonFly_RELEASE_1_6
Diff to: previous 1.37: preferred, unified
Changes since revision 1.37: +5 -5 lines
Add kernel syscall support for explicit blocking and non-blocking I/O
regardless of the setting applied to the file pointer.

send/sendmsg/sendto/recv/recvmsg/recfrom: New MSG_ flags defined in
sys/socket.h may be passed to these functions to override the settings
applied to the file pointer on a per-I/O basis.

MSG_FBLOCKING	- Force the operation to be blocking
MSG_FNONBLOCKING- Force the operation to be non-blocking

pread/preadv/pwrite/pwritev: These system calls have been renamed and
wrappers will be added to libc.  The new system calls are prefixed with
a double underscore (like getcwd vs __getcwd) and include an additional
flags argument.  The new flags are defined in sys/fcntl.h and may be
used to override settings applied to the file pointer on a per-I/O basis.

Additionally, the internal __ versions of these functions now accept an
offset of -1 to mean 'degenerate into a read/readv/write/writev' (i.e.
use the offset in the file pointer and update it on completion).

O_FBLOCKING	- Force the operation to be blocking
O_FNONBLOCKING	- Force the operation to be non-blocking
O_FAPPEND	- Force the write operation to append (to a regular file)
O_FOFFSET	- (implied of the offset != -1) - offset is valid
O_FSYNCWRITE	- Force a synchronous write
O_FASYNCWRITE	- Force an asynchronous write
O_FUNBUFFERED	- Force an unbuffered operation (O_DIRECT)
O_FBUFFERED	- Force a buffered operation (negate O_DIRECT)

If the flags do not specify an operation (e.g. neither FBLOCKING or
FNONBLOCKING are set), then the settings in the file pointer are used.

The original system calls will become wrappers in libc, without the flags
arguments.  The new system calls will be made available to libc_r to allow
it to perform non-blocking I/O without having to mess with a descriptor's
file flags.

NOTE: the new __pread and __pwrite system calls are backwards compatible
with the originals due to a pad byte that libc always set to 0.
The new __preadv and __pwritev system calls are NOT backwards compatible,
but since they were added to HEAD just two months ago I have decided
to not renumber them either.

NOTE: The subrev has been bumped to 1.5.4 and installworld will refuse to
install if you are not running at least a 1.5.4 kernel.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Sat May 20 17:41:40 2006 UTC (8 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.36: preferred, unified
Changes since revision 1.36: +0 -4 lines
Remove so_gencnt and so_gen_t.  The generation counter is not used any more.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Sat Jul 23 07:28:34 2005 UTC (9 years, 3 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_4_Slip, DragonFly_RELEASE_1_4
Diff to: previous 1.35: preferred, unified
Changes since revision 1.35: +80 -72 lines
Fix a sockbuf race.  Currently the m_free*() path can block, due to
objcache_put() blocking when it must access the global depot.  This breaks
the critical section *AND the BGL during a time when the sockbuf state is
inconsistent.  Another process accessing the same sockbuf would then
corrupt it.  Since depot access is fairly rare, this bug typically required
a number of hours to reproduce.

Delay the actual freeing of mbufs until after the sockbuf state has been
updated.  Encapsulate common operations in a procedure, and add additional
assertions.  NULL out sb_lastrecord when it becomes invalid, and add a
considerable amount of debugging code.

SOCKBUF_DEBUG has been added.  Note that this is a VERY EXPENSIVE
kernel compile option which should only be used when specifically debugging
the networking subsystem.

This is a stabilization patch is rather hackish.  A better cleanup will
occur once we are sure we've fixed all the bugs.

sbcheck provided by: Jeffrey Hsu
Reported-by: David Rhodus, Peter Avalos, YONETANI Tomokazu,
	     Tomaz Borstnar, and numerous other people.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Fri Jul 15 17:54:47 2005 UTC (9 years, 3 months ago) by eirikn
Branches: MAIN
Diff to: previous 1.34: preferred, unified
Changes since revision 1.34: +50 -8 lines
Tie SCTP into the kernel, this includes adding a new syscall (sctp_peeloff).

Obtained from: KAME

Revision 1.34: download - view: text, markup, annotated - select for diffs
Tue Jun 7 19:08:55 2005 UTC (9 years, 4 months ago) by hsu
Branches: MAIN
Diff to: previous 1.33: preferred, unified
Changes since revision 1.33: +3 -0 lines
Re-implement the mbuf allocator using the object cache.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Mon Jun 6 21:50:28 2005 UTC (9 years, 4 months ago) by hsu
Branches: MAIN
Diff to: previous 1.32: preferred, unified
Changes since revision 1.32: +17 -33 lines
Deprecate MCLGET() in favor of m_getcl() or m_getl() in order to
take advantage of cluster caching.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Mon Jun 6 15:02:28 2005 UTC (9 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.31: preferred, unified
Changes since revision 1.31: +55 -53 lines
Remove spl*() calls from kern, replacing them with critical sections.
Change the meaning of safepri from a cpl mask to a thread priority.
Make a minor adjustment to tests within one of the buffer cache's
critical sections.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Sun May 29 16:32:20 2005 UTC (9 years, 5 months ago) by hsu
Branches: MAIN
Diff to: previous 1.30: preferred, unified
Changes since revision 1.30: +1 -1 lines
Simplify the interface to m_uiomove().

Revision 1.30: download - view: text, markup, annotated - select for diffs
Sun May 29 10:08:36 2005 UTC (9 years, 5 months ago) by hsu
Branches: MAIN
Diff to: previous 1.29: preferred, unified
Changes since revision 1.29: +5 -23 lines
Deprecate MCLGET() in favor of m_getcl() or m_getl() in order to
take advantage of cluster caching.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Thu Mar 31 19:28:54 2005 UTC (9 years, 7 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_Stable, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2
Diff to: previous 1.28: preferred, unified
Changes since revision 1.28: +2 -0 lines
Move the setting of sopt->sopt_dir down into the lower level sogetopt()
and sosetopt() procedures.  NFS was calling the low level procedures without
setting sopt_dir which prevented TCP_NODELAY from being set for NFS TCP
mounts, resulting in poor performance.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Mon Mar 28 19:53:30 2005 UTC (9 years, 7 months ago) by hsu
Branches: MAIN
Diff to: previous 1.27: preferred, unified
Changes since revision 1.27: +12 -6 lines
Keep a hint for the last packet in the singly-linked list of packets
in a sockbuf in order to convert the cost of append operations from
O(n) to O(1).

Revision 1.27: download - view: text, markup, annotated - select for diffs
Thu Jan 13 23:05:32 2005 UTC (9 years, 9 months ago) by dillon
Branches: MAIN
Diff to: previous 1.26: preferred, unified
Changes since revision 1.26: +8 -2 lines
When re-connecting an already connected datagram socket be sure to clean
up its pending error state, which may be set in some rare conditions
resulting in the connect() syscall returning a bogus error and making
application believe that the attempt to change association has failed,
when in fact it has succeeded.

Submitted-by: Maxim Sobolev <sobomax@FreeBSD.org>
Taken-from: FreeBSD/1.225 (Maxim Sobolev)

Revision 1.26: download - view: text, markup, annotated - select for diffs
Wed Dec 8 23:59:01 2004 UTC (9 years, 10 months ago) by hsu
Branches: MAIN
Diff to: previous 1.25: preferred, unified
Changes since revision 1.25: +5 -1 lines
Cache a pointer the last mbuf in the sockbuf for faster insertion.
Update it on sockbuf insertion and deletion and on user reads.
Add a new sbappendstream() function that inserts in constant time.
Use it for TCP.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Aug 11 02:24:16 2004 UTC (10 years, 2 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_Snap29Sep2004, DragonFly_Snap13Sep2004
Diff to: previous 1.24: preferred, unified
Changes since revision 1.24: +19 -19 lines
Discard accepted and pending connections after we detach the listen socket
rather then before in order to be sure to catch any connections that occur
while we are attempting to detach the listen socket.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Thu Jul 8 22:07:34 2004 UTC (10 years, 3 months ago) by hsu
Branches: MAIN
CVS tags: DragonFly_1_0_REL, DragonFly_1_0A_REL
Diff to: previous 1.23: preferred, unified
Changes since revision 1.23: +49 -0 lines
Add the standard DragonFly copyright notice to go along with mine.

Approved by:	Matt

Revision 1.23: download - view: text, markup, annotated - select for diffs
Fri Jul 2 15:31:17 2004 UTC (10 years, 4 months ago) by joerg
Branches: MAIN
Diff to: previous 1.22: preferred, unified
Changes since revision 1.22: +2 -2 lines
Remove cast as lvalue

Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Jun 6 19:16:06 2004 UTC (10 years, 4 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_1_0_RC1
Diff to: previous 1.21: preferred, unified
Changes since revision 1.21: +1 -2 lines
Remove the canwait argument to dup_sockaddr().  Callers of dup_sockaddr()
all assume that it just works, so it really has to work.  Since interrupts
are now threads we can use M_INTWAIT.  While it is possible that a memory
deadlock issue exists here (e.g. if swapping over NFS), it isn't likely in
this case.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Wed Jun 2 14:42:57 2004 UTC (10 years, 5 months ago) by eirikn
Branches: MAIN
Diff to: previous 1.20: preferred, unified
Changes since revision 1.20: +10 -10 lines
Change mbug allocation flags from M_ to MB_ to avoid confusion with malloc
flags.

Requested by: Jeffrey Hsu

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed May 26 14:12:34 2004 UTC (10 years, 5 months ago) by hmp
Branches: MAIN
Diff to: previous 1.19: preferred, unified
Changes since revision 1.19: +0 -1 lines
Consolidate SYSCTL_DECL(_kern_ipc), move it to sys/sysctl.h as
a common second-level OID.

No operational changes.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Wed May 12 20:21:21 2004 UTC (10 years, 5 months ago) by hmp
Branches: MAIN
Diff to: previous 1.18: preferred, unified
Changes since revision 1.18: +3 -9 lines
In sodealloc(), use do_setopt_accept_filter() to free an accept filter
instead of doing it manually.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Wed Apr 28 06:59:27 2004 UTC (10 years, 6 months ago) by joerg
Branches: MAIN
Diff to: previous 1.17: preferred, unified
Changes since revision 1.17: +2 -0 lines
Conditionalize accept_filter variable on defined(INET).

Revision 1.17: download - view: text, markup, annotated - select for diffs
Sat Apr 10 00:48:06 2004 UTC (10 years, 6 months ago) by hsu
Branches: MAIN
Diff to: previous 1.16: preferred, unified
Changes since revision 1.16: +2 -0 lines
Add predicate message facility.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sat Mar 27 11:48:48 2004 UTC (10 years, 7 months ago) by hsu
Branches: MAIN
Diff to: previous 1.15: preferred, unified
Changes since revision 1.15: +88 -6 lines
Give UDP its own sosend() function.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri Mar 5 16:57:15 2004 UTC (10 years, 7 months ago) by hsu
Branches: MAIN
Diff to: previous 1.14: preferred, unified
Changes since revision 1.14: +7 -2 lines
Once we distribute socket protocol processing requests to different
processors, we no longer have a process context to refer to, so
eliminate the use of curproc in soreserve() by passing the sockbuf
resource limit all the down from the system call code to sbreserve().

Eliminate the use of curproc in unp_attach() by passing down the
fields it needs from the proc structure.  Define a pru_attach_info
structure to hold the information the attach usrreq function requires.

The thread argument to in_pcballoc() is unused, so we don't need
to pass a thread structure down to in_pcballoc().

Revision 1.14: download - view: text, markup, annotated - select for diffs
Thu Mar 4 10:29:23 2004 UTC (10 years, 7 months ago) by hsu
Branches: MAIN
Diff to: previous 1.13: preferred, unified
Changes since revision 1.13: +43 -40 lines
Introduce access methods for making protocol requests.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Feb 10 15:45:43 2004 UTC (10 years, 8 months ago) by hmp
Branches: MAIN
Diff to: previous 1.12: preferred, unified
Changes since revision 1.12: +7 -1 lines
Merge: FreeBSD (RELENG_4) uipc_socket.c rev. 1.68.2.24

	Don't allow listen() on already connected sockets, otherwise
	the socket enters a bad state which results in a panic.  In
	this case, solisten() returns EINVAL as POSIX mandates.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Sep 22 20:04:33 2003 UTC (11 years, 1 month ago) by hsu
Branches: MAIN
Diff to: previous 1.11: preferred, unified
Changes since revision 1.11: +1 -1 lines
For performance reasons, kernel sends should not be subject to sockbuf
limit checks.  This revert FreeBSD rev 1.111.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Wed Sep 3 16:30:12 2003 UTC (11 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.10: preferred, unified
Changes since revision 1.10: +1 -1 lines
Adding missing '|' from last commit.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Sep 3 12:58:05 2003 UTC (11 years, 1 month ago) by hmp
Branches: MAIN
Diff to: previous 1.9: preferred, unified
Changes since revision 1.9: +8 -1 lines
Introduce a new poll operation bit, `POLLINGIGNEOF'.  It is used for
ignoring EOFs on a FIFO.  POLLIN/POLLRDNORM is converted withing the
FIFO implementation to effect the correct behaviour.

Yes... POLLINIGNEOF flag name is a bit hard on the eyes. :-(

Obtained from:  	FreeBSD

More information:	FreeBSD GNATS (PR #34020)

Revision 1.9: download - view: text, markup, annotated - select for diffs
Sun Aug 24 23:07:07 2003 UTC (11 years, 2 months ago) by hsu
Branches: MAIN
Diff to: previous 1.8: preferred, unified
Changes since revision 1.8: +2 -5 lines
Add support for Protocol Independent Multicast.

Submitted to FreeBSD by:	Pavlin Radoslavov <pavlin@icir.org>

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sat Jul 26 19:42:11 2003 UTC (11 years, 3 months ago) by rob
Branches: MAIN
Diff to: previous 1.7: preferred, unified
Changes since revision 1.7: +11 -11 lines
Register keyword removal

Approved by: Matt Dillon

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sat Jul 19 21:14:39 2003 UTC (11 years, 3 months ago) by dillon
Branches: MAIN
Diff to: previous 1.6: preferred, unified
Changes since revision 1.6: +2 -2 lines
Remove the priority part of the priority|flags argument to tsleep().  Only
flags are passed now.  The priority was a user scheduler thingy that is not
used by the LWKT subsystem.  For process statistics assume sleeps without
P_SINTR set to be disk-waits, and sleeps with it set to be normal sleeps.

This commit should not contain any operational changes.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sun Jul 6 21:23:51 2003 UTC (11 years, 3 months ago) by dillon
Branches: MAIN
Diff to: previous 1.5: preferred, unified
Changes since revision 1.5: +3 -3 lines
MP Implementation 1/2: Get the APIC code working again, sweetly integrate the
MP lock into the LWKT scheduler, replace the old simplelock code with
tokens or spin locks as appropriate.  In particular, the vnode interlock
(and most other interlocks) are now tokens.  Also clean up a few curproc/cred
sequences that are no longer needed.

The APs are left in degenerate state with non IPI interrupts disabled as
additional LWKT work must be done before we can really make use of them,
and FAST interrupts are not managed by the MP lock yet.  The main thing
for this stage was to get the system working with an APIC again.

buildworld tested on UP and 2xCPU/MP (Dell 2550)

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Jun 26 02:17:45 2003 UTC (11 years, 4 months ago) by dillon
Branches: MAIN
CVS tags: PRE_MP
Diff to: previous 1.4: preferred, unified
Changes since revision 1.4: +2 -3 lines
Introduce cratom(), remove crcopy().

Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Jun 25 03:55:57 2003 UTC (11 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.3: preferred, unified
Changes since revision 1.3: +41 -66 lines
proc->thread stage 4: rework the VFS and DEVICE subsystems to take thread
pointers instead of process pointers as arguments, similar to what FreeBSD-5
did.  Note however that ultimately both APIs are going to be message-passing
which means the current thread context will not be useable for creds and
descriptor access.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Jun 23 17:55:41 2003 UTC (11 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.2: preferred, unified
Changes since revision 1.2: +4 -4 lines
proc->thread stage 2: MAJOR revamping of system calls, ucred, jail API,
and some work on the low level device interface (proc arg -> thread arg).
As -current did, I have removed p_cred and incorporated its functions
into p_ucred.  p_prison has also been moved into p_ucred and adjusted
accordingly.  The jail interface tests now uses ucreds rather then processes.

The syscall(p,uap) interface has been changed to just (uap).  This is inclusive
of the emulation code.  It makes little sense to pass a proc pointer around
which confuses the MP readability of the code, because most system call code
will only work with the current process anyway.  Note that eventually
*ALL* syscall emulation code will be moved to a kernel-protected userland
layer because it really makes no sense whatsoever to implement these
emulations in the kernel.

suser() now takes no arguments and only operates with the current process.
The process argument has been removed from suser_xxx() so it now just takes
a ucred and flags.

The sysctl interface was adjusted somewhat.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Jun 17 04:28:41 2003 UTC (11 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.1: preferred, unified
Changes since revision 1.1: +1 -0 lines
Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids.  Most
ids have been removed from !lint sections and moved into comment sections.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Jun 17 02:55:07 2003 UTC (11 years, 4 months ago) by dillon
Branches: MAIN
CVS tags: FREEBSD_4_FORK
import from FreeBSD RELENG_4 1.68.2.22

Diff request

This form allows you to request diffs 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.

Log view options