Rafael Vanoni wrote:
Hi everyone

I'm using page_get_{free,cache}list() to get pages from specific lgroups, during boot - after lgrp_plat_probe() on main().

But I don't fully understand the implications of using those calls outside page_create_va(). I've read it, but it's not an easy one to interpret.

What am I missing by not working with page_create_va() in terms of properly allocating a page, and what should I do after getting one from page_get_{free,cache}list() ?

I suspect page_get_{free,cache}list() should really be static?
Anyway, page_create_va calls these:


# dtrace -n page_get_freelist:entry'[EMAIL PROTECTED]()] = count()}'
dtrace: description 'page_get_freelist:entry' matched 1 probe
^C


              unix`page_create_va+0x2bd
              genunix`swap_getapage+0xc1
              genunix`swap_getpage+0x99
              genunix`fop_getpage+0x96
              genunix`segkp_get_internal+0x419
              genunix`segkp_get_withanonmap+0x38
              genunix`schedctl_getpage+0x4b
              genunix`schedctl_shared_alloc+0x7c
              genunix`schedctl+0x34
              unix`sys_syscall+0x17b
                1

              unix`page_create_va+0x2bd
              unix`segkmem_page_create+0x89
              unix`segkmem_xalloc+0xbc
              unix`segkmem_alloc_vn+0xcd
              unix`segkmem_alloc+0x20
              genunix`vmem_xalloc+0x4fc
              genunix`vmem_alloc+0x159
              genunix`kmem_slab_create+0x7d
              genunix`kmem_slab_alloc+0x60
              genunix`kmem_cache_alloc+0x137
              genunix`anon_alloc+0x2c
              genunix`anon_zero+0x70
              genunix`segvn_faultpage+0x2a7
              genunix`segvn_fault+0xaf1
              genunix`as_fault+0x5ae
              unix`pagefault+0x95
              unix`trap+0xbcb
              unix`0xfffffffffb8001d9
                2

              unix`page_create_va+0x2bd
              unix`page_get_physical+0x7c
              unix`ptable_alloc+0x94
              unix`htable_alloc+0x1be
              unix`htable_create+0x1a7
              unix`hati_load_common+0x9e
              unix`hat_memload+0x81
              genunix`segvn_faultpage+0x43a
              genunix`segvn_fault+0xaf1
              genunix`as_fault+0x5ae
              unix`pagefault+0x95
              unix`trap+0xbcb
              unix`0xfffffffffb8001d9
                2

              unix`page_create_va+0x2bd
              genunix`swap_getapage+0xc1
              genunix`swap_getpage+0x99
              genunix`fop_getpage+0x96
              genunix`anon_zero+0x9c
              genunix`segvn_faultpage+0x2a7
              genunix`segvn_fault+0xaf1
              genunix`as_fault+0x5ae
              unix`pagefault+0x95
              unix`trap+0x127e
              unix`0xfffffffffb8001d9
              unix`kcopy+0x2c
              genunix`uiomove+0xe5
              genunix`struiocopyout+0x52
              genunix`strread+0x37c
              fifofs`fifo_read+0x25f
              genunix`fop_read+0x69
              namefs`nm_read+0x2c
              genunix`fop_read+0x69
              genunix`readv+0x2c5
                7

              unix`page_create_va+0x2bd
              unix`segkmem_page_create+0x89
              unix`segkmem_xalloc+0xbc
              unix`segkmem_alloc_vn+0xcd
              unix`segkmem_alloc+0x20
              genunix`vmem_xalloc+0x4fc
              genunix`vmem_alloc+0x159
              genunix`kmem_alloc+0x4f
              genunix`kmem_zalloc+0x37
              kstat`read_kstat_data+0x177
              kstat`kstat_ioctl+0x4a
              genunix`cdev_ioctl+0x48
              specfs`spec_ioctl+0x86
              genunix`fop_ioctl+0x6e
              genunix`ioctl+0x16b
              unix`sys_syscall32+0x101
               47

              unix`page_create_va+0x2bd
              genunix`swap_getapage+0xc1
              genunix`swap_getpage+0x99
              genunix`fop_getpage+0x96
              genunix`anon_zero+0x9c
              genunix`segvn_faultpage+0x2a7
              genunix`segvn_fault+0xaf1
              genunix`as_fault+0x5ae
              unix`pagefault+0x95
              unix`trap+0xbcb
              unix`0xfffffffffb8001d9
              116

Gavin

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to