linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Chris Friesen <cfriesen@nortel.com>
To: Arjan van de Ven <arjan@infradead.org>
Cc: linuxppc-dev@ozlabs.org, Linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: question on symbol exports
Date: Tue, 01 Feb 2005 11:00:43 -0600	[thread overview]
Message-ID: <41FFB5BB.2070400@nortelnetworks.com> (raw)
In-Reply-To: <1107273017.4208.132.camel@laptopd505.fenrus.org>

Arjan van de Ven wrote:
> On Tue, 2005-02-01 at 09:37 -0600, Chris Friesen wrote:

>>I've got a module that I'm porting forward from 2.4.  The basic idea is 
>>that we want to be able to track pages dirtied by an application.  The 
>>system has no swap, so we use the dirty bit to get this information.  On 
>>demand we walk the page tables belonging to the process, store the 
>>addresses of any dirty ones, flush the tlb, and mark them clean.
> 
> 
> afaik one doesn't need to do a tlb flush in code that clears the dirty
> bit, as long as you use the proper vm functions to do so. 
> (if those need a tlb flush, those are supposed to do that for you
> afaik).

I've been in contact with one of the developers of the code.  The reason 
we flush the tlb is so that on the next write the cpu has to fault it in 
and set the dirty bit.  Does that make sense?  I should try 
experimenting.....

> Also note that your code isn't dealing with 4 level pagetables.... 

2.6.9 doesn't have 4 level pagetables.  We'll have to port it forward 
when we eventually upgrade.

 > And
> pagetable walking in drivers is basically almost always a mistake and a
> sign that something is wrong.

I'd rather not be doing it, but there's no nice generic va_to_pte() 
function.  There have been patches, and ppc has one, but as a whole I 
don't know of any nice way to do this.

Chris

  reply	other threads:[~2005-02-01 17:01 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-01  0:15 question on symbol exports Chris Friesen
2005-02-01  7:36 ` Arjan van de Ven
2005-02-01 15:37   ` Chris Friesen
2005-02-01 15:50     ` Arjan van de Ven
2005-02-01 17:00       ` Chris Friesen [this message]
     [not found]       ` <20050204203050.GA5889@dmt.cnet>
2005-02-04 20:14         ` Chris Friesen
2005-02-05  9:19           ` Benjamin Herrenschmidt
2005-02-07 14:44             ` Chris Friesen
2005-02-07 21:35               ` Benjamin Herrenschmidt
2005-02-07 23:02                 ` Chris Friesen
2005-02-07 23:42                 ` Dan Malek
2005-02-08 15:36                   ` Chris Friesen

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=41FFB5BB.2070400@nortelnetworks.com \
    --to=cfriesen@nortel.com \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.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;
as well as URLs for NNTP newsgroup(s).