Alan Altmark writes:
> On Thursday, 07/09/2015 at 04:25 EDT, Mark Post <mp...@suse.com> wrote:
> > > The next question is - can this ever be done by a non-root user? I
> tried
> >
> > No.
> > # ls -l /proc/sys/vm/drop_caches
> > -rw-r--r-- 1 root root 0 Jul  9 16:23 /proc/sys/vm/drop_caches
>
> Thank heavens!   That's all we need -- unprivileged users messing with the
> cache....

Even unprivileged programs have limited and controlled access to
influencing the caching behaviour for files that they deal with,
whether via read/write or mapped into memory. There are the POSIXy
interfaces:
  madvise(..., MADV_RANDOM) and fadvise(..., POSIX_FADV_RANDOM)
  madvise(..., MADV_SEQUENTIAL) and fadvise(..., POSIX_FADV_SEQUENTIAL)
Similarly WILLNEED, DONTNEED and a few extras like:
  fsync(...)
  fdatasync(...)
and one or two where the APIs or functionality aren't as standardised
or common like readahead(...).

Linux has "per-open-file" tracking of readahead window information and
per-page marks in the page cache itself and does a good job of deducing
the right amount of sync/async readahead based on access pattern and
memory pressure in most common cases. However, it's nice to be able to
give it a hint or two (e.g. "I'm going to stream through this file once
and then won't need it again") while continuing to use the usual simple
file APIs without having to mess around reinventing your own buffering
or fiddle around with separate threads, async I/Os or separate access
methods (or equivalent) in O/Ses where caching is all-or-nothing or
privileged-control-only.

--Malcolm

--
Malcolm Beattie
Linux and System z Technical Consultant, zChampion
IBM UK Systems and Technology Group

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to