Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1908139pxb; Wed, 10 Feb 2021 22:03:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJxJ1hMMYI5r3csUaa7ITagzknY7N5rdfCRM+rEcUFn9pMKWaziBlnT+iVulOh1e+Y9Gz53l X-Received: by 2002:a17:906:2681:: with SMTP id t1mr6764880ejc.29.1613023437845; Wed, 10 Feb 2021 22:03:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613023437; cv=none; d=google.com; s=arc-20160816; b=nAnJwI3l0WBSqmUCFumAASHXz5T2b9xBcUn5sQlnolHiI8z0P57HO0bo8CRyzfDAWC cGFHHhtTJOTVwVwTxHoLvV8iqjtqOf9j+o/NbqYKSavgN2oeNFe9lyELjpmeMi7Gmc2k UBy7ckNALz+w8k1vgc9/uYt89FtbXoMFF9Wir+exASrBjWvTpdpHslshJ1QCjqjVxKrJ 4r3tPjhAgOw+QWFDzw46gkcG0J28Qd5vEsEKdoIVQ9WgPA0R4iJXw8NZhwT2LXV3ZLZi /U2/B3oZOKjVUYYmrMVqwZjJLbMY2syslmzz3nPLJefHPCMYCTUCFNBUtSShg5xVCt6R UXbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=3vzbRmZjGgrql1XHzPwT2L1PFTntGfeOkVZcxzUcGX0=; b=kTfe7rOcm9NSh2wM3Io3DNyrmnRABs8U+To+qR/laSxcZjnoZ7au9FuyX1L+ck849S zS/LV8/bAYJ+XkRzZIEhntU1F6QfyvL4FhVMEhAemOBb6p3ISpk9gtAqBkTAh4qz2vRc jhAuMz1o2S4hZeLmhKTiV3P4V7gVohi02bLV+9mqRkf0xmibTkVoyjqEe5ivxGLjy26y skkJeMhr74eyYIjiP7pfk6lcLkEkRyPuxP49CTjv2aCwHRedhSB++KKyrl5M2Eo+TMTc +P/IAkpnW+E9AWdBPcCchkxd7V4TFifdLLUfMNJ02LefRU55DXkg6Vm423ioI5eDmVkn zPvg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jj13si2918401ejc.60.2021.02.10.22.03.34; Wed, 10 Feb 2021 22:03:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229553AbhBKGCH (ORCPT + 99 others); Thu, 11 Feb 2021 01:02:07 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:43639 "EHLO mail-qk1-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229497AbhBKGCF (ORCPT ); Thu, 11 Feb 2021 01:02:05 -0500 Received: by mail-qk1-f175.google.com with SMTP id m144so4207908qke.10 for ; Wed, 10 Feb 2021 22:01:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3vzbRmZjGgrql1XHzPwT2L1PFTntGfeOkVZcxzUcGX0=; b=lH7epCf2sI+nIhpk7BXrnAvwR7op2uzfI6oqQnWL2s4ZXGYiMhnJlPgqa3vxiO6fby Tu+bO3qcwtiKwPMibJWMmm0e27Dk/Ep1QiWWr6LkUAoCZLQxDZx9z7uSEQp1tK8TZscP jB4iW8+77aVufrX7/TMQ0mj44Fgy6X+7kmoTN9ESFIFgDWAKRv8qgUXz9V6DCUanpyFy vMHu9uUZJal3NYNsOxjzymhKqT7rgPKitP0sIFXrz3KnRV5AT3oCmpCJe0HjaMkUbqMa qIp1ZeDxV+R1BlJvNoyxN/HhYPbg6JI/hHEONUUhToCWUbkFB0ZMZ4dT6uVOEvWWeOfS bgNQ== X-Gm-Message-State: AOAM5310wqr+QsC0el3xC2KMJRiavAk3kT7ag6ZORVUPMP9RbFsxUfKf MNEjpNfcFY1OSdwyosdEdOshXhfYdTex4cn24fM= X-Received: by 2002:a37:4b52:: with SMTP id y79mr7027844qka.132.1613023284612; Wed, 10 Feb 2021 22:01:24 -0800 (PST) MIME-Version: 1.0 References: <20210208200908.1019149-1-jolsa@kernel.org> <20210208200908.1019149-7-jolsa@kernel.org> In-Reply-To: <20210208200908.1019149-7-jolsa@kernel.org> From: Namhyung Kim Date: Thu, 11 Feb 2021 15:01:12 +0900 Message-ID: Subject: Re: [PATCH 06/24] perf daemon: Add config file support To: Jiri Olsa Cc: Arnaldo Carvalho de Melo , lkml , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Michael Petlan , Ian Rogers , Alexei Budankov Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jiri, On Tue, Feb 9, 2021 at 5:09 AM Jiri Olsa wrote: > +static int daemon__reconfig(struct daemon *daemon) > +{ > + struct daemon_session *session, *n; > + > + list_for_each_entry_safe(session, n, &daemon->sessions, list) { > + /* No change. */ > + if (session->state == OK) > + continue; > + > + /* Remove session. */ > + if (session->state == KILL) { > + if (session->pid > 0) { > + daemon_session__kill(session); > + pr_info("reconfig: session '%s' killed\n", session->name); > + } > + daemon_session__remove(session); > + continue; > + } > + > + /* Reconfig session. */ > + if (session->pid > 0) { > + daemon_session__kill(session); > + pr_info("reconfig: session '%s' killed\n", session->name); > + } > + if (daemon_session__run(session, daemon)) > + return -1; Shouldn't it be 'continue'? If there's a problematic session it'll prevent others from being processed. And it seems this code will try to run it again and again. Maybe we can put it in the KILL state (or a new FAILED state) IMHO. Thanks, Namhyung > + > + session->state = OK; > + } > + > + return 0; > +} > + > static int setup_config(struct daemon *daemon) > { > if (daemon->base_user) { > @@ -278,6 +614,9 @@ static int __cmd_start(struct daemon *daemon, struct option parent_options[], > return -1; > } > > + if (setup_server_config(daemon)) > + return -1; > + > debug_set_file(daemon->out); > debug_set_display_time(true); > > @@ -297,15 +636,23 @@ static int __cmd_start(struct daemon *daemon, struct option parent_options[], > signal(SIGTERM, sig_handler); > > while (!done && !err) { > - if (fdarray__poll(&fda, -1)) { > + err = daemon__reconfig(daemon); > + > + if (!err && fdarray__poll(&fda, -1)) { > + bool reconfig = false; > + > if (fda.entries[sock_pos].revents & POLLIN) > err = handle_server_socket(daemon, sock_fd); > + > + if (reconfig) > + err = setup_server_config(daemon); > } > } > > out: > fdarray__exit(&fda); > > + daemon__kill(daemon); > daemon__exit(daemon); > > if (sock_fd != -1) > -- > 2.29.2 >