On Wed, 2006-01-25 at 11:04 +0800, Tian, Kevin wrote:
>
> Make sense and thanks for info. We shouldn't manipulate switch stack
> area for current running vcpu, since that area only makes sense when
> specific vcpu is de-activated. The initial stack of idle vcpu0 starts
> from point under pt_regs, and thus above memset definitely corrupts
> active stack frames. Could you try whether following change working
> for you?
Kevin,
Yes, that seems to fix the problem, or at least avoid it.
xen-unstable.hg looks to be a bit out of date with xen-ia64-unstable.hg
in this area. I think the patch below is effectively the same change
versus xen-unstable.hg. Thanks,
Alex
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
diff -r aad2b2da3c8b xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c Wed Jan 25 11:51:21 2006
+++ b/xen/arch/ia64/xen/domain.c Wed Jan 25 04:22:50 2006
@@ -157,14 +157,14 @@
if ((v = alloc_xenheap_pages(KERNEL_STACK_SIZE_ORDER)) == NULL)
return NULL;
memset(v, 0, sizeof(*v));
- }
-
- ti = alloc_thread_info(v);
- /* Clear thread_info to clear some important fields, like
- * preempt_count
- */
- memset(ti, 0, sizeof(struct thread_info));
- init_switch_stack(v);
+
+ ti = alloc_thread_info(v);
+ /* Clear thread_info to clear some important fields, like
+ * preempt_count
+ */
+ memset(ti, 0, sizeof(struct thread_info));
+ init_switch_stack(v);
+ }
if (!is_idle_domain(d)) {
v->arch.privregs =
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|