プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

SPARCのRockプロセッサ このエントリーをはてなブックマークに追加

について、DaveがBlogってる

http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/10/30

ここでのっているSUNのRockについての資料が大変おもしろい

http://www.opensparc.net/pubs/preszo/08/RockHotChips.pdf

前半は要するにIA64がソフトでやってることをハードアシストいれることによって、SPARCでもサポートするぜーってことのようだ。

後半はTransactional Memoryのはなし、spinlockの代わりに使えるようなことが書いてあるが、それは大げさな説明で(JAROには訴えないのでご安心ください)、L1しかTransaction bitがないので、L1に乗る範囲しかロック区間に入れられない(と思う)ので、用途はかなり限定される。

ついでにいうと、Linuxのカーネル内はプレゼンでいうところのmemory orderを駆使したcomplexな手法を使いまくっているのでLinuxで速度向上はあんまり期待できないと予想。
んー、Solarisみたいな前時代的なOSでは有効なんかいね?



その下の「sparc64 memory barriers」はもっとおもしろくて、「Linuxは速度向上のためがんばってRMOをサポートしてきたけど、UltraSPARC-I, UltraSPARC-II はチップバグがあり、UltraSPARC-IIIはTSO以外サポートしてない。やってらんねーからRMOサポートはもうしねー」とか

大丈夫だDave、Linux SPARCなんて使ってるのは君と富士通だけだから


※ (11/2) JAROをJALとtypoしていたのを直した。なんで間違えたんだろ?

関連記事
スポンサーサイト
linux | 【2008-10-31(Fri) 02:36:08】 | Trackback:(0) | Comments:(0)

Norton 2009 このエントリーをはてなブックマークに追加

Norton 2008の期限が切れたので購入。
なんでダウンロード版のほうが高いんだよ。

喧伝されているCPU使用率の低下は実感できない

関連記事
雑談 | 【2008-10-31(Fri) 01:34:02】 | Trackback:(0) | Comments:(1)

うーん このエントリーをはてなブックマークに追加

二日つづけて会社を休んでしまった。たまっているメールの量を考えると憂鬱。
いっそのこと明日も休んでこのまま連休に突入しようか。などという考えも頭をよぎるが、至急のメールがあるといけないので行くしかないんだろうな

関連記事
雑談 | 【2008-10-30(Thu) 18:07:33】 | Trackback:(0) | Comments:(0)

[備忘録] corkscrew このエントリーをはてなブックマークに追加

会社のひとにproxy経由でgitを使う方法を教えてもらったのでメモ。
ぎっとぎっとにしてやんよ!


1. corkscrewをインストールする
http://www.agroman.net/corkscrew/

2. git-proxy.shを作成してパスの通っているところに置く

# cat /usr/local/bin/git-proxy.sh


#!/bin/bash

CORKSCREW=`which corkscrew`
$CORKSCREW proxy.hogehoge.com 8080 $1 $2



3. あとはgitコマンドを使うときには以下のように必ず
GIT_PROXY_COMMAND=git-proxy.sh をつける

GIT_PROXY_COMMAND=git-proxy.sh git clone git://repos

参考リンク
http://d.hatena.ne.jp/rx7/20080703/p1



関連記事
linux | 【2008-10-28(Tue) 12:23:44】 | Trackback:(0) | Comments:(2)

Dtrace vs. Systemtap for play このエントリーをはてなブックマークに追加

http://uadmin.blogspot.com/2005/09/dtrace-vs-systemtap-for-play.html

だいぶ前に大島さんに教えてもらったんだけど、しょっちゅう忘れるのでここに貼っておく



関連記事
linux | 【2008-10-27(Mon) 13:16:37】 | Trackback:(0) | Comments:(1)

待て、これは孔明の罠だ このエントリーをはてなブックマークに追加

原稿が規定文字数にとどかなくて、ひーひー言ってたはずなのに今数え直したら規定量の二倍ある。しかも全部時事ネタだから来月に繰り越すことも出来そうにない。アルェー



