Project

General

Profile

Bug #8450

UCODE_MAX_SIZE is too small for modern microcode

Added by Robert Mustacchi over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Category:
kernel
Start date:
2017-06-29
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

The modern x86 microcode files are getting larger than they historically have been. Today there are two different limits that we need to worry about:

  • The total size of the combined microcode payload
  • The size of the microcode for each CPU family

Today the first value is 16 MiB; however, the second is only 16 KiB. If we look at a modern Intel microcode file this doesn't quite fit anymore:

[root@magma ~]# dtrace -x aggsortkey -n 'pid$target::ucode_header_validate_intel:entry{ this->a = (userland ucode_header_intel_t *)arg0; @[this->a->uh_total_size] = count(); }'  -c 'ucodeadm -u /var/tmp/ucode/intel-ucode.txt'
dtrace: description 'pid$target::ucode_header_validate_intel:entry' matched 1 probe
ucodeadm: /var/tmp/ucode/intel-ucode.txt: File does not contain higher revision microcode
dtrace: pid 5019 has exited

        0               75
     2048                1
     3072                9
     4096               31
     5120               11
     7168                2
     8192                4
    10240                2
    11264                2
    12288                1
    13312                2
    14336                1
    15360                1
    16384                2
    17408                2
    20480                2
    21504                1
    22528                1
    24576                1
    26624                1
    28672                1
    32768                1
    98304                2

The largest file is 96 KiB. I suggest we increase the value of the per-file to 128 KiB for now.


Related issues

Related to illumos gate - Bug #8958: Update Intel ucode to 20180108 releaseClosed2018-01-10

Actions

History

#1

Updated by Marcel Telka over 2 years ago

  • Subject changed from UCODE_MAX_SIZE is too small for modern micrcode to UCODE_MAX_SIZE is too small for modern microcode
#2

Updated by Electric Monk over 2 years ago

  • Status changed from New to Closed

git commit 36ee0868e847bc76173d0402abf2d9df271ad623

commit  36ee0868e847bc76173d0402abf2d9df271ad623
Author: Robert Mustacchi <rm@joyent.com>
Date:   2017-07-19T18:00:16.000Z

    8450 UCODE_MAX_SIZE is too small for modern microcode
    Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Reviewed by: Dillon Amburgey <dillona@dillona.com>
    Reviewed by: Dale Ghent <daleg@elemental.org>
    Approved by: Dan McDonald <danmcd@joyent.com>

#3

Updated by Marcel Telka almost 2 years ago

  • Related to Bug #8958: Update Intel ucode to 20180108 release added

Also available in: Atom PDF