1. 10 10月, 2012 1 次提交
  2. 06 9月, 2012 1 次提交
  3. 02 8月, 2012 1 次提交
  4. 02 11月, 2011 2 次提交
  5. 27 10月, 2010 1 次提交
  6. 07 6月, 2008 1 次提交
  7. 13 5月, 2008 1 次提交
  8. 04 12月, 2007 1 次提交
  9. 30 11月, 2007 1 次提交
    • J
      uml: fix !NO_HZ busy-loop · 364e3a3d
      Jeff Dike 提交于
      With NO_HZ disabled, the UML idle loop effectively becomes a busy loop, as
      it will sleep for no time.
      
      The cause was forgetting to restart the tick after waking up from sleep.
      It was disabled before sleeping, and the remaining time used as the
      interval to sleep.  So, the tick needs to be restarted when nanosleep
      finishes.
      
      This is done by introducing after_sleep_interval, which is empty in the
      NO_HZ case, but which sets the tick starting in the !NO_HZ case.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      364e3a3d
  10. 17 10月, 2007 10 次提交
    • J
      uml: use *SEC_PER_*SEC constants · 1a805219
      Jeff Dike 提交于
      There are various uses of powers of 1000, plus the odd BILLION constant in the
      time code.  However, there are perfectly good definitions of *SEC_PER_*SEC in
      linux/time.h which can be used instaed.
      
      These are replaced directly in kernel code.  Userspace code imports those
      constants as UM_*SEC_PER_*SEC and uses these.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1a805219
    • J
      uml: time build fix · 5f734614
      Jeff Dike 提交于
      Put back an implementation of timeval_to_ns in arch/um/os-Linux/time.c.
      tglx pointed out in his review of tickless support that there was a
      perfectly good implementation of it in linux/time.h.  The problem is that
      this is userspace code which can't pull in kernel headers and there doesn't
      seem to be a libc version.
      
      So, I'm copying the version from linux/time.h rather than resurrecting my
      version.  This causes some declaration changes as it now returns a signed
      value rather than an unsigned value.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5f734614
    • J
      uml: eliminate interrupts in the idle loop · b160fb63
      Jeff Dike 提交于
      Now, the idle loop now longer needs SIGALRM firing - it can just sleep for the
      requisite amount of time and fake a timer interrupt when it finishes.
      
      Any use of ITIMER_REAL now goes away.  disable_timer only turns off
      ITIMER_VIRTUAL.  switch_timers is no longer needed, so it, and all calls, goes
      away.
      
      disable_timer now returns the amount of time remaining on the timer.
      default_idle uses this to tell idle_sleep how long to sleep.  idle_sleep will
      call alarm_handler if nanosleep returns 0, which is the case if it didn't
      return early due to an interrupt.  Otherwise, it just returns.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b160fb63
    • J
      uml: tickless support · d2753a6d
      Jeff Dike 提交于
      Enable tickless support.
      
      CONFIG_TICK_ONESHOT and CONFIG_NO_HZ are enabled.
      
      itimer_clockevent gets CLOCK_EVT_FEAT_ONESHOT and an implementation of
      .set_next_event.
      
      CONFIG_UML_REAL_TIME_CLOCK goes away because it only makes sense when there is
      a clock ticking away all the time.  timer_handler now just calls do_IRQ once
      without trying to figure out how many ticks to emulate.
      
      The idle loop now needs to turn ticking on and off.
      
      Userspace ticks keep happening as usual.  However, the userspace loop keep
      track of when the next wakeup should happen and suppresses process ticks until
      that happens.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d2753a6d
    • J
      uml: GENERIC_CLOCKEVENTS support · 31ccc1f5
      Jeff Dike 提交于
      Enable CONFIG_GENERIC_CLOCKEVENTS.
      
      timer_irq gets its name changed to timer_handler, and becomes the recipient of
      timer signals.
      
      The clock_event_device is set up to imitate the current ticking clock, i.e.
      CLOCK_EVT_FEAT_ONESHOT is not enabled yet.
      
      disable_timer now doesn't ignore SIGALRM and SIGVTALRM because that breaks
      delay calibration.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      31ccc1f5
    • J
      uml: simplify interval setting · a2f018bf
      Jeff Dike 提交于
      set_interval took a timer type as an argument, but it always specified a
      virtual timer.  So, it is not needed, and it is gone, and set_interval is
      simplified appropriately.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a2f018bf
    • J
      uml: fix timer switching · 181bde80
      Jeff Dike 提交于
      Fix up the switching between virtual and real timers.  The idle loop sleeps,
      so the timer at that point must be real time.  At all other times, the timer
      must be virtual.  Even when userspace is running, and the kernel is asleep,
      the virtual timer is correct because the process timer will be running and the
      process timer will be firing.
      
      The timer switch used to be in the context switch and timer handler code.
      This is moved to the idle loop and the signal handler, making it much more
      clear why it is happening.
      
      switch_timers now returns the old timer type so that it may be restored.  The
      signal handler uses this in order to restore the previous timer type when it
      returns.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      181bde80
    • J
      uml: eliminate hz() · 532d0fa4
      Jeff Dike 提交于
      Eliminate hz() since its only purpose was to provide a kernel-space constant
      to userspace code.  This can be done instead by providing the constant
      directly through kernel_constants.h.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      532d0fa4
    • J
      uml: style fixes pass 1 · 4c9e1385
      Jeff Dike 提交于
      Formatting changes in the files which have been changed in the
      tt-removal patchset so far.  These include:
      	copyright updates
      	header file trimming
      	style fixes
      	adding severity to printks
      	indenting Kconfig help according to the predominant kernel style
      
      These changes should be entirely non-functional.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4c9e1385
    • J
      uml: throw out CONFIG_MODE_TT · 42fda663
      Jeff Dike 提交于
      This patchset throws out tt mode, which has been non-functional for a while.
      
      This is done in phases, interspersed with code cleanups on the affected files.
      
      The removal is done as follows:
      	remove all code, config options, and files which depend on
      CONFIG_MODE_TT
      	get rid of the CHOOSE_MODE macro, which decided whether to
      call tt-mode or skas-mode code, and replace invocations with their
      skas portions
      	replace all now-trivial procedures with their skas equivalents
      
      There are now a bunch of now-redundant pieces of data structures, including
      mode-specific pieces of the thread structure, pt_regs, and mm_context.  These
      are all replaced with their skas-specific contents.
      
      As part of the ongoing style compliance project, I made a style pass over all
      files that were changed.  There are three such patches, one for each phase,
      covering the files affected by that phase but no later ones.
      
      I noticed that we weren't freeing the LDT state associated with a process when
      it exited, so that's fixed in one of the later patches.
      
      The last patch is a tidying patch which I've had for a while, but which caused
      inexplicable crashes under tt mode.  Since that is no longer a problem, this
      can now go in.
      
      This patch:
      
      Start getting rid of tt mode support.
      
      This patch throws out CONFIG_MODE_TT and all config options, code, and files
      which depend on it.
      
      CONFIG_MODE_SKAS is gone and everything that depends on it is included
      unconditionally.
      
      The few changed lines are in re-written Kconfig help, lines which needed
      something skas-related removed from them, and a few more which weren't
      strictly deletions.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      42fda663
  11. 08 5月, 2007 1 次提交
  12. 21 10月, 2006 1 次提交
  13. 26 9月, 2006 2 次提交
    • J
      [PATCH] uml: timer cleanups · 537ae946
      Jeff Dike 提交于
      set_interval returns an error instead of panicing if setitimer fails.  Some of
      its callers now check the return.
      
      enable_timer is largely tt-mode-specific, so it is marked as such, and the
      only skas-mode caller is made to call set-interval instead.
      
      user_time_init was a no-value-added wrapper around set_interval, so it is
      gone.
      
      Since set_interval is now called from kernel code, callers no longer pass
      ITIMER_* to it.  Instead, they pass a flag which is converted into ITIMER_REAL
      or ITIMER_VIRTUAL.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      537ae946
    • J
      [PATCH] uml: Move signal handlers to arch code · 4b84c69b
      Jeff Dike 提交于
      Have most signals go through an arch-provided handler which recovers the
      sigcontext and then calls a generic handler.  This replaces the
      ARCH_GET_SIGCONTEXT macro, which was somewhat fragile.  On x86_64, recovering
      %rdx (which holds the sigcontext pointer) must be the first thing that
      happens.  sig_handler duly invokes that first, but there is no guarantee that
      I can see that instructions won't be reordered such that %rdx is used before
      that.  Having the arch provide the handler seems much more robust.
      
      Some signals in some parts of UML require their own handlers - these places
      don't call set_handler any more.  They call sigaction or signal themselves.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4b84c69b
  14. 11 7月, 2006 3 次提交
  15. 06 6月, 2006 1 次提交
  16. 19 1月, 2006 1 次提交
  17. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4