[OpenIndiana-discuss] How to get a usable console on OI?

Chris oidev at bsdos.info
Mon Jan 25 19:52:18 UTC 2021


On 2021-01-24 23:10, Joshua M. Clulow via openindiana-discuss wrote:
> On Sun, 24 Jan 2021 at 21:13, Chris <oidev at bsdos.info> wrote:
>> On 2021-01-24 18:53, Chris wrote:
>> > On 2021-01-24 17:48, Joshua M. Clulow via openindiana-discuss wrote:
>> >> On Sun, 24 Jan 2021 at 17:27, Chris <oidev at bsdos.info> wrote:
>> > All the reports I've seen thus far, indicate 800x600.
>> > You're suggestion confirms it:
>> > ts_p_dimension = {
>> >     ts_p_dimension.width = 0t800
>> >     ts_p_dimension.height = 0t600
>> > }
>> > ts_pdepth = 0t32
> 
> Based on that, I don't imagine trying to drop the resolution is really
> going to help.
> 
>> > I'm booting via BIOS. While the CPU may be involved. I would have
>> > imagined that the cycles would be on the GPU. Which should be more than
>> > adequate to run high frame rates.
> 
> With the current framebuffer console code we have, I believe we
> basically map a region of the video RAM into the host physical address
> space.  The terminal emulator in the kernel which runs on the CPU just
> copies pixels (bytes, really) from the region in memory where we store
> the font into the right place in the mapped region to make it all show
> up on the screen.  I don't believe the GPU is really being used for
> anything, at least directly.
> 
> Does this system support UEFI booting as well?  It may help to get the
> entire contents of the "tems" object to get us more detail about
> exactly how the console is set up; e.g.,
> 
>     # mdb -ke 'tems::print -d'
Attached as mdb-ke

> 
>> > Thank you *very* much for taking the time to reply!
> 
> You are most welcome!
> 
>> > I'll dump some mpstat data to file, and see what (if anything) pops up,
>> > and report what it contains.
> 
> I have taken a look at your mpstat output, and it does indeed seem
> like between ~09:02:23PM and ~09:02:44PM (a period of around 20
> seconds) one CPU was spending 100% of its time executing kernel code
> (the "sys" column).  This matches up with the ~20 seconds of sys time
> (the 23.223s) in the output of "time ls" you also posted.
> 
> As it seems this is pretty reproducible, the next thing I would do is
> figure out what we're doing in the kernel for that 20 seconds.  You'll
> want to use DTrace to capture kernel stacks; e.g.,
> 
>     # dtrace -x stackframes=100 -n '
>         profile-997 /arg0/ { @[stack()] = count(); }
>         tick-60s { exit(0); }' -o out.kern_stacks
> 
OK I simply created an sh script (DTTRACE) with the contents above and
fired it off as; sudo ./DTRACE &
followed by; ls -Cla /usr/include
which created: out.kern_stacks (attached).

> That will capture the stack of what's running in the kernel (if the
> kernel is running at the time) on each CPU, 997 times per second, for
> 60 seconds.  While that's running, kick off the "time ls" again.  Take
> the "out.kern_stacks"  file and pass it through the flame graph
> generator; e.g., something like:
> 
>     $ ./stackcollapse.pl out.kern_stacks | ./flamegraph.pl > output.svg
The results of the above are attached as: out_kern_stacks.svg
I has somehow expected a longer spike on the graph, as the output of
ls -Cla /usr/include took the same ~20 seconds to finish writing to the
screen as before.

Thank you very much all your helpful advice!

--Chris
> 
> You can open "output.svg" in a web browser and inspect the aggregated
> view of all the stacks.  It'll probably be small enough to attach to
> an e-mail here.
> 
> Note, the perl scripts above, and more detailed instructions, are all
> up on GitHub:
> 
>     https://github.com/brendangregg/FlameGraph#dtrace
> 
> 
> Cheers.

-- 
~10yrs a FreeBSD maintainer of ~160 ports
~40yrs of UNIX
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mdb-ke
URL: <http://openindiana.org/pipermail/openindiana-discuss/attachments/20210125/a7123474/attachment-0002.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: out.kern_stacks
URL: <http://openindiana.org/pipermail/openindiana-discuss/attachments/20210125/a7123474/attachment-0003.ksh>


More information about the openindiana-discuss mailing list