関連記事
雑談 | 【2008-10-26(Sun) 19:48:44】 | Trackback:(0) | Comments:(0)

LWNでとりあげられた このエントリーをはてなブックマークに追加

2.6.28のマージウィンドでマージされた主要機能群のリストにhugepage coredumpとsplit-lruの両方が入っているのを発見。
これはうれしいかもしれん。

ありがとうJonathan Corbet。


関連記事
linux | 【2008-10-26(Sun) 19:01:10】 | Trackback:(0) | Comments:(4)

__cpuinitがなくなる このエントリーをはてなブックマークに追加

んだそーな。
suspend/resumeで必要だから、全員ONにする。だからコンパイルオプションになっていても全然うれしくない。だそうだ。



Date: Wed, 22 Oct 2008 15:30:54 -0700
From: Arjan van de Ven <arjan@infradead.org>
To: linux-kernel@vger.kernel.org
Cc: torvalds@linux-foundation.org
Subject: [PATCH] get rid if __cpuinit and __cpuexit


>From b62f70d43d3e9a9a70775b40cb4ecba058f07a01 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven
Date: Wed, 22 Oct 2008 15:29:00 -0700
Subject: [PATCH] get rid if __cpuinit and __cpuexit

as discussed briefly at the kernel summit; __cpuinit and __cpuexit are
causing a ton more complexity than they're worth (just see how many
section warnings an average build has); and the *vast* majority
of people using linux have CPU hotplug enabled anyway (since it's required
for suspend/resume). The code size saved is also very minimal, since although
many files are touched, very few are actually present in a kernel image at a time.

For now, __cpuinit and __cpuexit are left behind as empty skelletons to not break
in-flight stuff using it, it should be removed in a release or two entirely.

