[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: -current kernel hang up



From: Hiroki TANIKAWA <tanh@tk.airnet.ne.jp>
Subject: Re: -current kernel hang up
Date: Mon, 24 Sep 2001 17:54:54 +0900 (JST)
Message-ID: <20010924.175454.74755606.tanh@tk.airnet.ne.jp>

tanh> そこで、/sys/arch/mac68k/mac68k/pmap.c の中の pmap_kremove() を
tanh> hp300, mvme68k 等の他の m68k アーキテクチャと比較したところ、
tanh> 1400 行目付近のコード (ここでは #ifdef DEBUG を除いています) において
tanh> 
tanh> while (sva < nssva) {
tanh>     if (pmap_pte_v(pte)) {
tanh>         /*
tanh>          * Update statistics
tanh>          */
tanh>         pmap->pm_stats.wired_count--;
tanh>         pmap->pm_stats.resident_count--;
tanh> 
tanh>         /*
tanh>          * Invalidate the PTE.
tanh>          */
tanh> 
tanh>         *pte = PG_NV;
tanh>         TBIS(va);                       <---- ここは TBIS(sva); では?
tanh>     }
tanh>     pte++;
tanh>     sva += NBPG;
tanh> }
tanh> 
tanh> という結論に達したのですが、最近 C のプログラミングをやっていないので
tanh> いまいち自信が持てません。
tanh> mac68k のこの部分のコードは hp300 から持ってきたようなのですが、
tanh> hp300 で pmap_remove(), pmap_remove_mapping() から pmap_kremove() に
tanh> コードを移してきたときに変数名を修正し忘れたように見えます。

そんな感じがしますねぇ。私も追試してみます。

# 気になっていたのですが、時間がないのと、手に負えそうもないのとで
# ほったらかしにしていました。

柴垣 威
ie9t-sbgk@asahi-net.or.jp