Hi Dou, Thank you for the patch! Yet something to improve:
[auto build test ERROR on tip/auto-latest] [also build test ERROR on v4.16-rc2 next-20180223] [cannot apply to tip/x86/core] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dou-Liyang/x86-apic-Move-pending-intr-check-code-into-it-s-own-function/20180224-004030 config: i386-randconfig-x010-201807 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # 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:1508:2: error: 'i' undeclared (first use in this >> function) i = early_per_cpu(x86_cpu_to_logical_apicid, cpu); ^ arch/x86/kernel/apic/apic.c:1508:2: note: each undeclared identifier is reported only once for each function it appears in vim +/i +1508 arch/x86/kernel/apic/apic.c 0d827285 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-23 1461 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1462 /** 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1463 * setup_local_APIC - setup the local APIC 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1464 * 543113d2 arch/x86/kernel/apic/apic.c Dou Liyang 2017-02-07 1465 * Used to setup local APIC while initializing BSP or bringing up APs. 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1466 * Always called with preemption disabled. 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1467 */ b753a2b7 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-14 1468 static void setup_local_APIC(void) ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1469 { 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1470 int cpu = smp_processor_id(); 0d827285 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-23 1471 unsigned int value; ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1472 f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1473 if (disable_apic) { 7167d08e arch/x86/kernel/apic/apic.c Henrik Kretzschmar 2011-02-22 1474 disable_ioapic_support(); f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1475 return; f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1476 } f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1477 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1478 #ifdef CONFIG_X86_32 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1479 /* Pound the ESR really hard over the head with a big hammer - mbligh */ 08125d3e arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1480 if (lapic_is_integrated() && apic->disable_esr) { 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 apic_write(APIC_ESR, 0); 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1485 } 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1486 #endif cdd6c482 arch/x86/kernel/apic/apic.c Ingo Molnar 2009-09-21 1487 perf_events_lapic_init(); 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1488 ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1489 /* ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1490 * Double-check whether this APIC is really registered. ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1491 * This is meaningless in clustered apic mode, so we skip it. ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1492 */ c2777f98 arch/x86/kernel/apic/apic.c Daniel Walker 2009-09-12 1493 BUG_ON(!apic->apic_id_registered()); ^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 /* ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1496 * Intel recommends to set DFR, LDR and TPR before enabling ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1497 * an APIC. See e.g. "AP-388 82489DX User's Manual" (Intel ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1498 * document number 292116). So here it goes... ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1499 */ a5c43296 arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1500 apic->init_apic_ldr(); ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1501 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1502 #ifdef CONFIG_X86_32 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1503 /* acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1504 * APIC LDR is initialized. If logical_apicid mapping was acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1505 * initialized during get_smp_config(), make sure it matches the acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1506 * actual value. 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1507 */ acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 @1508 i = early_per_cpu(x86_cpu_to_logical_apicid, cpu); acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1509 WARN_ON(i != BAD_APICID && i != logical_smp_processor_id()); acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1510 /* always use the value from LDR */ 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1511 early_per_cpu(x86_cpu_to_logical_apicid, cpu) = 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1512 logical_smp_processor_id(); 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1513 #endif 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1514 ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1515 /* ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1516 * Set Task Priority to 'accept all'. We never change this ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1517 * later on. ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1518 */ ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1519 value = apic_read(APIC_TASKPRI); ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1520 value &= ~APIC_TPRI_MASK; 11a8e778 arch/x86_64/kernel/apic.c Andi Kleen 2006-01-11 1521 apic_write(APIC_TASKPRI, value); ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1522 0d827285 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-23 1523 apic_pending_intr_clear(); da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1524 da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1525 /* ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1526 * Now that we are all set up, enable the APIC ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1527 */ ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1528 value = apic_read(APIC_SPIV); ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1529 value &= ~APIC_VECTOR_MASK; ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1530 /* ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1531 * Enable APIC ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1532 */ ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1533 value |= APIC_SPIV_APIC_ENABLED; ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1534 :::::: The code at line 1508 was first introduced by commit :::::: acb8bc09c6185e4d3d582d0076aaa6a89f19d8c5 x86: Add apic->x86_32_early_logical_apicid() :::::: TO: Tejun Heo <t...@kernel.org> :::::: CC: Ingo Molnar <mi...@elte.hu> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip