Tae Woo Kim

Results 14 comments of Tae Woo Kim

https://github.com/kaist-cp/rv6/commit/030fea533c928b69a714a8cf05113724c790b79d 에서 김정우님이 추가하신 TODO로 보이는데, 무슨 뜻인지 확실하지는 않지만 "`Pipe`의 크기가 page 1개 크기보다도 커서 다른 page나 stack page를 덮어써버리는 게 아닌지 확인해봐야 한다."라는 뜻이 아닐까 조심스럽게 추측해봅니다.

추가: 위와 같은 const assert를 이용하면 Lock order을 강제할 수 있을 것 같습니다. ex) ```Rust pub struct Lock { /* Omitted */ } ```

* release mode로 compile하거나, debug mode에서 `incremental = false`로 해놓고 compile을 하면 ICE가 발생하지 않는다고 합니다. * 아마, 다음과 같이 구현하면 될 것 같습니다. ```Rust //! Types that let you...

* 추가적으로, 이 문제는 근본적으로 function body에 `const_assert!`을 추가해서는 풀 수 없는 문제인 것 같습니다. * function body내에서 `const_assert!`을 쓸 경우, 그 `const_assert!`이 **언제나 옳은 경우**에만 compile이 성공하게 됩니다. *...

@jeehoonkang 결론만 말씀드리자면, 기존에 [PR#489](https://github.com/kaist-cp/rv6/pull/489)를 close without merge했던 [이유](https://github.com/kaist-cp/rv6/pull/489#issuecomment-820610286)를 완전히 해결하기는 아직 힘들어보입니다. 다만, ICE가 없어졌으므로 훨씬 깔끔하게는 할 수 있을 것 같습니다. ex) (where 부분 추가) ```Rust pub fn...

"panic = unwind"로 바꾸면 해결되는 것으로 보입니다. rust에서 자주 일어나는 문제 같습니다.

조금 부연설명을 드리자면, * "util::list::{List, Node}"는 intrusive linked list/node가 아니지만, rv6내에서는 intrusive list가 필요하지 않으므로 이 정도면 충분합니다. * 그러나, 다른 OS들의 경우, kernel에서 intrusive linked list를 쓰는 경우가 매우...

@Gabriel4256 `Cargo.toml`에 다음 내용을 추가하면 std dependency가 제거되는걸 확인했습니다. ([참고](https://www.reddit.com/r/rust/comments/o4qh0a/cargo_feature_headscratcher/)) ``` [package] resolver = "2" ``` 다만, 이렇게 하더라도 `riscv` crate가 저희 target (`riscv64gc-unknown-none-elfhf.json`)을 지원하지 않아 compile이 실패합니다. * 지원되는...

https://github.com/rust-lang/unsafe-code-guidelines/issues/148#issuecomment-1003594785 * 결국 저번달에 miri가 업데이트 된 이후로는 miri가 더 이상 `!Unpin`인 type에 대해서는 mutuable reference의 uniqueness를 가정하지 않는 것으로 보입니다. 확인해본 결과, **더 이상 `List`와 `RcCell` 등이 miri에서 에러를...

EDIT: It seems like this doesn't happen anymore after fixing a lot of parts. However, note that rv6 is still much slower on low rustc versions.