Subversion Repositories HelenOS

Rev

Rev 2400 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2400 Rev 2430
Line 27... Line 27...
27
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
 */
28
 */
29
/** @addtogroup sync
29
/** @addtogroup sync
30
 * @{
30
 * @{
31
 */
31
 */
32
/** @file
32
/** @file rcu.h
-
 
33
 * @brief declarations for RCU
33
 */
34
 */
34
 
35
 
35
#ifndef KERN_RCU_H_
36
#ifndef KERN_RCU_H_
36
#define KERN_RCU_H_
37
#define KERN_RCU_H_
37
 
38
 
Line 39... Line 40...
39
#include <proc/tasklet.h>
40
#include <proc/tasklet.h>
40
#include <arch/barrier.h>
41
#include <arch/barrier.h>
41
#include <arch.h>
42
#include <arch.h>
42
#include <preemption.h>
43
#include <preemption.h>
43
 
44
 
-
 
45
 
-
 
46
/** Structure for callbacks */
44
typedef struct rcu_callback_list {
47
typedef struct rcu_callback_list {
-
 
48
    /** next in the list */
45
    struct rcu_callback_list* next;
49
    struct rcu_callback_list* next;
-
 
50
    /** pointer to callback function */
46
    void (*func)(void*);
51
    void (*func)(void*);
-
 
52
    /** argument to pass to the callback */
47
    void* data;
53
    void* data;
48
} rcu_callback_list_t;
54
} rcu_callback_list_t;
49
 
55
 
50
 
56
 
51
/** Read lock for RCU protected pointer */
57
/** Read lock for RCU protected pointer */