Hi Thomas,

At 03/01/2018 07:31 AM, Thomas Gleixner wrote:
Dou,

can you please look into that? I zapped the commits from x86/apic for now.


OK, and zap them. I will send a new version.

Thanks,

        tglx

On Thu, 1 Mar 2018, kbuild test robot wrote:

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/apic
head:   ea5dfef5a890c9e6e47bdddfc23c4a4ba0c1bea1
commit: 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3 [1/2] x86/apic: Move pending 
intr check code into it's own function
config: i386-randconfig-x004-201808 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
         git checkout 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3
         # save the attached .config to linux build tree
         make ARCH=i386

All errors (new ones prefixed by >>):

    arch/x86/kernel/apic/apic.c: In function 'setup_local_APIC':
arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared (first use in this 
function)
      i = early_per_cpu(x86_cpu_to_logical_apicid, cpu);
      ^

Oops, my fault, I didn't consider the 32bit situation. lkp has reported
it before, but I ignored it. I am too stupid.

I will merge the following changes in the 1th patch

---------------------------->8------------------------------
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1467,6 +1467,7 @@ static void setup_local_APIC(void)
 {
        int cpu = smp_processor_id();
        unsigned int value;
+       int apicid;

        if (disable_apic) {
                disable_ioapic_support();
@@ -1503,8 +1504,8 @@ static void setup_local_APIC(void)
         * initialized during get_smp_config(), make sure it matches the
         * actual value.
         */
-       i = early_per_cpu(x86_cpu_to_logical_apicid, cpu);
-       WARN_ON(i != BAD_APICID && i != logical_smp_processor_id());
+       apicid = early_per_cpu(x86_cpu_to_logical_apicid, cpu);
+ WARN_ON(apicid != BAD_APICID && apicid != logical_smp_processor_id());
        /* always use the value from LDR */
        early_per_cpu(x86_cpu_to_logical_apicid, cpu) =
                logical_smp_processor_id();
Thanks,
        dou

    arch/x86/kernel/apic/apic.c:1507:2: note: each undeclared identifier is 
reported only once for each function it appears in

vim +/i +1507 arch/x86/kernel/apic/apic.c

2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang         2018-02-26  1460
0e078e2f arch/x86/kernel/apic_64.c   Thomas Gleixner    2008-01-30  1461  /**
0e078e2f arch/x86/kernel/apic_64.c   Thomas Gleixner    2008-01-30  1462   * 
setup_local_APIC - setup the local APIC
0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo          2010-12-09  1463   *
543113d2 arch/x86/kernel/apic/apic.c Dou Liyang         2017-02-07  1464   * 
Used to setup local APIC while initializing BSP or bringing up APs.
0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo          2010-12-09  1465   * 
Always called with preemption disabled.
0e078e2f arch/x86/kernel/apic_64.c   Thomas Gleixner    2008-01-30  1466   */
b753a2b7 arch/x86/kernel/apic/apic.c Dou Liyang         2018-02-14  1467  
static void setup_local_APIC(void)
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1468  {
0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo          2010-12-09  1469        
int cpu = smp_processor_id();
2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang         2018-02-26  1470        
unsigned int value;
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1471
f1182638 arch/x86/kernel/apic.c      Jan Beulich        2009-01-14  1472        
if (disable_apic) {
7167d08e arch/x86/kernel/apic/apic.c Henrik Kretzschmar 2011-02-22  1473        
        disable_ioapic_support();
f1182638 arch/x86/kernel/apic.c      Jan Beulich        2009-01-14  1474        
        return;
f1182638 arch/x86/kernel/apic.c      Jan Beulich        2009-01-14  1475        
}
f1182638 arch/x86/kernel/apic.c      Jan Beulich        2009-01-14  1476
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1477  
#ifdef CONFIG_X86_32
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1478        
/* Pound the ESR really hard over the head with a big hammer - mbligh */
08125d3e arch/x86/kernel/apic.c      Ingo Molnar        2009-01-28  1479        if 
(lapic_is_integrated() && apic->disable_esr) {
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1480        
        apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1481        
        apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1482        
        apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1483        
        apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1484        
}
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1485  #endif
cdd6c482 arch/x86/kernel/apic/apic.c Ingo Molnar        2009-09-21  1486        
perf_events_lapic_init();
89c38c28 arch/x86/kernel/apic_64.c   Cyrill Gorcunov    2008-08-24  1487
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1488        
/*
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1489        
 * Double-check whether this APIC is really registered.
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1490        
 * This is meaningless in clustered apic mode, so we skip it.
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1491        
 */
c2777f98 arch/x86/kernel/apic/apic.c Daniel Walker      2009-09-12  1492        
BUG_ON(!apic->apic_id_registered());
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1493
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1494        
/*
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1495        
 * Intel recommends to set DFR, LDR and TPR before enabling
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1496         * an 
APIC.  See e.g. "AP-388 82489DX User's Manual" (Intel
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1497        
 * document number 292116).  So here it goes...
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1498        
 */
a5c43296 arch/x86/kernel/apic.c      Ingo Molnar        2009-01-28  1499        
apic->init_apic_ldr();
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1500
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1501  
#ifdef CONFIG_X86_32
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1502        
/*
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1503        
 * APIC LDR is initialized.  If logical_apicid mapping was
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1504        
 * initialized during get_smp_config(), make sure it matches the
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1505        
 * actual value.
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1506        
 */
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23 @1507        
i = early_per_cpu(x86_cpu_to_logical_apicid, cpu);
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1508        
WARN_ON(i != BAD_APICID && i != logical_smp_processor_id());
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1509        
/* always use the value from LDR */
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1510        
early_per_cpu(x86_cpu_to_logical_apicid, cpu) =
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1511        
        logical_smp_processor_id();
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1512  #endif
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo          2011-01-23  1513
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1514        
/*
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1515        
 * Set Task Priority to 'accept all'. We never change this
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1516        
 * later on.
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1517        
 */
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1518        
value = apic_read(APIC_TASKPRI);
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1519        
value &= ~APIC_TPRI_MASK;
11a8e778 arch/x86_64/kernel/apic.c   Andi Kleen         2006-01-11  1520        
apic_write(APIC_TASKPRI, value);
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1521
2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang         2018-02-26  1522        
apic_pending_intr_clear();
da7ed9f9 arch/x86_64/kernel/apic.c   Vivek Goyal        2006-03-25  1523
da7ed9f9 arch/x86_64/kernel/apic.c   Vivek Goyal        2006-03-25  1524        
/*
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1525        
 * Now that we are all set up, enable the APIC
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1526        
 */
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1527        
value = apic_read(APIC_SPIV);
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1528        
value &= ~APIC_VECTOR_MASK;
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1529        
/*
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1530        
 * Enable APIC
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1531        
 */
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1532        
value |= APIC_SPIV_APIC_ENABLED;
^1da177e arch/x86_64/kernel/apic.c   Linus Torvalds     2005-04-16  1533

:::::: The code at line 1507 was first introduced by commit
:::::: acb8bc09c6185e4d3d582d0076aaa6a89f19d8c5 x86: Add 
apic->x86_32_early_logical_apicid()

:::::: TO: Tejun Heo <[email protected]>
:::::: CC: Ingo Molnar <[email protected]>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation






Reply via email to