This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Some newbie questions


On 08/17/2016 09:35 PM, Frank Ch. Eigler wrote:
Hi -

On Wed, Aug 17, 2016 at 09:30:38PM +0300, Avi Kivity wrote:
[...]
My load indeed calls epoll_wait() at a high rate, with zero timeout.
[...]
Yes.  It's not very common, but some high throughput or latency
sensitive applications will poll.  In my case it's both high throughput
and latency sensitive.
Interesting.  I assume you've measured that.

Yes.  It's also well known in some circles.

If you're interested, some links:

http://www.seastar-project.org/
http://www.scylladb.com/technology/architecture/
http://dpdk.org/



[...]
looks for mmap/exec syscalls.  Perhaps there could be a mode (a -D
setting?)  for selecting kprobes rather than syscall-tracepoints to
catch those events.
Why not trace just mmap and exec syscalls, rather than everything?
Surely there's a static tracepoint for those.
Heh, in this case it's "surely not".  :-) There exists only a
multiplexed system-call-entry and a system-call-exit pair of
tracepoints.

Well, static tracepoints are a patch away, no?

Another alternative is to eliminate that spinlock, perhaps until after you've verified it's mmap or exec. Can you now attach an ebpf program to that tracepoint? Maybe that's unneeded since you're loading native code into the kernel.



I'd say defaulting to taking a spinlock on every syscall is going to
cause anyone who's using more than a laptop a lot of pain.
There may well exist optimization opportunities that would benefit
syscall-saturated applications such as yours.

It's quite possible.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]