From: Paulo Marques <pmarques@grupopie.com>
To: Miguel Ojeda <maxextreme@gmail.com>
Cc: Franck <vagabon.xyz@gmail.com>,
akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2.6.19-rc1 full] drivers: add LCD support
Date: Mon, 30 Oct 2006 20:45:25 +0000 [thread overview]
Message-ID: <45466465.3000007@grupopie.com> (raw)
In-Reply-To: <653402b90610300932r3c96445bxb8e5d34f8f768ec4@mail.gmail.com>
Miguel Ojeda wrote:
>[...]
> Yes, I get the idea, you mean to "unmap" the page but don't remove the
> vma so a page fault is raised and nopage() op must be called again.
> May it decrease performance? (Linux /you must take care of a page
> fault calling nopage() each time you write/refresh the LCD, then
> actually use it).
Well, it's a trade-off: you pay a little extra when you write to the
display, but you pay _zero_ when you leave the display alone. And this
zero is an important concept for some applications like dynticks.
If you want to achieve deep sleep states on a laptop you might want to
be able to let it sleep for extended periods. Having a thread that wakes
up every 50 ms even when there is nothing to do is not so good in this
situation.
If your refresh rate is 20Hz you pay *at most* 20 minor faults per
second if the application is writing a lot to the display. That doesn't
sound so bad.
Even more, the application still as the option of using seek/write
instead of using mmap to avoid the page faults, but if you're writing a
lot, it might be better to take just one page fault and then write at
full speed than to pay the price of a seek/write every time.
I didn't include the locking in the description, though. If you're going
this way, you need to make sure that some of this operations are atomic
so that you don't mark the display as clean just as the userspace app is
dirtying it, leaving the physical display inconsistent until the next
refresh.
--
Paulo Marques - www.grupopie.com
"The face of a child can say it all, especially the
mouth part of the face."
next prev parent reply other threads:[~2006-10-30 20:45 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-13 2:32 [PATCH 2.6.19-rc1 full] drivers: add LCD support Miguel Ojeda Sandonis
2006-10-13 12:43 ` Paulo Marques
2006-10-18 14:55 ` Franck Bui-Huu
2006-10-23 8:41 ` Franck Bui-Huu
2006-10-23 12:56 ` Miguel Ojeda
2006-10-23 15:35 ` Franck Bui-Huu
2006-10-23 16:21 ` Miguel Ojeda
2006-10-23 16:51 ` Franck Bui-Huu
2006-10-26 14:45 ` Miguel Ojeda
2006-10-27 20:08 ` Franck Bui-Huu
2006-10-27 20:38 ` Miguel Ojeda
2006-10-30 8:43 ` Franck Bui-Huu
2006-10-30 13:35 ` Miguel Ojeda
2006-10-23 16:05 ` Franck Bui-Huu
2006-10-23 16:08 ` Miguel Ojeda
2006-10-23 17:15 ` Franck Bui-Huu
2006-10-26 14:55 ` Miguel Ojeda
2006-10-27 20:03 ` Franck Bui-Huu
2006-10-27 20:25 ` Miguel Ojeda
2006-10-30 9:26 ` Franck Bui-Huu
2006-10-30 13:22 ` Paulo Marques
2006-10-30 14:11 ` Miguel Ojeda
2006-10-30 15:21 ` Paulo Marques
2006-10-30 17:32 ` Miguel Ojeda
2006-10-30 20:45 ` Paulo Marques [this message]
2006-10-31 8:10 ` Franck Bui-Huu
2006-10-31 14:12 ` Miguel Ojeda
2006-10-31 14:54 ` Paulo Marques
2006-10-30 13:47 ` Miguel Ojeda
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=45466465.3000007@grupopie.com \
--to=pmarques@grupopie.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maxextreme@gmail.com \
--cc=vagabon.xyz@gmail.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