[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 6/6] xen/keyhandler: Drop keyhandler_scratch
With almost all users of keyhandler_scratch gone, clean up the 3 remaining users and drop the buffer. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Wei Liu <wei.liu2@xxxxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> The NUMA and periodic timer adjustments are definitely improvements. However, this is RFC because of the EFI change, which might perhaps not wan to be done this way. Suggestions welcome. --- xen/arch/x86/numa.c | 11 ++++------- xen/common/efi/boot.c | 5 ++--- xen/common/keyhandler.c | 26 +++++++------------------- xen/include/xen/keyhandler.h | 3 --- 4 files changed, 13 insertions(+), 32 deletions(-) diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c index a87987d..de13aca 100644 --- a/xen/arch/x86/numa.c +++ b/xen/arch/x86/numa.c @@ -372,7 +372,6 @@ static void dump_numa(unsigned char key) { s_time_t now = NOW(); unsigned int i, j, n; - int err; struct domain *d; struct page_info *page; unsigned int page_num_node[MAX_NUMNODES]; @@ -454,12 +453,10 @@ static void dump_numa(unsigned char key) { unsigned int start_cpu = ~0U; - err = snprintf(keyhandler_scratch, 12, "%3u", - vnuma->vnode_to_pnode[i]); - if ( err < 0 || vnuma->vnode_to_pnode[i] == NUMA_NO_NODE ) - strlcpy(keyhandler_scratch, "???", sizeof(keyhandler_scratch)); - - printk(" %3u: pnode %s,", i, keyhandler_scratch); + if ( vnuma->vnode_to_pnode[i] == NUMA_NO_NODE ) + printk(" %3u: pnode ???,", i); + else + printk(" %3u: pnode %3u,", i, vnuma->vnode_to_pnode[i]); printk(" vcpus "); diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c index 2f49731..aa9a666 100644 --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -489,7 +489,7 @@ static EFI_FILE_HANDLE __init get_parent_handle(EFI_LOADED_IMAGE *loaded_image, static EFI_GUID __initdata fs_protocol = SIMPLE_FILE_SYSTEM_PROTOCOL; EFI_FILE_HANDLE dir_handle; EFI_DEVICE_PATH *dp; - CHAR16 *pathend, *ptr; + CHAR16 *pathend, *ptr, buffer[128]; EFI_STATUS ret; do { @@ -506,8 +506,7 @@ static EFI_FILE_HANDLE __init get_parent_handle(EFI_LOADED_IMAGE *loaded_image, if ( ret != EFI_SUCCESS ) PrintErrMesg(L"OpenVolume failure", ret); -#define buffer ((CHAR16 *)keyhandler_scratch) -#define BUFFERSIZE sizeof(keyhandler_scratch) +#define BUFFERSIZE sizeof(buffer) for ( dp = loaded_image->FilePath, *buffer = 0; DevicePathType(dp) != END_DEVICE_PATH_TYPE; dp = (void *)dp + DevicePathNodeLength(dp) ) diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c index 93ae738..64e5783 100644 --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -29,8 +29,6 @@ static keyhandler_fn_t show_handlers, dump_hwdom_registers, static irq_keyhandler_fn_t do_toggle_alt_key, dump_registers, reboot_machine, run_all_keyhandlers, do_debug_key; -char keyhandler_scratch[1024]; - static struct keyhandler { union { keyhandler_fn_t *fn; @@ -250,25 +248,11 @@ static void reboot_machine(unsigned char key, struct cpu_user_regs *regs) machine_restart(0); } -static void periodic_timer_print(char *str, int size, uint64_t period) -{ - if ( period == 0 ) - { - strlcpy(str, "No periodic timer", size); - return; - } - - snprintf(str, size, - "%u Hz periodic timer (period %u ms)", - 1000000000/(int)period, (int)period/1000000); -} - static void dump_domains(unsigned char key) { struct domain *d; struct vcpu *v; s_time_t now = NOW(); -#define tmpstr keyhandler_scratch printk("'%c' pressed -> dumping domain info (now=0x%X:%08X)\n", key, (u32)(now>>32), (u32)now); @@ -333,8 +317,13 @@ static void dump_domains(unsigned char key) printk(" pause_count=%d pause_flags=%lx\n", atomic_read(&v->pause_count), v->pause_flags); arch_dump_vcpu_info(v); - periodic_timer_print(tmpstr, sizeof(tmpstr), v->periodic_period); - printk(" %s\n", tmpstr); + + if ( v->periodic_period == 0 ) + printk("No periodic timer\n"); + else + printk("%u Hz periodic timer (period %u ms)\n", + 1000000000/(int)v->periodic_period, + (int)v->periodic_period/1000000); } } @@ -355,7 +344,6 @@ static void dump_domains(unsigned char key) arch_dump_shared_mem_info(); rcu_read_unlock(&domlist_read_lock); -#undef tmpstr } static cpumask_t read_clocks_cpumask; diff --git a/xen/include/xen/keyhandler.h b/xen/include/xen/keyhandler.h index 06c05c8..5131e86 100644 --- a/xen/include/xen/keyhandler.h +++ b/xen/include/xen/keyhandler.h @@ -48,7 +48,4 @@ void register_irq_keyhandler(unsigned char key, /* Inject a keypress into the key-handling subsystem. */ extern void handle_keypress(unsigned char key, struct cpu_user_regs *regs); -/* Scratch space is available for use of any keyhandler. */ -extern char keyhandler_scratch[1024]; - #endif /* __XEN_KEYHANDLER_H__ */ -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |