All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
To: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Or Gerlitz <gerlitz.or-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
	Sagi Grimberg
	<sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
	"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Steve Wise
	<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: device attr cleanup (was: Handle mlx4 max_sge_rd correctly)
Date: Thu, 10 Dec 2015 15:29:56 -0800	[thread overview]
Message-ID: <20151210232956.GA26009@infradead.org> (raw)
In-Reply-To: <5669BA8E.30200-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

On Thu, Dec 10, 2015 at 12:46:54PM -0500, Doug Ledford wrote:
> Organization.  Let's be fair, the totally flat namespace you are
> preferring is the equivalent of a teenager that is completely incapable
> of picking thier dirty laundry up off the floor.  It is sloppy,
> disorganized, often full of old cruft that you don't know if you can get
> rid of or not, often so disorganized you might have three similarly
> named items that you can't figure out which one should be used in which
> circumstances, etc.

The most cruft I've found in major subsystems in years has been
in the RDMA code, so I'm not sure where that argument comes from.
We're pretty good at garbage collecting cruft in Linux, and the
typical counter examples are arbitrarily split structures where it's
easy to hide things.

> >  And looking at the existing members of
> > struct ib_device what determines if it goes straight into the device
> > or the attribute?
> 
> Organization.  What goes where depends on what makes sense according to
> the organization you are doing.

So what makes num_comp_vectors or phys_port_cnt fit into ib_device,
while max_qp or max_cq are in struct ib_device_attr?

I really like clean data structures, but keeping structures that
have 1:1 relationships and sit in the same module separate never
has been a good idea.

> >  There is a reason why we don't do this weird
> > attr split in other Linux subsystems, and making IB follow this pattern
> > makes everyone feel right at home instead of wondering about the
> > weird attribute.
> 
> Being organized is not "weird".  Let's not wax poetic about sloppy,
> disorganized structures.  Let's be honest about what they are so we
> don't feel like we need to take a shower every time we talk about them
> to purge us of the sins of our lies.

I call that utter BS.  Being organized is exactly not having multiple
structures that have the same scope or life time, it's actually what
I call disorganzied.  There is a lot to be said about grouping the
fields in the structure, and that's how sensible subsystems handle it:

stuct foo_bar {
	/* read/write in the hot path, keep together and tightly packed: */
	...

	/* read-only in the hot path */
	...

	/* random members: */
	...

	/* properties here, immutable after setup: */
	...
};

but that's completely inverse to what we're having with ib_device
currently.
--
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

  parent reply	other threads:[~2015-12-10 23:29 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-08 21:00 device attr cleanup (was: Handle mlx4 max_sge_rd correctly) Or Gerlitz
     [not found] ` <CAJ3xEMj2EOxX1CiA93MPOsM-FdU9ijcWCYm9tObbkLqqja0PoA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-08 22:04   ` Doug Ledford
     [not found]     ` <566753E3.9060301-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-08 22:47       ` Or Gerlitz
     [not found]         ` <CAJ3xEMhaEnv9He7N5q8fFsRzy_j27wdE6KWSFF39UzA680udwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-08 22:59           ` Jason Gunthorpe
     [not found]             ` <20151208225940.GB27609-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-08 23:02               ` Christoph Hellwig
     [not found]                 ` <20151208230244.GA10701-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-12-08 23:49                   ` Jason Gunthorpe
2015-12-09  0:52                   ` ira.weiny
     [not found]                     ` <20151209005203.GD16976-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-12-09 18:42                       ` Christoph Hellwig
     [not found]                         ` <20151209184235.GB4522-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-12-10  1:45                           ` ira.weiny
     [not found]                             ` <20151210014556.GA32059-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-12-10  8:27                               ` Sagi Grimberg
     [not found]                                 ` <56693758.90808-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-10 16:07                                   ` Chuck Lever
     [not found]                                     ` <93E3DE8A-0589-436D-A9A1-7EAC66B12739-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2015-12-10 16:10                                       ` Steve Wise
2015-12-10 17:17                                         ` Doug Ledford
2015-12-10 18:07                                       ` Jason Gunthorpe
     [not found]                                         ` <20151210180703.GC21482-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-10 23:30                                           ` Christoph Hellwig
     [not found]                                             ` <20151210233047.GB26009-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-12-11  0:49                                               ` Chuck Lever
     [not found]                                                 ` <09F96E8A-5E1E-4345-9069-C07108AF0BC7-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2015-12-11  6:54                                                   ` santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA
2015-12-15 18:26                                                   ` Anna Schumaker
2015-12-23 21:31                                                   ` J. Bruce Fields
     [not found]                                                     ` <20151223213116.GB29650-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-12-24  3:19                                                       ` device attr cleanup Doug Ledford
     [not found]                                                         ` <567B6433.4050907-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-01-05 16:46                                                           ` Steve Wise
2016-01-05 17:32                                                             ` Or Gerlitz
2015-12-15  0:19                               ` device attr cleanup (was: Handle mlx4 max_sge_rd correctly) Chuck Lever
2015-12-15 16:52                           ` santosh shilimkar
2015-12-08 23:13               ` Or Gerlitz
     [not found]                 ` <CAJ3xEMiEYgsxiL6zR-Dia3Rxwriye1WHcadTmUjU7zV=ide1LA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-08 23:15                   ` Or Gerlitz
     [not found]                     ` <CAJ3xEMgQNMtxgTKC0zaKgy-WGugf6KwT7Ys5h3_RbN_7qd2=tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-15 19:03                       ` device attr cleanup Doug Ledford
     [not found]                         ` <56706414.8010807-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-16  5:53                           ` Or Gerlitz
     [not found]                             ` <5670FC5E.8070405-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-12-16 13:40                               ` Sagi Grimberg
     [not found]                                 ` <567169B3.4040908-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-16 14:03                                   ` Or Gerlitz
2015-12-22  7:56                               ` Or Gerlitz
     [not found]                                 ` <CAJ3xEMiGOF79o1OSgxgk2tN+kY91uiNY5Aq+xu2U0Sur-htxpQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-22 19:19                                   ` Doug Ledford
     [not found]                                     ` <5679A254.2040809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-22 20:37                                       ` Doug Ledford
2015-12-09 18:44                   ` device attr cleanup (was: Handle mlx4 max_sge_rd correctly) Christoph Hellwig
     [not found]                     ` <20151209184448.GC4522-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-12-10 17:46                       ` Doug Ledford
     [not found]                         ` <5669BA8E.30200-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-10 23:29                           ` Christoph Hellwig [this message]
     [not found]                             ` <20151210232956.GA26009-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-12-11  4:56                               ` Doug Ledford
     [not found]                                 ` <566A5792.9080102-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-11  6:14                                   ` Jason Gunthorpe
     [not found]                                     ` <20151211061433.GB16513-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-11 17:10                                       ` Doug Ledford

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=20151210232956.GA26009@infradead.org \
    --to=hch-wegcikhe2lqwvfeawa7xhq@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=gerlitz.or-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
    --cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@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.