01:02
mjw has quit [Quit: Leaving]
01:23
derek0883 has joined #systemtap
01:26
hpt has joined #systemtap
01:35
derek0883 has quit [Remote host closed the connection]
01:58
<
fche >
kerneltoast, will think about it more tomorrow
01:58
<
fche >
I don't HATE it but I don't like it
01:58
<
fche >
ISTM this really should be driven from the kernel side
01:59
<
kerneltoast >
agreed but our hands are tied
01:59
<
kerneltoast >
file ops hacking sounds possible at least
01:59
<
fche >
well, the per-cpu timer stuff is not a dead idea yet
02:00
<
kerneltoast >
ehhhhhhh
02:00
<
kerneltoast >
i would take file ops hacking over per-cpu timer
02:03
<
kerneltoast >
for our usecase, dropping messages is intolerable, so i'm aiming for maximum subbuf utilization to avoid that
02:03
<
kerneltoast >
file op hacking would allow even better utilization than my staprun patch
02:10
derek0883 has joined #systemtap
02:21
derek0883 has quit [Remote host closed the connection]
02:32
orivej has joined #systemtap
02:41
derek0883 has joined #systemtap
03:03
derek0883 has quit [Remote host closed the connection]
03:35
derek0883 has joined #systemtap
04:55
derek0883 has quit [Remote host closed the connection]
04:56
derek0883 has joined #systemtap
05:01
derek0883 has quit [Ping timeout: 272 seconds]
05:14
derek0883 has joined #systemtap
05:37
fdalleau_away has quit [Quit: Coyote finally caught me]
07:00
khaled has joined #systemtap
07:09
derek0883 has quit [Remote host closed the connection]
07:10
derek0883 has joined #systemtap
07:14
fdalleau has joined #systemtap
07:16
derek0883 has quit [Ping timeout: 265 seconds]
07:52
wmealing has quit [Ping timeout: 256 seconds]
08:24
hassan64 has joined #systemtap
08:24
hassan64 has left #systemtap [#systemtap]
08:28
hassan64 has joined #systemtap
08:29
hassan64 has quit [Client Quit]
09:18
mjw has joined #systemtap
09:32
hpt has quit [Ping timeout: 240 seconds]
13:13
orivej has quit [Ping timeout: 265 seconds]
14:29
jhg_ has joined #systemtap
14:57
tromey has joined #systemtap
15:05
amerey has joined #systemtap
17:15
derek0883 has joined #systemtap
18:24
orivej has joined #systemtap
18:28
<
kerneltoast >
fche, bonjour
18:29
<
kerneltoast >
omelette du fromage
18:29
<
fche >
comme d'habitude
18:29
<
kerneltoast >
oui oui
18:29
<
kerneltoast >
(gf speaks french, i'll stop while i'm ahead)
18:29
<
fche >
I snort french
18:30
<
kerneltoast >
so i asked agentzh to stress test my staprun patch yesterday
18:30
<
kerneltoast >
it's a big improvement but not good enough
18:30
<
kerneltoast >
it'll still drop messages for our heaviest usecase
18:30
<
fche >
stap -s XXXX ?
18:31
* kerneltoast
runs man stap
18:31
<
fche >
oh btw weren't we going to switch to STAP_TRANS_PROCFS by default?
18:31
<
kerneltoast >
yes we were
18:32
<
kerneltoast >
but you were busy :P
18:32
<
kerneltoast >
dior givenchy
18:33
<
fche >
haute couture
18:35
<
kerneltoast >
yeah i have no idea how to make STAP_TRANS_PROCFS the default
18:35
<
kerneltoast >
is that some autoconf thing?
18:35
<
fche >
nah, simpler
18:35
<
kerneltoast >
removing the ifdefs?
18:35
<
kerneltoast >
inverting the ifdefs?
18:35
<
kerneltoast >
reverting the ifdefs?
18:36
<
kerneltoast >
anyway, re: printing, i'm going to try hacking file ops
18:36
<
fche >
re: that, ok
18:38
<
fche >
re. defaulting to procfs ....
18:38
<
fche >
could be as simple as
18:38
<
fche >
procfs_p = 1; // default to procfs as the new first line of _stp_transport_fs_init
18:39
<
kerneltoast >
ah it's hardcoded
18:41
<
kerneltoast >
noice
18:41
<
kerneltoast >
shiptime
18:49
irker366 has joined #systemtap
18:49
<
irker366 >
systemtap: sultan systemtap.git:master * release-4.4-68-g4706ab3ca / runtime/transport/transport.c: runtime: default to using procfs for the transport
19:13
jhg_ has quit [Quit: adde parvum parvo magnus acerrus erit]
19:34
orivej has quit [Ping timeout: 264 seconds]
20:02
<
kerneltoast >
fche, holy crap we can pass our own file ops struct to relay
20:02
<
kerneltoast >
i thought relay decided what file ops struct you got
20:02
<
fche >
DARN RIGHT I ORDERED THE CODE RED
20:02
<
kerneltoast >
you wat
20:03
<
kerneltoast >
anyway this is great, i can do some beautiful hackering now
20:03
<
fche >
now now try not to get too excited
20:03
<
fche >
with great power comes great resistivity
20:15
fdalleau is now known as fdalleau_away
20:43
<
kerneltoast >
ah the days of going to staples and admiring the new centrino 2 laptops
21:08
derek088_ has joined #systemtap
21:12
derek0883 has quit [Ping timeout: 256 seconds]
21:13
derek088_ has quit [Ping timeout: 260 seconds]
21:14
derek0883 has joined #systemtap
21:38
tromey has quit [Quit: ERC (IRC client for Emacs 27.1)]
22:50
<
fche >
does it work okay?
22:51
<
fche >
in __stp_relay_file_read, do you need to do that subbufs_produced/consumed check? isn't it something done by relay_file...read() ?
22:52
<
fche >
I'm generally liking it tho
22:52
<
kerneltoast >
yes that check is needed
22:52
<
kerneltoast >
and yes it works okay
22:53
<
fche >
is it just okay
22:53
<
kerneltoast >
passes the stress test, our testsuite, and just printing a single message without exiting
22:53
<
fche >
or is it AMAZING AWESOME
22:53
<
kerneltoast >
it is AMAZEING
22:53
<
kerneltoast >
gonna take it for a spin yourself first?
22:54
<
fche >
hell it's friday, let's let the buildbots have it
22:54
<
kerneltoast >
i forgot to eat lunch while writing this so now I'm in a parking lot sipping my jamba
22:54
<
fche >
if the *produced/consumed check is needed, can you add a blurb why?
22:54
<
fche >
what is a jamba
22:54
<
kerneltoast >
jamba = smoothie chain store
22:55
<
fche >
you are sipping a chain store?
22:55
<
fche >
are you some kind of giant alien blob ?
22:55
<
fche >
i'm okay with that
22:55
<
kerneltoast >
i am
*the* blob in fact
22:55
<
kerneltoast >
1950's movie i think
22:57
<
kerneltoast >
I'm trying to think of why the check is needed and nothing's coming to mind
22:57
<
kerneltoast >
i printk'd it earlier and it was needed
22:57
<
kerneltoast >
i wasn't entirely sure why
22:58
<
kerneltoast >
i can spin it as an optimization
22:59
<
kerneltoast >
but yeah i dunno
23:00
<
fche >
yeah I think the same checks are subsumed in relayfs code proper
23:00
<
fche >
relay_file_read_avail() e.g
23:00
<
fche >
but behind inode_locks and other such guff so yeah I buy optimization
23:01
<
kerneltoast >
s0weet
23:01
<
kerneltoast >
it'll be a somewhat deceptive comment
23:01
<
kerneltoast >
because without that check things explode
23:02
<
fche >
well .... in that case the somewhat deceptive comment should not say that :)
23:02
<
fche >
things explode? really?
23:03
<
agentzh >
fche: ah, just remember i have a bugfix patch for you to review too...
23:05
<
agentzh >
this bug broke most of the asm routines' unwinding in openssl's libcrypto, for example.
23:06
<
fche >
wow, um how could this bug be there so long, lemme see
23:07
<
agentzh >
it's been bothering us for months if not years...
23:07
<
agentzh >
i had to dig it up by reading a lot of stuff about dwarf myself...
23:07
<
agentzh >
fortunately the fix is simple.
23:07
<
agentzh >
once i know what it's doing.
23:07
<
fche >
mjw is here but probably asleep
23:08
<
fche >
but yeah that looks more than plausible to me
23:08
<
agentzh >
we're so happy that we can finally unwind openssl's stacks...
23:09
<
fche >
we must not have many DW_OP_deref* ops in the unwind code of other code, wonder what makes openssl different
23:09
<
fche >
inline asm maybe or something else super optimized
23:09
<
fche >
anyway ship it thanks
23:11
<
agentzh >
yeah openssl uses dwarf expressions with DW_OP_deref a lot for its asm routines.
23:11
<
agentzh >
in DW_CFI_def_cfa_expression.
23:12
<
agentzh >
like this: cfa={[0] breg7 -8; [2] deref; [3] plus_uconst 8}
23:12
<
agentzh >
cool, will push it.
23:13
<
agentzh >
will also do more code review for those "cold" dwarf instructions' handling in the stap unwinder.
23:13
<
fche >
we probably won't see a case in the testsuite for this
23:13
<
agentzh >
yeah it's rare.
23:13
orivej has joined #systemtap
23:13
<
agentzh >
not seen anything like that with gcc/clang's emitted code.
23:14
<
agentzh >
the openssl asm routines also like to use rax as the frame pointer...
23:14
<
agentzh >
and move rsp across the asm routine's boundary like crazy.
23:14
<
agentzh >
it's bloody.
23:15
<
fche >
there oughtta be a law
23:15
<
kerneltoast >
fche, just tested it and removing the check is okay. it was necessary on an old patch version. so it's just an optimization
23:15
amerey_ has joined #systemtap
23:15
<
fche >
kerneltoast, ok, thanks for checking
23:15
* fche
makes a note to doubt kerneltoast twice as much from now on :)
23:16
* kerneltoast
was hungry and confused from all this relay code melting my brain
23:16
<
fche >
go sip on something more substantial than a corner store
23:16
<
fche >
maybe try a train station
23:16
<
agentzh >
kerneltoast: late lunch?
23:16
<
agentzh >
take care, man
23:16
<
kerneltoast >
agentzh, forgot to eat lunch while writing that patch lol
23:16
<
agentzh >
lunch time then :)
23:17
<
kerneltoast >
just had a smoothie yeah
23:17
amerey has quit [Ping timeout: 240 seconds]
23:17
<
kerneltoast >
now my brain is fresh and ready for new abuse from fche
23:18
<
agentzh >
fche: yeah there must be some law there. it must be some weird one.
23:19
<
irker366 >
systemtap: sultan systemtap.git:master * release-4.4-69-g175f2b068 / runtime/transport/procfs.c runtime/transport/relay_v2.c: runtime: utilize relay subbufs as much as possible
23:20
<
kerneltoast >
fche, agentzh, print patch shipped :)
23:20
amerey has joined #systemtap
23:20
amerey_ has quit [Ping timeout: 240 seconds]
23:21
<
irker366 >
systemtap: yichun systemtap.git:master * release-4.4-70-ge8ac3e296 / runtime/unwind.c: bugfix: unwinder: expr: DW_OP_push*: we forgot to push the result to the dwarf stack.
23:21
<
agentzh >
kerneltoast: hooray!
23:24
amerey has quit [Remote host closed the connection]
23:24
<
agentzh >
kerneltoast: oy, the latest master breaks our lean test suite horrible.
23:25
<
agentzh >
*horribly
23:25
<
kerneltoast >
huh? i've been running it though
23:27
<
kerneltoast >
ah i wasn't using procfs
23:30
<
fche >
agentzh, do you have an odd sparse cpu# smp box?
23:31
<
kerneltoast >
agentzh, using -DSTAP_TRANS_PROCFS=1 even before all of my patches from this week results in the same testsuite failures
23:34
<
kerneltoast >
agentzh, i checked out to before "transport: procfs: fix transposed procfs removal ordering" and still have the same error
23:35
<
kerneltoast >
so it's not anything i did :\
23:43
<
fche >
agentzh, can you fpaste your /proc/cpuinfo -- I'm curious about the apparent mismatch
23:45
<
fche >
anything in dmesg about a different processor enumeration situation?
23:45
<
kerneltoast >
unless you mean on boot?
23:46
<
kerneltoast >
what message am i looking for
23:47
<
fche >
can also run with -DDEBUG_TRANS=3 or something like that to get a litlte more info
23:52
<
fche >
interesting, note the create_buf_file_callback i=15 case
23:52
<
fche >
that should be the trace15 file
23:54
<
fche >
one way to debug this a bit is to insmod the stap .ko file
23:54
<
fche >
and to then spy on the /proc/systemtap/*/ directory
23:54
<
fche >
there should be a .cmd and traceNNN [0..#cpus-1] files
23:56
<
kerneltoast >
that's in /proc/systemtap/stap_245a2bbf3a9ea733c33e6bc23763f8cb_1274
23:56
<
fche >
that looks lovely