Commit Graph

  • f710404f10 Remove extra content section from front page Philipp Oppermann 2020-01-28 16:57:49 +01:00
  • 007bf8a937 Move posts about red zone and disabling SIMD in second post folder Philipp Oppermann 2020-01-28 16:57:00 +01:00
  • b337f65abb Add a yield_now function and use it in idle thread Philipp Oppermann 2020-01-28 12:28:50 +01:00
  • 22c6bd5aa7 Add idle thread and begin support for blocking Philipp Oppermann 2020-01-28 12:22:37 +01:00
  • 87719f2260 Switch current_thread_id before context switch Philipp Oppermann 2020-01-28 11:29:21 +01:00
  • 0c67111e68 Merge pull request #721 from phil-opp/align-up-performance Philipp Oppermann 2020-01-28 10:39:20 +01:00
  • 0f74db4812 Implement align_up using align_offset from Rust's standard library (#723) Philipp Oppermann 2020-01-28 10:39:14 +01:00
  • 93fd330ab9 Use bitmask instead of align_offset Philipp Oppermann 2020-01-28 10:29:53 +01:00
  • 16a6aca76a Use bitmask method instead of align_offset Philipp Oppermann 2020-01-28 10:21:20 +01:00
  • c0399b04db Update allocator designs post to use checked additions (#727) Philipp Oppermann 2020-01-27 13:25:13 +01:00
  • 3ad5f117c2 Use checked addition for allocator implementations (#726) Philipp Oppermann 2020-01-27 13:25:08 +01:00
  • 4b8c902354 Fix typo Philipp Oppermann 2020-01-27 12:46:33 +01:00
  • 0caf5c351e Run cargo fmt Philipp Oppermann 2020-01-23 14:24:13 +01:00
  • cb7bb0ddef Refactor and rewrite Philipp Oppermann 2020-01-23 14:22:29 +01:00
  • 7ad30651fb Rename allocator.rs to allocator/mod.rs Philipp Oppermann 2020-01-23 11:46:45 +01:00
  • 49923acb3f Print thread id instead of hardcoding numbers Philipp Oppermann 2020-01-23 11:03:15 +01:00
  • f2b1f3a593 Fix handling of current thread id Philipp Oppermann 2020-01-23 10:49:51 +01:00
  • 5e2e0b629e Refactor threading code Philipp Oppermann 2020-01-23 10:42:37 +01:00
  • 35379c90e6 Force unlock writer on panic to avoid deadlocks Philipp Oppermann 2020-01-23 10:42:19 +01:00
  • e5d10fcaec Increase stack size to avoid stack overflow Philipp Oppermann 2020-01-23 10:41:59 +01:00
  • e1242a867f Move global_asm inline in threads module Philipp Oppermann 2020-01-23 09:20:17 +01:00
  • cd138a3a1b Rename multitasking module to threads Philipp Oppermann 2020-01-23 09:18:00 +01:00
  • 11a0eb679c Fix race condition Philipp Oppermann 2020-01-23 08:50:35 +01:00
  • 241c1ab2c9 Add support for closures Philipp Oppermann 2020-01-23 08:24:25 +01:00
  • b75406b37e Add new modules Philipp Oppermann 2020-01-22 17:24:17 +01:00
  • c3450b6df7 Refactor a bit Philipp Oppermann 2020-01-22 16:33:23 +01:00
  • ce1fdcf768 Wip Philipp Oppermann 2020-01-22 16:15:23 +01:00
  • 7070bb608d Fix typo Philipp Oppermann 2020-01-22 12:42:19 +01:00
  • 3a6aa9834a Provide multiple implementations of align_up and mention performance Philipp Oppermann 2020-01-22 11:33:37 +01:00
  • d1678f5a96 Implement align_up using align_offset from Rust's standard library Philipp Oppermann 2020-01-22 11:35:29 +01:00
  • 0346ec3111 Merge pull request #719 from phil-opp/allocator-designs Philipp Oppermann 2020-01-20 14:22:09 +01:00
  • 2f926b601c Update release date Philipp Oppermann 2020-01-20 14:18:10 +01:00
  • d6da1c8485 Typo fixes Philipp Oppermann 2020-01-20 14:17:44 +01:00
  • 002d6f255f Set FixedSizeBlockAllocator as global allocator Philipp Oppermann 2020-01-20 14:09:00 +01:00
  • 6c3bf0b10f Implement GlobalAlloc::dealloc Philipp Oppermann 2020-01-20 14:07:47 +01:00
  • 7a792f5cb0 Implement GlobalAlloc::alloc Philipp Oppermann 2020-01-20 14:07:02 +01:00
  • 93b4dcf434 Add skeleton for GlobalAlloc implementation Philipp Oppermann 2020-01-20 14:06:26 +01:00
  • 821dd2adb4 Add function to calculate the list index Philipp Oppermann 2020-01-20 14:05:24 +01:00
  • d636939b51 Add FixedSizeBlockAllocator::fallback_alloc method Philipp Oppermann 2020-01-20 14:05:01 +01:00
  • 9b7326541e Add FixedSizeBlockAllocator type Philipp Oppermann 2020-01-20 14:04:13 +01:00
  • 4f234b67ef Add ListNode type and BLOCK_SIZES constant Philipp Oppermann 2020-01-20 14:02:57 +01:00
  • 7381e11f3c Create a new fixed_size_block allocator submodule Philipp Oppermann 2020-01-20 14:01:59 +01:00
  • 6ecf2998ee Minor improvements Philipp Oppermann 2020-01-20 14:00:52 +01:00
  • 13d65e64b5 Improve post introduction Philipp Oppermann 2020-01-20 13:09:46 +01:00
  • 0b9a80684a Fix typo Philipp Oppermann 2020-01-20 11:47:54 +01:00
  • bd94c52c36 What's next? Philipp Oppermann 2020-01-20 11:45:29 +01:00
  • 9d25a18f9e Write summary Philipp Oppermann 2020-01-20 11:38:02 +01:00
  • 987138f5bf Write discussion section for fixed-size block allocator Philipp Oppermann 2020-01-20 11:04:21 +01:00
  • dc8d0a833b Add image Philipp Oppermann 2020-01-20 10:09:08 +01:00
  • 6368938b9e Link to free list wikipedia article Philipp Oppermann 2020-01-20 10:08:33 +01:00
  • 8500b480a9 Reword 'support me' text Philipp Oppermann 2020-01-15 18:53:58 +01:00
  • deca65eb1f Break long line in code excerpt Philipp Oppermann 2020-01-15 18:23:59 +01:00
  • 2cfa13a48f Add missing imports Philipp Oppermann 2020-01-15 18:13:43 +01:00
  • 687c81eedb Array initialization using non-Copy types requires feature gate Philipp Oppermann 2020-01-15 18:06:30 +01:00
  • 658212c1f5 Add bullet points for discussion section Philipp Oppermann 2020-01-15 17:17:27 +01:00
  • 04857a063d Write short 'Using it' section Philipp Oppermann 2020-01-15 15:42:16 +01:00
  • 5d14722601 Store a Option<&mut ListNode in head array instead of a dummy ListNode Philipp Oppermann 2020-01-15 15:34:13 +01:00
  • db20a40745 Write implementation section for fixed-size block allocator Philipp Oppermann 2020-01-15 13:42:39 +01:00
  • 07b1ee0199 Fix internal link Philipp Oppermann 2020-01-15 13:42:08 +01:00
  • ad671a3a92 Continue fixed-size block allocator section Philipp Oppermann 2020-01-14 12:34:26 +01:00
  • f042761ada Fix typo Philipp Oppermann 2020-01-14 11:50:28 +01:00
  • 64e5b67f35 Remove old content Philipp Oppermann 2020-01-14 11:49:07 +01:00
  • c92b0d46dc Begin introduction for fixed-size block allocator Philipp Oppermann 2020-01-14 11:48:28 +01:00
  • 1915e6feb4 Minor improvements to linked list section Philipp Oppermann 2020-01-14 11:48:09 +01:00
  • 8f80378e65 Improve section about performance of linked list allocator Philipp Oppermann 2020-01-14 10:50:32 +01:00
  • b34cad7c61 Improve example for merging freed blocks Philipp Oppermann 2020-01-14 10:50:00 +01:00
  • e4c07e0356 Fill in images related to merging freed blocks Philipp Oppermann 2020-01-13 13:21:58 +01:00
  • 6a4fdf94fc Write discussion section Philipp Oppermann 2020-01-13 10:07:25 +01:00
  • 14c0cc7ece Fix typo Philipp Oppermann 2020-01-10 13:09:31 +01:00
  • 231b5d587b Update implementation section of linked list allocator Philipp Oppermann 2020-01-10 13:09:20 +01:00
  • a9fe65a0ce Use new LinkedListAllocator Philipp Oppermann 2020-01-10 13:04:46 +01:00
  • 2001814119 Implement LinkedListAllocator::size_align Philipp Oppermann 2020-01-10 13:00:16 +01:00
  • a5c50e7408 Implement GlobalAlloc for LinkedListAllocator Philipp Oppermann 2020-01-10 11:52:04 +01:00
  • 70a52c291d Implement alloc_from_region Philipp Oppermann 2020-01-10 11:48:56 +01:00
  • c56bfa27e4 Implement find_region Philipp Oppermann 2020-01-10 11:46:10 +01:00
  • 55aec9ebf3 Apply rustfmt to ListNode::new function Philipp Oppermann 2020-01-10 11:44:38 +01:00
  • 2e1d132a9a Implement add_free_region Philipp Oppermann 2020-01-10 11:44:17 +01:00
  • 63e8577d77 Create a basic LinkedListAllocator type Philipp Oppermann 2020-01-10 11:42:04 +01:00
  • 6cc3449183 Restructure headings Philipp Oppermann 2020-01-09 16:52:47 +01:00
  • dda99166d9 Start rewriting linked list allocator section Philipp Oppermann 2020-01-09 16:32:26 +01:00
  • 75d826bf69 Add a test that memory is reused with a long lived allocation Philipp Oppermann 2020-01-09 15:45:38 +01:00
  • f19b93eb34 Fixes and improvements to bump allocator section Philipp Oppermann 2020-01-09 15:43:35 +01:00
  • 45be3f0648 Use our BumpAllocator instead of linked_list_allocator crate Philipp Oppermann 2020-01-09 15:37:16 +01:00
  • 055c560a7a Add an align_up function Philipp Oppermann 2020-01-09 15:36:06 +01:00
  • e87044a7ee Implement GlobalAlloc for BumpAllocator Philipp Oppermann 2020-01-09 15:35:03 +01:00
  • 08d2289dad Add a Locked wrapper type that can be used to implement GlobalAlloc Philipp Oppermann 2020-01-09 15:34:04 +01:00
  • 7c84dbaa1d Create a basic BumpAllocator type Philipp Oppermann 2020-01-09 15:25:37 +01:00
  • e4652090a8 Finish rewrite of bump allocator section Philipp Oppermann 2020-01-09 13:46:37 +01:00
  • 8fb0a7c405 Update blog for #716 Philipp Oppermann 2020-01-09 13:01:25 +01:00
  • 192923bd2a Fix typo in support template Philipp Oppermann 2020-01-09 12:59:17 +01:00
  • 882c83f9de Update many_boxes test to scale with heap size (#716) Philipp Oppermann 2020-01-09 12:58:29 +01:00
  • 851460fe12 Fix typos Philipp Oppermann 2020-01-08 18:03:16 +01:00
  • 37aa01958a Start rewriting bump allocator section Philipp Oppermann 2020-01-08 17:39:26 +01:00
  • c3feb6a9e6 Reword design section Philipp Oppermann 2020-01-08 17:38:06 +01:00
  • ed157c8a75 Write an introduction Philipp Oppermann 2020-01-08 17:37:40 +01:00
  • 26fc3ba626 Add a small abstract Philipp Oppermann 2020-01-08 17:37:28 +01:00
  • 06ea0caece Code will be available in post-11 branch Philipp Oppermann 2020-01-08 12:00:04 +01:00
  • 620958a8a2 Fix interal links Philipp Oppermann 2020-01-08 11:06:33 +01:00
  • 5937ec2e04 Reintroduce allocator designs post Philipp Oppermann 2020-01-08 11:02:42 +01:00
  • 4e5a757396 It is now possible to define allocators in submodules (#715) Philipp Oppermann 2020-01-08 12:39:11 +01:00