a8a8a0e763 
							
						 
					 
					
						
						
							
							Add nOS-V non-blocking scheduler server events  
						
						... 
						
						
						
						The events are emitted when we enter the scheduler with the non-blocking
flag, which is usually the case when using the nosv_yield and
nosv_schedpoint API functions.
See: https://gitlab.bsc.es/nos-v/nos-v/-/merge_requests/155  
						
						
					 
					
						2025-03-21 16:57:44 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c3248cf0c4 
							
						 
					 
					
						
						
							
							Fix cast from pointer to integer in armv7  
						
						... 
						
						
						
						A pointer may not fit in a off_t type, so we first cast it to intptr_t
which must be able to hold it, then compute the diff which should fit in
a off_t and perform the cast.
Reported-by: Miquel Vidal Piñol <miquel.vidal@bsc.es> 
						
						
					 
					
						2025-03-18 12:40:46 +01:00 
						 
				 
			
				
					
						
							
							
								Raúl Peñacoba Veigas 
							
						 
					 
					
						
						
						
						
							
						
						
							9826879bcd 
							
						 
					 
					
						
						
							
							Add OpenMP support for labels and taskID views  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	CI / build:rt (push) Failing after 15s 
				
			 
		
			
				
	CI / build:debug (push) Successful in 13s 
				
			 
		
			
				
	CI / build:asan (push) Failing after 13s 
				
			 
		
			
				
	CI / build:nompi (push) Successful in 13s 
				
			 
		
			
				
	CI / build:compilers (push) Successful in 13s 
				
			 
		
			
				
	CI / build:local (push) Successful in 23s 
				
			 
		
		
	 
 
	 
						
						Co-authored-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es> 
						
						
					 
					
						2024-12-09 16:41:16 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b5fd438ce0 
							
						 
					 
					
						
						
							
							Add nosv_cond API events (nosv 3.1.0)  
						
						
						
						
					 
					
						2024-11-08 10:13:00 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							31e8802803 
							
						 
					 
					
						
						
							
							Allow partial CPUs in thread metadata  
						
						
						
						
					 
					
						2024-11-05 10:56:51 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							04d984d4fc 
							
						 
					 
					
						
						
							
							Make cpu index check more strict  
						
						
						
						
					 
					
						2024-10-25 14:22:37 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							05c4ed4963 
							
						 
					 
					
						
						
							
							Remove info() call leftover in libovni  
						
						
						
						
					 
					
						2024-10-25 14:22:37 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							4c5e3ae151 
							
						 
					 
					
						
						
							
							Make all atomic operations explicit  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							bf8c609dbd 
							
						 
					 
					
						
						
							
							Remove trailing slashes from tracedir  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c9bbd542c5 
							
						 
					 
					
						
						
							
							Store rank information in the libovni thread  
						
						... 
						
						
						
						Prevents threads from finishing while another thread is being
initializing the rank information, causing a race to read the rank and
nranks. 
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							6e99d91dae 
							
						 
					 
					
						
						
							
							Use atomics to protect libovni process state  
						
						... 
						
						
						
						Multiple threads may attempt to initialize or finalize the process, so
we keep the state stored in an atomic integer to protect against bad
usage. 
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							b49671d530 
							
						 
					 
					
						
						
							
							Always require the current ovni model  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							5c11c469f2 
							
						 
					 
					
						
						
							
							Make ovni.require a mandatory attribute  
						
						... 
						
						
						
						We no longer accept streams that don't have the ovni.require attribute. 
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							361290e24f 
							
						 
					 
					
						
						
							
							Parse metadata from proc and loom directly  
						
						... 
						
						
						
						All the metadata keys are known to proc and loom only, making it
