linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Marcus Sundberg <erammsu@kieray1.p.y.ki.era.ericsson.se>
To: linux-mm@kvack.org
Cc: James Simmons <jsimmons@edgeglobal.com>
Subject: Re: mm->mmap_sem
Date: Mon, 27 Sep 1999 10:55:27 +0200	[thread overview]
Message-ID: <37EF30FF.456EBA6B@kieray1.p.y.ki.era.ericsson.se> (raw)
In-Reply-To: <Pine.LNX.4.10.9909252050590.25425-100000@imperial.edgeglobal.com>

James Simmons wrote:
> To be exactly I'm trying to do cooperative locking between a mmaping of
> the accel region of /dev/gfx and the framebuffer region of /dev/fb. I
> notice that after mmapping the kernel can no long control access to the
> memory regions. So I need to block any process from accessing the
> framebuffer while the accel engine is running. Since many low end cards
> lock if you access the framebuffer and accel engine at the same time.

No, you are trying to do _mandatory_ locking enforced by the kernel.
For cooperative locking on sane GFX hardware a userspace spinlock is
indeed all that is required, but for the broken hardware you are talking
about kernel locking would be required.

This means that when the accel engine is initiated you must unmap all
pages of the framebuffer (8k pages on modern cards), install a no-page
handler and flush the TLBs of all processors. If accel commands are
batched, applications do accesses in an intelligent way, and the
framebuffer is only re-mapped when it is actually accessed you might
get usable performance.

Still, I'm not sure it's worth the trouble. Personally I'd rather buy
decent hardware or only run trusted applications than take this 
performance hit.

//Marcus
-- 
-------------------------------+------------------------------------
        Marcus Sundberg        | http://www.stacken.kth.se/~mackan/
 Royal Institute of Technology |       Phone: +46 707 295404
       Stockholm, Sweden       |   E-Mail: mackan@stacken.kth.se
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/

  parent reply	other threads:[~1999-09-27  8:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-22 21:02 mm->mmap_sem James Simmons
1999-09-24  0:07 ` mm->mmap_sem Stephen C. Tweedie
1999-09-24 14:59   ` mm->mmap_sem James Simmons
1999-09-24 18:09     ` mm->mmap_sem Stephen C. Tweedie
1999-09-25  1:24       ` mm->mmap_sem James Simmons
1999-09-25 14:55         ` mm->mmap_sem Andrea Arcangeli
1999-09-25 16:50           ` mm->mmap_sem James Simmons
1999-09-25 17:06             ` mm->mmap_sem Andrea Arcangeli
1999-09-26  1:19               ` mm->mmap_sem James Simmons
1999-09-26 14:07                 ` mm->mmap_sem Andrea Arcangeli
1999-09-27  8:55                 ` Marcus Sundberg [this message]
1999-09-27 19:31                   ` mm->mmap_sem James Simmons
1999-09-29 23:00                     ` mm->mmap_sem Stephen C. Tweedie
1999-09-30  0:17                       ` mm->mmap_sem James Simmons
1999-09-30  0:23                         ` mm->mmap_sem Benjamin C.R. LaHaise
1999-09-30 14:59                           ` mm->mmap_sem James Simmons
1999-09-30 15:15                             ` mm->mmap_sem Benjamin C.R. LaHaise
1999-09-30 16:05                               ` mm->mmap_sem James Simmons
1999-09-30 14:54                         ` mm->mmap_sem Stephen C. Tweedie
1999-09-27 14:16                 ` mm->mmap_sem Stephen C. Tweedie
1999-09-27 20:22                   ` mm->mmap_sem James Simmons
1999-09-27 14:13             ` mm->mmap_sem Stephen C. Tweedie
1999-09-27  8:08     ` mm->mmap_sem Neil Conway

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=37EF30FF.456EBA6B@kieray1.p.y.ki.era.ericsson.se \
    --to=erammsu@kieray1.p.y.ki.era.ericsson.se \
    --cc=jsimmons@edgeglobal.com \
    --cc=linux-mm@kvack.org \
    /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