From: kernel test robot <lkp@intel.com>
To: Anna-Maria Behnsen <anna-maria@linutronix.de>,
linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
John Stultz <john.stultz@linaro.org>,
Eric Dumazet <edumazet@google.com>,
Thomas Gleixner <tglx@linutronix.de>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
linux-pm@vger.kernel.org, Arjan van de Ven <arjan@infradead.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Rik van Riel <riel@redhat.com>,
Anna-Maria Behnsen <anna-maria@linutronix.de>
Subject: Re: [PATCH v3 14/17] timer: Implement the hierarchical pull model
Date: Wed, 26 Oct 2022 00:36:07 +0800 [thread overview]
Message-ID: <202210260054.KUMGg0H1-lkp@intel.com> (raw)
In-Reply-To: <20221025135850.51044-15-anna-maria@linutronix.de>
[-- Attachment #1: Type: text/plain, Size: 4065 bytes --]
Hi Anna-Maria,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tip/timers/core]
[also build test WARNING on powerpc/next tip/x86/core linus/master v6.1-rc2]
[cannot apply to tip/timers/nohz next-20221025]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Anna-Maria-Behnsen/timer-Move-from-a-push-remote-at-enqueue-to-a-pull-at-expiry-model/20221025-220106
patch link: https://lore.kernel.org/r/20221025135850.51044-15-anna-maria%40linutronix.de
patch subject: [PATCH v3 14/17] timer: Implement the hierarchical pull model
config: loongarch-allyesconfig (attached as .config)
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/b57766ae36b5e3dd11225f0259f9fd7d39a79e94
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Anna-Maria-Behnsen/timer-Move-from-a-push-remote-at-enqueue-to-a-pull-at-expiry-model/20221025-220106
git checkout b57766ae36b5e3dd11225f0259f9fd7d39a79e94
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch SHELL=/bin/bash kernel/time/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
kernel/time/timer_migration.c: In function 'tmigr_cpu_deactivate':
>> kernel/time/timer_migration.c:633:21: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
633 | u64 ret = tmc->wakeup;
| ^~~
vim +/ret +633 kernel/time/timer_migration.c
602
603 /**
604 * tmigr_cpu_deactivate - Put current CPU into inactive state
605 * @nextexp: The next timer event expiry set in the current CPU
606 *
607 * Must be called with interrupts disabled.
608 *
609 * Return: next event of the current CPU or next event from the hierarchy
610 * if this CPU is the top level migrator or hierarchy is completely idle.
611 */
612 u64 tmigr_cpu_deactivate(u64 nextexp)
613 {
614 struct tmigr_cpu *tmc = this_cpu_ptr(&tmigr_cpu);
615 u64 ret = KTIME_MAX;
616
617 if (!is_tmigr_enabled() || !tmc->tmgroup || !tmc->online)
618 return ret;
619
620 raw_spin_lock(&tmc->lock);
621
622 /*
623 * CPU is already deactivated in timer migration
624 * hierarchy. tick_nohz_get_sleep_length() calls
625 * tick_nohz_next_event() and thereby timer idle path is
626 * executed once more. tmc->wakeup holds the first timer, when
627 * timer migration hierarchy is completely idle and remote
628 * expiry was done. If there is no new next expiry value
629 * handed in which should be inserted into the timer migration
630 * hierarchy, wakeup value is returned.
631 */
632 if (tmc->idle) {
> 633 u64 ret = tmc->wakeup;
634
635 tmc->wakeup = KTIME_MAX;
636
637 if (nextexp != KTIME_MAX) {
638 if (nextexp != tmc->cpuevt.nextevt.expires ||
639 test_bit(0, &tmc->cpuevt.ignore))
640 ret = tmigr_new_timer(tmc, nextexp);
641 }
642
643 goto unlock;
644 }
645
646 /*
647 * When tmigr_remote is active, set cpu inactive path and queuing of
648 * nextexp is done by handle remote path.
649 */
650 ret = __tmigr_cpu_deactivate(tmc, nextexp);
651
652 tmc->idle = 1;
653
654 unlock:
655 raw_spin_unlock(&tmc->lock);
656 return ret;
657 }
658
--
0-DAY CI Kernel Test Service
https://01.org/lkp
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 76483 bytes --]
next prev parent reply other threads:[~2022-10-25 16:36 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-25 13:58 [PATCH v3 00/17] timer: Move from a push remote at enqueue to a pull at expiry model Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 01/17] cpufreq: Prepare timer flags for hierarchical timer pull model Anna-Maria Behnsen
2022-10-26 13:54 ` Frederic Weisbecker
2022-10-31 15:22 ` Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 02/17] tick-sched: Warn when next tick seems to be in the past Anna-Maria Behnsen
2022-10-25 22:11 ` Frederic Weisbecker
2022-10-25 13:58 ` [PATCH v3 03/17] timer: Move store of next event into __next_timer_interrupt() Anna-Maria Behnsen
2022-10-26 9:33 ` Frederic Weisbecker
2022-10-25 13:58 ` [PATCH v3 04/17] timer: Split next timer interrupt logic Anna-Maria Behnsen
2022-10-26 9:40 ` Frederic Weisbecker
2022-10-25 13:58 ` [PATCH v3 05/17] timer: Rework idle logic Anna-Maria Behnsen
2022-10-26 13:27 ` Frederic Weisbecker
2022-10-25 13:58 ` [PATCH v3 06/17] timer: Keep the pinned timers separate from the others Anna-Maria Behnsen
2022-10-26 15:26 ` Frederic Weisbecker
2022-10-25 13:58 ` [PATCH v3 07/17] timer: Retrieve next expiry of pinned/non-pinned timers seperately Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 08/17] timer: Rename get_next_timer_interrupt() Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 09/17] timer: Split out "get next timer interrupt" functionality Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 10/17] timer: Add get next timer interrupt functionality for remote CPUs Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 11/17] timer: Restructure internal locking Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 12/17] timer: Check if timers base is handled already Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 13/17] tick/sched: Split out jiffies update helper function Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 14/17] timer: Implement the hierarchical pull model Anna-Maria Behnsen
2022-10-25 16:36 ` kernel test robot [this message]
2022-10-26 5:35 ` kernel test robot
2022-10-27 7:38 ` kernel test robot
2022-10-25 13:58 ` [PATCH v3 15/17] timer_migration: Add tracepoints Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 16/17] add_timer_on(): Make sure callers have TIMER_PINNED flag Anna-Maria Behnsen
2022-10-25 13:58 ` [PATCH v3 17/17] timer: Always queue timers on the local CPU Anna-Maria Behnsen
2022-10-27 7:22 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202210260054.KUMGg0H1-lkp@intel.com \
--to=lkp@intel.com \
--cc=anna-maria@linutronix.de \
--cc=arjan@infradead.org \
--cc=edumazet@google.com \
--cc=fweisbec@gmail.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=paulmck@linux.vnet.ibm.com \
--cc=rafael.j.wysocki@intel.com \
--cc=riel@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.