lkml.org 
[lkml]   [2023]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2 00/11] fw_devlink improvements
    Hi Saravana,

    > Can you try the patch at the end of this email under these
    > configurations and tell me which ones fail vs pass? I don't need logs

    I did these tests and here is the results:

    1. On top of this series - Not works
    2. Without this series - Works
    3. On top of the series with the fwnode_dev_initialized() deleted - Not works
    4. Without this series, with the fwnode_dev_initialized() deleted - Works

    So your nvmem/core.c patch helps only when it is applied without the series.
    But despite the fact that this helps to avoid getting stuck at probing
    my ethernet device, there is still regression.

    When the ethernet module is loaded it takes a lot of time to drop dependency
    from the nvmem-cell with mac address.

    Please look at the kernel logs below.

    The first log corresponds to kernel with your nvmem/core.c patch:

    [ 0.036462] ethernet@70000 Linked as a fwnode consumer to
    clock-gating-control@1821c
    [ 0.036572] ethernet@70000 Linked as a fwnode consumer to partition@1
    [ 0.045596] device: 'f1070000.ethernet': device_add
    [ 0.045854] ethernet@70000 Dropping the fwnode link to
    clock-gating-control@1821c
    [ 0.114990] device:
    'platform:f1010600.spi:m25p80@0:partitions:partition@1--platform:f1070000.ethernet':
    device_add
    [ 0.115266] devices_kset: Moving f1070000.ethernet to end of list
    [ 0.115308] platform f1070000.ethernet: Linked as a consumer to
    f1010600.spi:m25p80@0:partitions:partition@1
    [ 0.115345] ethernet@70000 Dropping the fwnode link to partition@1
    [ 1.968232] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 2.088696] devices_kset: Moving f1070000.ethernet to end of list
    [ 2.088988] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 2.152411] devices_kset: Moving f1070000.ethernet to end of list
    [ 2.152735] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 2.153870] devices_kset: Moving f1070000.ethernet to end of list
    [ 2.154152] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 2.644950] devices_kset: Moving f1070000.ethernet to end of list
    [ 2.645282] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 3.169218] devices_kset: Moving f1070000.ethernet to end of list
    [ 3.169506] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 3.170444] devices_kset: Moving f1070000.ethernet to end of list
    [ 3.170721] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 3.419068] devices_kset: Moving f1070000.ethernet to end of list
    [ 3.419359] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 3.521275] devices_kset: Moving f1070000.ethernet to end of list
    [ 3.521564] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 3.639196] devices_kset: Moving f1070000.ethernet to end of list
    [ 3.639532] platform f1070000.ethernet: error -EPROBE_DEFER:
    supplier f1010600.spi:m25p80@0:partitions:partition@1 not ready
    [ 13.960144] platform f1070000.ethernet: Relaxing link with
    f1010600.spi:m25p80@0:partitions:partition@1
    [ 13.960260] devices_kset: Moving f1070000.ethernet to end of list
    [ 13.971735] device: 'eth0': device_add
    [ 13.974140] mvneta f1070000.ethernet eth0: Using device tree
    mac address de:fa:ce:db:ab:e1
    [ 13.974275] mvneta f1070000.ethernet: Dropping the link to
    f1010600.spi:m25p80@0:partitions:partition@1
    [ 13.974318] device:
    'platform:f1010600.spi:m25p80@0:partitions:partition@1--platform:f1070000.ethernet':
    device_unregister

    It took around 13 seconds to obtain a mac from nvmem-cell and bring up
    f1070000.ethernet


    And here is the second log which corresponds to kernel without your
    nvmem/core.c patch but also with reverted change 'bcdf0315':

    [ 0.036285] ethernet@70000 Linked as a fwnode consumer to
    clock-gating-control@1821c
    [ 0.036395] ethernet@70000 Linked as a fwnode consumer to partition@1
    [ 0.045416] device: 'f1070000.ethernet': device_add
    [ 0.045674] ethernet@70000 Dropping the fwnode link to
    clock-gating-control@1821c
    [ 0.116136] ethernet@70000 Dropping the fwnode link to partition@1
    [ 1.977060] device: 'eth0': device_add
    [ 1.979145] mvneta f1070000.ethernet eth0: Using device tree
    mac address de:fa:ce:db:ab:e1

    It took around 1.5 second to obtain a mac from nvmem-cell

    P.S. Your nvmem patch definitely helps to avoid a device probe stuck
    but look like it is not best way to solve a problem which we discussed
    in the MTD thread.

    P.P.S. Also I don't know why your nvmem-cell patch doesn't help when it was
    applied on top of this series. Maybe I missed something.

    \
     
     \ /
      Last update: 2023-03-27 00:07    [W:3.313 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site