From: Hubertus Franke <frankeh@watson.ibm.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: torvalds@transmeta.com, matthew@hairy.beasts.org,
bcrl@redhat.com, david@mysql.com, wli@holomorphy.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Lightweight userspace semaphores...
Date: Wed, 27 Feb 2002 11:29:03 -0500 [thread overview]
Message-ID: <20020227112903.A1264@elinux01.watson.ibm.com> (raw)
In-Reply-To: <E16eT9h-0000kE-00@wagner.rustcorp.com.au> <20020225100025.A1163@elinux01.watson.ibm.com> <20020227112417.3a302d31.rusty@rustcorp.com.au>
In-Reply-To: <20020227112417.3a302d31.rusty@rustcorp.com.au>; from rusty@rustcorp.com.au on Wed, Feb 27, 2002 at 11:24:17AM +1100
On Wed, Feb 27, 2002 at 11:24:17AM +1100, Rusty Russell wrote:
> On Mon, 25 Feb 2002 10:00:25 -0500
> Hubertus Franke <frankeh@watson.ibm.com> wrote:
>
> > Rusty, since I supplied one of those packages available under lse.sourceforge.net
> > let me make some comments.
> >
> > (a) why do you need to pin. I simply use the user level address (vaddr)
> > and hash with the <mm,vaddr> to obtain the internal object.
> > This also gives me full protection through the general vmm mechanisms.
>
> I pin while sleeping for convenience, so I can get a kernel address. It's
> only one page (maybe 2). I could look up the address every time, but then I
> need to swap the page back in anyway to look at it.
Lookup is cheap. I integrated a <hit meter> into my hashing mechanism
that reports the hits/misses and the average length of traversal down
a hash chain, it's insignificant for the cases I tried, but again
no big progam has be tried against any of these approaches.
I (think) I now also see the merit of your approach, in that you really don't
need to allocate a kernel object. You actually allocate the object
right into the shared user page and pin it down. Your argument is that
you only need to pin while somebody is sleeping on the lock.
Is that correct? Very tricky.
Let me also point out some shortcomings of this. If indeed there is a
shared page between user and kernel then how does the system react to
buggy userlevel code, e.g wild write that corrupt the wait queue.
In my explicite kernel object approach, I won't have this problem.
I hope I am not missing something here.
-- Hubertus
next prev parent reply other threads:[~2002-02-27 16:29 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-23 3:47 Rusty Russell
2002-02-23 15:03 ` Ingo Molnar
2002-02-23 18:20 ` Linus Torvalds
2002-02-23 18:28 ` Larry McVoy
2002-02-23 20:31 ` Ingo Molnar
2002-02-23 21:22 ` Alan Cox
2002-02-26 16:09 ` Hubertus Franke
2002-02-24 23:29 ` Rusty Russell
2002-02-24 23:48 ` Linus Torvalds
2002-02-25 1:10 ` Rusty Russell
2002-02-25 1:23 ` Linus Torvalds
2002-02-25 13:14 ` Alan Cox
2002-02-25 16:11 ` Linus Torvalds
2002-02-25 16:39 ` Alan Cox
2002-02-25 16:32 ` Benjamin LaHaise
2002-02-25 17:42 ` Alan Cox
2002-02-25 18:23 ` Hubertus Franke
2002-02-25 20:57 ` Hubertus Franke
2002-02-25 17:06 ` Linus Torvalds
2002-02-25 17:31 ` Alan Cox
2002-02-25 17:20 ` Linus Torvalds
2002-02-25 17:50 ` Alan Cox
2002-02-25 17:44 ` Linus Torvalds
2002-02-25 18:06 ` Alan Cox
2002-02-25 19:31 ` Linus Torvalds
2002-02-24 4:57 ` Daniel Phillips
2002-02-25 19:51 ` Hubertus Franke
2002-02-26 12:15 ` [PATCH] 2.5.5 IDE clean 14 Martin Dalecki
2002-02-26 21:49 ` Keith Owens
2002-02-27 10:08 ` Martin Dalecki
2002-03-03 7:07 ` [PATCH] Lightweight userspace semaphores Rusty Russell
2002-03-01 4:56 ` Eric W. Biederman
2002-03-02 14:54 ` Pavel Machek
2002-02-25 15:00 ` Hubertus Franke
2002-03-01 4:44 ` Eric W. Biederman
2002-02-27 0:24 ` Rusty Russell
2002-02-27 15:53 ` Hubertus Franke
2002-03-01 0:24 ` Richard Henderson
2002-03-01 2:00 ` Hubertus Franke
2002-02-27 16:29 ` Hubertus Franke [this message]
2002-03-02 14:50 ` Hubertus Franke
2002-03-03 13:30 ` Rusty Russell
2002-03-04 16:51 ` Hubertus Franke
2002-03-05 4:41 ` Rusty Russell
2002-02-27 8:43 [PATCH] Lightweight userspace semphores Martin Wirth
2002-02-27 15:24 ` Hubertus Franke
2002-02-27 17:17 ` Martin Wirth
2002-02-27 19:04 ` Hubertus Franke
[not found] ` <3C7FDF76.9040903@dlr.de>
2002-03-02 14:08 ` [PATCH] Lightweight userspace semaphores Hubertus Franke
[not found] <20020227163834.GF322@reload.nmd.msu.ru>
2002-02-27 16:58 ` Hubertus Franke
[not found] ` <20020227173307.GH322@reload.nmd.msu.ru>
2002-02-27 22:09 ` Hubertus Franke
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=20020227112903.A1264@elinux01.watson.ibm.com \
--to=frankeh@watson.ibm.com \
--cc=bcrl@redhat.com \
--cc=david@mysql.com \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@hairy.beasts.org \
--cc=rusty@rustcorp.com.au \
--cc=torvalds@transmeta.com \
--cc=wli@holomorphy.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®