Signed-off-by Arjan van de Ven
---
Documentation/cpu-hotplug.txt | 4 +-
arch/alpha/kernel/smp.c | 4 +-
arch/arm/common/gic.c | 2 +-
arch/arm/kernel/smp.c | 12 ++--
arch/arm/mach-realview/localtimer.c | 8 ++--
arch/arm/mach-realview/platsmp.c | 6 +-
arch/cris/arch-v32/kernel/smp.c | 2 +-
arch/frv/kernel/setup.c | 2 +-
arch/ia64/kernel/err_inject.c | 8 ++--
arch/ia64/kernel/mca.c | 12 ++--
arch/ia64/kernel/numa.c | 4 +-
arch/ia64/kernel/palinfo.c | 4 +-
arch/ia64/kernel/salinfo.c | 4 +-
arch/ia64/kernel/setup.c | 10 ++--
arch/ia64/kernel/smpboot.c | 12 ++--
arch/ia64/kernel/topology.c | 18 ++++----
arch/ia64/mm/contig.c | 2 +-
arch/ia64/mm/discontig.c | 2 +-
arch/ia64/sn/kernel/setup.c | 4 +-
arch/m32r/kernel/smpboot.c | 2 +-
arch/mips/kernel/cevt-bcm1480.c | 2 +-
arch/mips/kernel/cevt-r4k.c | 2 +-
arch/mips/kernel/cevt-sb1250.c | 2 +-
arch/mips/kernel/cevt-smtc.c | 2 +-
arch/mips/kernel/cpu-bugs64.c | 4 +-
arch/mips/kernel/cpu-probe.c | 10 ++--
arch/mips/kernel/smp-mt.c | 6 +-
arch/mips/kernel/smp-up.c | 6 +-
arch/mips/kernel/smp.c | 6 +-
arch/mips/kernel/smtc.c | 2 +-
arch/mips/kernel/spram.c | 14 +++---
arch/mips/kernel/time.c | 2 +-
arch/mips/kernel/traps.c | 8 ++--
arch/mips/kernel/watch.c | 2 +-
arch/mips/lib/uncached.c | 2 +-
arch/mips/mipssim/sim_smtc.c | 6 +-
arch/mips/mipssim/sim_time.c | 2 +-
arch/mips/mm/c-r3k.c | 8 ++--
arch/mips/mm/c-r4k.c | 34 +++++++-------
arch/mips/mm/c-tx39.c | 2 +-
arch/mips/mm/page.c | 40 ++++++++--------
arch/mips/mm/sc-ip22.c | 2 +-
arch/mips/mm/sc-mips.c | 2 +-
arch/mips/mm/sc-r5k.c | 2 +-
arch/mips/mm/sc-rm7k.c | 6 +-
arch/mips/mm/tlb-r3k.c | 2 +-
arch/mips/mm/tlb-r4k.c | 8 ++--
arch/mips/mm/tlb-r8k.c | 4 +-
arch/mips/mm/tlbex.c | 70 ++++++++++++++--------------
arch/mips/mm/uasm.c | 70 ++++++++++++++--------------
arch/mips/mm/uasm.h | 24 +++++-----
arch/mips/mti-malta/malta-smtc.c | 6 +-
arch/mips/mti-malta/malta-time.c | 2 +-
arch/mips/pci/pci-ip27.c | 2 +-
arch/mips/pmc-sierra/yosemite/smp.c | 12 ++--
arch/mips/sgi-ip27/ip27-init.c | 4 +-
arch/mips/sgi-ip27/ip27-smp.c | 6 +-
arch/mips/sgi-ip27/ip27-timer.c | 6 +-
arch/mips/sgi-ip27/ip27-xtalk.c | 6 +-
arch/mips/sibyte/bcm1480/smp.c | 8 ++--
arch/mips/sibyte/sb1250/smp.c | 8 ++--
arch/parisc/kernel/hardware.c | 2 +-
arch/parisc/kernel/processor.c | 2 +-
arch/parisc/kernel/smp.c | 4 +-
arch/powerpc/kernel/smp.c | 2 +-
arch/powerpc/kernel/sysfs.c | 12 ++--
arch/powerpc/mm/numa.c | 12 ++--
arch/s390/appldata/appldata_base.c | 8 ++--
arch/s390/kernel/entry.h | 2 +-
arch/s390/kernel/setup.c | 4 +-
arch/s390/kernel/smp.c | 10 ++--
arch/sh/kernel/smp.c | 4 +-
arch/sh/kernel/traps_32.c | 2 +-
arch/sparc/kernel/smp.c | 8 ++--
arch/sparc/kernel/sun4d_smp.c | 2 +-
arch/sparc/kernel/sun4m_smp.c | 4 +-
arch/sparc64/kernel/ds.c | 4 +-
arch/sparc64/kernel/entry.h | 2 +-
arch/sparc64/kernel/irq.c | 4 +-
arch/sparc64/kernel/mdesc.c | 2 +-
arch/sparc64/kernel/smp.c | 4 +-
arch/sparc64/kernel/sysfs.c | 4 +-
arch/sparc64/mm/init.c | 2 +-
arch/x86/kernel/acpi/boot.c | 4 +-
arch/x86/kernel/apic_32.c | 12 ++--
arch/x86/kernel/apic_64.c | 18 ++++----
arch/x86/kernel/cpu/addon_cpuid_features.c | 6 +-
arch/x86/kernel/cpu/amd.c | 22 ++++----
arch/x86/kernel/cpu/centaur.c | 26 +++++-----
arch/x86/kernel/cpu/centaur_64.c | 6 +-
arch/x86/kernel/cpu/common.c | 58 +++++++++++-----------
arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 4 +-
arch/x86/kernel/cpu/cyrix.c | 40 ++++++++--------
arch/x86/kernel/cpu/intel.c | 22 ++++----
arch/x86/kernel/cpu/intel_cacheinfo.c | 44 +++++++++---------
arch/x86/kernel/cpu/mcheck/mce_64.c | 16 +++---
arch/x86/kernel/cpu/mcheck/mce_amd_64.c | 10 ++--
arch/x86/kernel/cpu/mcheck/mce_intel_64.c | 4 +-
arch/x86/kernel/cpu/mcheck/therm_throt.c | 8 ++--
arch/x86/kernel/cpu/transmeta.c | 6 +-
arch/x86/kernel/cpu/umc.c | 2 +-
arch/x86/kernel/cpuid.c | 4 +-
arch/x86/kernel/ds.c | 2 +-
arch/x86/kernel/genx2apic_uv_x.c | 4 +-
arch/x86/kernel/i387.c | 6 +-
arch/x86/kernel/irq_32.c | 2 +-
arch/x86/kernel/microcode_core.c | 2 +-
arch/x86/kernel/mmconf-fam10h_64.c | 14 +++---
arch/x86/kernel/msr.c | 4 +-
arch/x86/kernel/numaq_32.c | 4 +-
arch/x86/kernel/process.c | 8 ++--
arch/x86/kernel/ptrace.c | 2 +-
arch/x86/kernel/setup.c | 2 +-
arch/x86/kernel/setup_percpu.c | 16 +++---
arch/x86/kernel/smpboot.c | 28 ++++++------
arch/x86/kernel/smpcommon.c | 2 +-
arch/x86/kernel/tlb_64.c | 2 +-
arch/x86/kernel/tsc.c | 2 +-
arch/x86/kernel/tsc_sync.c | 18 ++++----
arch/x86/kernel/vsyscall_64.c | 6 +-
arch/x86/kernel/xsave.c | 2 +-
arch/x86/mach-voyager/voyager_smp.c | 4 +-
arch/x86/mm/init_64.c | 4 +-
arch/x86/mm/numa_64.c | 2 +-
arch/x86/mm/pat.c | 2 +-
arch/x86/pci/amd_bus.c | 4 +-
arch/x86/xen/setup.c | 6 +-
arch/x86/xen/smp.c | 8 ++--
arch/x86/xen/spinlock.c | 2 +-
arch/x86/xen/xen-ops.h | 2 +-
arch/xtensa/kernel/time.c | 2 +-
block/blk-softirq.c | 4 +-
drivers/acpi/ec.c | 2 +-
drivers/acpi/numa.c | 2 +-
drivers/acpi/processor_core.c | 4 +-
drivers/acpi/processor_idle.c | 4 +-
drivers/base/cpu.c | 4 +-
drivers/base/topology.c | 8 ++--
drivers/cpufreq/cpufreq.c | 2 +-
drivers/cpufreq/cpufreq_stats.c | 2 +-
drivers/hwmon/coretemp.c | 4 +-
drivers/infiniband/hw/ehca/ehca_irq.c | 6 +-
drivers/s390/sysinfo.c | 2 +-
include/asm-x86/ds.h | 2 +-
include/asm-x86/mmconfig.h | 4 +-
include/asm-x86/mpspec.h | 2 +-
include/asm-x86/numa_64.h | 8 ++--
include/asm-x86/ptrace.h | 2 +-
include/asm-x86/smp.h | 4 +-
include/linux/cpu.h | 2 +-
include/linux/init.h | 9 +--
init/calibrate.c | 6 +-
kernel/cpu.c | 6 +-
kernel/fork.c | 4 +-
kernel/hrtimer.c | 6 +-
kernel/rcuclassic.c | 6 +-
kernel/rcupreempt.c | 6 +-
kernel/relay.c | 2 +-
kernel/sched.c | 8 ++--
kernel/smp.c | 2 +-
kernel/softirq.c | 8 ++--
kernel/softlockup.c | 4 +-
kernel/timer.c | 10 ++--
lib/percpu_counter.c | 2 +-
mm/page-writeback.c | 4 +-
mm/page_alloc.c | 6 +-
mm/slab.c | 10 ++--
mm/slub.c | 4 +-
mm/vmstat.c | 6 +-
net/iucv/iucv.c | 2 +-
170 files changed, 642 insertions(+), 645 deletions(-)




