コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2009年9月13日 >>> 2009年8月31日
link もっと後

2009年9月13日

サマーウォーズ

大下さんとサマーウォーズを見に行きました。

劇中に、買い物、公的手続き、会社設立、果ては軍事施設やインフラ(水道、電気)の制御…などなどオンラインで何でもできるOZ(オズ)システムが出てきます。

映画のストーリーとしてはOZが何者かに乗っ取られてメチャクチャになり、主人公とヒロイン、ヒロインの親戚一族が立ち向かうってなお話です。

舞台はヒロインの実家の片田舎です。大きく分けると、田舎を舞台にした人情系のお話と、OZを舞台にしたバトルのお話に分かれます。前者は文系、後者は理系の人が楽しめるかなと思います。

面白かったので気になる方は映画館へGO。まだ映画館でやってるはずです。

オズの魔法使い

映画を見ていると、何でも出来る夢のシステムOZ(オズ)がうらやましく感じます。今の技術でOZの実現はできないのでしょうか。

軍事施設の制御などを除けば、OZって現在のオンラインサービスが全部一つになったようなもんです。実はOZの実現って技術的にはそう遠い話ではないと思われます。

一番面倒くさそうなのは、政治的な問題、OZの行く末を誰が決めるのか?って問題ですね。あれを入れる、これを入れない、でケンカになること間違いなしです。

編集者:すずき(2009/09/19 20:35)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2009年9月8日

メモリ増設

デスクトップマシンのメモリを1GBから3GBに増やそうと思い、DDR2 800の1GB x 2を買いました。デスクトップマシンは800でなく400だった気がするけど、値段はDDR2 800が一番安いので、これでいいのです。

で、今日Amazonからメモリが届いたので早速増設しようと思ったら、どう頑張っても挿せない。しかもスロットとメモリのピン数が違う??なんぞこれ。

嫌な予感がして、既に挿してあったメモリを確認すると、DDR2 400ではなくDDR 400でした。そんな馬鹿な…というか馬鹿は俺じゃね?

もう本当にありがとうございました。

どうしたものか

メモリどうしよう。Transcend JetRam 1GB x 2です。悪い品ではないと思います。誰か使いません?

編集者:すずき(2009/09/09 00:52)

コメント一覧

  • senaさん(2009/09/19 11:23)
    久しぶりに日記見たー。
    自分のPCのメモリスロット状況把握してないけど、
    挿せそうなら買い取らせてもらおうかな。
  • すずきさん(2009/09/19 20:00)
    >sena さん
    箱とか説明書とかないですけど、どうぞもらってやってください。
open/close この記事にコメントする



2009年9月5日

無駄な努力

昨日長々と書きましたが、実はRealtekのサイトにて公開されているr8168ドライバのバージョン8.014.00を使えばパッチもへったくれも必要ありませんでした。

他の変更(バグフィクスかな?)も入っているようなので、8.012.00にこだわる理由がなければさくっとアップデートした方が良いと思います。

まあ、一つの勉強にはなったけど、あんまり意味が無かったな…。

編集者:すずき(2009/09/05 00:26)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2009年9月4日

r8168 PCI-e GbEとカーネル2.6.30

家のファイルサーバのLinuxカーネルバージョンを2.6.30.5にアップデートしたところ、r8168 PCI-eギガビットイーサネットドライバがコンパイルできなくなりました。

原因は NAPIの関数名が一部変わったためです。netif_rx_xx系が廃止され、napi_xxへ移行しました。これによりnetif_rx_xx系を使用している部分がリンクエラーとなります。

もうひとつ原因があって irqreturn_tのtypedefがintからenum irqreturnへ変わり、IRQ_HANDLEDがマクロではなく列挙型になったためです。これにより2.4.xとのコンパチを保つための定番処理(※)の判定を誤って、irqreturn_tをvoidと定義してしまいます。

このため割り込みハンドラが値を返さない関数として定義されてしまい、ハンドラ内でreturn IRQ_HANDLED; などとしている部分がコンパイルエラーになります。

以上の変更点を踏まえたパッチは以下の通り。Realtekが提供しているr8168-8.012.00に当てます。


diff -r 2aec411ad986 src/r8168.h
--- a/src/r8168.h       Sat Aug 29 04:02:18 2009 +0900
+++ b/src/r8168.h       Fri Sep 04 23:14:44 2009 +0900
@@ -37,11 +37,13 @@
 #define CHECKSUM_PARTIAL CHECKSUM_HW
 #endif

