{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":400502035,"defaultBranch":"staging","name":"unikraft","ownerLogin":"razvanvirtan","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-08-27T12:29:19.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/57065879?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1687781890.1319768","currentOid":""},"activityList":{"items":[{"before":"4c7920e7dff419aa6661f6914764ff966d10035b","after":"2514a5eb1ef1e801396361a4570da672ac0f6fec","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2024-01-23T18:39:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukallocbbuddy: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\nFor single core applications, we keep the possibility of using\nthe un-synchronized allocator.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukallocbbuddy: Synchronize the bbuddy allocator"}},{"before":"85b83a741e8bf7002ce6b926e4706d39323282f6","after":"105c61821f5d8cfefa231732297668be92ae7c23","ref":"refs/heads/staging","pushedAt":"2024-01-20T11:24:51.000Z","pushType":"push","commitsCount":733,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":".github/workflows: Add step that formats shell scripts\n\nSigned-off-by: Cezar Craciunoiu \nApproved-by: Simon Kuenzer \nReviewed-by: Simon Kuenzer \nGitHub-Closes: #1246","shortMessageHtmlLink":".github/workflows: Add step that formats shell scripts"}},{"before":null,"after":"f86aaf135587971238f6568a63ef4ac5953d86b4","ref":"refs/heads/diploma","pushedAt":"2023-06-26T12:18:10.131Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"misc: various fixes","shortMessageHtmlLink":"misc: various fixes"}},{"before":"5a1f43c92df2fdf84517acc5ae864809a55dde38","after":"4e59d0522c953d7bc9ffcc652cae8fde1b982b47","ref":"refs/heads/buddy_allocator_physical","pushedAt":"2023-06-17T11:15:18.127Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukallocbbuddy: Allocate physical memory in the buddy allocator\n\nCurrently, the buddy allocator only handles virtual memory reservation\nin a huge memory area that is mapped at boot time, whereas physical\nmemory is handled with demand paging.\n\nThis commit introduces physical memory allocation for the blocks\nthat are provided by the buddy allocator, minimizing the number of page\nfaults generated by subsequent accesses.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukallocbbuddy: Allocate physical memory in the buddy allocator"}},{"before":null,"after":"566a67c42508a16a06178a55066dcdb05d131152","ref":"refs/heads/buddy_ukvmem","pushedAt":"2023-06-17T11:08:21.399Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukallocbbuddy: Alloc physical memory in the buddy allocator\n\nCurrently, the buddy allocator only handles virtual memory reservation\nin a huge memory area that is mapped at boot time, whereas physical\nmemory is handled with demand paging.\n\nThis commit introduces physical memory allocation for the blocks\nthat are provided by the buddy allocator, minimizing the number of page\nfaults generated by subsequent accesses.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukallocbbuddy: Alloc physical memory in the buddy allocator"}},{"before":null,"after":"5a1f43c92df2fdf84517acc5ae864809a55dde38","ref":"refs/heads/buddy_allocator_physical","pushedAt":"2023-06-17T11:07:53.985Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukallocbbuddy: Alloc physical memory in the buddy allocator\n\nCurrently, the buddy allocator only handles virtual memory reservation\nin a huge memory area that is mapped at boot time, whereas physical\nmemory is handled with demand paging.\n\nThis commit introduces physical memory allocation for the blocks\nthat are provided by the buddy allocator, minimizing the number of page\nfaults generated by subsequent accesses.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukallocbbuddy: Alloc physical memory in the buddy allocator"}},{"before":null,"after":"a4e9c945cb7076b97d0bc31823c4f57bd3eb22c8","ref":"refs/heads/staging_no_issue","pushedAt":"2023-06-06T07:48:42.919Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukvmem: Synchronize the virtual memory API\n\nThis commit provides synchronization of the mapping, unmapping\nand page fault functions provided by ukvmem, by synchronizing\nthe functions they call.\n\nThe main point that requires synchronization is the list of VMAs\nassociated to one VAS. We synchronize it using read write locks,\nso that concurrent traversals of this list are possible.\n\nHowever, the mapping function needs to iterate trough the VMAs\nlist and then modify it atomically, so that we don't have two\n`uk_vma_map()` calls mapping the same memory region. Therefore,\nmapping calls are serialized at this point by using a simple spinlock.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukvmem: Synchronize the virtual memory API"}},{"before":"e1ed6a103b3fd6aea6c8c7234d94e9b16492989c","after":"aa62d7a591e6518b2e79824a75fb4578a054ba0a","ref":"refs/heads/synchronize_ukvmem","pushedAt":"2023-06-06T07:40:40.599Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukvmem: Synchronize the virtual memory API\n\nThis commit provides synchronization of the mapping, unmapping\nand page fault functions provided by ukvmem, by synchronizing\nthe functions they call.\n\nThe main point that requires synchronization is the list of VMAs\nassociated to one VAS. We synchronize it using read write locks,\nso that concurrent traversals of this list are possible.\n\nHowever, the mapping function needs to iterate trough the VMAs\nlist and then modify it atomically, so that we don't have two\n`uk_vma_map()` calls mapping the same memory region. Therefore,\nmapping calls are serialized at this point by using a simple spinlock.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukvmem: Synchronize the virtual memory API"}},{"before":"4c7352c0a5ad3a2785fb6aec3043a7c1f46e7883","after":"85b83a741e8bf7002ce6b926e4706d39323282f6","ref":"refs/heads/staging","pushedAt":"2023-06-06T07:40:18.710Z","pushType":"push","commitsCount":191,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"plat/kvm/x86/tscclock: Switch i8254 to sw-triggered strobe on init\n\nTo switch the i8254 to sw-triggered strobe mode a value must be\nwritten into the counter. Previously the timer remained in rate\ngenerator mode and kept generating interrupts until the counter\nwas written (e.g., for a sleep())\n\nSigned-off-by: Federico Parola \nReviewed-by: Razvan Deaconescu \nApproved-by: Simon Kuenzer \nTested-by: Unikraft CI \nGitHub-Closes: #923","shortMessageHtmlLink":"plat/kvm/x86/tscclock: Switch i8254 to sw-triggered strobe on init"}},{"before":"4c7352c0a5ad3a2785fb6aec3043a7c1f46e7883","after":"85b83a741e8bf7002ce6b926e4706d39323282f6","ref":"refs/heads/staging","pushedAt":"2023-06-06T07:40:18.633Z","pushType":"push","commitsCount":191,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"plat/kvm/x86/tscclock: Switch i8254 to sw-triggered strobe on init\n\nTo switch the i8254 to sw-triggered strobe mode a value must be\nwritten into the counter. Previously the timer remained in rate\ngenerator mode and kept generating interrupts until the counter\nwas written (e.g., for a sleep())\n\nSigned-off-by: Federico Parola \nReviewed-by: Razvan Deaconescu \nApproved-by: Simon Kuenzer \nTested-by: Unikraft CI \nGitHub-Closes: #923","shortMessageHtmlLink":"plat/kvm/x86/tscclock: Switch i8254 to sw-triggered strobe on init"}},{"before":"8211adf58d67d0b5dd2e5e2baea5c75e0b317545","after":"4c7920e7dff419aa6661f6914764ff966d10035b","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-05-22T22:32:40.607Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukallocbbuddy: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\nFor single core applications, we keep the possibility of using\nthe un-synchronized allocator and we introduce an associated\nconfiguration option.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukallocbbuddy: Synchronize the bbuddy allocator"}},{"before":null,"after":"e1ed6a103b3fd6aea6c8c7234d94e9b16492989c","ref":"refs/heads/synchronize_ukvmem","pushedAt":"2023-05-20T14:32:34.209Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"synchronize","shortMessageHtmlLink":"synchronize"}},{"before":"a45d74e24581125cd41804eb04ff0e00321fa391","after":"b2892b71950d38a73d00e64fb48a9ed284f3f28b","ref":"refs/heads/add_atomic_fetch_sub","pushedAt":"2023-05-03T12:46:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"uk/arch: Make `ukarch_dec` use `ukarch_fetch_sub`\n\nChange the `ukarch_dec` definition so that it uses `ukarch_fetch_sub`,\nbeing consistent with the `ukarch_inc` implementation.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"uk/arch: Make ukarch_dec use ukarch_fetch_sub"}},{"before":"6edef384ee5698bd987d81f0578738e9aafb6596","after":"a45d74e24581125cd41804eb04ff0e00321fa391","ref":"refs/heads/add_atomic_fetch_sub","pushedAt":"2023-04-29T19:22:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"uk/arch: Make `ukarch_dec` use `ukarch_fetch_sub`\n\nIn dbdca13, we introduced the `ukarch_fetch_sub` macro.\nChange the `ukarch_dec` definition so that it uses `ukarch_fetch_sub`,\nbeing consistent with the `ukarch_inc` implementation.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"uk/arch: Make ukarch_dec use ukarch_fetch_sub"}},{"before":"193c654508209129f6a828d4566b2cfeb77db03b","after":"8211adf58d67d0b5dd2e5e2baea5c75e0b317545","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-04-22T19:42:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"uk/arch: Add `ukarch_fetch_sub`\n\nAdd wrapper for the `__atomic_fetch_sub` GNU builtin.\n\nReviewed-by: Razvan Virtan ","shortMessageHtmlLink":"uk/arch: Add ukarch_fetch_sub"}},{"before":null,"after":"6edef384ee5698bd987d81f0578738e9aafb6596","ref":"refs/heads/add_atomic_fetch_sub","pushedAt":"2023-04-22T19:36:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"uk/arch: Add `ukarch_fetch_sub`\n\nAdd wrapper for the `__atomic_fetch_sub` GNU builtin.\n\nReviewed-by: Razvan Virtan ","shortMessageHtmlLink":"uk/arch: Add ukarch_fetch_sub"}},{"before":"e4cf4e0f0038dbe36357cf1b8bf5e7cb6cb51145","after":"193c654508209129f6a828d4566b2cfeb77db03b","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-14T09:36:27.766Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\nFor single core applications, we keep the possibility of using\nthe un-synchronized allocator and we introduce an associated\nconfiguration option.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":"48ade0007ffc8f46bf04917e80715eebcec8a72f","after":"e4cf4e0f0038dbe36357cf1b8bf5e7cb6cb51145","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-14T07:30:23.610Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\nFor single core applications, we keep the possibility of using\nthe un-synchronized allocator and we introduce an associated\nconfiguration option.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":"5aea288db81a924db9fc13af7390e3f93596f4aa","after":"48ade0007ffc8f46bf04917e80715eebcec8a72f","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-14T07:06:39.942Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\nFor single core applications, we keep the possibility of using\nthe un-synchronized allocator and we introduce an associated\nconfiguration option.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":"e2e0979e8ec3a65a786c19c20e02d4e55307af41","after":"5aea288db81a924db9fc13af7390e3f93596f4aa","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-14T06:48:19.375Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":"b2f593d35269d9e2f9dda747eaec855462cfdb69","after":"e2e0979e8ec3a65a786c19c20e02d4e55307af41","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-13T21:23:31.006Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":"5e323dc414ca6948176dc21209d890230d3a51c2","after":"b2f593d35269d9e2f9dda747eaec855462cfdb69","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-13T21:21:42.105Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":"ea7070620691156ec49e5171fc2e0d9913adcffa","after":"5e323dc414ca6948176dc21209d890230d3a51c2","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-13T21:11:57.345Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":null,"after":"ea7070620691156ec49e5171fc2e0d9913adcffa","ref":"refs/heads/synchronize_bbuddy","pushedAt":"2023-03-13T21:10:03.349Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"lib/ukalloc: Synchronize the bbuddy allocator\n\nThe bbuddy allocator provided by Unikraft is not SMP safe.\nSynchronize the allocator with a lock-based approach, with a minimum\nimpact on the allocator performance.\n\nSigned-off-by: Razvan Virtan ","shortMessageHtmlLink":"lib/ukalloc: Synchronize the bbuddy allocator"}},{"before":"9bf6e63314a401204c02597834fb02f63a29aaf4","after":"4c7352c0a5ad3a2785fb6aec3043a7c1f46e7883","ref":"refs/heads/staging","pushedAt":"2023-03-13T21:09:21.998Z","pushType":"push","commitsCount":274,"pusher":{"login":"razvanvirtan","name":"Razvan Virtan","path":"/razvanvirtan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57065879?s=80&v=4"},"commit":{"message":"Release: v0.12.0 Epimetheus\n\nSigned-off-by: Razvan Deaconescu \nSigned-off-by: Marc Rittinghaus \nSigned-off-by: Simon Kuenzer \nSigned-off-by: Alexander Jung ","shortMessageHtmlLink":"Release: v0.12.0 Epimetheus"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0yM1QxODozOTo1OC4wMDAwMDBazwAAAAPnMJpb","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0yM1QxODozOTo1OC4wMDAwMDBazwAAAAPnMJpb","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wMy0xM1QyMTowOToyMS45OTgxOThazwAAAAMClccP"}},"title":"Activity ยท razvanvirtan/unikraft"}