Issues with compiling bbrv3 kernel for VMWare Workstation VM

302 views
Skip to first unread message

Anup Agarwal

unread,
Sep 12, 2023, 5:12:30 PM9/12/23
to BBR Development
Hi, I am trying to experiment with BBRv3.

I followed steps similar to https://groups.google.com/g/bbr-dev/c/SZyYT8z1Tto to compile the kernel with the v3 branch for running on a VMWare workstation VM. I list the steps at the end of the post as well. With these steps I am able to compile the v2alpha branch but not the v3 branch. Any help would be appreciated.

I face the below error when compiling the v3 branch. From a quick google search, the errors seem like they could be an issue with compiler version etc, though I haven't been able to resolve the issue. I am wondering if anyone has faced such errors before.
```
In function ‘__guc_scheduling_policy_add_klv.isra.103’,
    inlined from ‘guc_init_global_schedule_policy’ at drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:4449:3,
    inlined from ‘intel_guc_submission_enable’ at drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:4490:6:
././include/linux/compiler_types.h:397:38: error: call to ‘__compiletime_assert_612’ declared with attribute error: FIELD_PREP: mask is not constant
  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                                      ^
././include/linux/compiler_types.h:378:4: note: in definition of macro ‘__compiletime_assert’
    prefix ## suffix();    \
    ^~~~~~
././include/linux/compiler_types.h:397:2: note: in expansion of macro ‘_compiletime_assert’
  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
  ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^~~~~~~~~~~~~~~~~~
./include/linux/bitfield.h:65:3: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
   BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
   ^~~~~~~~~~~~~~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro ‘__BF_FIELD_CHECK’
   __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
   ^~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:4401:17: note: in expansion of macro ‘FIELD_PREP’
  *(klv_ptr++) = FIELD_PREP(GUC_KLV_0_KEY, action) |
                 ^~~~~~~~~~
make[6]: *** [scripts/Makefile.build:243: drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o] Error 1
```

Steps I follow:
1. On the v3 branch, I copied my VM's kernel config to .config.
2. Updated .config to set CONFIG_TCP_{BBR, CUBIC, DCTCP}=y and CONFIG_DEBUG_INFO_BTF=n.
3. scripts/config --disable SYSTEM_TRUSTED_KEYS 
     scripts/config --disable SYSTEM_REVOCATION_KEYS
4. Edit out the steps where gce_install.sh copies the config.gce to .config. I also comment out the steps after tar creation and do them manually.
5. Run ./gce_install.sh -m my_vm_ip

Anup Agarwal

unread,
Sep 12, 2023, 5:42:56 PM9/12/23
to BBR Development
I applied this patch https://www.spinics.net/lists/intel-gfx/msg333661.html from this thread https://www.spinics.net/lists/intel-gfx/msg333956.html.
That seemed to have fixed the compilation issue.

I will update after I install the built kernel and boot from it.

Reply all
Reply to author
Forward
0 new messages