Tate, Hongliang Tian

Results 33 issues of Tate, Hongliang Tian

### Background When debugging, one usually needs to inspect the value of an object. For exactly this purpose, Rust offers the ability to implement or automatically derive Debug traits for...

The event subsystem is intended to serve as an easy-to-use and reliable foundation for event notification. Currently, most event-handling related code (e.g., sigtimedwait, pipe, poll, epoll, etc.) has been implemented...

This issue tracks planned improvements for the scheduling subsystem of Asterinas. - [ ] #723 @jellllly420 * Previously blocked by #746, which has been fixed by #796 - [ ]...

## Problem Currently, the POSIX signals are handled in the main loop of user tasks, after `UserMode::execute` returns. ```rust pub fn create_new_user_task(user_space: Arc, thread_ref: Weak) -> Arc { fn user_task_entry()...

From AMD64 manual: > The Process Context Identifier (PCID) feature allows a logical processor to cache TLB mappings concurrently for multiple virtual address spaces. When enabled (by setting CR4.PCIDE=1), the...

Currently, x86-64's CR3 is modified every time the kernel switches to the user space as it involves `UserMode::execute`. https://github.com/asterinas/asterinas/blob/ce0968fbab0175adb9a8fcc26117a00765da1b0b/framework/aster-frame/src/user.rs#L140-L146 Modifying the CR3 invalidates all non-global TLB entries. In Asterinas, this...

Asterinas Framework API should be hardened to detect integer overflow. Otherwise, the soundness of these API may be compromised. For example, the `VmFrame::read_bytes` method have checked the arguments to prevent...

# Background The website for the Asterinas Book, https://asterinas.github.io/book/, is hosted by Github Pages. The Website is static and its content is maintained in the [asterinas/book](https://github.com/asterinas/book) repository, which is generated...

This is what the drop method of `VmFrame` looks like. ```rust impl Drop for VmFrame { fn drop(&mut self) { if self.need_dealloc() && Arc::strong_count(&self.frame_index) == 1 { // Safety: the...

According to the benchmark in `sgx-disk`, the performance of `IoUringDisk` is inferior to that of `SyncIoDisk` in some cases. Need to find out why and improve it. ![image](https://user-images.githubusercontent.com/568208/172077868-87fd3fbb-358b-43b8-a7ab-ce398a74d008.png)