No segfault during dsm_create,  mmap returns  the memory address  which is 
inaccessible. 
Let me see how can I disable kernel overcommit behaviour, but  IMHO,  we should 
prevent ourselves from crashing,  shouldn't we? 

Regards,  
Amul----------------------------------------------------------------------------------------------------
 Sent from a mobile device. Please excuse brevity and tpyos. 
 
  On Fri, 12 Aug, 2016 at 7:38 pm, Tom Lane<t...@sss.pgh.pa.us> wrote:   amul 
sul <sul_a...@yahoo.co.in> writes:
> When I am calling dsm_create on Linux using the POSIX DSM implementation can 
> succeed, but result in SIGBUS when later try to access the memory.  This 
> happens because of my system does not have enough shm space &  current 
> allocation in dsm_impl_posix does not allocate disk blocks[1]. I wonder can 
> we use fallocate system call (i.e. Zero-fill the file) to ensure that all the 
> file space has really been allocated, so that we don't later seg fault when 
> accessing the memory mapping. But here we will endup by loop calling ‘write’ 
> squillions of times.

Wouldn't that just result in a segfault during dsm_create?

I think probably what you are describing here is kernel misbehavior
akin to memory overcommit.  Maybe it *is* memory overcommit and can
be turned off the same way.  If not, you have material for a kernel
bug fix/enhancement request.

            regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
  

Reply via email to