Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1279905

Re: [PATCH 00/13] mvneta Buffer Management and enhancements

From Marcin Wojtas <mw@semihalf.com>
Newsgroups linux.kernel
Subject Re: [PATCH 00/13] mvneta Buffer Management and enhancements
Date 2015-11-30 15:20 +0100
Message-ID <qAxt8-4HX-9@gated-at.bofh.it> (permalink)
References <qxxJ0-HM-3@gated-at.bofh.it> <qyN90-1vp-11@gated-at.bofh.it> <qAadd-6Gq-23@gated-at.bofh.it> <qAm4G-5Jv-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi David and Florian,

2015-11-30 3:02 GMT+01:00 David Miller <davem@davemloft.net>:
> From: Marcin Wojtas <mw@semihalf.com>
> Date: Sun, 29 Nov 2015 14:21:35 +0100
>
>>> Looking at your patches, it was not entirely clear to me how the buffer
>>> manager on these Marvell SoCs work, but other networking products have
>>> something similar, like Broadcom's Cable Modem SoCs (BCM33xx) FPM, and
>>> maybe Freescale's FMAN/DPAA seems to do something similar.
>>>
>>> Does the buffer manager allocation work by giving you a reference/token
>>> to a buffer as opposed to its address? If that is the case, it would be
>>> good to design support for such hardware in a way that it can be used by
>>> more drivers.
>>
>> It does not operate on a reference/token but buffer pointers (physical
>> adresses). It's a ring and you cannot control which buffer will be
>> taken at given moment.
>
> He understands this, he's asking you to make an "abstraction".

I assumed that Florian is not familiar with how the HW works,
otherwise why did he ask about the details of operation and the buffer
representation in ring (token vs. address)? Nevertheless, let's talk
about the "abstraction" itself.

>
> FWIW, I know of at least one more chip that operates this way too and
> the code I wrote for it, particularly the buffer management, took a
> while to solidify.  Common helpers for this kind of situation would
> have helped me back when I wrote it.

What kind of abstraction and helpers do you mean? Some kind of API
(e.g. bm_alloc_buffer, bm_initialize_ring bm_put_buffer,
bm_get_buffer), which would be used by platform drivers (and specific
aplications if one wants to develop on top of the kernel)?

In general, what is your top-view of such solution and its cooperation
with the drivers?

I'm also wondering how to satisfy different types of HW. For example
buffer managers used by mvneta and mvpp2 are similar, but the major
difference is the way of accessing the buffers (via SRAM in mvneta vs
indirectly via registers in mvpp2) - do you think some kind of
callbacks is a solution, also with other vendors taken into
consideration?

Best regards,
Marcin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-11-22 09:00 +0100
  [PATCH 13/13] ARM: mvebu: enable buffer manager support on Armada XP boards Marcin Wojtas <mw@semihalf.com> - 2015-11-22 09:00 +0100
  [PATCH 04/13] net: mvneta: enable suspend/resume support Marcin Wojtas <mw@semihalf.com> - 2015-11-22 09:00 +0100
    Re: [PATCH 04/13] net: mvneta: enable suspend/resume support Gregory CLEMENT <gregory.clement@free-electrons.com> - 2015-11-25 19:40 +0100
      Re: [PATCH 04/13] net: mvneta: enable suspend/resume support Marcin Wojtas <mw@semihalf.com> - 2015-11-26 18:40 +0100
  [PATCH 12/13] ARM: mvebu: add buffer manager nodes to armada-xp.dtsi Marcin Wojtas <mw@semihalf.com> - 2015-11-22 09:00 +0100
  [PATCH 01/13] net: mvneta: add configuration for MBUS windows access protection Marcin Wojtas <mw@semihalf.com> - 2015-11-22 09:00 +0100
    Re: [PATCH 01/13] net: mvneta: add configuration for MBUS windows access protection Gregory CLEMENT <gregory.clement@free-electrons.com> - 2015-11-25 19:20 +0100
  [PATCH 11/13] ARM: mvebu: enable buffer manager support on Armada 38x boards Marcin Wojtas <mw@semihalf.com> - 2015-11-22 09:00 +0100
  [PATCH 07/13] bus: mvebu-mbus: provide api for obtaining IO and DRAM window information Marcin Wojtas <mw@semihalf.com> - 2015-11-22 09:00 +0100
    Re: [PATCH 07/13] bus: mvebu-mbus: provide api for obtaining IO and DRAM window information Arnd Bergmann <arnd@arndb.de> - 2015-11-22 21:10 +0100
      Re: [PATCH 07/13] bus: mvebu-mbus: provide api for obtaining IO and  DRAM window information Marcin Wojtas <mw@semihalf.com> - 2015-11-22 22:30 +0100
        Re: [PATCH 07/13] bus: mvebu-mbus: provide api for obtaining IO and DRAM window information Arnd Bergmann <arnd@arndb.de> - 2015-11-23 18:00 +0100
  Re: [PATCH 00/13] mvneta Buffer Management and enhancements Arnd Bergmann <arnd@arndb.de> - 2015-11-22 21:10 +0100
    Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-11-22 22:40 +0100
  Re: [PATCH 00/13] mvneta Buffer Management and enhancements David Miller <davem@davemloft.net> - 2015-11-24 17:30 +0100
    Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-11-24 17:50 +0100
  Re: [PATCH 00/13] mvneta Buffer Management and enhancements Florian Fainelli <f.fainelli@gmail.com> - 2015-11-25 19:40 +0100
    Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-11-29 14:30 +0100
      Re: [PATCH 00/13] mvneta Buffer Management and enhancements David Miller <davem@davemloft.net> - 2015-11-30 03:10 +0100
        Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-11-30 15:20 +0100
          Re: [PATCH 00/13] mvneta Buffer Management and enhancements David Miller <davem@redhat.com> - 2015-11-30 17:30 +0100
            Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-12-02 09:30 +0100
              Re: [PATCH 00/13] mvneta Buffer Management and enhancements Florian Fainelli <f.fainelli@gmail.com> - 2015-12-04 21:20 +0100
                Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-12-08 12:00 +0100
                Re: [PATCH 00/13] mvneta Buffer Management and enhancements David Miller <davem@davemloft.net> - 2015-12-08 18:00 +0100
  Re: [PATCH 00/13] mvneta Buffer Management and enhancements Gregory CLEMENT <gregory.clement@free-electrons.com> - 2015-11-30 18:20 +0100
    Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-11-30 21:00 +0100
      Re: [PATCH 00/13] mvneta Buffer Management and enhancements Gregory CLEMENT <gregory.clement@free-electrons.com> - 2015-12-01 14:20 +0100
        Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-12-01 22:50 +0100
          Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-12-02 00:40 +0100
            Re: [PATCH 00/13] mvneta Buffer Management and enhancements Gregory CLEMENT <gregory.clement@free-electrons.com> - 2015-12-02 11:50 +0100
              Re: [PATCH 00/13] mvneta Buffer Management and enhancements Gregory CLEMENT <gregory.clement@free-electrons.com> - 2015-12-02 17:30 +0100
                Re: [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas <mw@semihalf.com> - 2015-12-02 23:20 +0100
                Re: [PATCH 00/13] mvneta Buffer Management and enhancements Gregory CLEMENT <gregory.clement@free-electrons.com> - 2015-12-03 00:00 +0100

csiph-web