Fix hrtimer new interface
The hrtimer_init() is now done via hrtimer_setup() with the callback function as argument. See: https://lwn.net/Articles/996598/ Reviewed-by: Aleix Boné <abonerib@bsc.es>
This commit is contained in:
		
							parent
							
								
									cf1db201b2
								
							
						
					
					
						commit
						f7d676de77
					
				| @ -19,7 +19,7 @@ in stdenv.mkDerivation { | |||||||
|   ''; |   ''; | ||||||
|   hardeningDisable = [ "pic" "format" ]; |   hardeningDisable = [ "pic" "format" ]; | ||||||
|   nativeBuildInputs = kernel.moduleBuildDependencies; |   nativeBuildInputs = kernel.moduleBuildDependencies; | ||||||
|   patches = [ ./makefile.patch ]; |   patches = [ ./makefile.patch ./hrtimer.patch ]; | ||||||
|   makeFlags = [ |   makeFlags = [ | ||||||
|     "KERNEL_VERSION=${kernel.modDirVersion}" |     "KERNEL_VERSION=${kernel.modDirVersion}" | ||||||
|     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" |     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" | ||||||
|  | |||||||
							
								
								
									
										31
									
								
								pkgs/amd-uprof/hrtimer.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								pkgs/amd-uprof/hrtimer.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | |||||||
|  | --- a/src/PmcTimerConfig.c	2025-09-04 12:17:16.771707049 +0200
 | ||||||
|  | +++ b/src/PmcTimerConfig.c	2025-09-04 12:17:04.878515468 +0200
 | ||||||
|  | @@ -99,7 +99,7 @@ static void PmcInitTimer(void* pInfo)
 | ||||||
|  |   | ||||||
|  |      DRVPRINT("pTimerConfig(%p)", pTimerConfig); | ||||||
|  |   | ||||||
|  | -    hrtimer_init(&pTimerConfig->m_hrTimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
 | ||||||
|  | +    hrtimer_setup(&pTimerConfig->m_hrTimer, PmcTimerCallback, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
 | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  int PmcSetupTimer(ClientContext* pClientCtx) | ||||||
|  | @@ -157,7 +157,6 @@ int PmcSetupTimer(ClientContext* pClient
 | ||||||
|  |                  { | ||||||
|  |                      /* Interval in ms */ | ||||||
|  |                      pTimerConfig->m_time = ktime_set(interval / 1000, interval * 1000000); | ||||||
|  | -                    pTimerConfig->m_hrTimer.function = PmcTimerCallback;
 | ||||||
|  |   | ||||||
|  |                      DRVPRINT("retVal(%d) m_time(%lld)", retVal, (long long int) pTimerConfig->m_time); | ||||||
|  |                  } | ||||||
|  | --- a/src/PwrProfTimer.c	2025-09-04 12:18:08.750544327 +0200
 | ||||||
|  | +++ b/src/PwrProfTimer.c	2025-09-04 12:18:28.557863382 +0200
 | ||||||
|  | @@ -573,8 +573,7 @@ void InitHrTimer(uint32 cpu)
 | ||||||
|  |      pCoreClientData = &per_cpu(g_coreClientData, cpu); | ||||||
|  |   | ||||||
|  |      // initialize HR timer | ||||||
|  | -    hrtimer_init(&pCoreClientData->m_hrTimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
 | ||||||
|  | -    pCoreClientData->m_hrTimer.function = &HrTimerCallback;
 | ||||||
|  | +    hrtimer_setup(&pCoreClientData->m_hrTimer, &HrTimerCallback, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
 | ||||||
|  |   | ||||||
|  |      return; | ||||||
|  |  } // InitHrTimer | ||||||
		Reference in New Issue
	
	Block a user