DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Mattias Rönnblom" <hofors@lysator.liu.se>,
	"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
	"Thomas Monjalon" <thomas@monjalon.net>,
	"David Marchand" <david.marchand@redhat.com>
Cc: <dev@dpdk.org>, "Onar Olsen" <onar.olsen@ericsson.com>,
	<Honnappa.Nagarahalli@arm.com>, <nd@arm.com>,
	"Konstantin Ananyev" <konstantin.v.ananyev@yandex.ru>,
	<stephen@networkplumber.org>,
	"Chengwen Feng" <fengchengwen@huawei.com>,
	"Ola Liljedahl" <ola.liljedahl@arm.com>
Subject: RE: [PATCH v7] eal: add seqlock
Date: Mon, 16 May 2022 10:30:34 +0200	[thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D87073@smartserver.smartshare.dk> (raw)
In-Reply-To: <63a953bf-ebdb-e313-ae47-75c14ede25b5@lysator.liu.se>

> From: Mattias Rönnblom [mailto:hofors@lysator.liu.se]
> Sent: Sunday, 15 May 2022 19.54
> 
> On 2022-05-15 17:19, Morten Brørup wrote:
> >> From: Mattias Rönnblom [mailto:mattias.ronnblom@ericsson.com]
> >> Sent: Sunday, 15 May 2022 14.40
> >>
> >> Two questions remain:
> >>
> >> 1) Should the seqlock and the seqcount reside in different header
> >> files?
> >> 2) Is it it good enough to provided only a spinlock-protected
> seqlock?
> >>
> >> Question 1 I don't really have an opinion on. Both ways seems
> perfectly
> >> reasonable to me. I noted Morten wanted a split, and left to my own
> >> devices this is probably what I would do as well.
> >
> > Argument for separate header files: If we add e.g. a
> rte_seqticketlock_t later, it should be able to include the
> rte_seqcount_t header file without also getting the contextually
> irrelevant rte_seqlock_t type and functions.
> >
> > I don't feel strongly about this.
> >
> >>
> >> I think the answer to 2 is yes. We can provide other variants in the
> >> future, would the need arise.
> >
> > Agree.
> >
> >>
> >> <snip>
> >
> > Please move the header files from /lib/eal/include to
> /lib/eal/include/generic, where the other lock header files reside.
> >
> >
> 
> My guess would be that the lib/eal/include/generic directory is where
> the generic implementations of APIs for which there also exist
> machine-specific implementations go. The seqlock is not an example of
> such.

My guess would be the same. However, it is not documented what goes where in the DPDK tree structure, and the community seems to have a preference for following conventions rather than doing things right. So just turn off your brain and be a lemming for a second! ;-)

Or try your luck. You have my support for the patch regardless. :-)

<rant>
I think that most of the EAL has grown into a huge pile of monolithic spaghetti, with very little modularity. E.g. I suggested refactoring and fixing the mempool cache, but could not gather traction. Instead, an increasing amount of the mempool library's implementation details are being promoted from internal to public, and its internal code is being copy-pasted into other modules, so they can bypass both the mbuf and mempool libraries when allocating and freeing mbufs.
</rant>


  reply	other threads:[~2022-05-16  8:30 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220513103820.3e34fcb9@hermes.local>
2022-05-15 12:24 ` Mattias Rönnblom
2022-05-15 12:39   ` Mattias Rönnblom
2022-05-15 15:19     ` Morten Brørup
2022-05-15 17:54       ` Mattias Rönnblom
2022-05-16  8:30         ` Morten Brørup [this message]
2022-05-15 15:23     ` Morten Brørup
2022-05-20  6:02     ` Mattias Rönnblom
2022-05-23 11:31       ` [PATCH v8] " Mattias Rönnblom
2022-05-23 14:23         ` [PATCH v9] " Mattias Rönnblom
2022-05-31 11:52           ` David Marchand
2022-06-01  9:01             ` Mattias Rönnblom
2022-06-01  9:10               ` Morten Brørup
2022-05-31 22:45           ` Stephen Hemminger
2022-06-01  6:07             ` Morten Brørup
2022-06-01  8:19             ` Mattias Rönnblom
2022-06-01 16:15               ` Stephen Hemminger
2022-06-01 19:33                 ` Mattias Rönnblom
2022-05-31 22:49           ` Stephen Hemminger
2022-05-31 22:57             ` Honnappa Nagarahalli
2022-06-07  9:25           ` David Marchand

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=98CBD80474FA8B44BF855DF32C47DC35D87073@smartserver.smartshare.dk \
    --to=mb@smartsharesystems.com \
    --cc=Honnappa.Nagarahalli@arm.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=hofors@lysator.liu.se \
    --cc=konstantin.v.ananyev@yandex.ru \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=nd@arm.com \
    --cc=ola.liljedahl@arm.com \
    --cc=onar.olsen@ericsson.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /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;
as well as URLs for NNTP newsgroup(s).