Subject: Re: fsync performance hit on 1.6.1
To: Matthias Buelow <mkb@mukappabeta.de>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 07/08/2003 23:44:41
[ On Wednesday, July 9, 2003 at 04:54:18 (+0200), Matthias Buelow wrote: ]
> Subject: Re: fsync performance hit on 1.6.1
>
> Greg A. Woods writes:
> 
> >What do _you_ mean by "multiplexed"?  And are you talking explicitly
> >about message queues in particular?
> 
> Yes, of course.

We already knew that we couldn't poll() on message queues, so what do
_you_ mean by "multiplexed"?

> A feature?  Resources that don't get freed because a per-process
> reference count is missing?  Just imagine what the situation would
> be if files weren't closed when a process terminates (involuntarily).

Yes, a feature -- they are independent entities that can remain in place
between process invocations.  (just like files :-)

> It's not an implementation bug if you don't know if the identifier
> you see in ipcs is still in use (and deleting it might crash the
> process using it) or if it's free (and thus could safely be ipcrm'd).

You can easily tell what process last used an IPC facility: "ipcs -p"

> Of course a fully implemented, sensible, standardized API is
> preferrable in the long run.  I don't know the story of the SysV IPC
> stuff but it's very likely that it was a quick ad-hoc thing written
> without proper design in order to provide the necessary IPC mechanism
> for some specific software that needed to be written.

SysV IPC wasn't a "quick ad-hoc thing" as far as I can tell.  It is very
generic and was apparently designed to provide an integrated set of
generic IPC facilities that could be used safely and reliably in
production environments.  I once used SysV IPC to build some of the core
communications software in an application that was used to control
real-world railroad switches and signals.  I've used it in lots of other
kinds of applications too.

>  It predates BSD
> sockets in any case

Hmmm... I don't know about that for sure...

> (wasn't it already available in SysIII?)

Nope.  They call it SysV IPC for a reason....

(SCO back-ported it to an earlier version of XENIX, but did so badly and
with some nasty bugs.)

-- 
								Greg A. Woods

+1 416 218-0098;            <g.a.woods@ieee.org>;           <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>