File tree Expand file tree Collapse file tree 2 files changed +3
-4
lines changed
Expand file tree Collapse file tree 2 files changed +3
-4
lines changed Original file line number Diff line number Diff line change @@ -73,6 +73,7 @@ extern void init_pmm(void);
7373
7474extern frame_t * get_free_frames_cond (free_frames_cond_t cb );
7575extern frame_t * get_free_frames (unsigned int order );
76+ extern frame_t * get_free_frame_norefill (void );
7677extern void put_free_frames (mfn_t mfn , unsigned int order );
7778extern void reclaim_frame (mfn_t mfn , unsigned int order );
7879
@@ -84,6 +85,7 @@ extern frame_t *find_busy_paddr_frame(paddr_t paddr);
8485extern frame_t * find_paddr_frame (paddr_t paddr );
8586
8687extern void map_frames_array (void );
88+ extern void refill_from_paging (void );
8789
8890/* Static definitions */
8991
@@ -142,9 +144,6 @@ static inline bool is_frame_free(const frame_t *frame) {
142144 return frame -> flags .free ;
143145}
144146
145- void refill_from_paging (void );
146- frame_t * get_free_frame_norefill (void );
147-
148147#endif /* __ASSEMBLY__ */
149148
150149#endif /* KTF_PMM_H */
Original file line number Diff line number Diff line change @@ -129,7 +129,7 @@ static frames_array_t *_new_frames_array(bool from_paging) {
129129 /* switch to special refilling mode to avoid deadlock with paging */
130130 ASSERT (!refilling );
131131 refilling = true;
132- /* only paging will be allowed to take the lock while refilling */
132+ /* only paging will be allowed to take the lock for writing while refilling */
133133 spin_unlock (& lock );
134134 array = vmap_frame_refill (mfn_to_virt_map (frame -> mfn ), frame -> mfn , from_paging );
135135 spin_lock (& lock );
You can’t perform that action at this time.
0 commit comments