+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
 #ifndef IRQ_HANDLED
 #define irqreturn_t void
 #define IRQ_HANDLED
 #define IRQ_NONE
 #endif
+#endif /* #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) */

 #ifndef HAVE_FREE_NETDEV
 #define free_netdev(x) kfree(x)
@@ -251,7 +253,11 @@
        #define RTL_GET_NETDEV(priv_ptr)                        struct net_device *dev = priv_ptr->dev;
        #define RTL_RX_QUOTA(ndev, budget)                      budget
        #define RTL_NAPI_QUOTA_UPDATE(ndev, work_done, budget)
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
+       #define RTL_NETIF_RX_COMPLETE(dev, napi)                napi_complete(napi)
+       #define RTL_NETIF_RX_SCHEDULE_PREP(dev, napi)           napi_schedule_prep(napi)
+       #define __RTL_NETIF_RX_SCHEDULE(dev, napi)              __napi_schedule(napi)
+ #elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
        #define RTL_NETIF_RX_COMPLETE(dev, napi)                netif_rx_complete(dev, napi)
        #define RTL_NETIF_RX_SCHEDULE_PREP(dev, napi)           netif_rx_schedule_prep(dev, napi)
        #define __RTL_NETIF_RX_SCHEDULE(dev, napi)              __netif_rx_schedule(dev, napi)

このパッチを使う方がもしいましたら、ご自由にどうぞ。一応、我が家のファイルサーバ上では元気に動いております。が、ご利用の際は自己責任でよろしくお願いいたします。

変化のとき

今回紹介した変更点が、いつカーネルに取り込まれたかについてはLinux kernelのgitリポジトリを調べてね…というのはちょっと無責任ですので、紹介しておきます。

細かいログは参考の章に譲り、変更点がマージされた時期と関連するバージョンタグだけ挙げます。時間は全てUTC換算です。

  • 2009 04/07 21:25:01: Linux 2.6.30-rc1
  • 2009 03/26 23:06:50: irqreturn_tのパッチがマージ
  • 2009 03/23 23:12:14: Linux 2.6.29
  • 2009 03/16 14:56:58: NAPIのパッチがマージ
  • 2009 03/13 02:39:28: Linux 2.6.29-rc8

従って私のパッチでは、NAPIはLinux 2.6.29未満であれば古いAPIを使い、irqreturn_tはLinux 2.6.30未満であれば古い定義を使うようにしています。

(※)irqreturn_tを使うハンドラを、古い2.4.x系とコードコンパチにするコードとして、カーネルのコメント中で紹介されていた方法です。r8168が悪いわけではありません。

参考

以下はirqreturn_tが変化したときのログ。

irqreturn_tの定義が変わったときのマージログとオリジナルのパッチのログ

----- マージ
commit a8416961d32d8bb757bcbb86b72042b66d044510
Merge: 6671de3 fc2869f
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Mar 26 16:06:50 2009 -0700

    Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi
t/tip/linux-2.6-tip

----- パッチ
commit bedd30d986a05e32dc3eab874e4b9ed8a38058bb
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Tue Sep 30 23:14:27 2008 +0200

    genirq: make irqreturn_t an enum

    Impact: cleanup

    Remove the 2.4 compabiliy cruft

もうひとつNAPIが変化したときのログ。

netif_rx系が削除されたときのマージログとオリジナルのパッチのログ

----- マージ
commit 8e91f178a2bb4a3e52e76f6263c251ffb816eb17
Merge: 8032b52 ea8dbdd
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Mar 16 07:56:58 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

----- パッチ
commit 9fae6c3f648e38f023b99b5f5a5280907b2e796e
Author: Ilya Yanok <yanok@emcraft.com>
Date:   Fri Mar 13 09:51:46 2009 -0700

    dnet: replace obsolete *netif_rx_* functions with *napi_*

    *netif_rx_* functions is obsolete and removed in newer kernels so
    we need to use corresponding *napi_* functions instead.

こんなとこかな。

