From df26dc07e9cb1316d326b1d9291d390f13c800be Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Tue, 9 Jan 2018 15:11:28 +0100 Subject: [PATCH] trace_subject_reporter: adjust ram usage to trace connection Issue #2638 --- repos/os/src/app/trace_subject_reporter/main.cc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/repos/os/src/app/trace_subject_reporter/main.cc b/repos/os/src/app/trace_subject_reporter/main.cc index b8d095ac6a..fc860a8f0e 100644 --- a/repos/os/src/app/trace_subject_reporter/main.cc +++ b/repos/os/src/app/trace_subject_reporter/main.cc @@ -18,6 +18,7 @@ #include #include #include +#include struct Trace_subject_registry @@ -79,11 +80,19 @@ struct Trace_subject_registry _entries = sorted; } + unsigned update_subjects(Genode::Trace::Connection &trace) + { + return Genode::retry( + [&] () { return trace.subjects(_subjects, MAX_SUBJECTS); }, + [&] () { trace.upgrade_ram(4096); } + ); + } + public: void update(Genode::Trace::Connection &trace, Genode::Allocator &alloc) { - unsigned const num_subjects = trace.subjects(_subjects, MAX_SUBJECTS); + unsigned const num_subjects = update_subjects(trace); /* add and update existing entries */ for (unsigned i = 0; i < num_subjects; i++) { @@ -150,7 +159,7 @@ struct App::Main { Env &_env; - Trace::Connection _trace { _env, 512*1024, 32*1024, 0 }; + Trace::Connection _trace { _env, 10*4096, 32*1024, 0 }; Reporter _reporter { _env, "trace_subjects", "trace_subjects", 64*1024 };