Feature #8681

Make it easy to run the test suite with a ramdisk mounted on its temporary directory

Added by intrigeri 2015-01-12 14:17:06 . Updated 2015-01-15 04:57:43 .

Status:
Rejected
Priority:
Normal
Assignee:
Category:
Test suite
Target version:
Start date:
2015-01-12
Due date:
% Done:

100%

Feature Branch:
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

  • add a --temp-dir-ramdisk [SIZE] option
  • the default value for SIZE would be whatever is needed by a full run of the test suite
  • if/when/once the required ramdisk size grows larger than what we can allocate on our isotesterN VMs, we’ll add swap and let the kernel deal with spreading data among the memory and disk; we’ll probably want to add a couple SSDs in RAID-0 to host these swap volumes, by the way

Subtasks


Related issues

Related to Tails - Feature #11175: Decrease I/O load created by isotesters on lizard Resolved 2016-02-27
Related to Tails - Bug #17088: Test suite became unreliable on Jenkins: OOM kills QEMU, OpenJDK memory allocation failure aborts the test suite run Resolved

History

#1 Updated by intrigeri 2015-01-13 16:29:57

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10

Actually, I’m investigating another solution, based on trusting Linux’ disk write caching instead of tmpfs + swap.

#2 Updated by intrigeri 2015-01-15 04:57:43

  • Status changed from In Progress to Rejected
  • Assignee deleted (intrigeri)
  • % Done changed from 10 to 100

Seems to work:

=> during a test suite run, given enough RAM is allocated, we’re writing to disk at >10MB/s during less than 15 minutes. So we don’t need to manage tmpfs, their size, mounting/unmounting etc. People should just allocate as much RAM as they can, and Linux should not write to disk unless needed.

When we start using /tmp/TailsToaster more intensively, we’ll get a better idea of how it’s going, but IMO the decision I’m taking here is already optimized for this future use case, as opposed to the current one, so I’m not worried. Worst case, we might need to tweak /proc/sys/vm/dirty_*.

#3 Updated by intrigeri 2016-02-27 14:46:21

  • related to Feature #11175: Decrease I/O load created by isotesters on lizard added

#4 Updated by intrigeri 2019-09-24 09:59:09

  • related to Bug #17088: Test suite became unreliable on Jenkins: OOM kills QEMU, OpenJDK memory allocation failure aborts the test suite run added