self-contained. The metadata.c module is no longer needed. 
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							05c1724234 
							
						 
					 
					
						
						
							
							Move thread streams in ovni_thread_free()  
						
						... 
						
						
						
						The process metadata in metadata.json is no longer needed. 
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							4180300e87 
							
						 
					 
					
						
						
							
							Reject incomplete thread streams  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c61f5a8772 
							
						 
					 
					
						
						
							
							Ensure the thread is ready before adding cpus  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							72e60e97ea 
							
						 
					 
					
						
						
							
							Store .obs and .json paths in stream struct  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							132b2fd536 
							
						 
					 
					
						
						
							
							Store loom CPUs in thread metadata  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							12835ad23a 
							
						 
					 
					
						
						
							
							Store process information in thread metadata  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							06a2262db9 
							
						 
					 
					
						
						
							
							Load thread tid from metadata  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							cc5578e306 
							
						 
					 
					
						
						
							
							Store loom name in metadata instead of path  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8765588667 
							
						 
					 
					
						
						
							
							Store ovni.part in stream metadata  
						
						... 
						
						
						
						Allows multiple types of streams for different system parts: thread,
process, cpu, node... 
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							9a8dc382a2 
							
						 
					 
					
						
						
							
							Store stream metadata in stream.json  
						
						... 
						
						
						
						Place all stream files in its own stream directory. 
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							85859a488d 
							
						 
					 
					
						
						
							
							Add more path utility functions  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							e54e3e684e 
							
						 
					 
					
						
						
							
							Store TID and PID in thread metadata  
						
						
						
						
					 
					
						2024-10-25 13:41:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							36cf3121d1 
							
						 
					 
					
						
						
							
							Fix implicit signed conversions  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	CI / build:rt (push) Failing after 12s 
				
			 
		
			
				
	CI / build:asan (push) Failing after 12s 
				
			 
		
			
				
	CI / build:nompi (push) Successful in 59s 
				
			 
		
			
				
	CI / build:debug (push) Successful in 1m50s 
				
			 
		
			
				
	CI / build:local (push) Successful in 2m2s 
				
			 
		
			
				
	CI / build:compilers (push) Successful in 2m27s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-09-09 13:44:05 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c8b95313ff 
							
						 
					 
					
						
						
							
							Fix unaligned access to 64 bits payload  
						
						
						
						
					 
					
						2024-09-09 13:44:05 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							e5448af6d8 
							
						 
					 
					
						
						
							
							Rebuild ring buffer pointers after injecting events  
						
						... 
						
						
						
						The ring buffer pointers are no longer valid as we may have displaced
events around. The pointers of the affected region are reconstructed by
reading the events again, following their size. 
						
						
					 
					
						2024-09-09 13:43:59 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							49149e452c 
							
						 
					 
					
						
						
							
							Check ring buffer order after injecting events  
						
						... 
						
						
						
						Ensure that we are not reading garbage. 
						
						
					 
					
						2024-09-09 09:10:04 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							7496a6a866 
							
						 
					 
					
						
						
							
							Fix easy cases of unneeded casts  
						
						
						
						
					 
					
						2024-09-09 08:28:08 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c8750b9dfd 
							
						 
					 
					
						
						
							
							Enable -Wconversion and -Wsign-conversion  
						
						... 
						
						
						
						Prevents implicit conversions to go undetected, as they will have to be
explicit now. 
						
						
					 
					
						2024-09-09 08:28:02 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d98ca97624 
							
						 
					 
					
						
						
							
							Fix unaligned load of 4 bytes for typeid  
						
						... 
						
						
						
						Use memcpy() to move the typeid to an aligned address. 
						
						
					 
					
						2024-07-29 13:17:37 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							2457e50712 
							
						 
					 
					
						
						
							
							Use always base 10 integer formats with scanf()  
						
						... 
						
						
						
						The %i printf variant tries to autodetect the base, so 010 becomes 8. 
						
						
					 
					
						2024-07-24 16:36:54 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							439b716a71 
							
						 
					 
					
						
						
							
							Use int64_t printf formats for mark channels  
						
						
						
						
					 
					
						2024-07-24 16:09:47 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							093c91521a 
							
						 
					 
					
						
						
							
							Fix error format strings in mark API  
						
						
						
						
					 
					
						2024-07-24 16:09:44 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							3d8c84e17c 
							
						 
					 
					
						
						
							
							Fix heap when size_t is not unsigned long long  
						
						... 
						
						
						
						When the width of size_t doesn't match the width of the unsigned long
