Re: Re: [PATCHES] A patch for xlog.c - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Re: [PATCHES] A patch for xlog.c
Date
Msg-id 26392.983204605@sss.pgh.pa.us
Whole thread Raw
In response to Re: Re: [PATCHES] A patch for xlog.c  (ncm@zembu.com (Nathan Myers))
Responses Re[2]: Re: [PATCHES] A patch for xlog.c  (jamexu <jamexu@telekbird.com.cn>)
List pgsql-hackers
ncm@zembu.com (Nathan Myers) writes:
> This is supported on Linux and BSD, but not on Solarix 7.  It's not 
> necessary; you can just map /dev/zero on SysV systems that don't 
> have MAP_ANON.

HPUX says:
    The mmap() function is supported for regular files.  Support for any    other type of file is unspecified.

> But I don't know of any reason to avoid mapping an actual inode,

How about wasted I/O due to the kernel thinking it needs to reflect
writes to the memory region back out to the underlying file?

> Since mmap() is how everybody implements shared libraries,

Now *there's* a sweeping generalization.  Documentation of this
claim, please?

> The mmap architecture comes to us from the Mach microkernel memory
> manager, backported into BSD and then copied widely.

If everyone copied the Mach implementation, why is it they don't even
agree on the spellings of the user-visible flags?


This looks a lot like exchanging the devil we know (SysV shmem) for a
devil we don't know.  Do I need to remind you about, for example, the
mmap bugs in early Linux releases?  (I still vividly remember having to
abandon mmap on a project a few years back that needed to be portable
to Linux.  Perhaps that colors my opinions here.)  I don't think the
problems with shmem are sufficiently large to justify venturing into
a whole new terra incognita of portability issues and kernel bugs.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Re: [PATCHES] A patch for xlog.c
Next
From: Ian Lance Taylor
Date:
Subject: Re: Re: [PATCHES] A patch for xlog.c