david

david pushed to master at david/greatbridf_os

1 week ago

david pushed to master at david/greatbridf_os

3 weeks ago

david pushed to master at david/greatbridf_os

  • 4602c4d71c Merge branch 'fix' Fixed the problem that there might be two processes handling page fault on the same page that is set copy on write. If they see that the `refcount` is greater than `1`, they might each clone the page and decrease the `refcount` of the old page. That will leave the old page unfreed with a `refcount == 0`, which will cause bug in buddy allocator when it tries to merge adjacent free pages.
  • e6365b41be fix(page_fault): potential skipped free in page fault handler
  • View comparison for these 2 commits »

3 weeks ago

david pushed to master at david/greatbridf_os

3 weeks ago

david deleted branch vfs-refactor at david/greatbridf_os

3 weeks ago

david pushed to master at david/greatbridf_os

3 weeks ago

david deleted branch rust-sync at david/greatbridf_os

3 weeks ago

david pushed to master at david/greatbridf_os

  • 79f34a447a Merge branch 'smp'
  • 68afbfce01 feat: set ap cpus online in scheduler! There are still some bugs waiting to be fixed. The biggest of all is that multiple processes call `exit` at the same time will cause deadlock. This is because we hold `current.inner`, then `init.inner` and then `child.inner`. And if our children are doing `exit` simultaneously, they might hold their `current.inner` first and spin on `init.inner`. This causes the deadlock.
  • 742d1ef505 fix(buddy): hold global buddy lock for EVERYTHING This is a temporary solution. We should use atomic for `refcount` of pages. But doing so with C++ is bothersome. So we will put that off until we will rewrite buddy and slab system with Rust. This might bring significant performance drop.
  • 4d1ab3b719 feat: initialize ap cpus to a usable state
  • 44231d9217 fix(idle_task): disable irq when we use scheduler
  • View comparison for these 27 commits »

3 weeks ago

david pushed to vfs-refactor at david/greatbridf_os

  • 0235917d17 Merge branch 'rust-sync' into vfs-refactor
  • 7930b71762 feat: rewrite filearray with rust
  • e35fd75836 fix(pipe_read): reads don't need to be atomic change(ahci): spin for a short time first before switching to interrupt wait
  • ae698248ee [partial] feat: add sync stuffs feat: add sync primitives like CondVar Mutex Spin Semaphore to rust change: make Inode a trait again change: replace some of the Spin's with Mutex's or Semaphore's change: make kernel stacks 512KB in size change: save all file references as Dentry change: enable interrupts for ahci devices style: update clang-format and rustfmt
  • View comparison for these 4 commits »

1 month ago

david pushed to rust-sync at david/greatbridf_os

1 month ago

david pushed to rust-sync at david/greatbridf_os

  • e35fd75836 fix(pipe_read): reads don't need to be atomic change(ahci): spin for a short time first before switching to interrupt wait
  • ae698248ee [partial] feat: add sync stuffs feat: add sync primitives like CondVar Mutex Spin Semaphore to rust change: make Inode a trait again change: replace some of the Spin's with Mutex's or Semaphore's change: make kernel stacks 512KB in size change: save all file references as Dentry change: enable interrupts for ahci devices style: update clang-format and rustfmt
  • f4128f04a0 Merge branch 'vfs-refactor'
  • b67ed10025 feat: load huge kernel, new memory layout
  • b94122a5fb fix(buddy): create_zone with args like 12, 15

1 month ago

david created new branch rust-sync at david/greatbridf_os

1 month ago

david pushed to vfs-refactor at david/greatbridf_os

2 months ago

david pushed to master at david/greatbridf_os

2 months ago

david pushed to vfs-refactor at david/greatbridf_os

2 months ago

david pushed to vfs-refactor at david/greatbridf_os

2 months ago

david pushed to vfs-refactor at david/greatbridf_os

2 months ago

david pushed to vfs-refactor at david/greatbridf_os

  • ffc7a180d4 rewrite(ahci): rewrite ahci module with rust

2 months ago

david pushed to vfs-refactor at david/greatbridf_os

  • b43277c46c refactor: rewrite fs submodule with rust

2 months ago

david pushed to vfs-refactor at david/greatbridf_os

  • c3b20946d2 rewrite(e1000e): rewrite e1000e driver with rust

2 months ago