関連記事
linux | 【2008-10-23(Thu) 11:26:27】 | Trackback:(0) | Comments:(0)

DTrace研修2日目 このエントリーをはてなブックマークに追加

めんどいので簡潔に


  • DTraceではself->variable構文をつかうと、per CPU variableを使うので var[hash] よりも速い事が保証されている。連想配列あるからいいじゃんとか言ってるSystemTapは空気読めてない子
  • DTraceではAggregation関数で集計すると自前で var += hoge とかやって集計するよりも速い事が保証されている。これは言語の使用目的を考えると必須だよな。とか思った
  • DTraceは収集時にAggregate関数の種類を選ぶが、SystemTapは表示時に選ぶ。DTrace方式のほうが無駄な収集が発生しないので賢い
  • Speculative Tracingってなんじゃらほい?と思ったら単に主バッファとは別のバッファがつかえるよ。
    というだけだった。でも構文は汚いと思う

    • バッファアロケートが関数なので、実行時にしか何個バッファが生成されるか分からない。
      どう考えても普通はせいぜい1つしか作らないので、柔軟性より速度を追求した方がよい
    • 書き出し先バッファ切り替えが関数なので汚い。どうせ1関数内で複数のバッファに書くことは
      言語使用上禁止されているのだから関数の修飾子とかにしたほうがよかった気がする

  • early boot tracingはかなりがんばっている。SCSI やFilesystemより先にロードされてるんだけど
     どうやってるんだ?
  • SolarisではELFを独自に拡張してDTrace用のSymbol Tableを別途持っている。かつこれはstripの
    対象外なので、stripされたバイナリからでもシンボルが引ける。これはユーザアプリのトレースで
    重要な性質。static関数もちゃんとテーブルに名前が残ってるし。SystemTapは行番号トレースと
    ローカル変数の参照をサポートしたぶんだけ、必要な情報量が爆発的に増えており、事実上
    DWARFを使うしか手がない。
    stripされたバイナリをトレースできるようにするのは、仕様変更がいるなぁ
      http://blogs.sun.com/ali/entry/what_is_sunw_ldynsym
      http://blogs.sun.com/ali/entry/inside_elf_symbol_tables
  • バッファポリシーとして

    • switch
    • fill
    • ring

    の3つをサポート。switchがデフォルト。
     残り2つはearly boot tracingと組み合わせて使う。
     fillがバッファがいっぱいになったらこれ以上記録しない。というバッファ。ブート時のログを
    とりたいときはバッファがいっぱいになったら自動的に止まって欲しいからね。
    ringは逆にバッファがいっぱいになったらバッファ先頭にもどって上書きしていく。
    んで、なんかおかしくなったときに、最後のほうのログを吸い出す。
    いわゆるフライトレコーダー目的
  • ユーザ空間のトレースはある関数の全instructionにprobeをしかける。とか出来るので、
    エラーが発生した箇所を細かく絞り込むことが(根気が許せば)可能
  • profile provideはトレース間隔に109とか4999とか変な数値がデフォルトになっているが、
     キリのいい数字にすると毎回クロック割り込みとぶつかっておかしな集計結果になるから。
    賢い


