public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alec Brown <alec.r.brown@oracle.com>
To: Julius Werner <jwerner@chromium.org>
Cc: "coreboot@coreboot.org" <coreboot@coreboot.org>,
	"grub-devel@gnu.org" <grub-devel@gnu.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"systemd-devel@lists.freedesktop.org" 
	<systemd-devel@lists.freedesktop.org>,
	"trenchboot-devel@googlegroups.com" 
	<trenchboot-devel@googlegroups.com>,
	"u-boot@lists.denx.de" <u-boot@lists.denx.de>,
	"x86@kernel.org" <x86@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Aleksandr Burmashev <alexander.burmashev@oracle.com>,
	"allen.cryptic@gmail.com" <allen.cryptic@gmail.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"andy.shevchenko@gmail.com" <andy.shevchenko@gmail.com>,
	"ardb@kernel.org" <ardb@kernel.org>,
	"btrotter@gmail.com" <btrotter@gmail.com>,
	Daniel Kiper <daniel.kiper@oracle.com>,
	"dpsmith@apertussolutions.com" <dpsmith@apertussolutions.com>,
	Eric DeVolder <eric.devolder@oracle.com>,
	Eric Snowberg <eric.snowberg@oracle.com>,
	"frowand.list@gmail.com" <frowand.list@gmail.com>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"hun@n-dimensional.de" <hun@n-dimensional.de>,
	"james.dutton@gmail.com" <james.dutton@gmail.com>,
	"javierm@redhat.com" <javierm@redhat.com>,
	Joao Martins <joao.m.martins@oracle.com>,
	Kanth Ghatraju <kanth.ghatraju@oracle.com>,
	Konrad Wilk <konrad.wilk@oracle.com>,
	"krystian.hebel@3mdeb.com" <krystian.hebel@3mdeb.com>,
	"leif@nuviainc.com" <leif@nuviainc.com>,
	"lukasz.hawrylko@intel.com" <lukasz.hawrylko@intel.com>,
	"luto@amacapital.net" <luto@amacapital.net>,
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
	"mjg59@google.com" <mjg59@google.com>,
	"mtottenh@akamai.com" <mtottenh@akamai.com>,
	"nico.h@gmx.de" <nico.h@gmx.de>,
	"phcoder@gmail.com" <phcoder@gmail.com>,
	"piotr.krol@3mdeb.com" <piotr.krol@3mdeb.com>,
	"pjones@redhat.com" <pjones@redhat.com>,
	"pmenzel@molgen.mpg.de" <pmenzel@molgen.mpg.de>,
	"rasmus.villemoes@prevas.dk" <rasmus.villemoes@prevas.dk>,
	"rdunlap@infradead.org" <rdunlap@infradead.org>,
	"roger.pau@citrix.com" <roger.pau@citrix.com>,
	Ross Philipson <ross.philipson@oracle.com>,
	"sjg@chromium.org" <sjg@chromium.org>,
	"trini@konsulko.com" <trini@konsulko.com>,
	"tyhicks@linux.microsoft.com" <tyhicks@linux.microsoft.com>,
	"ulrich.windl@rz.uni-regensburg.de" 
	<ulrich.windl@rz.uni-regensburg.de>,
	"wvervoorn@eltan.com" <wvervoorn@eltan.com>,
	"xypron.glpk@gmx.de" <xypron.glpk@gmx.de>,
	"rharwood@redhat.com" <rharwood@redhat.com>
Subject: Re: [External] : Re: [SPECIFICATION RFC v3] The firmware and bootloader log specification
Date: Thu, 28 Oct 2021 20:29:13 -0400	[thread overview]
Message-ID: <YXtAWTHgN6o39Jwj@alec-orcl> (raw)
In-Reply-To: <CAODwPW-bbHp3Nxbr9VRt0hZMX0xRnwbGb07PS=8uysXEKFs61w@mail.gmail.com>

On Tue, Sep 21, 2021 at 03:07:25PM -0700, Julius Werner wrote:
> > Since it doesn't seem possible to have each boot component using the same log
> > format, we added a log_format and log_phys_addr fields to give flexibility in
> > how logs are stored. An example of a different log format that can be used is
> > the cbmem_console log format used by coreboot:
> 
> I am not exactly sure how you expect this interoperability you seem to
> be suggesting here to work. Are you saying that your bf_log_header can
> sometimes point to the bf_log_buffer structure you define, and
> sometimes to a coreboot CBMEM console buffer? But that's a completely
> different format that requires a different reader implementation, how
> is that supposed to work? If this proposal is just "we define a
> wrapper structure that points to everyone's custom firmware log
> implementation", then I don't really see the point (the only benefit
> still left then might be discovery of the log buffer, but that's the
> part you leave open in your design while all those other
> implementations already have working discovery mechanisms of their own
> anyway).
>

