> * Performance - much faster read/write access to data in /tmp
Is this really true? Writes to /tmp will go to the page cache, which I believe is an identical path whether /tmp is backed by disk or by tmpfs. Similarly reads from /tmp will come from the page cache except where pages have been evicted in the case of a disk-backed /tmp, which cannot happen with tmpfs.
fsyncs on /tmp will be slower. Whether that's a problem depends on the application. But do we need to use tmpfs to eliminate that? Is there a better way of just swallowing syncs (eatmydata style), which would have the same effect?
The big disadvantage of a tmpfs /tmp is that it cannot be paged out, and thus puts pressure on available system RAM. One failure case is a sysadmin expecting it to be backed to disk (and therefore be big), using it for something temporary, and then killing the system due to memory starvation.
> * Security - sensitive data would be cleared from memory on boot, rather than written (leaked) to disk -- important for encryption scenarios
If this is important then surely the user is encrypting the filesystem on disk anyway?
> * Performance - much faster read/write access to data in /tmp
Is this really true? Writes to /tmp will go to the page cache, which I believe is an identical path whether /tmp is backed by disk or by tmpfs. Similarly reads from /tmp will come from the page cache except where pages have been evicted in the case of a disk-backed /tmp, which cannot happen with tmpfs.
fsyncs on /tmp will be slower. Whether that's a problem depends on the application. But do we need to use tmpfs to eliminate that? Is there a better way of just swallowing syncs (eatmydata style), which would have the same effect?
The big disadvantage of a tmpfs /tmp is that it cannot be paged out, and thus puts pressure on available system RAM. One failure case is a sysadmin expecting it to be backed to disk (and therefore be big), using it for something temporary, and then killing the system due to memory starvation.
> * Security - sensitive data would be cleared from memory on boot, rather than written (leaked) to disk -- important for encryption scenarios
If this is important then surely the user is encrypting the filesystem on disk anyway?