とりあえず、SystemTapも.SUNW_ldynsymをサポートして「でもstripされていたら行番号トレースはできないからね」という仕様にしたほうがLKMLでdisられなくなっていいんでは?とか思った



関連記事
linux | 【2008-10-21(Tue) 21:19:03】 | Trackback:(0) | Comments:(8)

DTraceでループする方法 このエントリーをはてなブックマークに追加

http://blogs.sun.com/smg/date/20050512

すばらしいURLを教えてもらったのでメモ

関連記事
linux | 【2008-10-21(Tue) 18:45:28】 | Trackback:(0) | Comments:(0)

パナソニック、従来型バッテリと同等サイズのノートPC用燃料電池 ~200ccの燃料で20時間駆動が可能 このエントリーをはてなブックマークに追加

http://pc.watch.impress.co.jp/docs/2008/1020/pana.htm

パナソニックは20日、体積約270ccと、従来型リチウムイオンバッテリと同等サイズのノートPC用燃料電池を開発したと発表した。
マルチ充電器

 2006年に発表した試作品と同じ平均10W、最大20W(リチウムイオン電池と併用運転)を維持しながら、本体サイズを約半分に小型化。燃料を除いた重量は約320gで、約200ccの燃料(メタノール水溶液)で、ノートPCを約20時間駆動できるという。



