RFC: Hiding per-CPU kernel output behind bootverbose

Conrad Meyer cem at freebsd.org
Sat Apr 21 18:35:09 UTC 2018


On Sat, Apr 21, 2018 at 10:02 AM, Warner Losh <imp at bsdimp.com> wrote:
> On Fri, Apr 20, 2018 at 6:11 PM, Colin Percival <cperciva at tarsnap.com>
> wrote:
>> Would it be sufficient for debugging purposes if I change the !bootverbose
>> case from printing many lines of
>>
>> SMP: AP CPU #N Launched!
>>
>> to instead have a single
>>
>> SMP: Launching AP CPUs: 86 73 111 21 8 77 100 28 57 42 10 60 87 88 41 113
>> 36
>> 19 72 46 92 52 24 81 90 3 107 96 9 14 80 118 29 121 62 74 56 55 1 12 63 18
>> 67
>> 13 45 102 33 94 69 68 93 83 48 31 30 32 51 89 71 78 64 84 123 61 40 47 37
>> 22
>> 54 101 38 4 97 44 17 109 104 5 85 43 2 99 39 65 95 53 58 66 91 125 23 115
>> 16
>> 35 79 112 103 82 7 75 11 6 98 15 126 127 20 70 34 105 27 50 116 120 49 25
>> 108
>> 106 122 117 114 26 110 59 76 124 119
>>
>> ?  (With each AP printing its number as it reaches the appropriate point?)
>>
>> This yields almost the same gain as silencing the launch messages
>> completely,
>> while still allowing you to see each CPU announcing itself.
>
>
> The trouble is that you've got N CPUs that are doing output at the same
> time. You'll need to synchronize somehow. And how do you know that the last
> one is done? Especailly if one of the CPUs doesn't start..
>
> It looks great in theory, but I'm not sure how you'd make it work in
> practice.

Yeah.  You could pare down the number of characters per-AP
substantially.  Something like:

SMP: Launching APs:
2
3
4
...

It sounds like EC2 is redrawing on every character emitted, scrolling
or not.  So the additional line breaks shouldn't hurt.

Best,
Conrad


More information about the freebsd-hackers mailing list