|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] Adjust non-default sized console ring all
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1251708665 -3600
# Node ID bff9f3e5ad940845a02702558129e5db815f1fd5
# Parent eae7b5ee789738528dac5c309aabd6e316005e0f
Adjust non-default sized console ring allocation
Using xmalloc() for objects that are guaranteed to be at least as
large as a page is wasteful, as it will always result in more (here:
double the amount) being allocated.
The other adjustments are more cosmetic:
- Updating conring and conring_size can be done so NMI/MCE generated
messages don't use the new (larger) size with the old (smaller)
buffer.
- The size printed can be in KiB (for the value to be easier to grasp)
since it is always a multiple of the default of 16KiB.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
xen/drivers/char/console.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff -r eae7b5ee7897 -r bff9f3e5ad94 xen/drivers/char/console.c
--- a/xen/drivers/char/console.c Mon Aug 31 09:47:30 2009 +0100
+++ b/xen/drivers/char/console.c Mon Aug 31 09:51:05 2009 +0100
@@ -608,7 +608,7 @@ void __init console_init_postirq(void)
if ( opt_conring_size < conring_size )
return;
- ring = xmalloc_bytes(opt_conring_size);
+ ring = alloc_xenheap_pages(get_order_from_bytes(opt_conring_size), 0);
if ( ring == NULL )
{
printk("Unable to allocate console ring of %u bytes.\n",
@@ -619,11 +619,12 @@ void __init console_init_postirq(void)
spin_lock_irq(&console_lock);
for ( i = conringc ; i != conringp; i++ )
ring[i & (opt_conring_size - 1)] = conring[i & (conring_size - 1)];
+ conring = ring;
+ wmb(); /* Allow users of console_force_unlock() to see larger buffer. */
conring_size = opt_conring_size;
- conring = ring;
spin_unlock_irq(&console_lock);
- printk("Allocated console ring of %u bytes.\n", opt_conring_size);
+ printk("Allocated console ring of %u KiB.\n", opt_conring_size >> 10);
}
void __init console_endboot(void)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] Adjust non-default sized console ring allocation,
Xen patchbot-unstable <=
|
|
|
|
|