source: libcfa/src/concurrency/preemption.hfa @ 1d66a91

Last change on this file since 1d66a91 was e660761, checked in by Thierry Delisle <tdelisle@…>, 4 years ago

First attempt at reducing complation time by restructuring the code.
Notably, starting the runtime has been moved to kernel/startup.cfa

  • Property mode set to 100644
File size: 881 bytes
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// preemption.hfa --
8//
9// Author           : Thierry Delisle
10// Created On       : Mon Jun 5 14:20:42 2017
11// Last Modified By : Peter A. Buhr
12// Last Modified On : Fri Mar 23 17:18:53 2018
13// Update Count     : 2
14//
15
16#pragma once
17
18#include "bits/locks.hfa"
19#include "alarm.hfa"
20
21struct event_kernel_t {
22        alarm_list_t alarms;
23        __spinlock_t lock;
24};
25
26extern event_kernel_t * event_kernel;
27
28void update_preemption( processor * this, Duration duration );
29
30struct preemption_scope {
31        alarm_node_t alarm;
32        processor * proc;
33};
34
35void ?{}( preemption_scope & this, processor * proc );
36void ^?{}( preemption_scope & this );
37
38// Local Variables: //
39// mode: c //
40// tab-width: 4 //
41// End: //
Note: See TracBrowser for help on using the repository browser.