From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751862AbcIGX0D (ORCPT ); Wed, 7 Sep 2016 19:26:03 -0400 Received: from ec2-52-27-115-49.us-west-2.compute.amazonaws.com ([52.27.115.49]:46058 "EHLO s-opensource.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750877AbcIGX0C (ORCPT ); Wed, 7 Sep 2016 19:26:02 -0400 Subject: Re: [PATCH 1/3] kobject: add kobject trace points To: Steven Rostedt References: <20160906140544.3a46f056@gandalf.local.home> Cc: mingo@redhat.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, Shuah Khan From: Shuah Khan Message-ID: <9b79c4da-355d-6835-2afa-8fb16bb4b2b7@osg.samsung.com> Date: Wed, 7 Sep 2016 17:25:24 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160906140544.3a46f056@gandalf.local.home> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="BTifwEo04afufAVUqX8o7aepAFVBUhFKa" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --BTifwEo04afufAVUqX8o7aepAFVBUhFKa Content-Type: multipart/mixed; boundary="OVwaCTCs3AGvSfRawsR1SVoXR1tqcrHGq"; protected-headers="v1" From: Shuah Khan To: Steven Rostedt Cc: mingo@redhat.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, Shuah Khan Message-ID: <9b79c4da-355d-6835-2afa-8fb16bb4b2b7@osg.samsung.com> Subject: Re: [PATCH 1/3] kobject: add kobject trace points References: <20160906140544.3a46f056@gandalf.local.home> In-Reply-To: <20160906140544.3a46f056@gandalf.local.home> --OVwaCTCs3AGvSfRawsR1SVoXR1tqcrHGq Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 09/06/2016 12:05 PM, Steven Rostedt wrote: > On Tue, 6 Sep 2016 11:49:23 -0600 > Shuah Khan wrote: >=20 >> +#if !defined(_TRACE_KOBJECT_H) || defined(TRACE_HEADER_MULTI_READ) >> +#define _TRACE_KOBJECT_H >> + >> +#include >> +#include >> + >> +/* kobject_init_class */ >> +DECLARE_EVENT_CLASS(kobject_init_class, >> + >> + TP_PROTO(struct kobject *kobj), >> + >> + TP_ARGS(kobj), >> + >> + TP_STRUCT__entry( >> + __field(void *, kobj) >> + __field(int, state_initialized) >> + ), >> + >> + TP_fast_assign( >> + __entry->kobj =3D kobj; >> + __entry->state_initialized =3D kobj->state_initialized; >> + ), >> + >> + TP_printk("KOBJECT: %p state=3D%d", >> + __entry->kobj, >> + __entry->state_initialized >> + )); >> + >> +/** >> + * kobject_init - called from kobject_init() when kobject is initiali= zed >> + * @kobj: - pointer to struct kobject >> + */ >> +DEFINE_EVENT(kobject_init_class, kobject_init, >> + >> + TP_PROTO(struct kobject *kobj), >> + TP_ARGS(kobj)); >> + >> +/* kobject_class */ >> +DECLARE_EVENT_CLASS(kobject_class, >> + >> + TP_PROTO(struct kobject *kobj), >> + TP_ARGS(kobj), >> + >> + TP_STRUCT__entry( >> + __field(void *, kobj) >> + __string(name, kobject_name(kobj)) >> + __field(int, state_initialized) >> + __field(void *, parent) >> + __string(pname, kobj->parent ? kobject_name(kobj->parent) : "") >> + __field(int, count) >> + ), >=20 > state_initialized looks to be a single bit. As you have two dynamic > strings, it may be best to move this around and possibly save 3 bytes. > Also, dynamic strings take 4 bytes, and pointers are 8 bytes on 64 bit > machines, we want to move those too. >=20 > __field(void *, kobj) > __field(void *, parent) > __field(int, count) > __string(name, ...) > __string(pname, ...) > __field(char, state_initialized) >=20 > This will compact the event a bit better. >=20 > -- Steve >=20 Nice. I should start thinking about efficient data structure packing again. Used to do that a lot in the past when I worked on small embedded systems. I made the change and patch is ready, but holding off on sending the v2 of this patch until we conclude our tracepoint discussion at the kernel summit and make some decisions. thanks, -- Shuah --OVwaCTCs3AGvSfRawsR1SVoXR1tqcrHGq-- --BTifwEo04afufAVUqX8o7aepAFVBUhFKa Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJX0KHtAAoJEAsCRMQNDUMc50wQAKNwjG2vhu8cxyW/xWYP4E8u 4RbqdR/WihLf74RSMsHxpsaePmqDfXb6cuVPH0IeNO9sbDwRucOeaUUL1KXb70on CwEJMZ2W/+xxsujEh1ov2Lwd1T/9arnQWKL6a+4kHjRbaAsgiSmUCxs2v5z3mdOq 7/wWtgrfD5+aFjwooVZgv+1W5Da0vnzAgpV2FX7cSo8sVlKtTmA9FJi2I63XOpGK DwXQBZM+u14V6qvX+qJElscUvYxkNoUv8bGjlYSjLv2Ijh+xPjUxCoItFLavHgFX +HYI4P79Na1mU6PEwqsV56IVq7K9bLkDRrSB9al5ww6n4Sad6CgF4O0mzAdA0ayg N1ZvDw7pEkl78NFXRwAexuAKeeOO5hGirEbUQFWXcpEZ02HpDC5eN3gITTRbs49c bZ5w9FVPdgWpB9M5wD2015fcVVwziCrtx42BNuys0a3U2WgcXdgJVZ2cRvL7NNU6 4Fsnos5POP2hBtQh8T8WCGIrlSz7+dWEcedjc6hFDnIFjVaC1W2ojel8zzuAJeCj iZfpTdLoNrD0V1vgsKpXlmH3B8V/Z5HT4WdCLPXw1AQmplOmAlIxEg5qoVlnW5FA EspXjYnZZE806cMFNaUyT5ogFw16mlgMzXlN/BaYKcWrzKRba6/eFgZ6XfxJE1H0 8PrcOelxh0vZpDsK1tnM =IZtn -----END PGP SIGNATURE----- --BTifwEo04afufAVUqX8o7aepAFVBUhFKa--