lkml.org 
[lkml]   [2022]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH v4 4/5] selftests/resctrl: Cleanup properly when an error occurs in CAT test
    Date
    Hi Reinette,

    > On 11/30/2022 12:32 AM, Shaopeng Tan (Fujitsu) wrote:
    >
    > > Removing ctrl_handler() is only part of the fix in the next version(v5).
    > > All fixes as follows.
    > >
    > > --- a/tools/testing/selftests/resctrl/cat_test.c
    > > +++ b/tools/testing/selftests/resctrl/cat_test.c
    > > @@ -98,12 +98,17 @@ void cat_test_cleanup(void)
    > > remove(RESULT_FILE_NAME2);
    > > }
    > >
    > > +static void ctrlc_handler_child(int signum, siginfo_t *info, void
    > > +*ptr) {
    > > + exit(EXIT_SUCCESS);
    > > +}
    > > +
    >
    > Could you please elaborate why this is necessary?

    If enter "ctrl-c" when running "resctrl_tests -t cat",
    SIGINT will be sent to all processes (parent&child).

    At this time, the child process receives a SIGINT signal, but does not take any action.
    In this case the parent process may not call ctrlc_handler() as expected.
    Therefore, ctrlc_handler_child() is necessary.

    It may be better to ignore the signal, then code can be simple as follows.
    ----
    if (bm_pid == 0) {
    param.mask = l_mask_1;
    strcpy(param.ctrlgrp, "c1");
    strcpy(param.mongrp, "m1");
    param.span = cache_size * n / count_of_bits;
    strcpy(param.filename, RESULT_FILE_NAME1);
    param.num_of_runs = 0;
    param.cpu_no = sibling_cpu_no;
    /* Ignore the signal,and wait to be cleaned up by the parent process */
    sigfillset(&sigact.sa_mask);
    sigact.sa_handler = SIG_IGN;
    //sigact.sa_sigaction = ctrlc_handler_child; //delete
    if (sigaction(SIGINT, &sigact, NULL) ||
    sigaction(SIGTERM, &sigact, NULL) ||
    sigaction(SIGHUP, &sigact, NULL))
    perror("# sigaction");
    } else {
    ----

    Best regards,
    Shaopeng Tan
    \
     
     \ /
      Last update: 2022-12-01 09:21    [W:7.751 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site