ログインしていません。このフォーラムはログインユーザのみに投稿が許可されています。投稿する場合はログインしてください。
ダウンロード
Magazine
開発
アカウント
ダウンロード
Magazine
開発
ログイン
アカウント/パスワードを忘れた
アカウント作成
言語
ヘルプ
言語
ヘルプ
×
ログイン
ログイン名
パスワード
×
アカウント/パスワードを忘れた
日本語の翻訳状況
カテゴリ:
ソフトウェア
人物
PersonalForge
Magazine
Wiki
検索
OSDN
>
ソフトウェアを探す
>
システム
>
オペレーティングシステム カーネル
>
Hyper Operating System(ITRON仕様OS)
>
フォーラム
>
開発者
>
大きさ0のメモリブロック
Hyper Operating System(ITRON仕様OS)
Fork
概要
プロジェクト概要
開発ダッシュボード
Webページ
開発メンバー
画像ギャラリー
公開フィード一覧
活動
統計情報
活動履歴
ダウンロード
リリース一覧
統計
ソースコード
コードリポジトリリスト
Git
hos-v4a
CVS
リポジトリ閲覧
チケット
チケット一覧
マイルストーン一覧
チケットの種類一覧
コンポーネント一覧
よく使われるチケット一覧のリスト/RSS
新規チケット登録
文書
コミュニケーション
フォーラム
フォーラム一覧
開発者 (758)
ヘルプ (688)
公開討議 (342)
メーリングリスト
MLの一覧
hos-cvs
hos-git
ニュース
フォーラム:
開発者
(スレッド #3339)
話題(スレッド)一覧に戻る
RSS
大きさ0のメモリブロック (2003-09-10 01:58 by
m-arai
#5820)
チケットに引用
Graham Whaleyさんから、メールにてご報告いただきまし
た件をPatchesに登録しました。
ご確認お願いします。
https://sourceforge.jp/tracker/index.php?func=detail&aid=2970&group_id=183&atid=780
RE: 大きさ0のメモリブロック (2003-09-10 21:29 by
m-arai
#5832)
チケットに引用
これだけでは説明不足だったかもしれませんので、
Graham Whaleyさんからのご報告の要旨を書いて
おきます。
{
ER Error;
T_CDTQ State;
State.dtqatr = TA_TFIFO;
State.dtqcnt = 0;
State.dtq = NULL;
Error = cre_dtq(Id, &State);
}
のように、大きさ0のデータキューを確保した場合、
カーネルメモリから大きさ0の領域が確保される訳ですが、
メモリブロックの終端検出にブロックサイズ==0を条件と
して使っているため、それ以降のメモリ確保が、終端の
誤検出により正しく行われない場合があるという問題が
あります。
そこで、flagにMEMBLK_ENDを新設し、それをもってメモリ
ブロック終端検出をすれば、この問題は発生しません。
これはこれで解決案だとは思いますが、大きさ0のメモリ
ブロックの扱いについては一考の余地があるのではと
思います。実際には使われない管理ブロックを消費する
だけのものですから。
サイズが0のメモリ確保に対しては、NULLとはまた別の無効
アドレスを取り敢えず返すだけにするのも一案かと思いま
すが…。まだよく考えていません。
#5820
への返信
RE: 大きさ0のメモリブロック (2003-09-10 22:52 by
hamayan
#5833)
チケットに引用
お世話になっています。
前に配列の0サイズについて話題になっていたので、その事かと思っていましたが、動的生成(静的生成もかな?)のメモリブロックの話だったんですね。
うーん、10人居れば、10通りの使い方が有ると言う感じですかね。
#5832
への返信
RE: 大きさ0のメモリブロック (2003-09-10 23:16 by
m-arai
#5834)
チケットに引用
私も今回初めてdtqでdtqcnt=0が許されるのを知りました。
どう使うのか、思いつきません。
mpfではサイズ0というのはE_PARなんですけどね。
#5833
への返信
RE: 大きさ0のメモリブロック (2003-10-11 00:19 by
m-arai
#6124)
チケットに引用
カーネルメモリからのメモリ確保を1度にまとめるように
する差分をTrackerに追加しました。
こうすれば、dtqcnt=0でもkernel_alc_mem(0)は発生
しません。
が、kernel_alc_mem(0)の対策は、やはり別に必要では
ありましょう。
結果としてメモリ確保/解放を1回減らせるという
メリットもあります。mpfについて挙げているのと同様の
ものです。
しかし、ソースがどうにも汚くなる…。
#5834
への返信