+1 this seems OK to me.

From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Damjan Marion via 
Lists.Fd.Io
Sent: Thursday, March 12, 2020 6:16 AM
To: Lijian Zhang <lijian.zh...@arm.com>
Cc: vpp-dev@lists.fd.io
Subject: Re: [vpp-dev] Ignore SIGPROF signal in VPP



> On 12 Mar 2020, at 10:49, Lijian Zhang 
> <lijian.zh...@arm.com<mailto:lijian.zh...@arm.com>> wrote:
>
> Hi Maintainers,
> We are profiling VPP with MAP (a software profile suite on Arm CPUs, see 
> details 
> inhttps://www.arm.com/products/development-tools/server-and-hpc/forge/map) on 
> Arm CPUs.
>
> The MAP sampler runs inside target process as a library because it does a lot 
> more things that require access to the program's memory like matching up 
> OpenMP threads etc. So it is a lot more invasive and uses the SIGPROF signal 
> to control the sample rate.
>
> VPP will receive SIGPROF signal because MAP uses SIGPROF signal to drive its 
> sampler to do profiling on VPP. However, the default action of SIGPROF signal 
> handler in VPP such as unix_signal_handler() is process termination. To 
> profile VPP with MAP, We need to change VPP signal handler to ignore SIGPROF 
> signal.
>
> Can we upstream a patch to simply ignore the SIGPROF in VPP?

I think so, please submit patch and unless somebody raises his concern here I 
will merge it...

>
> diff --git a/src/vlib/unix/main.c b/src/vlib/unix/main.c
> index e40a462..6138a6f 100755
> --- a/src/vlib/unix/main.c
> +++ b/src/vlib/unix/main.c
> @@ -218,6 +218,7 @@
>        /* ignore SIGPIPE, SIGCHLD */
>      case SIGPIPE:
>      case SIGCHLD:
> +   case SIGPROF:
>        sa.sa_sigaction = (void *) SIG_IGN;
>        break;

—
Damjan

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#15749): https://lists.fd.io/g/vpp-dev/message/15749
Mute This Topic: https://lists.fd.io/mt/71898718/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to