tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Implementation of POSIX shared memory objects



On Fri Jul 31 2009 at 00:45:25 +0100, Mindaugas Rasiukevicius wrote:
> Hello,
> 
> yamt%mwd.biglobe.ne.jp@localhost (YAMAMOTO Takashi) wrote:
> > > Here is the implementation of POSIX shared memory objects:
> > > 
> > > http://www.netbsd.org/~rmind/shm_memobj.diff

You've removed the diff, making it a bit hard to warm my cache.
The following is based on what I remember.

> > > Please review.
> > 
> > why did you choose to implement it in kernel?
> > 
> 
> After some thinking about this, I have few things to mention.
> 
> For many cases, it makes sense to dump this complexity out from the kernel,
> and use file-system layer (with eg. tmpfs). However:
> 
> - It could not provide determinism for real-time systems.

How do your memobjs provide determism?  IIRC they were pageable memory.
What's the difference between mlocking file system pages and mlocking
shm_memobj pages?

> - It would have significant overhead for embedded systems. High bandwidth and
>   performance is a requirement for POSIX shared memory.

How is writing to memory slower than writing to memory?

> - Similar bits of kernel functionality (and therefore some complexity) might
>   be needed if we plan to support POSIX typed memory objects.

I don't know about others, but for me this kind of speculative premature
"optimization" is a red alert for not taking that route now.


Home | Main Index | Thread Index | Old Index