Depending on the preferred logging format by the boot component, bf_log_header
can point to our bf_log_buffer, a Coreboot CBMEM console buffer, or some other
preferred logging format. We are looking at ways to pass all logs through one
mechanism to make it simpler to discover all logs along the boot chain. From our
understanding, the CBMEM console is passed to the OS via a CBMEM table stored in
lower memory in a forwarding entry and is discovered by a user space tool
looking through /dev/mem. Is this correct? We aren't entirely sure how other
implementations of log buffers accomplish this, but we think that an explicit
mechanism can be beneficial. This is something we'll need to expand upon in the
specification.
 
> For the other structures you have defined, the same feedback that I
> think was already mentioned on the last iteration of this thread still
> applies: it seems incredibly bloated for a simple firmware logging
> mechanism. You have a whooping 24+n bytes of overhead *per line* which
> probably comes out to somewhere between 30-50% of total space wasted
> on overhead for the average log buffer. I guess there are just
> fundamentally different opinions on how featureful a firmware log
> mechanism needs to be so we're probably not gonna find a format that
> makes everyone happy here, but at least for the coreboot project I see
> little reason for us to implement something like this when we already
> have a well-working existing solution with tooling and wideranged
> support.

Since, the logging format we are proposing won't be the best for each boot
component environment, we are giving the option for boot components to use other
logging formats that best suits their environment.

      reply	other threads:[~2021-10-29  0:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-18 16:04 [SPECIFICATION RFC v3] The firmware and bootloader log specification Alec Brown
2021-09-18 22:53 ` Heinrich Schuchardt
2021-10-19 19:55   ` Alec Brown
2021-09-21 15:40 ` Peter Stuge
2021-10-19 19:56   ` [External] : " Alec Brown
2021-09-21 22:07 ` Julius Werner
2021-10-29  0:29   ` Alec Brown [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YXtAWTHgN6o39Jwj@alec-orcl \
    --to=alec.r.brown@oracle.com \
    --cc=alexander.burmashev@oracle.com \
    --cc=allen.cryptic@gmail.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=ardb@kernel.org \
    --cc=btrotter@gmail.com \
    --cc=coreboot@coreboot.org \
    --cc=daniel.kiper@oracle.com \
    --cc=dpsmith@apertussolutions.com \
    --cc=eric.devolder@oracle.com \
    --cc=eric.snowberg@oracle.com \
    --cc=frowand.list@gmail.com \
    --cc=grub-devel@gnu.org \
    --cc=hpa@zytor.com \
    --cc=hun@n-dimensional.de \
    --cc=james.dutton@gmail.com \
    --cc=javierm@redhat.com \
    --cc=joao.m.martins@oracle.com \
    --cc=jwerner@chromium.org \
    --cc=kanth.ghatraju@oracle.com \
    --cc=konrad.wilk@oracle.com \
    --cc=krystian.hebel@3mdeb.com \
    --cc=leif@nuviainc.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukasz.hawrylko@intel.com \
    --cc=luto@amacapital.net \
    --cc=michal.zygowski@3mdeb.com \
    --cc=mjg59@google.com \
    --cc=mtottenh@akamai.com \
    --cc=nico.h@gmx.de \
    --cc=phcoder@gmail.com \
    --cc=piotr.krol@3mdeb.com \
    --cc=pjones@redhat.com \
    --cc=pmenzel@molgen.mpg.de \
    --cc=rasmus.villemoes@prevas.dk \
    --cc=rdunlap@infradead.org \
    --cc=rharwood@redhat.com \
    --cc=roger.pau@citrix.com \
    --cc=ross.philipson@oracle.com \
    --cc=sjg@chromium.org \
    --cc=systemd-devel@lists.freedesktop.org \
    --cc=trenchboot-devel@googlegroups.com \
    --cc=trini@konsulko.com \
    --cc=tyhicks@linux.microsoft.com \
    --cc=u-boot@lists.denx.de \
    --cc=ulrich.windl@rz.uni-regensburg.de \
    --cc=wvervoorn@eltan.com \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xypron.glpk@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox