lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 26 Feb 2007 00:02:59 -0300
From:	"Arnaldo Carvalho de Melo" <arnaldo.melo@...il.com>
To:	"David Miller" <davem@...emloft.net>
Cc:	simrw@...-basis.de, netdev@...r.kernel.org
Subject: Re: [PATCH] fix limited slow start bug

On 2/25/07, Arnaldo Carvalho de Melo <arnaldo.melo@...il.com> wrote:
> On 2/25/07, David Miller <davem@...emloft.net> wrote:
> > From: Roger While <simrw@...-basis.de>
> > Date: Sun, 25 Feb 2007 09:55:34 +0100
> >
> > > Was anything done about size/member alignment of struct tcp_sock per
> > > mail from last year  -
> > > http://marc.theaimsgroup.com/?l=linux-netdev&m=114318857102290&w=2
> > >
> > > (I have no idea what current size is)
> >
> > Nothing has been done yet but I've been thinking about it a lot
> > over the past year and I've had some discussions with other
> > developers such as Arnaldo.
> >
> > It's just a matter of me being backlogged, so I never get to
> > it as often as I would like :)
>
> Attached goes a current (DaveM's net-2.6 git tree build) pahole
> picture of tcp_sock on UP, 32bits, summary:
>
> }; /* size: 1288, cachelines: 21 */
>    /* last cacheline: 8 bytes */
>
> and for the really curious, take a look at:
>
> http://oops.ghostprotocols.net:81/acme/dwarves/tcp_sock.pahole.expand_types.txt
>
> All the types are expanded, makes a pretty big picture :-)
>

And looking at it I saw I have Ingo's timer debugging option enabled,
which makes struct timer_list a bit bigger:

struct timer_list {
        struct list_head {
                struct list_head * next;           /*     0     4 */
                struct list_head * prev;           /*     4     4 */
        } entry;                                   /*     0     8 */
        long unsigned int expires;                 /*     8     4 */
        void       (*function)(long unsigned int); /*    12     4 */
        long unsigned int data;                    /*    16     4 */
        struct tvec_t_base_s * base;               /*    20     4 */

        void *     start_site;                     /*    24     4 */
        char       start_comm[16];                 /*    28    16 */
        int        start_pid;                      /*    44     4 */
} icsk_delack_timer; /*   668    48 */

The three last members are related to debugging, so discount 24 bytes
times 3, as there are tree struct timer_list inside struct tcp_sock.

- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists