2007年9月2日日曜日

いろいろ。

バタバタと忙しくて元気が無いので雑多なメモ。

NVIDIA-Linux-x86_64-1.0-9639-pkg2

2.6.23-rc2 以降位でコンパイル通すためのパッチ。
--- nv/nv-linux.h       2007-04-17 13:03:18.000000000 +0900
+++ nv-new/nv-linux.h 2007-09-02 18:06:02.000000000 +0900
@@ -528,7 +528,7 @@
#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
{ \
kmem_cache = kmem_cache_create(name, sizeof(type), \
- 0, 0, NULL, NULL); \
+ 0, 0, NULL); \
}

#define NV_KMEM_CACHE_DESTROY(kmem_cache) \
Only in nv-new: nv-linux.h.orig
Only in nv-new: nv-vm.o
diff -ubBr nv/nv.c nv-new/nv.c
--- nv/nv.c 2007-04-17 13:03:18.000000000 +0900
+++ nv-new/nv.c 2007-09-02 18:06:02.000000000 +0900
@@ -107,7 +107,8 @@

static int nv_mmconfig_failure_detected = 0;

-static kmem_cache_t *nv_pte_t_cache = NULL;
+static struct kmem_cache *nv_pte_t_cache;

// allow an easy way to convert all debug printfs related to events
// back and forth between 'info' and 'errors'
@@ -1423,8 +1424,7 @@
if (apm_nv_dev[i] != NULL) pm_unregister(apm_nv_dev[i]);
#endif

- if (unregister_chrdev(nv_major, "nvidia") < 0)
- nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
+ unregister_chrdev(nv_major, "nvidia");

for (i = 0; i < num_nv_devices; i++)
{
@@ -1450,8 +1450,7 @@

nv_printf(NV_DBG_INFO, "NVRM: nvidia_exit_module\n");

- if (unregister_chrdev(nv_major, "nvidia") < 0)
- nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
+ unregister_chrdev(nv_major, "nvidia");

for (i = 0; i < num_nv_devices; i++)
{

[PATCH 0/25 -v2] paravirt_ops for x86_64, second round

おなじ x86_64 で lguest (paravirt_ops) のパッチが LKML に 2度目? 投げられているが 2.6.24 になるのかしら?

遅延 ACK

TCP の sliding window の話をしていたところ「遅延 ACKとゆーものがあって、受信側はウィンドウサイズ (cwnd?) 分のパケットを受け取った後でないと ACK を返さない」とおかしな事を言い切っていたが、そんな実装もあるのか? Web をウロウロしていたら linux では quickackというものがあり...評判が悪いらしい。けど、どういった状態で delayed ACK を無効にするか知りたいが、そう。TCP のコードも私にとっては難解。

あとあと piggyback を使っているアプリケーションってある? 先日の lsrr を iperf に実装すべくコード読み始めたけど読み辛い....

0 件のコメント: