lkml.org 
[lkml]   [2017]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v8 2/5] usb: early: add driver for xhci debug capability
    From
    Date
    On 05/31/2017 05:27 AM, Lu Baolu wrote:
    > Hi,
    >
    > On 05/30/2017 09:46 PM, Vlastimil Babka wrote:
    >> On 03/21/2017 09:01 AM, Lu Baolu wrote:
    >>> XHCI debug capability (DbC) is an optional but standalone
    >>> functionality provided by an xHCI host controller. Software
    >>> learns this capability by walking through the extended
    >>> capability list of the host. XHCI specification describes
    >>> DbC in the section 7.6.
    >>>
    >>> This patch introduces the code to probe and initialize the
    >>> debug capability hardware during early boot. With hardware
    >>> initialized, the debug target (system on which this code is
    >>> running) will present a debug device through the debug port
    >>> (normally the first USB3 port). The debug device is fully
    >>> compliant with the USB framework and provides the equivalent
    >>> of a very high performance (USB3) full-duplex serial link
    >>> between the debug host and target. The DbC functionality is
    >>> independent of the xHCI host. There isn't any precondition
    >>> from the xHCI host side for the DbC to work.
    >>>
    >>> One use for this feature is kernel debugging, for example
    >>> when your machine crashes very early before the regular
    >>> console code is initialized. Other uses include simpler,
    >>> lockless logging instead of a full-blown printk console
    >>> driver and klogd.
    >>>
    >>> Cc: Ingo Molnar <mingo@redhat.com>
    >>> Cc: Mathias Nyman <mathias.nyman@linux.intel.com>
    >>> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    >> ...
    >>
    >>> +
    >>> +#define XDBC_TRACE
    >>> +#ifdef XDBC_TRACE
    >>> +#define xdbc_trace trace_printk
    >> Did you forget to remove the #define XDBC_TRACE?
    >>
    >> Enabling this driver brings the "trace_printk() being used. Allocating
    >> extra memory. This means that this is a DEBUG kernel and it is unsafe
    >> for production use." message in 4.12-rcX dmesg.
    >
    > This feature is only for a DEBUG kernel, should not be enabled for
    > any production kernel. This was the reason I enabled trace_printk()
    > by default.

    Hmm, but it seems we generally enable all these early printk
    features/drivers in our distro kernels. They are not active without a
    early_printk=X bootparam anyway, right? It's much more convenient to
    e.g. just tell customer to change a param when debugging something than
    to install a debug kernel. So I wouldn't agree that only a DEBUG kernel
    should have this compiled in.

    Thanks,
    Vlastimil

    > Best regards,
    > Lu Baolu
    >
    >> Thanks,
    >> Vlastimil
    >>
    >

    \
     
     \ /
      Last update: 2017-05-31 11:40    [W:4.764 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site