Re: question on symbol exports

Benjamin Herrenschmidt
2005-02-07T21:36:52Z

On Mon, 2005-02-07 at 08:44 -0600, Chris Friesen wrote:
> Benjamin Herrenschmidt wrote:
> >>It turns out that to call ptep_clear_flush_dirty() on ppc64 from a
> >>module I needed to export the following symbols:
> >>
> >>__flush_tlb_pending
> >>ppc64_tlb_batch
> >>hpte_update
> >
> >
> > Any reason why you need to call that from a module ? Is the module
> > GPL'd ?
>
> I explained this at the beginning of the thread, but I'll do so again.
> The module will be released under the GPL.
>
> The basic idea is that we want to be able to track pages dirtied by a
> userspace process. The system has no swap, so we use the dirty bit for
> this. On demand we look up the page tables for an address range
> specified by the caller, store the addresses of any dirty pages, then
> mark them clean so that the next write causes them to get marked dirty
> again. It is this act of marking them clean that requires the
> additional exports.
>
> I've included the current code below. If there is any way to accomplish
> this without the additional exports, I'd love to hear about it.

Interesting... more than no swap, you must also make sure you have no
r/w mmap'ed file (which are technically equivalent to swap).

I'm not too fan about exporting those symbols, but I'll talk to paulus,
it should be possible at least to EXPORT_SYMBOL_GPL them...

Ben.