Re: [PATCH v3] x86/hpet: Reduce HPET counter read contention
From: kbuild test robot
Date: Mon Apr 11 2016 - 16:22:48 EST
Hi Waiman,
[auto build test WARNING on tip/auto-latest]
[also build test WARNING on v4.6-rc3 next-20160411]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
url: https://github.com/0day-ci/linux/commits/Waiman-Long/x86-hpet-Reduce-HPET-counter-read-contention/20160412-041402
config: x86_64-randconfig-x011-201615 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
>> arch/x86/kernel/hpet.c:786:3: warning: 'hpet_save' defined but not used [-Wunused-variable]
} hpet_save;
^
vim +/hpet_save +786 arch/x86/kernel/hpet.c
770 * If multiple CPUs are trying to access the HPET counter at the same time,
771 * we don't actually need to read the counter multiple times. Instead, the
772 * other CPUs can use the counter value read by the first CPU in the group.
773 *
774 * A sequence number whose lsb is a lock bit is used to control which CPU
775 * has the right to read the HPET counter directly and which CPUs are going
776 * to get the indirect value read by the lock holder. For the later group,
777 * if the sequence number differs from the expected locked value, they
778 * can assume that the saved HPET value is up-to-date and return it.
779 */
780 static struct {
781 /* Sequence number + bit lock */
782 int seq ____cacheline_aligned_in_smp;
783
784 /* Current HPET value */
785 u32 hpet ____cacheline_aligned_in_smp;
> 786 } hpet_save;
787 #define HPET_SEQ_LOCKED(seq) ((seq) & 1) /* Odd == locked */
788
789 /*
790 * Clock source related code
791 */
792 #ifdef CONFIG_SMP
793 static cycle_t read_hpet(struct clocksource *cs)
794 {
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data