From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Roland Dreier <roland-BHEL68pLQRGGvPXPguhicg@public.gmane.org>
Cc: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"Jeff Squyres (jsquyres)"
<jsquyres-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>,
"Hefty,
Sean" <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH V2] libibverbs: Allow arbitrary int values for MTU
Date: Mon, 5 Aug 2013 13:02:38 -0600 [thread overview]
Message-ID: <20130805190238.GA14356@obsidianresearch.com> (raw)
In-Reply-To: <CAL1RGDVuuQU-NZ2o+T0_kuxPMRadGPeqzO1J9iuW=DRuFMMYfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Mon, Aug 05, 2013 at 11:48:20AM -0700, Roland Dreier wrote:
> On Wed, Jul 17, 2013 at 10:57 AM, Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> >>> - doing it this way preserves ABI, so existing binaries are safe
>
> >> I still don't get this. Wouldn't an existing binary be pretty
> >> surprised to get a value wildly out of range of the enum?
>
> > Yes, but there's no way around that without simply lying about the MTU.
> > So, the argument was made in the thread that historically, applications
> > have had to be modified when moved to a new link layer (aka, iWARP meant
> > IB apps had to be slightly modified for connection reasons, RoCE again
> > required some slight app modifications, etc) so this was seen as a case
> > of "the app will work on fabrics it already knows about, and will only
> > get confused if moved to this new fabric, and in that case, the app
> > needs to be modified anyway, so that's acceptable breakage for keeping
> > the apps working the rest of the time". That was the argument anyway.
>
> So I've been thinking about this for a while and this doesn't seem
> like the right tradeoff to me. If we break source compatibility, then
> everyone needs to add some annoying #ifdef-ery (and configure tests
> etc), even if they don't care about this new fabric. And by *not*
> breaking binary compatibility, we leave the risk of old binaries
> misbehaving.
It isn't that hard. One ifdef and configure test to provide the two
conversion functions for old verbs completely takes care of it.
Most apps never touch that field anyhow.
> Wouldn't the following be a better path forward:
>
> - Add a new API (ibv_get_max_datagram_size() or some such) that
> returns the real value as an int, based on the true MTU
> - Have old query verbs continue to return only old MTU values, but
> deprecate that field with the idea of removing it in a few years
It isn't that easy, one API certainly doesn't cover it. The MTU is in
two structs:
struct ibv_port_attr
struct ibv_qp_attr
Which touch ibv_query_port, ibv_modify_qp and ibv_query_qp. All of
which need to be changed, and you can't change the _qp functions just
by adding a new call.
> But as Sean pointed out, it's not clear how we expect to return
> integer MTUs via the existing kernel-user ABI anyway, and we should
> really at least figure that out before we risk breaking userspace for
> no good reason.
It would be good to understand this, but maybe it is just a new field
in a bigger structure via the extendable call mechanism like Or has
been working on..
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-08-05 19:02 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-02 12:31 [PATCH V2] libibverbs: Allow arbitrary int values for MTU Jeff Squyres
[not found] ` <1372768306-6786-1-git-send-email-jsquyres-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2013-07-04 0:36 ` Jeff Squyres (jsquyres)
2013-07-05 19:11 ` Roland Dreier
[not found] ` <CAL1RGDVU9otyMtoit1PJR5JkVy4XvU=4xjL1rN1QB7pq0rVcxA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-08 16:26 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F6F31A6-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-08 17:19 ` Roland Dreier
[not found] ` <CAL1RGDU+4CSJyF0TAfAv-YYcjA4FG+XNeg5pGCHPeW5iqhvwpA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-08 17:26 ` Jason Gunthorpe
[not found] ` <20130708172621.GA3852-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-07-10 12:14 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F70BF83-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-15 14:20 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F71CB0F-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-30 16:44 ` Christoph Lameter
[not found] ` <0000014030779fed-e7bdfc9a-6714-4473-b093-4b247ab940b6-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2013-07-30 17:21 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F7883AD-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-30 18:31 ` Christoph Lameter
[not found] ` <0000014030d9bc3d-2916693b-9669-4017-a724-75b51c6dc3dc-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2013-07-30 18:45 ` Atchley, Scott
[not found] ` <17370FDF-C64B-4D74-A848-79C1438E6283-1Heg1YXhbW8@public.gmane.org>
2013-07-30 18:47 ` Doug Ledford
2013-07-16 8:04 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373805AAB74-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-07-16 14:47 ` Jason Gunthorpe
[not found] ` <20130716144747.GA7304-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-07-16 17:11 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F7211E6-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-17 0:16 ` Roland Dreier
[not found] ` <CAL1RGDWKmecLXsqphwdP9XG=4Y=65Z_ACSdRBhEqVQb6Q4LrUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-17 17:57 ` Doug Ledford
[not found] ` <51E6DB11.9050906-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-08-05 18:48 ` Roland Dreier
[not found] ` <CAL1RGDVuuQU-NZ2o+T0_kuxPMRadGPeqzO1J9iuW=DRuFMMYfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-08-05 19:02 ` Jason Gunthorpe [this message]
[not found] ` <20130805190238.GA14356-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-08-05 20:06 ` Roland Dreier
[not found] ` <CAL1RGDWPHWzAWx7XXxGGCVQQ1xHU6QDVybrttnvoqUPrzqzvWA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-08-05 22:22 ` Jason Gunthorpe
[not found] ` <20130805222250.GA4486-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-08-05 22:35 ` Roland Dreier
[not found] ` <CAL1RGDW5V_N62LSZa1YRG1JA1fOf+nbQwBG1xQ7yYiuF6z0fMw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-08-05 22:43 ` Jason Gunthorpe
2013-07-17 4:06 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373805AECC0-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-07-17 18:12 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F725B8C-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-17 21:41 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373805B941D-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-07-17 21:44 ` Steve Wise
[not found] ` <51E71023.2060006-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2013-07-18 2:32 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F727D11-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-18 16:50 ` Jason Gunthorpe
[not found] ` <20130718165003.GB9237-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-07-23 13:26 ` Jeff Squyres (jsquyres)
[not found] ` <EF66BBEB19BADC41AC8CCF5F684F07FC4F749B82-nsZYYkk5h5QQ2GdVW7+PtKBKnGwkPULj@public.gmane.org>
2013-07-30 12:59 ` Jeff Squyres (jsquyres)
-- strict thread matches above, loose matches on Subject: below --
2013-06-20 14:21 Jeff Squyres
[not found] ` <1371738080-18537-1-git-send-email-jsquyres-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2013-06-20 16:34 ` Doug Ledford
[not found] ` <51C32EFC.8060202-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-20 16:42 ` Doug Ledford
2013-06-20 16:53 ` Jason Gunthorpe
[not found] ` <20130620165305.GA19800-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-20 20:31 ` Doug Ledford
[not found] ` <51C36692.7000507-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-20 21:14 ` Jason Gunthorpe
[not found] ` <20130620211454.GA2434-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-21 0:31 ` Doug Ledford
[not found] ` <51C39ECB.3040006-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-21 1:03 ` Hefty, Sean
2013-06-21 6:36 ` Jason Gunthorpe
[not found] ` <20130621063648.GA27963-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-21 17:36 ` Doug Ledford
[not found] ` <51C48F01.5030103-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-21 18:26 ` Jason Gunthorpe
[not found] ` <20130621182617.GA17700-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-21 20:57 ` Doug Ledford
[not found] ` <51C4BE25.9000501-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-21 21:20 ` Jason Gunthorpe
[not found] ` <20130621212016.GA10637-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-06-21 21:56 ` Hefty, Sean
2013-06-22 13:13 ` Jeff Squyres (jsquyres)
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=20130805190238.GA14356@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=jsquyres-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=roland-BHEL68pLQRGGvPXPguhicg@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.