1. vmlinuxのELFセクション 2. .parainstructionsセクション 2.1. PV_SITEマクロ 2.2.paravirt_altマクロ 3. .altinstructions、.altinstr_replacementセクション 4. apply_paravirt()、apply_alternative() 5. 休憩 執筆者 : 箕浦 真 1. vmlinuxのELFセクション 前回記事では、vmlinuxのinitセグメントに含まれる、.percpu、.init.text、.init.dataなどのセグメントについて調べた。今回はその続きで、そのinitセグメントに含まれている.parainstructions、.altinstructions、.altinstr_replacementの各セクションを取り上げる。これらは、初期化時にLinuxコード自体を書
極限まで詳細を省けば何とか20分で雰囲気だけでも伝えられるんじゃないかと思って書きました。書き終えてから見返したら多分無理なので誇大広告となったことを深くお詫び申し上げます。 背景 概要 脆弱性の影響 ページキャッシュやsplice パイプ マージの可否 下準備 攻撃手順 まとめ 背景 先日Dirty PipeというLinuxカーネルの脆弱性が公表されました。 dirtypipe.cm4all.com Linuxのパイプに関する脆弱性なのですが、仕組みは意外とシンプルでぎりぎりブログでも伝わるかもしれないと思ったので自分の理解を書きました。あといつも細かく書きすぎて長くなるので、今回は雰囲気だけでも伝わるようにとにかく説明を簡略化し、ふわっとした概要だけでも理解してもらえるように頑張りました。その結果、若干正確性に欠ける部分があるかもしれませんがお許しください。細かい部分はまた別の記事でま
Serving Netflix Video at 400Gb/s on FreeBSD Drew Gallatin EuroBSDCon 2021 Outline: ● Motivation ● Description of production platform ● Description of workload ● To NUMA or not to NUMA? ● Inline Hardware (NIC) kTLS ● Alternate platforms Motivation: ● Since 2020, Netflix has been able to serve 200Gb/s of TLS encrypted video traffic from a single server. ● How can we serve ~400Gb/s of video from the s
Analytics cookies are off for visitors from the UK or EEA unless they click Accept or submit a form on nginx.com. They’re on by default for everybody else. Follow the instructions here to deactivate analytics cookies. This deactivation will work even if you later click Accept or submit a form. Check this box so we and our advertising and social media partners can use cookies on nginx.com to better
IIJ ネットワーク本部アプリケーションサービス部・(兼)社長室所属。 メールサービスの運用業務に従事し、日々世界の悪と戦う一児の父親。社内 Power Automate エバンジェリスト(自称)。M3AAWG member / openSUSE Users / WIDE Project メンバー。趣味は大喜利。はがき職人。 復習: 妻のパソコンを Windows 7 から Windows 10 にアップグレードしたら使いにくいとキレられたので Linux にした件 今年に入ってから、妻のノート PC を再起動すると Emergency mode になって起動しない、という状況に頻繁に遭遇するようになりました。こんな感じのメッセージです。 *** An error occurred during the file system check. *** Dropping you to a sh
gettimeofday(2) はシステムコールなので、大量に発行すると%sysが上がると思っていたが、VDSOという仕組みでユーザー空間で実行されるので%userが上がるらしい。時刻取得みたいなちょっとした処理でシステムコールを発行してコンテキストスイッチするのって無駄が多いなって思ってたけど、そこはちゃんと考えられているんですね。 多くのアプリケーション負荷 (特にデータベースおよび財務サービスアプリケーション) は gettimeofday または類似の時間機能コールを非常に頻繁に実行します。 このコールの効率性を最適化すると、 大きな利点があります。 VDSO (Virtual Dynamic Shared Object) は、 ユーザースペースのアプリケーションがシステムコールよりも少ないオーバーヘッドで一部のカーネルアクションを実行できるようにする共有ライブラリです。 多くの場
ノート: rng-tools は Kernel 5.6 以降、/dev/random がブロックしなくなったので不要になりました [1] rng-tools はカーネルの乱数生成に関するユーティリティのセットです。メインのプログラムは rngd で、ハードウェアデバイスからカーネルのエントロピープールにランダムなデータを入力するために開発されたデーモンになります。 rng-tools は主にカーネルのエントロピーを増やして /dev/random を高速するために使われます。デフォルトでは、/dev/random はデバイスドライバなどの (遅い) ソースからしかエントロピーを収集しないため、極めて遅くなっています。rngd は高速なエントロピーソースを利用することが可能です。最新の AMD/Intel プロセッサ, Via Nano, あるいは Raspberry Pi などの新しいハー
The Battle of the Schedulers: FreeBSD ULE vs. Linux CFS Justinien Bouron, Sebastien Chevalley, Baptiste Lepers, and Willy Zwaenepoel, EPFL; Redha Gouicem, Julia Lawall, Gilles Muller, and Julien Sopena, Sorbonne University/Inria/LIP6 This paper analyzes the impact on application performance of the design and implementation choices made in two widely used open-source schedulers: ULE, the default Fr
The Linux Storage Stack Diagram shows the layout of the the Linux storage stack. Downloads Diagram for Linux Kernel 6.2 Linux Storage Stack Diagram v6.2 (for Linux Kernel 6.2 and 6.1): Linux I/O Stack Diagram v6.2 (20230309): ZIP (includes .drawio and .svg) PDF PNG Diagram for Linux Kernel 4.10 Linux Storage Stack Diagram v4.10 (for Linux Kernel 4.10): Linux I/O Stack Diagram v4.10 (20170310): SVG
はじめに Linux Advent Calendar 10 日目の記事です。 運用や研究開発の現場では、ソフトウェアの実験、または機器のテストや選定などのために、ベンチマークツールや自前のアプリケーションでコンピュータ間の通信速度を計測する機会が多々あると思います。一方で10Gbpsや40Gbpsといった昨今の高速ネットワークにおいては、これらの計測結果はアプリケーションの通信API部分の実装、カーネルパラメータまたはコンパイルオプションによって大きく変わってしまうため、正確な計測を行うためにはこれらを正しく設定/理解する必要があります。この記事では、ネットワーク周りのカーネルとアプリケーションの動作の概要と、その中の重要なポイントを理解することを目的にします。 ネットワークプログラミングのおさらい まず最初に、TCPを使う今時のサーバプログラムがどのようにできているか簡単におさらいします
はじめに こんにちは、技術顧問の武内です。 Linuxにはmultiple devices(以下md)と呼ばれるソフトウェアRAID機能があります。この機能はmdadmというツールを使って管理します。サイボウズのSREチームは、Ubuntu16.04のmdadmを検証をした際に次のような2つのバグを発見しました。 mdのresync*1時に使うwrite intent bitmap*2(以後bitmapと表記)のサイズが所定量を超える場合、mdを構成するストレージデバイスに不良セクタを検出した際にbitmapを破壊する mdのサイズ拡張時にbitmapの付与に失敗する これに関して、本エントリでは、次のようなことをお伝えしたいと思います。 これらのバグが具体的にどういうものなのか サイボウズはこのよう場合に、自分たちが使うものだけを修正するのではなくupstreamのOSSを修正するという
Created attachment 146761 [details] kernel config Aug 6 06:46:50 prod-ent-ceph03.dc2.ec.loc kernel: [29530.973225] ------------[ cut here ]------------ Aug 6 06:46:50 prod-ent-ceph03.dc2.ec.loc kernel: [29530.973236] WARNING: CPU: 2 PID: 0 at net/core/dev.c:2246 skb_warn_bad_offload+0xc8/0xd5() Aug 6 06:46:50 prod-ent-ceph03.dc2.ec.loc kernel: [29530.973238] : caps=(0x000000000419fba9, 0x000000000
Documentation extracted from the Linux kernel and mirrored on the web where Google can find it: html/latest - Kernel Documentation (mainline) html/next - Kernel Documentation (linux-next) README various README files scattered around Linux kernel source Output of kernel's "make help". Standards documents applicable to the Linux kernel Single Unix Specification v4 (Also known as Open Group Base Spec
オペレーティングシステムは、コンピュータのハードウェア管理、ファイル管理、データの入出力と管理、アプリケーションプログラムやユーティリティの実行、ユーザーとの対話などを効率的に行うための制御・処理プログラムの基本セットです。
Linux Kernel Networking takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won't burden you with topics not directly related to networking. This book will also not overload you with cumbersome line-by-line code walkthroughs not directly related to what you're searching for; you'll find
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く