Merge branch 'upstream/core' into upstream/xen
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Wed, 4 Aug 2010 21:49:05 +0000 (14:49 -0700)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Wed, 4 Aug 2010 21:49:05 +0000 (14:49 -0700)
* upstream/core:
  xen/panic: use xen_reboot and fix smp_send_stop
  Xen: register panic notifier to take crashes of xen guests on panic
  xen: support large numbers of CPUs with vcpu info placement
  xen: drop xen_sched_clock in favour of using plain wallclock time
  pvops: do not notify callers from register_xenstore_notifier
  xen: make sure pages are really part of domain before freeing
  xen: release unused free memory

1  2 
arch/x86/xen/time.c

diff --combined arch/x86/xen/time.c
index b3c6c59ed302862ecde2b2b78f88287954db991d,e90360ff4a081a5caf33770fa443a7e9e9fc4890..a86df42e46adb27151d4d04205acd7d64e0af716
@@@ -155,45 -155,6 +155,6 @@@ static void do_stolen_accounting(void
        account_idle_ticks(ticks);
  }
  
- /*
-  * Xen sched_clock implementation.  Returns the number of unstolen
-  * nanoseconds, which is nanoseconds the VCPU spent in RUNNING+BLOCKED
-  * states.
-  */
- unsigned long long xen_sched_clock(void)
- {
-       struct vcpu_runstate_info state;
-       cycle_t now;
-       u64 ret;
-       s64 offset;
-       /*
-        * Ideally sched_clock should be called on a per-cpu basis
-        * anyway, so preempt should already be disabled, but that's
-        * not current practice at the moment.
-        */
-       preempt_disable();
-       now = xen_clocksource_read();
-       get_runstate_snapshot(&state);
-       WARN_ON(state.state != RUNSTATE_running);
-       offset = now - state.state_entry_time;
-       if (offset < 0)
-               offset = 0;
-       ret = state.time[RUNSTATE_blocked] +
-               state.time[RUNSTATE_running] +
-               offset;
-       preempt_enable();
-       return ret;
- }
  /* Get the TSC speed from Xen */
  unsigned long xen_tsc_khz(void)
  {
@@@ -476,7 -437,6 +437,7 @@@ void xen_timer_resume(void
  __init void xen_time_init(void)
  {
        int cpu = smp_processor_id();
 +      struct timespec tp;
  
        clocksource_register(&xen_clocksource);
  
        }
  
        /* Set initial system time with full resolution */
 -      xen_read_wallclock(&xtime);
 -      set_normalized_timespec(&wall_to_monotonic,
 -                              -xtime.tv_sec, -xtime.tv_nsec);
 +      xen_read_wallclock(&tp);
 +      do_settimeofday(&tp);
  
        setup_force_cpu_cap(X86_FEATURE_TSC);