lkml.org 
[lkml]   [2020]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [EXTERNAL] Re: [PATCH v4] perf inject --jit: Remove //anon mmap events
Date
>>> Hi Ian,
>>>
>>>> I tried this as well with latest perf/core. The difference is that
>>> unresolved addresses currently look like:
>>>
>>> 0.00% java [JIT] tid 221782 [.] 0x0000ffff451499a4
>>> 0.00% java [JIT] tid 221782 [.] 0x0000ffff4514f3e8
>>> 0.00% java [JIT] tid 221782 [.] 0x0000ffff45149394
>>>
>>> But after Steve's patch this becomes:
>>>
>>> 0.00% java [unknown] [.] 0x0000ffff58557d14
>>> 0.00% java [unknown] [.] 0x0000ffff785c03b4
>>> 0.00% java [unknown] [.] 0x0000ffff58386520
>>>
>>> I couldn't see any events that were symbolised before but are no
>>> longer symbolised after this patch.
>>
>> I see this, thanks for digging into the explanation! Were you able to
>> get a test case where the unknowns went down? For example, by forcing
>> the code cache size to be small? This is the result I'd expect to see.
>
>I tried the same Dacapo benchmark as you with different values of InitialCodeCacheSize and grepped for -e '\[unknown\]' -e '\[JIT\]'.
>
> Base Patched
> 100M 338 373
> 50M 333 315
> 25M 323 368
> 15M 1238 309
> 10M 2600 333
> 1M 6035 337
>
>This looks fairly convincing to me: the cliff at 15M is where the code cache starts needing to be enlarged.
>

Removing the anonymous mappings causes a small regression. Specifically,
the reporting of the module name goes from "[JIT] tid <tid>" to "[unknown]".
This occurs when the JIT fails to report memory used in jitdump before it
is used.

However there is also confirmation that JAVA does see the reported issue
when using a small code cache. The current patch resolves the issue in
this case.

I see two options:

+ Accept the regression. Since this is a regression for a jit dump
reporting synchronization error, this may be a reasonable option.

+ Design a more complicated patch. Either
+ Only strip parts of // anon mmap events overlapping existing
jitted-<pid>-<code_index>.so mmap events.
+ Only strip parts of // anon mmap events overlapping prior
// anon mmap events

Any opinions?

\
 
 \ /
  Last update: 2020-06-12 21:01    [W:0.097 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site