VirtualBox

Changeset 85519 in vbox for trunk/src/VBox/HostDrivers


Ignore:
Timestamp:
Jul 29, 2020 11:24:55 AM (5 years ago)
Author:
vboxsync
Message:

SUPDrv: Apply the linux compile job reduction trick from VBoxGuest where 66+22 .c files are combined into two files, an os independent and a linux specific one respectively. This should reduce load in general, but only systems with a low core count will save install/rebuild time (combined-agnostic.c is probably too big). bugref:9798

Location:
trunk/src/VBox/HostDrivers/Support/linux
Files:
2 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/linux/Makefile

    r84947 r85519  
    4040        SUPDrvTracer.o \
    4141        SUPLibAll.o \
     42        common/string/strformatrt.o
     43
     44ifdef VBOX_WITHOUT_COMBINED_SOURCES
     45VBOXMOD_OBJS += \
     46        combined-agnostic.o \
     47        combined-os-specific.o
     48else  # VBOX_WITHOUT_COMBINED_SOURCES
     49VBOXMOD_OBJS += \
    4250        r0drv/alloc-r0drv.o \
    4351        r0drv/initterm-r0drv.o \
     
    99107        common/string/strformat.o \
    100108        common/string/strformatnum.o \
    101         common/string/strformatrt.o \
    102109        common/string/strformattype.o \
    103110        common/string/strprintf.o \
     
    121128        generic/uuid-generic.o \
    122129        VBox/log-vbox.o
     130 ifeq ($(VBOX_KBUILD_TARGET_ARCH),amd64)
     131VBOXMOD_OBJS += common/alloc/heapsimple.o
     132 endif
     133endif # VBOX_WITHOUT_COMBINED_SOURCES
    123134ifeq ($(VBOX_KBUILD_TARGET_ARCH),x86)
    124135VBOXMOD_OBJS += \
     
    131142        math/gcc/umoddi3.o
    132143endif
    133 ifeq ($(VBOX_KBUILD_TARGET_ARCH),amd64)
    134 VBOXMOD_OBJS += common/alloc/heapsimple.o
    135 endif
    136144ifdef VBOX_WITH_NATIVE_DTRACE
    137145VBOXMOD_OBJS += SUPDrvDTrace.o
    138146endif
     147
    139148VBOXMOD_INCL  = \
    140149        $(VBOXDRV_DIR) \
     
    146155        /usr/include
    147156endif
     157
    148158VBOXMOD_DEFS = \
    149159        RT_OS_LINUX \
  • trunk/src/VBox/HostDrivers/Support/linux/combined-agnostic.c

    r85508 r85519  
    11/* $Id$ */
    22/** @file
    3  * VBoxGuest - Combine a bunch of OS agnostic sources into one compile unit.
     3 * SUPDrv - Combine a bunch of OS agnostic sources into one compile unit.
    44 */
    55
     
    2929#include <VBox/log.h>
    3030
    31 //#undef LOG_GROUP
    32 #include "VBoxGuestR0LibGenericRequest.c"
    33 #undef LOG_GROUP
    34 #include "VBoxGuestR0LibHGCMInternal.c"
    35 //#undef LOG_GROUP
    36 #include "VBoxGuestR0LibInit.c"
    37 //#undef LOG_GROUP
    38 #include "VBoxGuestR0LibPhysHeap.c"
    39 #undef LOG_GROUP
    40 #include "VBoxGuestR0LibVMMDev.c"
    4131#undef LOG_GROUP
    4232#include "r0drv/alloc-r0drv.c"
     
    5343#undef LOG_GROUP
    5444#include "common/alloc/alloc.c"
     45#undef LOG_GROUP
     46#include "common/checksum/crc32.c"
     47#undef LOG_GROUP
     48#include "common/checksum/ipv4.c"
     49#undef LOG_GROUP
     50#include "common/checksum/ipv6.c"
    5551#undef LOG_GROUP
    5652#include "common/err/errinfo.c"
     
    8480#include "common/misc/assert.c"
    8581#undef LOG_GROUP
     82#include "common/misc/handletable.c"
     83#undef LOG_GROUP
     84#include "common/misc/handletablectx.c"
     85#undef LOG_GROUP
    8686#include "common/misc/thread.c"
    8787#undef LOG_GROUP
    8888#include "common/string/RTStrCat.c"
    89 #undef LOG_GROUP
    90 #include "common/string/RTStrCmp.c"
    9189#undef LOG_GROUP
    9290#include "common/string/RTStrCopy.c"
     
    9795#undef LOG_GROUP
    9896#include "common/string/RTStrEnd.c"
    99 #undef LOG_GROUP
    100 #include "common/string/RTStrICmpAscii.c"
    101 #undef LOG_GROUP
    102 #include "common/string/RTStrNICmpAscii.c"
    10397#undef LOG_GROUP
    10498#include "common/string/RTStrNCmp.c"
     
    118112#include "common/string/strtonum.c"
    119113#undef LOG_GROUP
    120 #include "common/string/utf-8.c"
    121 #undef LOG_GROUP
    122114#include "common/table/avlpv.c"
    123115#undef LOG_GROUP
     
    129121#undef LOG_GROUP
    130122#include "generic/RTLogWriteStdOut-stub-generic.c"
     123#undef LOG_GROUP
     124#include "generic/RTLogWriteUser-generic.c"
     125#undef LOG_GROUP
     126#include "generic/RTMpGetArraySize-generic.c"
    131127#undef LOG_GROUP
    132128#include "generic/RTMpGetCoreCount-generic.c"
     
    140136#include "generic/RTSemEventMultiWaitNoResume-2-ex-generic.c"
    141137#undef LOG_GROUP
    142 #include "generic/rtStrFormatKernelAddress-generic.c"
     138#include "generic/RTTimerCreate-generic.c"
    143139#undef LOG_GROUP
    144140#include "generic/errvars-generic.c"
     
    146142#include "generic/mppresent-generic.c"
    147143#undef LOG_GROUP
     144#include "generic/uuid-generic.c"
     145#undef LOG_GROUP
    148146#include "VBox/log-vbox.c"
    149 #undef LOG_GROUP
    150 #include "VBox/logbackdoor.c"
    151147
    152148#ifdef RT_ARCH_AMD64
     
    155151#endif
    156152
    157 #if 0 //def RT_ARCH_X86 - iprt/nocrt/limit.h clashes.
     153#if 0 /*def RT_ARCH_X86 - iprt/nocrt/limit.h clashes.*/
    158154# include "common/math/gcc/divdi3.c"
    159155# include "common/math/gcc/moddi3.c"
     
    164160#endif
    165161
     162
     163
  • trunk/src/VBox/HostDrivers/Support/linux/combined-os-specific.c

    r85508 r85519  
    11/* $Id$ */
    22/** @file
    3  * VBoxGuest - Combine a bunch of OS specific sources into one compile unit.
     3 * SUPDrv - Combine a bunch of OS specific sources into one compile unit.
    44 */
    55
     
    3636#include "r0drv/linux/mpnotification-r0drv-linux.c"
    3737#include "r0drv/linux/process-r0drv-linux.c"
     38#undef LOG_GROUP
     39#include "r0drv/linux/rtStrFormatKernelAddress-r0drv-linux.c"
     40#undef LOG_GROUP
     41#define LOG_GROUP LOG_GROUP_DEFAULT
    3842#include "r0drv/linux/semevent-r0drv-linux.c"
    3943#include "r0drv/linux/semeventmulti-r0drv-linux.c"
     
    4347#include "r0drv/linux/thread-r0drv-linux.c"
    4448#include "r0drv/linux/thread2-r0drv-linux.c"
     49#include "r0drv/linux/threadctxhooks-r0drv-linux.c"
    4550#undef LOG_GROUP
    4651#include "r0drv/linux/time-r0drv-linux.c"
     52#undef LOG_GROUP
     53#define LOG_GROUP LOG_GROUP_DEFAULT
    4754#include "r0drv/linux/timer-r0drv-linux.c"
    4855#include "r0drv/linux/RTLogWriteDebugger-r0drv-linux.c"
  • trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv

    r83886 r85519  
    8585    ${PATH_ROOT}/include/VBox/vmm/hm_svm.h=>include/VBox/vmm/hm_svm.h \
    8686    ${PATH_ROOT}/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c=>linux/SUPDrv-linux.c \
     87    ${PATH_ROOT}/src/VBox/HostDrivers/Support/linux/combined-agnostic.c=>combined-agnostic.c \
     88    ${PATH_ROOT}/src/VBox/HostDrivers/Support/linux/combined-os-specific.c=>combined-os-specific.c \
    8789    ${PATH_ROOT}/src/VBox/HostDrivers/Support/SUPDrv.cpp=>SUPDrv.c \
    8890    ${PATH_ROOT}/src/VBox/HostDrivers/Support/SUPDrvGip.cpp=>SUPDrvGip.c \
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette