c2414ec54d
Add priority_less for comparing threads based on priority and Refactor sema up to use list_max for clarity
sBubshait
2024-10-25 16:04:55 +01:00
30ab3ae861
Update thread_create to only yield CPU to the new thread if necessary
sBubshait
2024-10-25 15:47:19 +01:00
81309dcda9
Refactor sema_up to follow PintOS styling of if statements
sBubshait
2024-10-25 15:44:56 +01:00
093c6efd30
Re-sort ready_list when priorities update + PRI_UPDATE_FREQ - PRI_UPDATE_FREQ is a separate value from TIME_SLICE, they just happen to be set the same.
Gleb Koval2024-10-25 09:13:19 +01:00
c4cefbc2d5
Merge branch 'merged-complete' into 'master'
sb3923
2024-10-24 22:15:24 +00:00
b88baede64
rename recent_cpu update function
EDiasAlberto
2024-10-24 22:45:49 +01:00
7d196ffc57
adjust spacing around brackets to fit styling conventions
EDiasAlberto
2024-10-24 22:30:38 +01:00
176750282f
Merge branch 'BSD-merged' into 'master'
Dias Alberto, Ethan
2024-10-23 16:34:39 +00:00
ed11c61f87
Merge branch 'master' into 'BSD-merged', fixing merge conflicts
Dias Alberto, Ethan
2024-10-23 16:30:24 +00:00
0cbae2a2e5
Merge branch 'task1/priority-donation' into 'master'
Dias Alberto, Ethan
2024-10-23 16:15:44 +00:00
95386971e2
Update lock_release to disable interrupts in critical sections w/ S
Themis Demetriades
2024-10-23 16:45:42 +01:00
4879775d0b
Update donate priority to add an assertion that intrrupts are disabled, w/ T
sBubshait
2024-10-23 16:32:40 +01:00
6223846fde
Update lock_acquire to disable interrupts to eliminate race-conditions, w/ T
sBubshait
2024-10-23 16:30:38 +01:00
f9d82c92de
Update thread_recalculate_priority to disable interrupts preventing race conditions for access to donors and priorities w/ S
Themis Demetriades
2024-10-23 16:16:25 +01:00
5f8dea21be
Fix donate_priority to disable interrupts for entire update of possibly-ready donatee's priority
Themis Demetriades
2024-10-23 14:10:48 +01:00
b0074c80f0
Refactor ready_list_reinsert to require being called with interrupts disabled
Themis Demetriades
2024-10-23 13:51:07 +01:00
2cd4da17a4
Refactor donate_priority to only allow for the current thread to donate its priority
Themis Demetriades
2024-10-23 13:42:36 +01:00
a875d5fcb4
Update donate_priority to only attempt to sort position of the donee that isn't waiting for a lock
Themis Demetriades
2024-10-23 13:29:45 +01:00
d82176a2e2
Refactor lock release to follow PintOS indent style and use list functoins, w/ T
sBubshait
2024-10-22 22:52:29 +01:00
7aec2e6862
Refactor donate_priority to include comments explaining its purpose and logic w/ S
Themis Demetriades
2024-10-22 21:15:30 +01:00
78c6fd36e3
Refactor sema_up to add comments for clarity, w/ T
sBubshait
2024-10-22 21:04:14 +01:00
48104b3a41
Refactor cond_signal to add comment clarifying the logic w/ S
Themis Demetriades
2024-10-22 20:57:18 +01:00
5549b9c0cb
Refactor thread recalculate priority to add comments for clarity, w/ T
sBubshait
2024-10-22 20:52:52 +01:00
bf6104200c
Refactor thread set priority to remove unused variable and add comment, w/ T
sBubshait
2024-10-22 20:47:34 +01:00
6983ccdd3b
Update thread_get_priority description comment to be more specific w/ S
Themis Demetriades
2024-10-22 20:41:44 +01:00
fc1691f994
Refactor thread.h to remove superfluous thread priority comparison function w/ S
Themis Demetriades
2024-10-22 20:36:28 +01:00
244db41434
Update condvar to use linear search due to changes in priority from donations, w/ T
sBubshait
2024-10-22 20:25:13 +01:00
21cbfc9fe0
Implement transfer of orphaned donors when releasing lock w/ S
Themis Demetriades
2024-10-22 20:06:21 +01:00
d9b9572631
Fix Bug in recalculating priority, uses 'elem' instead of 'donor_elem', w/ T
sBubshait
2024-10-22 19:49:53 +01:00
f10514f4cc
Update priority_more comment description to specify which list_elem member it is compatible with
Themis Demetriades
2024-10-22 18:59:19 +01:00
dae5b0d097
Update semaphore priority scheduling to use linear search on unordered list w/ S
Themis Demetriades
2024-10-20 22:50:31 +01:00
840df8af78
Fix bug in donate_priority that wouldn't update the list of donors w/ S
Themis Demetriades
2024-10-20 22:29:20 +01:00
7f7b1648cd
Fix indentation in recalculate priority to match pintos style, w/ T
sBubshait
2024-10-20 22:28:29 +01:00
44de31c0ff
Fix Bug in Implementation of recalculate priority setting base priority, w/ T
sBubshait
2024-10-20 20:54:48 +01:00
afcb12cef0
Reformat thread priority changing functions to follow style w/ S
Themis Demetriades
2024-10-20 20:38:28 +01:00
b1dba1a0bd
Add implementation for recalculate effective priority, w/ T
sBubshait
2024-10-20 20:37:03 +01:00
8e20884a23
Update releasing of locks to update donation information w/ S
Themis Demetriades
2024-10-20 20:17:27 +01:00
ee0cf632b9
Fix attempt to donate priority within lock acquisition w/ S
Themis Demetriades
2024-10-20 19:45:05 +01:00
343ac55d37
Implement priority donation helper function with propagation, w/ T
sBubshait
2024-10-20 19:42:35 +01:00
f98e4bc81c
Update lock_acquire to attempt donation of priorities, w/ S
Themis Demetriades
2024-10-20 19:19:43 +01:00
5a651f1279
Update implementation of thread set priority to account for donations, w/ T
sBubshait
2024-10-20 18:06:07 +01:00
fcc8cbb71e
Implement initialization of new threads to track donation information, w/ S
Themis Demetriades
2024-10-20 17:11:44 +01:00
8b1e0b9559
Add donation-related information to the thread structure, w/ T
sBubshait
2024-10-20 17:04:14 +01:00