@@ -200,6 +200,19 @@ def event_is_in_list(event, events):
200200
201201 self ._selected_events = selected_events
202202
203+ @property
204+ def _buffer_size (self ):
205+ top = self .top_buffer_size
206+ nontop = self .buffer_size
207+ if top is None and nontop is None :
208+ return None
209+ elif top is None :
210+ return nontop
211+ elif nontop is None :
212+ return top
213+ else :
214+ return max (top , nontop )
215+
203216 @property
204217 def event_string (self ):
205218 return _build_trace_events (self ._selected_events )
@@ -254,19 +267,25 @@ def reset(self):
254267 except TargetStableError :
255268 kprobe_events = None
256269
257- self .target .execute ('{} reset -B devlib ' .format (self .target_binary ),
270+ self .target .execute ('{} reset' .format (self .target_binary ),
258271 as_root = True , timeout = TIMEOUT )
259272
273+
274+ # This code is currently not necessary as we are not using alternate
275+ # instances (not using -B parameter). If we end up using it again, it
276+ # may very well be that trace-cmd at that point takes care of that
277+ # problem itself somehow, so this should be re-evaluated.
278+
260279 # trace-cmd start will not set the top-level buffer size if passed -B
261280 # parameter, but unfortunately some events still end up there (e.g.
262281 # print event). So we still need to set that size, otherwise the buffer
263282 # might be too small and some event lost.
264- top_buffer_size = self . top_buffer_size if self .top_buffer_size else self .buffer_size
265- if top_buffer_size :
266- self .target .write_value (
267- self .target .path .join (self .tracing_path , 'buffer_size_kb' ),
268- top_buffer_size , verify = False
269- )
283+ # top_buffer_size = self.top_buffer_size or self.buffer_size
284+ # if top_buffer_size:
285+ # self.target.write_value(
286+ # self.target.path.join(self.tracing_path, 'buffer_size_kb'),
287+ # top_buffer_size, verify=False
288+ # )
270289
271290 if self .functions :
272291 self .target .write_value (self .function_profile_file , 0 , verify = False )
@@ -315,11 +334,11 @@ async def start(self):
315334 with contextlib .suppress (TargetStableError ):
316335 self .target .write_value ('/proc/sys/kernel/kptr_restrict' , 0 )
317336
318- params = '-B devlib {buffer_size} {cmdlines_size} {clock} {events} {tracer} {functions}' .format (
337+ params = '{buffer_size} {cmdlines_size} {clock} {events} {tracer} {functions}' .format (
319338 events = self .event_string ,
320339 tracer = tracer_string ,
321340 functions = tracecmd_functions ,
322- buffer_size = '-b {}' .format (self .buffer_size ) if self .buffer_size is not None else '' ,
341+ buffer_size = '-b {}' .format (self ._buffer_size ) if self ._buffer_size is not None else '' ,
323342 clock = '-C {}' .format (self .trace_clock ) if self .trace_clock else '' ,
324343 cmdlines_size = '--cmdlines-size {}' .format (self .saved_cmdlines_nr ) if self .saved_cmdlines_nr is not None else '' ,
325344 )
@@ -381,7 +400,7 @@ def stop(self):
381400 bg_cmd .communicate ()
382401 bg_cmd .__exit__ (None , None , None )
383402 elif mode == 'write-to-memory' :
384- self .target .execute ('{} stop -B devlib ' .format (self .target_binary ),
403+ self .target .execute ('{} stop' .format (self .target_binary ),
385404 timeout = TIMEOUT , as_root = True )
386405 else :
387406 raise ValueError (f'Unknown mode { mode } ' )
@@ -404,7 +423,7 @@ def get_data(self):
404423 # Interrupting trace-cmd record will make it create the file
405424 pass
406425 elif mode == 'write-to-memory' :
407- cmd = f'{ self .target_binary } extract -B devlib - o { self .target_output_file } && { busybox } chmod 666 { self .target_output_file } '
426+ cmd = f'{ self .target_binary } extract -o { self .target_output_file } && { busybox } chmod 666 { self .target_output_file } '
408427 self .target .execute (cmd , timeout = TIMEOUT , as_root = True )
409428 else :
410429 raise ValueError (f'Unknown mode { mode } ' )
0 commit comments