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: <20131016210319.GI10651@twins.programming.kicks-ass.net>
Date:	Wed, 16 Oct 2013 23:03:19 +0200
From:	Peter Zijlstra <peterz@...radead.org>
To:	Andi Kleen <ak@...ux.intel.com>
Cc:	Don Zickus <dzickus@...hat.com>, dave.hansen@...ux.intel.com,
	eranian@...gle.com, jmario@...hat.com,
	linux-kernel@...r.kernel.org, acme@...radead.org, mingo@...nel.org
Subject: Re: [PATCH] perf, x86: Optimize intel_pmu_pebs_fixup_ip()

On Wed, Oct 16, 2013 at 01:52:27PM -0700, Andi Kleen wrote:
> > So avoid having to call copy_from_user_nmi() for every instruction.
> > Since we already limit the max basic block size, we can easily
> > pre-allocate a piece of memory to copy the entire thing into in one
> > go.
> 
> It would be better/more generic if you split copy_from_user_nmi() into
> init() copy() end() 
> 
> (and some state that checks if the underlying page changes)
> 
> Then first you don't need the buffer and it could be also
> be applied to the other cases, like the stack unwinding,
> where copying everything is likely too slow.

You'd need to make an iterator interface because of the kmap_atomic crap
needed for 32bit.

But yes, something like that might work, it shouldn't be that hard to
cobble on top of that GUP patch I send out the other day.

The only real nasty part is where an instruction straddles a page
boundary, in that case the iterator stuff fails to be fully transparant
and you need a temp copy of sorts.

Anyway; if you want to have a go at this, feel free.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