1. 09 8月, 2007 1 次提交
    • I
      sched: batch sleeper bonus · 0915c4e8
      Ingo Molnar 提交于
      batch up the sleeper bonus sum a bit more. Anything below
      sched-granularity is too small to make a practical difference
      anyway.
      
      this optimization reduces the math in high-frequency scheduling
      scenarios.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0915c4e8
  2. 07 8月, 2007 1 次提交
  3. 04 8月, 2007 2 次提交
  4. 02 8月, 2007 11 次提交
    • I
      [PATCH] sched: reduce debug code · 6cfb0d5d
      Ingo Molnar 提交于
      move the rest of the debugging/instrumentation code to under
      CONFIG_SCHEDSTATS too. This reduces code size and speeds code up:
      
          text    data     bss     dec     hex filename
         33044    4122      28   37194    914a sched.o.before
         32708    4122      28   36858    8ffa sched.o.after
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6cfb0d5d
    • I
      [PATCH] sched: use schedstat_set() API · 8179ca23
      Ingo Molnar 提交于
      make use of the new schedstat_set() API to eliminate two #ifdef sections.
      
      No functional changes:
      
          text    data     bss     dec     hex filename
         29009    4122      28   33159    8187 sched.o.before
         29009    4122      28   33159    8187 sched.o.after
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8179ca23
    • I
      [PATCH] sched: add schedstat_set() API · c3c70119
      Ingo Molnar 提交于
      add the schedstat_set() API, to allow the reduction of
      CONFIG_SCHEDSTAT related #ifdefs. No code changed.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c3c70119
    • I
      [PATCH] sched: move load-calculation functions · 9c217245
      Ingo Molnar 提交于
      move load-calculation functions so that they can use the per-policy
      declarations and methods.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9c217245
    • I
      [PATCH] sched: ->task_new cleanup · cad60d93
      Ingo Molnar 提交于
      make sched_class.task_new == NULL a 'default method', this
      allows the removal of task_rt_new.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cad60d93
    • I
      [PATCH] sched: uninline inc/dec_nr_running() · 4e6f96f3
      Ingo Molnar 提交于
      uninline inc_nr_running() and dec_nr_running():
      
         text    data     bss     dec     hex filename
         29039    4162      24   33225    81c9 sched.o.before
         29027    4162      24   33213    81bd sched.o.after
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      4e6f96f3
    • I
      [PATCH] sched: uninline calc_delta_mine() · cb1c4fc9
      Ingo Molnar 提交于
      uninline calc_delta_mine():
      
         text    data     bss     dec     hex filename
         29162    4162      24   33348    8244 sched.o.before
         29039    4162      24   33225    81c9 sched.o.after
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cb1c4fc9
    • I
      [PATCH] sched: calc_delta_mine(): use fixed limit · ecf691da
      Ingo Molnar 提交于
      use fixed limit in calc_delta_mine() - this saves an instruction :)
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ecf691da
    • P
      [PATCH] sched: tidy up left over smpnice code · 5a4f3ea7
      Peter Williams 提交于
      1. The only place that RTPRIO_TO_LOAD_WEIGHT() is used is in the call to
      move_tasks() in the function active_load_balance() and its purpose here
      is just to make sure that the load to be moved is big enough to ensure
      that exactly one task is moved (if there's one available).  This can be
      accomplished by using ULONG_MAX instead and this allows
      RTPRIO_TO_LOAD_WEIGHT() to be deleted.
      
      2. This, in turn, allows PRIO_TO_LOAD_WEIGHT() to be deleted.
      
      3. This allows load_weight() to be deleted which allows
      TIME_SLICE_NICE_ZERO to be deleted along with the comment above it.
      Signed-off-by: NPeter Williams <pwil3058@bigpond.net.au>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5a4f3ea7
    • I
      [PATCH] sched: remove cache_hot_time · 362a7016
      Ingo Molnar 提交于
      remove the last unused remains of cache_hot_time.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      362a7016
    • T
      genirq: temporary fix for level-triggered IRQ resend · 0fc4969b
      Thomas Gleixner 提交于
      Marcin Slusarz reported a ne2k-pci "hung network interface" regression.
      
      delayed disable relies on the ability to re-trigger the interrupt in the
      case that a real interrupt happens after the software disable was set.
      In this case we actually disable the interrupt on the hardware level
      _after_ it occurred.
      
      On enable_irq, we need to re-trigger the interrupt. On i386 this relies
      on a hardware resend mechanism (send_IPI_self()).
      
      Actually we only need the resend for edge type interrupts. Level type
      interrupts come back once enable_irq() re-enables the interrupt line.
      
      I assume that the interrupt in question is level triggered because it is
      shared and above the legacy irqs 0-15:
      
      	17:         12   IO-APIC-fasteoi   eth1, eth0
      
      Looking into the IO_APIC code, the resend via send_IPI_self() happens
      unconditionally. So the resend is done for level and edge interrupts.
      This makes the problem more mysterious.
      
      The code in question lib8390.c does
      
      	disable_irq();
      	fiddle_with_the_network_card_hardware()
      	enable_irq();
      
      The fiddle_with_the_network_card_hardware() might cause interrupts,
      which are cleared in the same code path again,
      
      Marcin found that when he disables the irq line on the hardware level
      (removing the delayed disable) the card is kept alive.
      
      So the difference is that we can get a resend on enable_irq, when an
      interrupt happens during the time, where we are in the disabled region.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0fc4969b
  5. 01 8月, 2007 6 次提交
  6. 31 7月, 2007 1 次提交
  7. 30 7月, 2007 3 次提交
  8. 29 7月, 2007 2 次提交
  9. 27 7月, 2007 2 次提交
  10. 26 7月, 2007 7 次提交
  11. 25 7月, 2007 1 次提交
  12. 23 7月, 2007 1 次提交
    • M
      x86: i386-show-unhandled-signals-v3 · abd4f750
      Masoud Asgharifard Sharbiani 提交于
      This patch makes the i386 behave the same way that x86_64 does when a
      segfault happens.  A line gets printed to the kernel log so that tools
      that need to check for failures can behave more uniformly between
      debug.show_unhandled_signals sysctl variable to 0 (or by doing echo 0 >
      /proc/sys/debug/exception-trace)
      
      Also, all of the lines being printed are now using printk_ratelimit() to
      deny the ability of DoS from a local user with a program like the
      following:
      
      main()
      {
             while (1)
                     if (!fork()) *(int *)0 = 0;
      }
      
      This new revision also includes the fix that Andrew did which got rid of
      new sysctl that was added to the system in earlier versions of this.
      Also, 'show-unhandled-signals' sysctl has been renamed back to the old
      'exception-trace' to avoid breakage of people's scripts.
      
      AK: Enabling by default for i386 will be likely controversal, but let's see what happens
      AK: Really folks, before complaining just fix your segfaults
      AK: I bet this will find a lot of silent issues
      Signed-off-by: NMasoud Sharbiani <masouds@google.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      [ Personally, I've found the complaints useful on x86-64, so I'm all for
        this. That said, I wonder if we could do it more prettily..   -Linus ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      abd4f750
  13. 22 7月, 2007 2 次提交