Matthew Dillon said:
> :Matt,
> :
> :Does datasize limit the number of backed pages, or the amount of address
> :space used by a process?  I.e., can I grow myself a large chunk of address
> :space using mmap to the same region of a file, and then read into that
> :large chunk (presumably larger than the cache size if I want to be nasty)?
> :If datasize only affects backed pages, then we can still do nasty large
> :copies; if it affects address space, then nasty large copies are limited
> :to the size of the writable address space (if using readv) or the size of
> :the largest contiguous writable space (if using read).
> :
> :  Robert N Watson 
> :
> :rob...@fledge.watson.org              http://www.watson.org/~robert/
> :PGP key fingerprint: 03 01 DD 8E 15 67 48 73  25 6D 10 FC EC 68 C1 1C
> 
>     The 'datasize' limit does not effect mmap(), only brk/sbrk.  So,
>     in fact, I believe you can bypass the datasize limit by allocating
>     anonymous memory using mmap().
> 
>     This is probably a bug.  We should either limit the mmap()able space to 
>     about the same size as the data segment limit, or keep track of the
>     amount of anonymous mapped memory and count that in the datasize
>     limit.
> 
FYI, the information that provides the virtual space used by a map (process)
is in the vm_map data structure (so you don't need to reinvent it.)  It is
now used by PS also.

-- 
John                  | Never try to teach a pig to sing,
dy...@iquest.net      | it makes one look stupid
jdy...@nc.com         | and it irritates the pig.

To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to