alarm: Force unset_alarm to grab the CV lock
[akaros.git] / kern / include / mm.h
index 8daef87..88c7dec 100644 (file)
@@ -13,8 +13,8 @@
 #include <sys/queue.h>
 #include <slab.h>
 #include <kref.h>
 #include <sys/queue.h>
 #include <slab.h>
 #include <kref.h>
+#include <rcu.h>
 
 
-struct file;
 struct chan;
 struct fd_table;
 struct proc;                                                           /* preprocessor games */
 struct chan;
 struct fd_table;
 struct proc;                                                           /* preprocessor games */
@@ -26,6 +26,7 @@ struct file_or_chan {
        struct chan *chan;
        struct fs_file *fsf;    /* weak ref, set during mmap. */
        struct kref kref;
        struct chan *chan;
        struct fs_file *fsf;    /* weak ref, set during mmap. */
        struct kref kref;
+       struct rcu_head rcu;
 };
 
 char *foc_to_name(struct file_or_chan *foc);
 };
 
 char *foc_to_name(struct file_or_chan *foc);
@@ -54,6 +55,7 @@ struct vm_region {
        struct file_or_chan                     *__vm_foc;
        size_t                                          vm_foff;
        bool                                            vm_ready;       /* racy, for the PM checks */
        struct file_or_chan                     *__vm_foc;
        size_t                                          vm_foff;
        bool                                            vm_ready;       /* racy, for the PM checks */
+       bool                                            vm_shootdown_needed;
 };
 TAILQ_HEAD(vmr_tailq, vm_region);                      /* Declares 'struct vmr_tailq' */
 
 };
 TAILQ_HEAD(vmr_tailq, vm_region);                      /* Declares 'struct vmr_tailq' */