Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit 8eb98b2

Browse files
committed
Rename: lock_{status,result} and no attempt_...()
1 parent 4713b0a commit 8eb98b2

File tree

1 file changed

+25
-33
lines changed
  • unified-scheduler-logic/src

1 file changed

+25
-33
lines changed

unified-scheduler-logic/src/lib.rs

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ impl SchedulingStateMachine {
514514
}
515515
self.total_task_count.increment_self();
516516
self.active_task_count.increment_self();
517-
self.attempt_lock_for_task(task)
517+
self.try_lock_for_task(task)
518518
}
519519

520520
pub fn has_unblocked_task(&self) -> bool {
@@ -543,33 +543,7 @@ impl SchedulingStateMachine {
543543
self.unlock_for_task(task);
544544
}
545545

546-
#[must_use]
547-
fn attempt_lock_pages(&mut self, task: &Task) -> ShortCounter {
548-
let mut blocked_page_count = ShortCounter::zero();
549-
550-
for attempt in task.lock_attempts() {
551-
let page = attempt.page_mut(&mut self.page_token);
552-
let lock_status = if page.has_no_blocked_task() {
553-
Self::attempt_lock_page(page, attempt.requested_usage)
554-
} else {
555-
LockResult::Err(())
556-
};
557-
match lock_status {
558-
LockResult::Ok(PageUsage::Unused) => unreachable!(),
559-
LockResult::Ok(new_usage) => {
560-
page.usage = new_usage;
561-
}
562-
LockResult::Err(()) => {
563-
blocked_page_count.increment_self();
564-
page.push_blocked_task(task.clone(), attempt.requested_usage);
565-
}
566-
}
567-
}
568-
569-
blocked_page_count
570-
}
571-
572-
fn attempt_lock_page(page: &PageInner, requested_usage: RequestedUsage) -> LockResult {
546+
fn try_lock_page(page: &PageInner, requested_usage: RequestedUsage) -> LockResult {
573547
match page.usage {
574548
PageUsage::Unused => LockResult::Ok(PageUsage::from_requested_usage(requested_usage)),
575549
PageUsage::Readonly(count) => match requested_usage {
@@ -612,14 +586,32 @@ impl SchedulingStateMachine {
612586
}
613587

614588
#[must_use]
615-
fn attempt_lock_for_task(&mut self, task: Task) -> Option<Task> {
616-
let blocked_page_count = self.attempt_lock_pages(&task);
589+
fn try_lock_for_task(&mut self, task: Task) -> Option<Task> {
590+
let mut blocked_page_count = ShortCounter::zero();
591+
592+
for attempt in task.lock_attempts() {
593+
let page = attempt.page_mut(&mut self.page_token);
594+
let lock_result = if page.has_no_blocked_task() {
595+
Self::try_lock_page(page, attempt.requested_usage)
596+
} else {
597+
LockResult::Err(())
598+
};
599+
match lock_result {
600+
LockResult::Ok(PageUsage::Unused) => unreachable!(),
601+
LockResult::Ok(new_usage) => {
602+
page.usage = new_usage;
603+
}
604+
LockResult::Err(()) => {
605+
blocked_page_count.increment_self();
606+
page.push_blocked_task(task.clone(), attempt.requested_usage);
607+
}
608+
}
609+
}
617610

611+
// no blocked page means success
618612
if blocked_page_count.is_zero() {
619-
// succeeded
620613
Some(task)
621614
} else {
622-
// failed
623615
task.set_blocked_page_count(&mut self.count_token, blocked_page_count);
624616
None
625617
}
@@ -635,7 +627,7 @@ impl SchedulingStateMachine {
635627
self.unblocked_task_queue.push_back(task);
636628
}
637629

638-
match Self::attempt_lock_page(page, requested_usage) {
630+
match Self::try_lock_page(page, requested_usage) {
639631
LockResult::Ok(PageUsage::Unused) => unreachable!(),
640632
LockResult::Ok(new_usage) => {
641633
page.usage = new_usage;

0 commit comments

Comments
 (0)