2007-01-01から1年間の記事一覧

sys_unshareとnamespace

2.6.24-rc*ではVPS(Virtual Private Server)/コンテナの実現のためにnsproxyを利用した改良がいくつか入っている. 例えば,nsproxy->net_nsが追加されている.このnet_nsネームスペース/コンテナを共有するプロセスは同じloopbackデバイスを用いる.net_ns…

Memory Controler 開発状況

What can we do to get ready for memory controller merge in 2.6.25

メモリ管理(glibc malloc)資料

twitter で話題になっていたので,読んでた. glibc malloc 資料 革命の日々! の kosaki さんの資料. LWN の記事で OpenBSD は malloc に mmap を使うと読んだことはあったんですが, o malloc(3) has been rewritten to use the mmap(2) system call, int…

メモリ管理(ハードウェア&ソフトウェア)資料

"What every programmer should know about memory" - the PDF version [LWN.net] Abstract ... This paper explains the structure of memory subsystems in use on modern commodity hardware, illustrating why CPU caches were developed, how they work…

/proc/pid/maps のフラグ rwxp における p とは

マッピング領域がプライベートマッピングされていることを表す. プライベートファイルマッピングでは,マッピング領域への変更はマッピング対象ファイルに影響を与えない.例えば,gnome-terminal の maps を見ると, $ cat /proc/`pgrep gnome-terminal | …

the Ninth Real-Time Linux Workshop の論文

http://www.linuxdevices.com/news/NS2574496181.html LinuxDevices has published the full text of 28 papers from the Ninth Real-Time Linux Workshop, Nov. 2-3 in Linz, Austria. ... The papers are available free, and without registration, via t…

sizeof と kobjsize

上記に関連して. uClinuxで使う mm/nommu.c 中の重要関数 do_mmap_pgoff() では, ... struct vm_area_struct *vma = NULL; ... vma = kzalloc(sizeof(struct vm_area_struct), GFP_KERNEL); ... realalloc += kobjsize(vma); askedalloc += sizeof(*vma); …

スラブオブジェクトからサイズを取得するには(メモ)

kobjsize() スラブオブジェクトのアドレス objp から,オブジェクトサイズを取得する. kobjsize(スラブオブジェクトのアドレスobjp) ↓ ksize(objp) ↓ return obj_size(virt_to_cache(objp)) virt_to_cache() スラブオブジェクトのアドレス objp から キャッ…

メモリマッピングのデマンドページング - 2.6.23-mm1

(少なくとも2.6.22では) デマンドページング時は handle_pte_fault() から mm/memory.c do_no_page() が呼ばれていたが,2.6.23-mm1 では,do_no_page() は do_linear_fault() と関数名が変更されている.また,do_file_page() はdo_nolinear_fault() となり…

リンク

Tips su で root になる時に,history ファイルをユーザ毎に分ける方法 http://gentoo-wiki.com/TIP_Use_memory_on_video_card_as_swap Kernel Lots of stable kernel updates [LWN.net] http://kerneltrap.org/Linux/Fuse_Writable_Mmap

Zim で TrackLink 的リンクを使用する方法

Zim で作業記録を書いていると,プロジェクト管理に使用している Trac へのリンクを使用する場面がしばしばあります.そこで Zim で TracLink 的リンクを使う方法を調べてみました. /usr/share/zim/doc/zim/usage/linking.txt,/usr/share/zim/urls.list を…

ML 購読方法について悩む

ML 閲覧時,購読スタイルによって異なるアプリケーション(Google Reader,Google グループ,Gmail)を使用しています.これを Thunderbird でまとめてしまいたい. 現状の問題点 Google Reader ではスレッド形式で表示できないため,流れの早い ML を追うこと…

uClinux 調査環境について

kernel-2.6.22,linux-2.6.22-uc0-big.patch について,CONFIG_MMU,nommu 文字列を含むファイル,および CONFIG_MMU 時に利用される(include,Makefileから呼ばれる)ファイルを調査対象とした.調査内容は,1) mmu 時との相違点,2) 1)が起こる理由,の二つ…

コピーオンライトについて

uClinux 調査環境について - まだ見えない先の 詳解LINUXカーネル p.414 MMU は書き込みが禁止されているページへの変更時にアクセス許可フォルトに起因する例外を発生する. 故意にページテーブルエントリを書き込み禁止にし,変更時までページの複製を遅延…

stack について

uClinux 調査環境について - まだ見えない先の 詳解LINUXカーネル p.405 Linux で使用される ELF バイナリは,fs/binfmt_elf.c load_elf_binary() にて setup_arg_pages() を呼び出して stack 領域の vma オブジェクトを生成する.vma が拡張されるのはペー…

heap について

uClinux 調査環境について - まだ見えない先の 詳解LINUXカーネルp.420 asmlinkage unsigned long sys_brk(unsigned long brk) p.421 MMU(ELFバイナリ) 時は,heap 用の vma は fs/binfmt_elf.c set_brk()にて do_brk() を呼び出すことで生成される(はず).s…

デマンドページングについて

uClinux 調査環境について - まだ見えない先の 詳解LINUXカーネル p.411 動的なメモリ割り当て手法であるデマンドページングは,ページフォルト例外までページフレーム割り当てを遅延させる. 上記で述べたように,uClinuxではページフォルトは起こらないと…

ページフォルトについて

uClinux 調査環境について - まだ見えない先の 詳解LINUXカーネル p.401 uClinux では,arch/arm/head.S にて MMU を有効にしていないためページ変換フォルトによるアボートは発生しない. ページ変換フォルトによりアボートされたアクセスがデータアクセス…

リンク

cgroups Google グループ misc http://blog.wired.com/monkeybites/2007/11/how-to-unlock-t.html Apps/Gedit/PluginsLists - GNOME Wiki!

FLAT バイナリについて

data,bss,heap,stack を含む vma について,kmalloc() で領域を確保するため,確保される実際のサイズが 2 の冪乗となる.FLAT では,一度領域を確保した後で実際のサイズが大きくなっていた場合,そのサイズで do_mremap() しなおす.また,その差分が heap…

リンク

Containers は cgroups という名称になったみたいです。 OpenVZ http://blog.linuxtoday.com/blog/archives/071112-115604.html Misc Open Source (dupe) news, trend analysis and opinion | Network World Opensource.com | Opensource.com Solving resour…

Zim desktop Wiki

日頃,作業記録をデスクトップのテキストエディタで記録しているのですが,最近 Zim を使い始めました. 以前使っていた Tomboy と同じく Wiki スタイルのエディタです.Tomboy の不満点は,キーバインディングが変更できない点でした. Zim ではキーバイン…

最近の Container

CKRM は夏から動きがない Paul さんの Containers は現状の 2.6.23-mm1 にて V11 がマージされている ニュース http://linux-foundation.org/weblogs/lwf/2007/11/12/rc2-pid-namespaces-and-ttm/ Open Source (dupe) news, trend analysis and opinion | Ne…

svnコミット時にemacsのバックアップファイルを作らない方法

svnコミット時にemacsでログを書くと svn-commit.tmp~ ファイルが生成されてしまう.これを,全てのバックアップファイルを生成しない,という単純な方法以外で解決したい. 調べてみたら,下記サイトにまさにそのものな答えがあった.EmacsTips - wiki.baza…

Thinkpad モジュール

ibm_acpi だったモジュール名が 2.6.22 から thinkpad_acpi に変わったみたい http://www.thinkwiki.org/wiki/Ibm-acpi 最近CPU温度がやけに高いと思ったらファン制御が有効になってなかった. /etc/modules.d/thinkpad_acpi に下記を加えてから,update-mod…

Trac Error: IntegrityError 解決法

Trac Error: IntegrityError

gtk ショートカット動的変更等

http://orford.org/gtk/Using Pidgin – Pidgin

VSZとRSS

徒然な感じでメモ.mm->_file_rss+mm->_anon_rssがrss.これらは実際にページが確保される際(デマンドページングだとページフォルト時)にinclude/linux/mm.h handle_mm_fault() => ... => mm/memory.c do_no_page()にてadd_mm_counter()を使ってカウントされ…

リンク

Completely Fair Scheduler 解説 Open Source (dupe) news, trend analysis and opinion | Network World Mac 風デスクトップ Mac4Lin Make Your Linux Desktop Look Like A Mac - Mac4Lin Project Documentation

Gentoo での XFT 対応 Emacs のインストール

Xft support for GNU Emacs - Gentoo Wiki