なにげに20時間はすごすぎる。今売ってるノートの6時間とか8時間とかいう時間だとぎりぎり1日もたなかったので。使い方が根本的に変わる気がする




関連記事
雑談 | 【2008-10-20(Mon) 20:17:06】 | Trackback:(0) | Comments:(4)

でもって激しく疑問なのが このエントリーをはてなブックマークに追加

条件文もループも再帰もないDtraceでどうやってgamingを○にしたのかまったく分からない。連邦のモビルスーツは化け物か!


PS 極めて一部の人への私信
  例のアレの公開マダー (今月のアレの締め切り間近なのでずうずうしく督促)


関連記事
linux | 【2008-10-20(Mon) 19:51:16】 | Trackback:(0) | Comments:(1)

DTrace研修1日目 このエントリーをはてなブックマークに追加

敵を知り、己をしればズビズバズ。
というわけで、今日は品川にDTraceの研修受けに来てる。

全般的に性能低下への配慮が薄そうな廚っぽさを感じるが、たしかに高機能。
むむむ、これはLinuxもがんばらねばなぁ

とりあえず気づいたこと

・DtraceはSystemTapと違い行番号指定のプローブは出来ない
・SystemTapと違い、デバッグ情報不要
・D言語は条件文もループも再帰もないので、絶対無限ループにならない。ただし、initにたどりつくまで親プロセスを順々に表示。みたいなスクリプトは果てしなく不恰好に
・機能差から考えて、カーネル内のfbtはftrace方式(-pg方式)でユーザランドのpid providerはブレークポイント方式っぽい気がする
・vmstat更新タイミングにマーカいれたい
・IOスケジューラにも入れなアカンな
・lockstat providerも (これはGoogleがすでに作ったらしいが)


残念な事に講師の中のひとはあんまりカーネルに詳しくないようで、突っ込んだ質問をするとほぼ全て目を泳がされてしまった。


関連記事
linux | 【2008-10-20(Mon) 19:43:51】 | Trackback:(0) | Comments:(3)

おめでとう!オレ! このエントリーをはてなブックマークに追加

なんかメール見たら、Split-LRUとhugepage coredump filterの両方がmainlineに送られてるじゃん。おめでとう、おれ。

あ、hugepage coredump filterってのは、従来hugepageのcoredumpを取る方法が無くてデバッグがすごい大変だったので日立の河合先生が作ったcoredump filterの枠組みを拡張して取れるようにする。というもの。
libhugetlbfsあたりを使ってると、プロセスのほぼ全域にわたってhugepageになるので、ダンプ取れないのは困ったちゃんだったのだ。

関連記事
linux | 【2008-10-20(Mon) 19:34:01】 | Trackback:(0) | Comments:(0)

しくしく このエントリーをはてなブックマークに追加

本日Andrewから.28向けパッチがLinusに送られました。でもSplit-LRUは2.6.28には送られませんでした。しくしく(;_;)


関連記事
linux | 【2008-10-16(Thu) 16:07:27】 | Trackback:(0) | Comments:(0)

copybenchをLKMLで紹介してみた このエントリーをはてなブックマークに追加

