Ticket #2194 (new enhancement)

Opened 10 years ago

Last modified 4 years ago

Use no caching mode for copy/move(=copy to a new media and remove) files operations

Reported by: birdie Owned by:
Priority: major Milestone: Future Releases
Component: mc-core Version: master
Keywords: Cc: gotar@…
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

For file(s) copy operation, please, consider using Linux syscall madvise()/fadvise() with DONTNEED parameter not to clog system RAM with unnecessary file caching. In absolutely most circumstances you copy file but you don't want these files to be cached.

Something like:

[X] Don't cache files being copied

PS This option does apply to "Move file(s)" operation when a new destination is a different media/FS/VFS.

Change History

comment:1 Changed 10 years ago by ossi

again, i disagree with a user-visible option. the mode should be simply automatically entered when the total size of the operation (i.e., sum of all file sizes) exceeds the smaller value of a) a certain percentage of the system's physical memory and b) possibly some fixed number representing a reasonable working set. this also fits the actual usage pattern, as it is more likely that a small amount of data is going to be used again soon than a big one.

comment:2 Changed 10 years ago by birdie

I was afraid MC developers would be against implementing it, but if there's a consent, I believe this feature could be enabled unconditionally.

comment:3 Changed 9 years ago by gotar

  • Cc gotar@… added

I'd like to have this as an option, because there's no heuristic that can guess if I need such files or not in a time. The only unquestionably case is file size>RAM (I've got Compute Totals disabled, so when sum of the files exceeds RAM it's already too late to worry aboud cache).

comment:4 Changed 9 years ago by angel_il

  • Milestone changed from 4.7.3 to 4.7

comment:5 Changed 9 years ago by birdie

  • Milestone changed from 4.7 to 4.8

In case someone thinks about implementation, it's very simple: for source files we have to use fadvise() or madvise() call.

comment:6 Changed 4 years ago by andrew_b

  • Branch state set to no branch
  • Milestone changed from 4.8 to Future Releases
Note: See TracTickets for help on using tickets.