tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: uvm vm_physseg trimming



>>>>> "tsutsui" == Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost> writes:

    tsutsui> cherry@ wrote:
    >> Please find below a patch to remove .avail_(start|end) from
    >> struct vm_physseg

    tsutsui> What's advantage of these changes?

    tsutsui> Changing MD APIs could often cause botches on poor tierII
    tsutsui> ports..

On cursory glance, I can't seem to find a port that uses the
avail_start/avail_end members in the way intended by uvm. Instead they
seem to redundantly adjust both .start & .avail_start (mostly wrt
pmap_steal_memory(9) ).

I'm implementing an API to dynamically add and remove physical memory
segments at page granularity. Simplifying the api will make things
easier. It's not absolutely essential, but "nice to have".


    >> I couldn't find a reason for them to be used redundantly, but I
    >> may be wrong. Are there port specific uses for these ?

    tsutsui> It looks: - start and end are intended to represent
    tsutsui> "existing" memory regions - avail_start and avail_end
    tsutsui> represent free memory regions (to be used by vm) but most
    tsutsui> MD code didn't pass the former ones.

Yes, this is what I noticed, and thus the patch.

I'd be keen to hear from ports that are affected by this patch.

Many Thanks (and Survive the New Year! [1])
-- 
Cherry

[1] http://explosm.net/comics/2281


Home | Main Index | Thread Index | Old Index