long type, the number of leading zeros doesn't match, making the
heap_get_move() function return incorrect values. This is the case on
ARMv7 with 32 bits, where size_t is 32 bits but unsigned long long is 64
bits.
We check the size of size_t to select which builtin we need. The sizeof
operator cannot be used at preprocessing, so we rely on the
optimizations to only leave the proper assembly instruction.
Fixes: https://pm.bsc.es/gitlab/rarias/ovni/-/issues/193  
						
						
					 
					
						2024-07-24 15:12:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							129020e1c5 
							
						 
					 
					
						
						
							
							Fix format errors in printf-like functions  
						
						
						
						
					 
					
						2024-07-24 15:12:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d03fe10be8 
							
						 
					 
					
						
						
							
							Protect printf-like calls against format errors  
						
						
						
						
					 
					
						2024-07-24 15:12:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							3fdbb95080 
							
						 
					 
					
						
						
							
							Fix remaining problems for 32 bits architectures  
						
						
						
						
					 
					
						2024-07-24 15:12:09 +02:00 
						 
				 
			
				
					
						
							
							
								Miquel Vidal i Pinyol 
							
						 
					 
					
						
						
						
						
							
						
						
							3103018404 
							
						 
					 
					
						
						
							
							Use format macro constants for fprintf and fscanf family functions  
						
						
						
						
					 
					
						2024-07-24 15:12:09 +02:00 
						 
				 
			
				
					
						
							
							
								Miquel Vidal i Pinyol 
							
						 
					 
					
						
						
						
						
							
						
						
							478ed1f5d0 
							
						 
					 
					
						
						
							
							Use proper format specifiers  
						
						... 
						
						
						
						Allows compiling for architectures with different data type sizes 
						
						
					 
					
						2024-07-24 15:12:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							5448b5c0ec 
							
						 
					 
					
						
						
							
							Check duplicated mark channel types are the same  
						
						... 
						
						
						
						Ensure that two threads cannot define the same mark type with different
channel types. 
						
						
					 
					
						2024-07-23 10:35:08 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							be45235d15 
							
						 
					 
					
						
						
							
							Improve documentation of the mark API  
						
						
						
						
					 
					
						2024-07-23 10:35:08 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							87e4b829c5 
							
						 
					 
					
						
						
							
							Switch the mark tracking for threads to active  
						
						... 
						
						
						
						In the thread view, the values will still be visible when the thread
goes to Warming or Cooling states, instead of being removed like when
the thread enters the Paused state. The CPU view will continue to track
the running thread (only in the Running state). 
						
						
					 
					
						2024-07-23 10:35:02 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							fbb78ae22d 
							
						 
					 
					
						
						
							
							Avoid initialization of mark channels without types  
						
						... 
						
						
						
						There is no need to create any channel or connect any channel to the PRV
output. 
						
						
					 
					
						2024-07-22 16:42:23 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							49cecb798a 
							
						 
					 
					
						
						
							
							Don't allow zero in PRV for mark channels  
						
						... 
						
						
						
						As the zero value is not allowed to reach the mark channels, there is no
need to allow it in the PRV end. 
						
						
					 
					
						2024-06-21 09:39:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d6a83a0520 
							
						 
					 
					
						
						
							
							Allow duplicate values in mark channels  
						
						
						
						
					 
					
						2024-06-20 11:41:38 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c803a7566f 
							
						 
					 
					
						
						
							
							Prevent zero values in the mark API  
						
						... 
						
						
						
						These values cannot be differentiated from a null value, due to a
Paraver limitation. 
						
						
					 
					
						2024-06-20 11:41:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							a58b3d194c 
							
						 
					 
					
						
						
							
							Add CPU output for mark channels  
						
						... 
						
						
						
						By default they are configured to track the running thread. 
						
						
					 
					
						2024-06-19 13:48:18 +02:00