kernel pages superpage promotion/demotion
Alan Cox
alc at rice.edu
Tue Oct 13 00:02:54 UTC 2015
On 10/12/2015 18:39, suresh gumpula wrote:
> Thanks a lot for quick reply Alan.
> The super page promotion/demotion of kernel allocations is done in
> 9.1 also I assume . Please confirm.
>
Yes.
> Regarding write protection, I am trying to chase a corruption of uma
> zone allocation, so I was looking at pmap_protect(9).
> And thinking of using something like pmap_protect(kernel_pmap, sva ,
> eva, VMPROT_READ); to write protect sva to eva of a zone allocation
> return address.
> So can pmap_protect(9) be used for this purpose ?
>
Yes. However, you can't reenable write access, or in general upgrade
access, with pmap_protect(). You'll need to use pmap_kextract(),
PHYS_TO_VM_PAGE(), and pmap_enter() to recreate the mapping with write
access.
>
>
>
> On Mon, Oct 12, 2015 at 6:43 PM, Alan Cox <alan.l.cox at gmail.com
> <mailto:alan.l.cox at gmail.com>> wrote:
>
>
>
> On Mon, Oct 12, 2015 at 3:11 PM, suresh gumpula
> <gsuryacse7k at gmail.com <mailto:gsuryacse7k at gmail.com>> wrote:
>
> Hi,
> I understand that user space VM map pages dynamically
> promoted/demoted to super page
> if the kernel thinks that it gains the performance.
> The question is , does this apply to kernel map pages
> too ?
>
>
>
> Yes, it applies to memory allocated for UMA zones, malloc(9), and
> contigmalloc(9).
>
>
>
> And is it possible to write protect kernel address space VA with
> pmap_protect(9). Since the protection is per 4k page, I
> see this
> routine tries to demote to 4k page.
> Or this is only for user space maps to support mprotect(2)
> and gdb
> watchpoints.
> Do we have any other API to write protect kernel addresses
> which come from
> UMA zone allocations ?
>
>
>
> No.
>
> Can you please try to describe what are you trying to do at a
> higher level?
>
>
More information about the freebsd-hackers
mailing list