[kernel:page_fault] add logging for new/swapped pages on page mapping
This commit is contained in:
		
							parent
							
								
									b1b2d6903f
								
							
						
					
					
						commit
						92759f73a2
					
				
							
								
								
									
										30
									
								
								src/kernel.c
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								src/kernel.c
									
									
									
									
									
								
							@ -141,11 +141,18 @@ KERNEL_page_fault(struct PageTableEntry *pt, size_t page_no)
 | 
			
		||||
	if (first_free_page) {
 | 
			
		||||
		free_pages_cnt--;
 | 
			
		||||
#if DISABLE_LOGGING != 1
 | 
			
		||||
		printf("[kernel:page_fault] Found free page #%d, using it\n", first_free_page->ppn);
 | 
			
		||||
		printf("[kernel:page_fault:free] Found free page #%d, using it\n", first_free_page->ppn);
 | 
			
		||||
#endif
 | 
			
		||||
		pt[page_no].ppn = first_free_page->ppn;
 | 
			
		||||
		pt[page_no].p = 1;
 | 
			
		||||
 | 
			
		||||
#if DISABLE_LOGGING != 1
 | 
			
		||||
		if (pt[page_no].m)
 | 
			
		||||
			printf("[kernel:page_fault:free] Loading page from swap\n");
 | 
			
		||||
		else
 | 
			
		||||
			printf("[kernel:page_fault:free] Creating fresh page\n");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		first_free_page->busy_flag = 1;
 | 
			
		||||
		first_free_page->pt = pt;
 | 
			
		||||
		first_free_page->pt_index = page_no;
 | 
			
		||||
@ -198,6 +205,13 @@ KERNEL_page_fault(struct PageTableEntry *pt, size_t page_no)
 | 
			
		||||
		pt[page_no].p = 1;
 | 
			
		||||
		pt[page_no].ppn = first_busy_page->ppn;
 | 
			
		||||
 | 
			
		||||
#if DISABLE_LOGGING != 1
 | 
			
		||||
		if (pt[page_no].m)
 | 
			
		||||
			printf("[kernel:page_fault:random] Loading page from swap\n");
 | 
			
		||||
		else
 | 
			
		||||
			printf("[kernel:page_fault:random] Creating fresh page\n");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		// move hand to next physical page
 | 
			
		||||
		first_busy_page = first_busy_page->next;
 | 
			
		||||
 | 
			
		||||
@ -228,6 +242,13 @@ KERNEL_page_fault(struct PageTableEntry *pt, size_t page_no)
 | 
			
		||||
				pt[page_no].p = 1;
 | 
			
		||||
				pt[page_no].ppn = first_busy_page->ppn;
 | 
			
		||||
 | 
			
		||||
#if DISABLE_LOGGING != 1
 | 
			
		||||
				if (pt[page_no].m)
 | 
			
		||||
					printf("[kernel:page_fault:wsclock] Loading page from swap\n");
 | 
			
		||||
				else
 | 
			
		||||
					printf("[kernel:page_fault:wsclock] Creating fresh page\n");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
				first_busy_page = first_busy_page->next;
 | 
			
		||||
 | 
			
		||||
				goto page_replacement_resolved;
 | 
			
		||||
@ -257,6 +278,13 @@ KERNEL_page_fault(struct PageTableEntry *pt, size_t page_no)
 | 
			
		||||
		pt[page_no].p = 1;
 | 
			
		||||
		pt[page_no].ppn = first_busy_page->ppn;
 | 
			
		||||
 | 
			
		||||
#if DISABLE_LOGGING != 1
 | 
			
		||||
		if (pt[page_no].m)
 | 
			
		||||
			printf("[kernel:page_fault:random] Loading page from swap\n");
 | 
			
		||||
		else
 | 
			
		||||
			printf("[kernel:page_fault:random] Creating fresh page\n");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		// move hand to next physical page
 | 
			
		||||
		first_busy_page = first_busy_page->next;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user