@@ -961,31 +961,49 @@ impl RuntimeApiController {
961961
962962 /// Get guest memory mappings
963963 fn get_guest_memory_mappings ( & self ) -> Result < VmmData , VmmActionError > {
964+ let start_us = get_time_us ( ClockType :: Monotonic ) ;
965+
964966 let vmm = self . vmm . lock ( ) . expect ( "Poisoned lock" ) ;
965967 let page_size = self . vm_resources . machine_config . huge_pages . page_size ( ) ;
966968 let mappings = vmm. guest_memory_mappings ( page_size) ;
969+
970+ let elapsed_time_us = get_time_us ( ClockType :: Monotonic ) - start_us;
971+ info ! ( "'get memory mappings' VMM action took {} us." , elapsed_time_us) ;
972+
967973 Ok ( VmmData :: MemoryMappings ( MemoryMapingsResponse { mappings } ) )
968974 }
969975
970976 /// Get resident and empty pages information for guest memory
971977 fn get_guest_memory_info ( & self ) -> Result < VmmData , VmmActionError > {
978+ let start_us = get_time_us ( ClockType :: Monotonic ) ;
979+
972980 let vmm = self . vmm . lock ( ) . expect ( "Poisoned lock" ) ;
973981 let page_size = self . vm_resources . machine_config . huge_pages . page_size ( ) ;
974982 let ( resident, empty) = vmm. guest_memory_info ( page_size) ?;
983+
984+ let elapsed_time_us = get_time_us ( ClockType :: Monotonic ) - start_us;
985+ info ! ( "'get memory info' VMM action took {} us." , elapsed_time_us) ;
986+
975987 Ok ( VmmData :: Memory ( MemoryResponse { resident, empty } ) )
976988 }
977989
978990 /// Get dirty pages information for guest memory
979991 fn get_dirty_memory_info ( & self ) -> Result < VmmData , VmmActionError > {
992+ let start_us = get_time_us ( ClockType :: Monotonic ) ;
993+
980994 let vmm = self . vmm . lock ( ) . expect ( "Poisoned lock" ) ;
981-
995+
982996 // Check if VM is paused
983997 if vmm. instance_info . state != VmState :: Paused {
984998 return Err ( VmmActionError :: OperationNotSupportedWhileRunning ) ;
985999 }
986-
1000+
9871001 let page_size = self . vm_resources . machine_config . huge_pages . page_size ( ) ;
9881002 let bitmap = vmm. get_dirty_memory ( page_size) ?;
1003+
1004+ let elapsed_time_us = get_time_us ( ClockType :: Monotonic ) - start_us;
1005+ info ! ( "'get dirty memory' VMM action took {} us." , elapsed_time_us) ;
1006+
9891007 Ok ( VmmData :: MemoryDirty ( MemoryDirty { bitmap } ) )
9901008 }
9911009}
0 commit comments