編集者:すずき(2009/09/05 00:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2009年9月13日 >>> 2009年8月31日
link もっと後

管理用メニュー

link 記事を新規作成

<2009>
<<<09>>>
--12345
6789101112
13141516171819
20212223242526
27282930---

最近のコメント5件

  • link 26年1月23日
    すずきさん (01/29 09:48)
    「おおー、そんな昔からなんですね。歴史感じ...」
  • link 26年1月23日
    hdkさん (01/27 19:53)
    「#! はUNIX v8からだったってWi...」
  • link 24年12月9日
    すずきさん (01/18 15:45)
    「Thank you for your i...」
  • link 24年12月9日
    Up2Uさん (01/15 12:57)
    「Hi I also find the p...」
  • link 25年12月18日
    すずきさん (12/23 23:51)
    「良く見たらksys_read()でfil...」

最近の記事20件

  • link 23年4月10日
    すずき (01/27 02:48)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linux kernel 2.4 for ARMが...」
  • link 26年1月23日
    すずき (01/27 02:47)
    「[shebangの役割] 目次: Linuxスクリプトの先頭(例えばシェルスクリプトなど)に書く"#!〜"から始まるおまじない...」
  • link 26年1月21日
    すずき (01/22 02:55)
    「[日本のテレビメーカーの衰退] ソニーがテレビ事業を分離するニュース(ソニーはなぜ、テレビ事業を「分離」するのか - 中国TC...」
  • link 25年12月26日
    すずき (12/30 14:01)
    「[Linuxのjournal操作メモ] 目次: Linux最近のLinuxディストリビューションはsystemdを採用している...」
  • link 25年12月22日
    すずき (12/28 23:39)
    「[ゲームを買ったら遊びましょう3] 目次: ゲーム前回の振り返り(2024年10月20日の日記参照)から1年経ちました。所持し...」
  • link 21年12月28日
    すずき (12/25 00:40)
    「[ゲーム - まとめリンク] 目次: ゲームNintendo DSを買ったパネルでポンDS最近の朝はパネポンDS聖剣伝説DSチ...」
  • link 08年3月25日
    すずき (12/24 22:16)
    「[シムシティDS2クリア] 目次: ゲームシムシティDS2のチャレンジモード「現代 温暖化」編をクリアして、スタッフロールを拝...」
  • link 25年12月10日
    すずき (12/24 01:02)
    「[LinuxからBIOS/UEFIの設定を取得する] 目次: Linux設定によって何か動作を変えたい、PC再起動するのが嫌な...」
  • link 25年12月16日
    すずき (12/24 00:47)
    「[initramfsの更新方法] 目次: Linuxいつも忘れてググっている気がするのでメモしておきます。Linuxカーネルを...」
  • link 16年3月2日
    すずき (12/24 00:37)
    「[Device Treeの謎] 目次: LinuxDevice Treeを使ってARM Linuxを起動したとき、どうやってコ...」
  • link 25年12月19日
    すずき (12/21 00:11)
    「[preadとlseek + readは何が違う?] 目次: Linux前回(2025年12月18日の日記参照)はpreadと...」
  • link 25年12月8日
    すずき (12/20 21:48)
    「[LXPanelのボタン入れ替えが使えないときの直し方] 目次: LinuxLXDEにはLXPanelといってタスクバーやスタ...」
  • link 25年12月18日
    すずき (12/20 19:11)
    「[preadとlseek + readは違います] 目次: Linux知っている人には「なんだそんなことか」で終わりな話なんで...」
  • link 25年12月11日
    すずき (12/19 23:59)
    「[Ubuntuのカーネルパニック画面] 目次: LinuxUbuntu 24.04 LTSで起動中にカーネルパニックを起こすと...」
  • link 22年4月13日
    すずき (12/19 10:49)
    「[C言語とlibc - まとめリンク] 目次: C言語とlibcC言語について。C++言語もたまに。プログラムの落とし穴、演算...」
  • link 16年1月25日
    すずき (12/19 10:48)
    「[紆余曲折だったC++11のoverrideとfinal] 目次: C言語とlibc最近cpprefjp(リンクはこちら)のコ...」
  • link 16年1月8日
    すずき (12/19 10:48)
    「[C, C++の可変引数マクロでのつまづきとGNU拡張構文] 目次: C言語とlibcC99, C++11の可変引数マクロでは...」
  • link 13年8月11日
    すずき (12/19 10:47)
    「[C++とPythonのクラスと動的型付け] 目次: C言語とlibc初めて触れたオブジェクト指向言語がC++で、その次がJa...」
  • link 23年9月11日
    すずき (12/19 10:42)
    「[Windows - まとめリンク] 目次: WindowsWindows XPのブリッジ機能colinuxとWindowsの...」
  • link 08年9月10日
    すずき (12/19 10:42)
    「[Windows PCの容量が足りません] 目次: Windows最近Windowsの入っているパーティション(Cドライブ)の...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 2026年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 01/29 09:48