X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=LVM.m4;h=959d4cec09a9ca53ef395c7926880527d66c36aa;hb=be750347503fa460c4af938f5615d973abc8b7bc;hp=bf130769e1ccf4e73513c292de25f47bcc59ab32;hpb=b88565f31b0a7874e62a1dc9e97b9c944c11e41f;p=aple.git diff --git a/LVM.m4 b/LVM.m4 index bf13076..959d4ce 100644 --- a/LVM.m4 +++ b/LVM.m4 @@ -60,21 +60,18 @@ they can be submitted as a unit for performance reasons. The thusly processed bios then form an I/O request which is handed to an I/O scheduler (also known as elevator).

-

At this time of writing (2018-11) there exist two different sets -of schedulers: the traditional single-queue schedulers and the -modern multi-queue schedulers, which are expected to replace the -single-queue schedulers soon. The three single-queue schedulers, -noop, deadline and cfq (complete fair queueing), were designed for -rotating disks. They reorder requests with the aim to minimize seek -time. The newer multi-queue schedulers, mq-deadline, kyber, and bfq -(budget fair queueing), aim to max out even the fastest devices. As -implied by the name "multi-queue", they implement several request -queues, the number of which depends on the hardware in use. This -has become necessary because modern storage hardware allows multiple -requests to be submitted in parallel from different CPUs. Moreover, -with many CPUs the locking overhead required to put a request into -a queue increases. Per-CPU queues allow for per-CPU locks, which -decreases queue lock contention.

+

Traditionally, the schedulers were designed for rotating disks. +They implemented a single request queue and reordered the queued +I/O requests with the aim to minimize disk seek times. The newer +multi-queue schedulers mq-deadline, kyber, and bfq (budget fair +queueing) aim to max out even the fastest devices. As implied by +the name "multi-queue", they implement several request queues, +the number of which depends on the hardware in use. This has become +necessary because modern storage hardware allows multiple requests +to be submitted in parallel from different CPUs. Moreover, with many +CPUs the locking overhead required to put a request into a queue +increases. Per-CPU queues allow for per-CPU locks, which decreases +queue lock contention.

We will take a look at some aspects of the Linux block layer and on the various I/O schedulers. An exercise on loop devices enables the @@ -837,12 +834,12 @@ EXERCISES() target_args. Determine the correct values for the first three arguments to encrypt /dev/loop0. -

  • The target_args for the dm-crypt target are - of the form cipher key iv_offset device offset. To - encrypt /dev/loop0 with AES-256, cipher - is aes, device is /dev/loop0 and both - offsets are zero. Come up with an idea to create a 256 bit key from - a passphrase.
  • +
  • The target_args for the dm-crypt target are + of the form cipher key iv_offset device offset. To + encrypt /dev/loop0 with AES-256, cipher + is aes, device is /dev/loop0 + and both offsets are zero. Come up with an idea to create a 256 bit + key from a passphrase.
  • The create subcommand of dmsetup(8) creates a device from the given table. Run a command of