All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Weiny, Ira" <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: RE: [PATCH 2/5] IB/core: Formalize the creation of immutable per port data within the ib_device object
Date: Tue, 12 May 2015 17:48:55 +0000	[thread overview]
Message-ID: <2807E5FD2F6FDA4886F6618EAC48510E1107CBB6@CRSMSX101.amr.corp.intel.com> (raw)
In-Reply-To: <1431444301.43876.34.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

> > In preparation for this create a structure for per port immutable data
> > and place the pkey and gid table lengths within this structure.
> >
> > This type of data requires a new call back "port_immutable" parameter
> > to ib_register_device to allow each driver to create this data as appropriate.
> > This callback is added to ib_register_device rather than as a new
> > device function because the callback should only be used when devices
> > are first registered.
> >

I tried to explain my decision here...

> > @@ -273,7 +273,9 @@ out:
> >   */
> >  int ib_register_device(struct ib_device *device,
> >  		       int (*port_callback)(struct ib_device *,
> > -					    u8, struct kobject *))
> > +					    u8, struct kobject *),
> > +		       int (*port_immutable)(struct ib_device *, u8,
> > +					     struct ib_port_immutable *))
> 
> I'm having a hard time getting past how ugly this is.  Passing callbacks as
> arguments to a registration function should be a last resort.  I would rather see
> this added to the device mandatory list (and it *is* mandatory, we use it
> without checking for NULL).  

Your correct I should have checked for NULL and returned an error if not supplied.

> In truth, I'd rather see both of those moved to the
> driver callback struct.  They can be placed at the end, after a comment that
> says something like "These are single use entry points for initialization, keep
> them away from the rest of the entry points to help prevent growing the entry
> point list beyond any more cachelines that needed for the more commonly
> used entry points".  I would find that much preferable to this.
> 

I'll change to this method in the next version.

Ira


  parent reply	other threads:[~2015-05-12 17:48 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-12  1:46 [PATCH 0/5] Convert management helpers to Core Capability bits ira.weiny-ral2JQCrhuEAvxtiuMwx3w
     [not found] ` <1431395218-27693-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-12  1:46   ` [PATCH 1/5] IB/user_mad: Fix bug in ib_umad_remove_one when rdma_cap_ib_mad implementation changed ira.weiny-ral2JQCrhuEAvxtiuMwx3w
     [not found]     ` <1431395218-27693-2-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-12  2:29       ` Hefty, Sean
     [not found]         ` <1828884A29C6694DAF28B7E6B8A82373A8FCE4C5-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-05-12 14:42           ` Weiny, Ira
2015-05-12 19:15       ` Jason Gunthorpe
     [not found]         ` <20150512191505.GB3503-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-05-12 21:53           ` ira.weiny
2015-05-12  1:46   ` [PATCH 2/5] IB/core: Formalize the creation of immutable per port data within the ib_device object ira.weiny-ral2JQCrhuEAvxtiuMwx3w
     [not found]     ` <1431395218-27693-3-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-12 15:25       ` Doug Ledford
     [not found]         ` <1431444301.43876.34.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-12 17:48           ` Weiny, Ira [this message]
     [not found]             ` <2807E5FD2F6FDA4886F6618EAC48510E1107CBB6-8k97q/ur5Z2krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-05-12 17:54               ` Doug Ledford
2015-05-12 19:21       ` Jason Gunthorpe
     [not found]         ` <20150512192109.GC3503-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-05-12 21:02           ` ira.weiny
     [not found]             ` <20150512210225.GA7341-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-05-12 22:17               ` Jason Gunthorpe
2015-05-12  1:46   ` [PATCH 3/5] IB/core: Convert management helpers to core capability bits ira.weiny-ral2JQCrhuEAvxtiuMwx3w
     [not found]     ` <1431395218-27693-4-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-12  2:38       ` Hefty, Sean
     [not found]         ` <1828884A29C6694DAF28B7E6B8A82373A8FCE4DE-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-05-12 21:54           ` ira.weiny
2015-05-12 19:25       ` Jason Gunthorpe
     [not found]         ` <20150512192517.GD3503-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-05-12 22:06           ` ira.weiny
2015-05-12  1:46   ` [PATCH 4/5] IB/core: Add rdma_dev_max_mad_size helper call ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2015-05-12  1:46   ` [PATCH 5/5] IB/core: Add rdma_cap_opa_mad helper using RDMA_CORE_CAP_OPA_MAD flag ira.weiny-ral2JQCrhuEAvxtiuMwx3w
     [not found]     ` <1431395218-27693-6-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-13 19:23       ` Hal Rosenstock

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=2807E5FD2F6FDA4886F6618EAC48510E1107CBB6@CRSMSX101.amr.corp.intel.com \
    --to=ira.weiny-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@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.