TechCenterから移行されたテクニカル リソース 2018年8月時点で、アクティブなTechCenterのコンテンツが移行され、Dell.com のDellサポートの一部になり、フォーラムがDellコミュニティに移行されました。 概要: 2018年8月時点で、アクティブなTechCenterのコンテンツが移行され、Dell.com のDellサポートの一部になり、フォーラムがDellコミュニティに移行されました。
【お願い】私はLinuxカーネルもネットワーク周りも素人です。ここに書いてある事は間違えている可能性もあるのでおかしいなと思ったらすかさず突っ込んでください。宜しくお願い致します。 今回は、この記事の内容を全面的に見直して、再度Linuxのネットワークスタックのスケーラビリティについてまとめようと思います。 従来のLinuxネットワークスタック+従来のシングルキューNIC 以下の図は従来のLinuxネットワークスタック+従来のシングルキューNICで、あるプロセス宛のパケットを受信している時の処理の流れを表している。フォワーディングの場合やプロトコルスタック内の処理は割愛した。 プロセスがシステムコールを発行してからスリープするまで プロセスは、システムコールを通してカーネルにパケットを取りに行く。 パケットはソケット毎のバッファに貯まるようになっているが、バッファが空だったらプロセスはパケ
カーネルや仮想マシンなどを代表とした、低レイヤーな話題でわいわい盛り上がるマニアックな勉強会です。 低レイヤー技術を勉強している人達の交流の場に出来ればと思います。 Linux・*BSD・Plan9・Windowsなどの各種OSのデベロッパー/ヘビーユーザー、セキュリティ界隈の方々、競技プログラミング方面や難読化プログラミングが趣味な方、VMMの研究者の方、社宅でBGP組みたい方、などなど様々な分野で御活躍中の方々に幅広くご参加頂いております。 発表内容は参加者の人種に偏りがありますので若干OS・VMM・ハードウェア・プログラミング言語などの話題に偏りがちですが、一応ノージャンルという事で、楽しければなんでもOK!というスタンスです。 是非貴方も発表しに来て下さい。 初参加なのでまずはLTをやってみよう!というのを推奨しています。
Linux Daily Topics 2010年11月18日"ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード Linus Torvalds氏という人は、少なくともメールの中では、かなりはっきりと感情を表に出す。誰かor何かに対して怒っているときは相手を名指しで批判(というより非難)し、逆にうれしいときはあふれる喜びを隠そうとしない。今回紹介するのは後者のほう。「I'm also very happy」「it is a _huge_ improvement」「Good job.」など、喜びと称賛の表現がたくさん書かれているメールだ。 Linus氏を歓喜させたのは、カーネル開発に携わるMike Galbraith氏が書いた233行のカーネルスケジューリングパッチ。このパッチを適用すると、デスクトップ環境においてパフォーマンスが著しく向上するという。
Linuxカーネルの話を知りたいなーってんで、『Linuxカーネル解読室』の輪講を始めました。とりあえず、カーネルのソースをがりがり読み込むというよりは、ざっくりと動作を把握しようという感じで。今日の初回は、第1章「プロセススケジューリング」を読みました。この分野にまったくもって不案内なので、難しい……。少しづつでも理解を進めたいです。 以下に資料を貼り付けておきます。実際には、id:naoyaをはじめとした参加者によるフォローに助けられて進めた感じなので、資料だけだといろいろとアレな面もあるとは思います。 Linuxカーネル2.6解読室 作者: 高橋浩和,小田逸郎,山幡為佐久出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/18メディア: 単行本購入: 13人 クリック: 189回この商品を含むブログ (116件) を見る [24時間365日] サーバ/インフラを支
Section: Linux Programmer's Manual (3) Updated: 2007-12-28 Index JM Home Page roff page 名前 LIST_ENTRY, LIST_HEAD, LIST_INIT, LIST_INSERT_AFTER, LIST_INSERT_HEAD, LIST_REMOVE, TAILQ_ENTRY, TAILQ_HEAD, TAILQ_INIT, TAILQ_INSERT_AFTER, TAILQ_INSERT_HEAD, TAILQ_INSERT_TAIL, TAILQ_REMOVE, CIRCLEQ_ENTRY, CIRCLEQ_HEAD, CIRCLEQ_INIT, CIRCLEQ_INSERT_AFTER, CIRCLEQ_INSERT_BEFORE, CIRCLEQ_INSERT_HEAD, CIRCLEQ
よく C10K 問題とかいって epoll(7) の話が出てきて select(2) 遅いね poll(2) 遅いねってなるんだけど、正直なところ、これらのシステムコールを実際に使ってコードを書いてみたひとはどのくらいいるのだろう。ましてや eventpoll が何やってるか知っている人はそんなに多くないんじゃないだろうか。もう O(n) だの O(1) だのって煙に巻かれるのもうんざりだ。 というわけで、2.6.26 の fs/eventpoll.c のコードを読んでみた。正直 Linux カーネルにすごく詳しいわけでもないので、誤りがあったら適宜突っ込んでもらえると幸いです。 前提知識として VFS モジュールがどうなってるかとかは LinuxのFSモジュールを書いてみる LinuxのFSモジュールを書いてみる (その2) のソース中のコメントを追ってもらえればと。 登場する構造体 e
諸卿もご存知の通り、Linuxのメモリアロケーションはmalloc(), mmap()した段階ではメモリ割付をせず、最初にメモリにアクセスしたときに行うという俗に「first touch」と呼ばれるアロケーションポリシーを採用している。 さて、んでは、このmmap()したけどまだ実際にはメモリ割付されているないアドレスにたいしてmlock()したらどうなるか。 というと、この時点でメモリ割付が走る。 走るのはいいんだが、これがまたベラボーに遅い。 別にLinuxカーネルのアルゴリズムが悪いわけではなくて、メモリ割付をする=そのページを0クリアするという事なので、DRAMのアクセス速度が超えられない壁となって立ちはだかるわけだ。 じゃあ、どのくらい時間がかかるか計算してみよう。 まず、DRAMをDDR2 PC5300と仮定しよう。イマドキ、こんなもんよね。 これでアクセス速度理論値 5300
Linuxシステム追跡・デバッグ機能「SystemTap」の開発チームは9月22日、「SystemTap 1.0」を発表した。GNU GPLの下で公開、プロジェクトのWebサイトより各Linuxディストリビューション向けのインストール情報を公開している。 SystemTapは、「Solaris OS」の「DTrace」に相当するもので、2005年にプロジェクトがスタートした。スクリプトを利用してLinuxカーネルとアプリケーションの実行状況を詳細に分析するフレームワークで、開発者はリコンパイル、インストール、リブートなしにデータを収集できるという。プロジェクトは米Red Hat、米IBM、米Intel、米Oracle、日立製作所らの支援を受けており、「Red Hat Enterprise Linux」に同梱されている。 バージョン1.0では、実験機能として特権のないユーザーへのサポートが加
Linuxでパケット受信契機のタイムスタンプ採取方法。 ユーザーアプリからはsetsockoptでSO_TIMESTAMPを設定しておき、recvmsgで受信する都度せっせとCMSG_DATA(cmsg)経由で取得する形での仕組みが用意されている。具体的なコーディングサンプルだと char inbuf[BUFSIZ]; char cmsgbuf[CMSG_SPACE(sizeof(struct timeval))]; struct cmsghdr *cmsg; struct msghdr msghdr; struct iovec msg_iov; struct timeval *pTime, tv; const int on = 1; setsockopt(sock, SOL_SOCKET, SO_TIMESTAMP, &on, sizeof(on)); msg_
identd というのは,いわゆる ident プロトコル(RFC 1413)を実装したデーモンの総称です.最近は使われる場面も減ってきたかもしれませんが,DSAS では一部この identd の返答結果に基づいてアクセスの可否を決定しているサービスが存在します(※1).そのため,identd の返答速度は重要になります. ※1 ident プロトコルは,クライアントからサーバ側への TCP 接続に関して,サーバ側がクライアント側に,その TCP 接続を所有しているユーザは誰であるかを問い合わせるためのものです.問い合わせた結果を何に用いるかはサーバ次第ですが,その仕組み上,問い合わせるサーバ側は問い合わせ先となるクライアント側の identd が自分が期待した回答を返してくれるものと信頼していることが前提となります.つまり,インターネット上のクライアントの identd の返答に基づいて
�$B%U%l!<%`?d>)$G$9$,!"�(B<A HREF="index_jp.html">�$B0l1~8+$k$3$H$O$G$-$^$9�(B</A>�$B!#�(B
*1 といってもTOPPERS JSPカーネルでは定義されていないみたいですが。。。 *2 #仕様書では高度な同期通信が先に来ますが、スタンダードプロファイルではサポートしなくても良いので、飛ばして、後にします *3 普通は、企業という集団でみているけれども、自分たちが属している集団が経済効率よく・他の集団よりもより優れた問題解決をしていくといった観点で見たい。だから、企業ではなく、集団としました。 Link: LinuxDriverへの道18?(6d) 練習用ページ(133d) wikiとは?(175d) ビジモテなギークへの道(324d) リンク(356d) ビジモテなギークへの道4(398d) umeへのコメント(421d) ビジモテギークへの道---会計概論編(425d) ビジモテギークへの道---経済学概論編(425d) ビジモテなギークへの道2(456d) ビジモテなギークへの
トップページへ Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。 目次まえがき第0章 Linuxカーネルの構成要素 0.1 Linuxカーネルとは 0.2 Linuxカーネルのソースコード 0.3 Linuxカーネル機能の概要 0.4 カーネルプリミティブ 0.5 プロセス管理 0.6 メモリ管理 0.7 ファイルシステム 0.8 ネットワーク 0.9 プロセス間通信 0.10 Linuxカーネルの起動 0.11 Linuxカーネルの動作例 Part 1 カーネルプリミティブ第1章 プロセススケジューリング 1.1 マルチタスク 1.2 プロセスとは? 1.3 プロセス切り替え 1.4 プロセスディスパッチャの実装 1.5 プロセススケジューラ 1.6 プロセススケジューラの実装 1.7 事象の待ち合わせ 1.8 最
5月版 Firefoxのプチフリーズ問題から始まった大論争 小崎資広 2009/6/1 今回メインのネタとして取り上げたFirefoxの「プチフリーズ問題」ですが、その後調べたところ、WindowsやMacでも問題になっているようですね。「firefox sqlite」で検索するといっぱいヒットしました。 今回の件は、アプリケーションのミスでもカーネル側で無理やり何とかしてしまうLinuxの実利主義の真骨頂が表れたんじゃないかと僕は思っています。皆さんはどう思いますか? それでは、どうぞ! それはFirefoxのプチフリーズ問題から始まった すでに各方面で話題になっていますが、2.6.30のマージウィンドウでext3のトピックが荒れに荒れ、とんでもない騒ぎが起こっていました。 問題の発端は、あるFirefoxのbugzillaエントリから始まりました(注1)。「Linux版Firefoxを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く