From: "Luis R. Rodriguez" <mcgrof@suse.com>
To: Oleg Nesterov <oleg@redhat.com>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
gregkh@linuxfoundation.org, dmitry.torokhov@gmail.com,
falcon@meizu.com, tiwai@suse.de, tj@kernel.org,
arjan@linux.intel.com, linux-kernel@vger.kernel.org,
hare@suse.com, akpm@linux-foundation.org,
penguin-kernel@i-love.sakura.ne.jp,
joseph.salisbury@canonical.com, bpoirier@suse.de,
santosh@chelsio.com, Kay Sievers <kay@vrfy.org>,
One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Tim Gardner <tim.gardner@canonical.com>,
Pierre Fersing <pierre-fersing@pierref.org>,
Nagalakshmi Nandigama <nagalakshmi.nandigama@avagotech.com>,
Praveen Krishnamoorthy <praveen.krishnamoorthy@avagotech.com>,
Sreekanth Reddy <sreekanth.reddy@avagotech.com>,
Abhijit Mahajan <abhijit.mahajan@avagotech.com>,
Casey Leedom <leedom@chelsio.com>,
Hariprasad S <hariprasad@chelsio.com>,
MPT-FusionLinux.pdl@avagotech.com, linux-scsi@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [RFC v2 2/6] driver-core: add driver async_probe support
Date: Fri, 5 Sep 2014 19:25:41 +0200 [thread overview]
Message-ID: <20140905172541.GA17986@wotan.suse.de> (raw)
In-Reply-To: <20140905112417.GB22778@redhat.com>
On Fri, Sep 05, 2014 at 01:24:17PM +0200, Oleg Nesterov wrote:
> On 09/04, Luis R. Rodriguez wrote:
> >
> > struct driver_private {
> > struct kobject kobj;
> > struct klist klist_devices;
> > struct klist_node knode_bus;
> > struct module_kobject *mkobj;
> > + struct driver_attach_work *attach_work;
> > struct device_driver *driver;
>
> I am not arguing, just curious...
>
> Are you trying to shrink sizeof(driver_private) ?
Yeap.
> The code can be simpler
> if you just embedd "struct work_struct attach_work" into driver_private,
> and you do not need "struct driver_attach_work" or another ->driver pointer
> this way.
Agreed, I considered it and figured it wouldn't make much sense
to push onto folks more bytes if this feature was optional and
likely only used by a few drivers, so a pointer / kzalloc seemed
better to deal with. This saves us 24 bytes. I even tried to
implement a container_of_p() for pointers but that obviosly
didn't work well fast as a pointer can have any address and is
not relative to the parent, and if its on stack the address
can vary depending on implementation. For example the first member
should always have the same address as the struct but if the
first member is a pointer it would be off for me by 12 bytes.
I am not sure if this is standarized or not.
Luis
next prev parent reply other threads:[~2014-09-05 17:25 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-05 6:37 [RFC v2 0/6] driver-core: add asynch probe support Luis R. Rodriguez
2014-09-05 6:37 ` [RFC v2 1/6] driver-core: generalize freeing driver private member Luis R. Rodriguez
2014-09-05 6:37 ` [RFC v2 2/6] driver-core: add driver async_probe support Luis R. Rodriguez
2014-09-05 11:24 ` Oleg Nesterov
2014-09-05 17:25 ` Luis R. Rodriguez [this message]
2014-09-05 22:10 ` Dmitry Torokhov
2014-10-20 23:43 ` Luis R. Rodriguez
2014-09-05 6:37 ` [RFC v2 3/6] kthread: warn on kill signal if not OOM Luis R. Rodriguez
2014-09-05 7:19 ` Tejun Heo
2014-09-05 7:47 ` Luis R. Rodriguez
2014-09-05 9:14 ` Mike Galbraith
2014-09-05 14:12 ` Tejun Heo
2014-09-05 16:44 ` Dmitry Torokhov
2014-09-05 17:49 ` Tejun Heo
2014-09-05 18:10 ` Dmitry Torokhov
2014-09-05 22:29 ` Tejun Heo
2014-09-05 22:31 ` Tejun Heo
2014-09-05 22:49 ` Dmitry Torokhov
2014-09-05 22:55 ` Tejun Heo
2014-09-05 23:22 ` Dmitry Torokhov
2014-09-05 23:32 ` Tejun Heo
2014-09-05 22:45 ` Arjan van de Ven
2014-09-05 22:52 ` Dmitry Torokhov
2014-09-05 22:57 ` Tejun Heo
2014-09-05 23:05 ` Arjan van de Ven
2014-09-05 23:18 ` Dmitry Torokhov
2014-09-05 18:12 ` Luis R. Rodriguez
2014-09-05 18:29 ` Dmitry Torokhov
2014-09-05 22:40 ` Tejun Heo
2014-09-09 1:04 ` Luis R. Rodriguez
2014-09-09 1:10 ` Tejun Heo
2014-09-09 1:13 ` Tejun Heo
2014-09-09 1:22 ` Tejun Heo
2014-09-09 1:26 ` Luis R. Rodriguez
2014-09-09 1:29 ` Tejun Heo
2014-09-09 1:38 ` Luis R. Rodriguez
2014-09-09 1:47 ` Tejun Heo
2014-09-09 2:28 ` Luis R. Rodriguez
2014-09-09 2:39 ` Tejun Heo
2014-09-09 2:57 ` Luis R. Rodriguez
2014-09-09 3:03 ` Tejun Heo
2014-09-09 3:19 ` Luis R. Rodriguez
2014-09-09 3:25 ` Tejun Heo
2014-09-09 23:03 ` Tejun Heo
2014-09-12 20:14 ` Luis R. Rodriguez
2014-09-22 16:36 ` Luis R. Rodriguez
2014-09-10 5:13 ` Tom Gundersen
2014-09-09 5:38 ` James Bottomley
2014-09-09 19:16 ` Luis R. Rodriguez
2014-09-09 19:35 ` James Bottomley
2014-09-09 20:45 ` Luis R. Rodriguez
2014-09-10 6:46 ` [systemd-devel] " Tom Gundersen
2014-09-10 10:07 ` Ceriel Jacobs
2014-09-10 13:31 ` James Bottomley
2014-09-10 21:10 ` Luis R. Rodriguez
2014-09-11 5:42 ` Alexander E. Patrakov
2014-09-11 21:43 ` Tom Gundersen
2014-09-11 22:26 ` Luis R. Rodriguez
2014-09-12 5:48 ` Tom Gundersen
2014-09-12 20:09 ` Luis R. Rodriguez
2014-10-10 21:54 ` Anatol Pomozov
2014-10-10 22:45 ` Tom Gundersen
2014-10-15 19:41 ` Anatol Pomozov
2014-10-15 19:46 ` Alexander E. Patrakov
2014-09-09 21:42 ` Tejun Heo
2014-09-09 22:26 ` James Bottomley
2014-09-09 22:41 ` Tejun Heo
2014-09-09 22:46 ` James Bottomley
2014-09-09 22:52 ` Tejun Heo
2014-09-09 23:01 ` Dmitry Torokhov
2014-09-11 19:59 ` James Bottomley
2014-09-11 20:23 ` Dmitry Torokhov
2014-09-11 20:42 ` Luis R. Rodriguez
2014-09-11 20:53 ` Dmitry Torokhov
2014-09-11 21:08 ` Luis R. Rodriguez
2014-09-22 19:49 ` Pavel Machek
2014-09-22 20:23 ` Dmitry Torokhov
2014-09-30 21:06 ` Pavel Machek
2014-09-30 21:34 ` Dmitry Torokhov
2014-09-09 22:00 ` Jiri Kosina
2014-09-05 10:59 ` Oleg Nesterov
2014-09-05 17:35 ` Luis R. Rodriguez
2014-09-05 6:37 ` [RFC v2 4/6] cxgb4: use async probe Luis R. Rodriguez
2014-09-05 6:37 ` [RFC v2 5/6] mptsas: " Luis R. Rodriguez
2014-09-05 7:16 ` Tejun Heo
2014-09-05 7:23 ` Hannes Reinecke
2014-09-05 6:37 ` [RFC v2 6/6] pata_marvell: " Luis R. Rodriguez
2014-09-05 6:59 ` Alexander E. Patrakov
2014-09-05 7:15 ` Tejun Heo
2014-09-05 7:11 ` [RFC v2 0/6] driver-core: add asynch probe support Tejun Heo
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=20140905172541.GA17986@wotan.suse.de \
--to=mcgrof@suse.com \
--cc=MPT-FusionLinux.pdl@avagotech.com \
--cc=abhijit.mahajan@avagotech.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@linux.intel.com \
--cc=bpoirier@suse.de \
--cc=dmitry.torokhov@gmail.com \
--cc=falcon@meizu.com \
--cc=gnomes@lxorguk.ukuu.org.uk \
--cc=gregkh@linuxfoundation.org \
--cc=hare@suse.com \
--cc=hariprasad@chelsio.com \
--cc=joseph.salisbury@canonical.com \
--cc=kay@vrfy.org \
--cc=leedom@chelsio.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mcgrof@do-not-panic.com \
--cc=nagalakshmi.nandigama@avagotech.com \
--cc=netdev@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=pierre-fersing@pierref.org \
--cc=praveen.krishnamoorthy@avagotech.com \
--cc=santosh@chelsio.com \
--cc=sreekanth.reddy@avagotech.com \
--cc=tim.gardner@canonical.com \
--cc=tiwai@suse.de \
--cc=tj@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox