[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKJHwtMker+LXNk9L4Vp6nAKjW1P-T0n1VXSLn3piMwHsTWmqA@mail.gmail.com>
Date: Mon, 4 Aug 2025 10:44:56 -0500
From: David Haufe <dhaufe@...plextrading.com>
To: Juri Lelli <juri.lelli@...hat.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: Kernel 6.14.11 dl_server_timer(...) causing IPI/Function Call
Interrupts on isolcpu/nohz_full cores, performance regression
My apologies, I see what you mean now. add_nr_running() is not being
invoked if it is the dl_server. We are still trying to get this branch
to boot to verify ourselves. We will be on the lookout for this to be
merged for release.
Thanks again,
Dave
On Mon, Aug 4, 2025 at 9:49 AM Juri Lelli <juri.lelli@...hat.com> wrote:
>
> On 01/08/25 10:28, David Haufe wrote:
> > I am sorry, but we cannot get this branch to boot on our hardware.
> > Looking through the code of the branch, it will not address the issue.
> > I believe the issue is more fundamental. In
> > fair.c->enqueue_task_fair(), dl_server_start() is called when the
> > single fair/SCHED_OTHER task is added to the isolcpu/nohz_full core.
> > The check here is simply checking if there is 1 or more process and
> > kicks off the dl_server_start() and the housekeeping timer in
> > start_dl_timer(). Once this timer is running, it will invoke
> > dl_server_timer() continuously. This timer calls __enqueue_dl_entity()
> > and then inc_dl_tasks(). inc_dl_tasks() increments
> > dl_rq->dl_nr_running++ and invokes add_nr_running(). This code will
> > eventually call the sched_can_stop_tick() function but
> > rq->dl.dl_nr_running now != 0, so this function will always return
> > false. Something needs to be done to prevent this timer from running
> > in the first place, or maybe have some checks around single
> > "fair/SCHED_OTHER/etc" process running on an isolcpu/nohz_full core
> > which prevents the need for the deadline code to run for the core.
>
> The fix commit I mentioned should at least make entering nohz_full work
> again even when the dl_server is active (but deferred). We still have
> the 1 dl_server_timer firing each second (after recent additional fix by
> Peter), though. At least this is what I am seeing at my end.
>
> Will try to see if we can remove that periodic timer once nohz_full mode
> is entered.
>
> Thanks,
> Juri
>
--
DISCLAIMER: NOTICE REGARDING PRIVACY AND CONFIDENTIALITY
The information
contained in and/or accompanying this communication is intended only for
use by the addressee(s) named herein and may contain legally privileged
and/or confidential information. If you are not the intended recipient of
this e-mail, you are hereby notified that any dissemination, distribution
or copying of this information, and any attachments thereto, is strictly
prohibited. If you have received this e-mail in error, please immediately
notify the sender and permanently delete the original and any copy of any
e-mail and any printout thereof. Electronic transmissions cannot be
guaranteed to be secure or error-free. The sender therefore does not accept
liability for any errors or omissions in the contents of this message which
arise as a result of e-mail transmission. Simplex Trading, LLC and its
affiliates reserves the right to intercept, monitor, and retain electronic
communications to and from its system as permitted by law. Simplex Trading,
LLC is a registered Broker Dealer with CBOE and a Member of SIPC.
Powered by blists - more mailing lists