kernel: reduce log message spam during boot

This commit is contained in:
2023-04-09 17:14:19 +01:00
parent eb998860a5
commit b1b16ba19c
8 changed files with 16 additions and 30 deletions

View File

@@ -17,7 +17,6 @@ kern_status_t vm_bootstrap(const vm_zone_descriptor_t *zones, size_t nr_zones)
/* we're only worrying about UMA systems for now */
node_data = memblock_alloc(sizeof(vm_pg_data_t) * numa_count, 8);
printk("vm: initialising %u node%s", numa_count, numa_count > 1 ? "s" : "");
/* TODO select which memory model to use automatically, and add
a kernel boot parameter to override the choice */

View File

@@ -2,7 +2,6 @@
#include <socks/memblock.h>
#include <socks/vm.h>
#include <socks/util.h>
#include <socks/printk.h>
#include <socks/libc/string.h>
#define SIZE_N_CACHE(s) \
@@ -39,7 +38,6 @@ void kmalloc_init(void)
}
kmalloc_initialised = 1;
printk("vm: kmalloc size-N caches online");
}
void *kmalloc(size_t count, vm_flags_t flags)

View File

@@ -44,7 +44,7 @@ static vm_sector_t *phys_addr_to_sector_and_index(phys_addr_t addr, size_t *sect
if (sector_id) {
*sector_id = sector;
}
if (index) {
*index = addr;
}
@@ -58,7 +58,7 @@ static vm_page_t *get_or_create_page(phys_addr_t addr)
phys_addr_to_sector_and_index(addr, &sector_number, &page_number);
vm_sector_t *sector = &sector_array[sector_number];
if (!sector->s_pages) {
size_t nr_pages = vm_page_order_to_pages(sector->s_size);
sector->s_pages = kzalloc(nr_pages * sizeof(vm_page_t), 0);
@@ -146,8 +146,6 @@ static void calculate_sector_size_and_count(size_t pmem_size, size_t reserved_si
void vm_sparse_init(void)
{
printk("vm: using sparse memory model");
size_t pmem_size = 0, reserved_size = 0;
memblock_iter_t it;
@@ -186,7 +184,7 @@ void vm_sparse_init(void)
it.it_base &= ~VM_PAGE_MASK;
it.it_base += VM_PAGE_SIZE;
}
for (uintptr_t i = it.it_base; i < it.it_limit; i += VM_PAGE_SIZE) {
vm_page_t *pg = get_or_create_page(i);
pg->p_flags = 0;
@@ -198,7 +196,7 @@ void vm_sparse_init(void)
it.it_base &= ~VM_PAGE_MASK;
it.it_base += VM_PAGE_SIZE;
}
for (uintptr_t i = it.it_base; i < it.it_limit; i += VM_PAGE_SIZE) {
vm_page_t *pg = vm_page_get(i);
@@ -213,7 +211,7 @@ void vm_sparse_init(void)
}
}
printk("vm: initialised %zu sectors of size %s", nr_sectors, sector_size_str);
printk("vm: [sparse] initialised %zu sectors of size %s", nr_sectors, sector_size_str);
}
vm_page_t *vm_page_get_sparse(phys_addr_t addr)
@@ -225,7 +223,7 @@ vm_page_t *vm_page_get_sparse(phys_addr_t addr)
}
vm_sector_t *sector = &sector_array[sector_number];
if (!sector->s_pages || page_number >= vm_page_order_to_pages(sector->s_size)) {
return NULL;
}

View File

@@ -58,7 +58,7 @@ static void convert_region_to_blocks(vm_zone_t *zone,
order--;
continue;
}
phys_addr_t block_limit = base + (order_frames * VM_PAGE_SIZE) - 1;
vm_page_t *block_page = group_pages_into_block(zone, base, block_limit, order);
@@ -159,7 +159,7 @@ void vm_zone_init(vm_zone_t *z, const vm_zone_descriptor_t *zone_info)
char free_bytes_str[64];
data_size_to_string(free_bytes, free_bytes_str, sizeof free_bytes_str);
printk("vm: node %u/zone %s: %s of memory online.", z->z_info.zd_node, z->z_info.zd_name, free_bytes_str);
printk("vm: zone %u/%s: %s of memory online.", z->z_info.zd_node, z->z_info.zd_name, free_bytes_str);
}
static int replenish_free_page_list(vm_zone_t *z, vm_page_order_t order)
@@ -168,12 +168,12 @@ static int replenish_free_page_list(vm_zone_t *z, vm_page_order_t order)
/* we already have pages available. */
return 0;
}
if (order == VM_PAGE_MAX_ORDER) {
/* there are no larger pages to split, so just give up. */
return -1;
}
/* the lowest page order that is >= `order` and still has pages available */
vm_page_order_t first_order_with_free = VM_MAX_PAGE_ORDERS;
@@ -221,7 +221,7 @@ vm_page_t *vm_zone_alloc_page(vm_zone_t *z, vm_page_order_t order, vm_flags_t fl
spin_unlock_irqrestore(&z->z_lock, irq_flags);
return NULL;
}
queue_entry_t *pg_entry = queue_pop_front(&z->z_free_pages[order]);
vm_page_t *pg = QUEUE_CONTAINER(vm_page_t, p_list, pg_entry);
vm_page_foreach (pg, i) {