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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1325793874.29084.25.camel@dagon.hellion.org.uk>
Date:	Thu, 5 Jan 2012 20:04:34 +0000
From:	Ian Campbell <Ian.Campbell@...rix.com>
To:	David Miller <davem@...emloft.net>
CC:	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	"eric.dumazet@...il.com" <eric.dumazet@...il.com>,
	"kuznet@....inr.ac.ru" <kuznet@....inr.ac.ru>,
	"pekkas@...core.fi" <pekkas@...core.fi>,
	"jmorris@...ei.org" <jmorris@...ei.org>,
	"yoshfuji@...ux-ipv6.org" <yoshfuji@...ux-ipv6.org>,
	"kaber@...sh.net" <kaber@...sh.net>,
	"Trond.Myklebust@...app.com" <Trond.Myklebust@...app.com>,
	"gregkh@...e.de" <gregkh@...e.de>,
	"drbd-user@...ts.linbit.com" <drbd-user@...ts.linbit.com>,
	"devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
	"cluster-devel@...hat.com" <cluster-devel@...hat.com>,
	"ocfs2-devel@....oracle.com" <ocfs2-devel@....oracle.com>,
	"ceph-devel@...r.kernel.org" <ceph-devel@...r.kernel.org>,
	"rds-devel@....oracle.com" <rds-devel@....oracle.com>,
	"linux-nfs@...r.kernel.org" <linux-nfs@...r.kernel.org>
Subject: Re: [PATCH 5/6] net: add paged frag destructor support to
 kernel_sendpage.

On Thu, 2012-01-05 at 19:15 +0000, David Miller wrote:
> From: Ian Campbell <ian.campbell@...rix.com>
> Date: Thu, 5 Jan 2012 17:13:43 +0000
> 
> > -static ssize_t do_tcp_sendpages(struct sock *sk, struct page **pages, int poffset,
> > +static ssize_t do_tcp_sendpages(struct sock *sk,
> > +				struct page **pages,
> > +				struct skb_frag_destructor **destructors,
> > +				int poffset,
> >  			 size_t psize, int flags)
> >  {
> >  	struct tcp_sock *tp = tcp_sk(sk);
> 
> An array of destructors is madness, and the one call site that specifies this
> passes an address of a single entry.

I figured it was easy enough to accommodate the multiple destructor case
but you are right that is overkill given the current (and realistically,
expected) usage, I'll change that for the next round.

(that's assuming we don't end up with some scheme where the struct page
* is in the destructor struct like I was investigating previously to
alleviate the frag size overhead. I guess this illustrates nicely why
that approach got ugly: these array propagate all the way up the call
chain if you do that)

> This also would never even have to occur if you put the destructor inside of
> struct page instead.
> 
> Finally, except for the skb_shared_info() layout optimization in patch #1 which
> I alreayd applied, this stuff is not baked enough for the 3.3 merge window.

Sure thing, I should have made it clear in my intro mail that I was
aiming for 3.4.

Thanks,
Ian

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