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