Andrew MortonがMADV_SEQUENTIALの改善効果を誰か確認してくれーと泣き言を言ってきたので、Copybench(http://code.google.com/p/copybench/) を紹介しておいた

やっぱりプロジェクトページがあると楽だね。Andrewもしきりに感心していたのでよしとしよう。





関連記事
linux | 【2008-10-16(Thu) 15:23:21】 | Trackback:(0) | Comments:(0)

ほほーう このエントリーをはてなブックマークに追加

あいかわらず、Bobと雑談メールやりとりしてる。
JavaSE Embeddedのtarget kernelって2.6.25なんや。へー

関連記事
雑談 | 【2008-10-16(Thu) 10:03:11】 | Trackback:(0) | Comments:(0)

memory cgroupはFedora11からenable? このエントリーをはてなブックマークに追加

Kamezawaさんが頑張ったおかげで、struct pageからpage_cgroupポインタを削除するパッチが-mmに入ったようだ。
これでFedoraでmemory controllerがONにならない理由がなくなったのでFedora11ぐらいでenableになることが予想される。


関連記事
linux | 【2008-10-15(Wed) 09:39:38】 | Trackback:(0) | Comments:(0)

赤ちゃんまみれの癒し動画 このエントリーをはてなブックマークに追加

・・・なの・・・か?



関連記事
雑談 | 【2008-10-14(Tue) 23:46:20】 | Trackback:(0) | Comments:(0)

[グローランサ] ヤーナファルのカブトはケンオウ・カブトだと主張してみる このエントリーをはてなブックマークに追加

どこかで、「RAMって破城槌のことかと思ったら雄羊の事やったー」 「羊って弱そうだよねーキャハハハ」というという言説を読んだような気がするので。
まず、あれだ、RAM - 雄羊 のイメージってこれやろ。



雄羊ーツノ

雄羊ーツノ2




こういう、立派なツノがのびた羊。見るからにツノ・バトルできそうな。
んで、これって日本アニメでいうところのアノ御方よね。どう見てもどう考えても。




ラオウ


こ、これで弱そう。だと。。
ゴゴゴゴゴ


こんな輩が団体で押し寄せてきたらションベンちびって逃げるわ。


関連記事
雑談 | 【2008-10-14(Tue) 23:07:08】 | Trackback:(0) | Comments:(0)

reclaim処理からwritepage処理を削除する活動が開始 このエントリーをはてなブックマークに追加

まあ、btrfs関係者の要望に応える形でそういう活動が始まっているわけです。

それをすると、メモリ不足時にライブロックする危険があるんだけどな。
てゆーか、memory cgroup関係者死亡。


関連記事
linux | 【2008-10-12(Sun) 16:59:36】 | Trackback:(0) | Comments:(0)

mem_notifyのダウンロードできる場所おしえて。だと このエントリーをはてなブックマークに追加

君のmem_notifyパッチはどこでダウンロードできるんだい?
というメールを全然別のところから2通もらう。今日に限ってなにがあった?

そのうちの一人、Bob Vandette さんはSunで Java SE Embedded のtechnical lead をしていて、
そのプロダクトのJavaVMに組み込みたいとかなんとか

いったいどこで、こういうマイナーなパッチの存在を知ったのかが非常に気になる(´・ω・`)

関連記事
linux | 【2008-10-10(Fri) 16:44:35】 | Trackback:(0) | Comments:(0)

2.6.27 このエントリーをはてなブックマークに追加

リリースされましたね。

関連記事
linux | 【2008-10-10(Fri) 16:03:34】 | Trackback:(0) | Comments:(0)

LWNで発表された2.6.27での貢献度リスト このエントリーをはてなブックマークに追加

貢献度の企業別トップ20

Most active 2.6.27 employers
By changesets
(None) 1925 18.2%
Red Hat 1405 13.2%
(Unknown) 921 8.7%
IBM 791 7.5%
Intel 605 5.7%
Novell 586 5.5%
Movial 234 2.2%
SGI 197 1.9%
(Consultant) 193 1.8%
Sun 184 1.7%
XenSource 165 1.6%
Parallels 157 1.5%
Oracle 148 1.4%
Marvell 143 1.3%
Fujitsu 138 1.3%
AMD 129 1.2%
Renesas Technology 125 1.2%
linutronix 121 1.1%
Simtec 119 1.1%
(Academia) 108 1.0%



いちおう日本企業を太字にしてみた


関連記事
linux | 【2008-10-09(Thu) 21:57:57】 | Trackback:(0) | Comments:(2)

遅くなりましたが このエントリーをはてなブックマークに追加

kernel watch 公開されました

http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch09a.html



というか、今週末にまた原稿書かないと今月号が落ちちゃうんだよな。憂鬱すぎる

関連記事
linux | 【2008-10-09(Thu) 18:16:10】 | Trackback:(0) | Comments:(0)

google-glog このエントリーをはてなブックマークに追加

呼び方はやっぱり「ぐうぐる、ぐろぐ」でいいのだろうか。

関連記事
雑談 | 【2008-10-09(Thu) 14:22:22】 | Trackback:(0) | Comments:(0)

pipeのselectって今どうなってるんだっけ? このエントリーをはてなブックマークに追加

http://shinh.skr.jp/m/?date=20081008


よく分かっていないのが、よく分かったので調査。
manみると2.6.11でpipeの実装かわってるみたいだし。

まず、単純に/usr/include以下でPIPE_BUFをgrep

./bits/posix1_lim.h:98:#define _POSIX_PIPE_BUF 512
./bits/posix1_lim.h:143:#define _POSIX_HIWAT _POSIX_PIPE_BUF
./bits/confname.h:38: _PC_PIPE_BUF,
./bits/confname.h:39:#define _PC_PIPE_BUF _PC_PIPE_BUF
./linux/limits.h:15:#define PIPE_BUF 4096 /* # bytes in atomic write to a p\
ipe */



ふむ。manどおり単純に4096になっていそう。


つぎにpipe_pollの実装をみると

static unsigned int
pipe_poll(struct file *filp, poll_table *wait)
{
unsigned int mask;
struct inode *inode = filp->f_path.dentry->d_inode;
struct pipe_inode_info *pipe = inode->i_pipe;
int nrbufs;

(省略)

poll_wait(filp, &pipe->wait, wait);

if (filp->f_mode & FMODE_WRITE) {
mask |= (nrbufs < PIPE_BUFFERS) ? POLLOUT | POLLWRNORM : 0;
/*
* Most Unices do not set POLLERR for FIFOs but on Linux they
* behave exactly like pipes for poll().
*/
if (!pipe->readers)
mask |= POLLERR;
}


PIPE_BUFFERSは16。
nrbugsの意味ってなんじゃい。と思ってみると

pipe_writeでページを書くたびにインクリメントしてるな。だから4096 x 16 で最大長65536が算出されると。
じゃあ、1ページまるっと空いてないと起きないんだから、書き手が1人の場合はPIPE_BUF以下の書き込みがブロッキングしないのは保証されるな。うん。

shinhさん、akrさん、どうもアホな発言でご迷惑をおかけしました(ぺこり)



関連記事
linux | 【2008-10-09(Thu) 11:01:26】 | Trackback:(0) | Comments:(0)

続: dbench このエントリーをはてなブックマークに追加

とりあえず split-lruが無罪であることだけ調べて投稿してきたノシ

関連記事
linux | 【2008-10-08(Wed) 00:23:33】 | Trackback:(0) | Comments:(0)

サイドブレーキ このエントリーをはてなブックマークに追加

今日はなんか車が重いなーと思っていたらサイドブレーキかけたまま走ってた。
車ってサイドブレーキかかったままでも走れるのね。

関連記事
雑談 | 【2008-10-07(Tue) 15:01:06】 | Trackback:(0) | Comments:(2)

現在の-mmのdbench性能がとんでもない事になっている件について このエントリーをはてなブックマークに追加

Split-LRUの性能をちゃんと測ろうと思って走らせたら、なんじゃこりゃー
そもそもベンチが完走しないやないの

関連記事
linux | 【2008-10-07(Tue) 03:59:18】 | Trackback:(0) | Comments:(0)
次のページ
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。