From: Andrea Arcangeli <andrea@suse.de>
To: Stephen Hemminger <shemminger@osdl.org>
Cc: Linus Torvalds <torvalds@transmeta.com>,
george anzinger <george@mvista.com>,
john stultz <johnstul@us.ibm.com>,
Michael Hohnbaum <hbaum@us.ibm.com>,
"Martin J. Bligh" <mbligh@aracnet.com>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: [RFC][PATCH] linux-2.5.34_vsyscall_A0
Date: Fri, 18 Oct 2002 20:51:32 +0200 [thread overview]
Message-ID: <20021018185132.GW23930@dualathlon.random> (raw)
In-Reply-To: <1034966240.5851.20.camel@dell_ss3.pdx.osdl.net>
On Fri, Oct 18, 2002 at 11:37:19AM -0700, Stephen Hemminger wrote:
>
> > agreed. Hear my idea:
> >
> > actually my idea on 64bit was to use the high 8 bit of each 64bit word to
> > give you the cpuid, to get out the coherent data, including the sequence
> > number that are read and written inversely with mb() like now (the
> > sequence number as well will become per-cpu), so it is definitely doable
> > without any single problem and in a very performant way, just not as
> > easy as without the per-cpu info. Even if segmentation per-cpu tricks
> > would be possible or available (remeber long mode is pure paging, no
> > segmentation) it would be not worthwhile IMHO, the cpuid encoded
> > atomically in each 64bit data provided by the vsyscall seems a much
> > simpler and possibly more performant solution. You set a different
> > per-cpu data-mapping with different pte settings in each cpu. The
> > vsyscall bytecode remains the same, aware about this cpuid encoded in
> > each 64bit word. Doing it in 32bit is ugly (or at least much slower)
> > since most data is natively at least 32bit, it would need some slow
> > demultiplexing.
>
> At least on IA32 you could still use XCHG64 to atomically access the
> values, but that always forces a write so it isn't cache friendly. Still
yep, it would hurt scalability if possible at all, and I doubt the
chpxchg64 could work on a readonly piece of memory, the pte is marked
writeprotect, so it should generate a sigsegv.
> it probably is better than encoding the data in 32bit. It all depends
yes.
> on how much data is needed.
>
Andrea
next prev parent reply other threads:[~2002-10-18 18:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-18 4:25 [RFC][PATCH] linux-2.5.34_vsyscall_A0 john stultz
2002-10-18 4:26 ` [RFC] linux-2.5.34_vsyscall_A0 - Test App john stultz
2002-10-18 11:14 ` [RFC][PATCH] linux-2.5.34_vsyscall_A0 Andrea Arcangeli
2002-10-18 16:13 ` Stephen Hemminger
2002-10-18 16:45 ` george anzinger
2002-10-18 17:11 ` Andrea Arcangeli
2002-10-18 17:19 ` Linus Torvalds
2002-10-18 17:21 ` Andrea Arcangeli
2002-10-18 18:37 ` Stephen Hemminger
2002-10-18 18:51 ` Andrea Arcangeli [this message]
2002-10-18 19:30 ` george anzinger
2002-10-18 17:01 ` Andrea Arcangeli
2002-10-21 13:18 ` Alan Cox
2002-10-21 17:15 ` john stultz
2002-10-18 16:39 ` john stultz
2002-10-18 18:54 ` [RFC] vsyscall_A0 LD_PRELOAD implementation john stultz
2002-10-21 22:44 ` [RFC][PATCH] linux-2.5.34_vsyscall_A0 Stephen Hemminger
-- strict thread matches above, loose matches on Subject: below --
2002-10-18 18:21 Manfred Spraul
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=20021018185132.GW23930@dualathlon.random \
--to=andrea@suse.de \
--cc=george@mvista.com \
--cc=hbaum@us.ibm.com \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.com \
--cc=shemminger@osdl.org \
--cc=torvalds@transmeta.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.