LoginSignup
7
1

More than 5 years have passed since last update.

Linux 4.14のリリースで気になるものをつまむ

Last updated at Posted at 2017-12-17

この記事は、株式会社ACCESS Advent Calendar 2017の12日目の記事です。


linux 4.14 LTS

リリースされた中で個人的に気になる機能をピックアップしていこうかと思います。

5段階ページングサポート

カーネルのサポートするメモリアドレス空間が大きくなります。
これまでは 256TiB 仮想アドレス、64TiB リアルアドレスのサポートだったのが 128PiB 仮想アドレス、4PiBリアルアドレスまで認識できるようになりました。

1モジュール 128GiB が市販され始めているので未来を見据えてという感じでしょう。
8枚で 1TiB なのでそろそろモンスターマシンはメモリがTiB単位でないと人権がないとか言われるんでしょうか。

アセンブラ部分のコードを解説している人がlinux アドベントカレンダーにいたので紹介。
http://retrage01.hateblo.jp/entry/2017/12/13/202209

送信ソケットのZero copy

ユーザープロセスからネットワークでデータを送信する際に一度カーネル空間上にコピーして送信していたのをPTEの操作でコピーをしないようになります。
ただし、メモリを送信前に書き換えてしまうと送信データが変わってしまうので注意。
単純にフラグを変更すれば早くなるというものではないので既存のコードと相談する部分が大きそうです。

利用するためには send のフラグに MSG_ZEROCOPY をつける必要があります。
10KB以上の送信であればつけて送るほうが早くなるとのこと。

詳しい利用法はこちら
https://www.kernel.org/doc/html/latest/networking/msg_zerocopy.html#socket-setup

論文
https://netdevconf.org/2.1/papers/debruijn-msgzerocopy-talk.pdf

論文上のパフォーマンスの比較だと
16KBでシステムサイクルが30%,ユーザーサイクルで80%の削減効果があるようです。

終わりに

linuxを使う人ならほとんどの人が関係あるというところで2つ紹介しました。
もっと深堀していきたかったですができずじまい…

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1