[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: reboot without WinCE
こばやしです
> - pbsdboot からの移植が十分でないような気がします。
> 現在実行しているカーネルよりも大きなカーネル、
> たとえばインストール用の RAM disk イメージいりカーネルなどを
> ロードするとおかしくなりませんか?
この辺のテストをしているのですが、大きいカーネルを入れる領域を確保するため
に single user mode に落として余計なプロセスを消しても、ページキャッシュに
使われたままになっているのか、メモリが取り戻せません。
|error = uvm_pglistalloc(map.pagesize, avail_start,
| avail_end, 0, 0, &mlist, 1, 1);
|if (error) {
| wakeup(&uvm.pagedaemon);
| error = uvm_pglistalloc(map.pagesize, avail_start,
| avail_end, 0, 0, &mlist, 1, 1);
| if (error) {
| printf("mmioctl: can't allocate map\n");
| uvm_pglistfree(&mlist);
| return (error);
| }
|}
こんなかんじで、一度確保できなかったら pagedaemon を wakeup した後、もう一度
試みてそれでもだめなら諦めるというふうにしてみたのですが、やはりだめです。
どうするのが正しいのでしょう?
--
KOBAYASHI Yoshiaki