1. 19 Mar, 2004 17 commits
    • David S. Miller's avatar
      [NET]: Preemption disabling is superfluous in net_rx_action(). · 4abdd528
      David S. Miller authored
      Noticed by Jan Glauber, confirmed by Stephen Hemminger.
      4abdd528
    • Linus Torvalds's avatar
      Merge http://linux-sound.bkbits.net/linux-sound · 27cd7e0f
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      27cd7e0f
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/net-drivers-2.6 · c4620fd6
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      c4620fd6
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.6 · c5d40033
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      c5d40033
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Remove CPU_OFFLINE Notifier · e7830385
      Rusty Russell authored
      We no longer have a CPU_OFFLINE notifier: we freeze the machine and
      kill the CPU atomically.  Remove it.
      e7830385
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Other CPU_DEAD Notifiers · 279ce7b2
      Rusty Russell authored
      Various files keep per-cpu caches which need to be freed/moved when a
      CPU goes down.  All under CONFIG_HOTPLUG_CPU ifdefs.
      
      scsi.c: drain dead cpu's scsi_done_q onto this cpu.
      
      buffer.c: brelse the bh_lrus queue for dead cpu.
      
      timer.c: migrate timers from dead cpu, being careful of lock order vs
      	__mod_timer.
      
      radix_tree.c: free dead cpu's radix_tree_preloads
      
      page_alloc.c: empty dead cpu's nr_pagecache_local into nr_pagecache, and
      	free pages on cpu's local cache.
      
      slab.c: stop reap_timer for dead cpu, adjust each cache's free limit, and
      	free each slab cache's per-cpu block.
      
      swap.c: drain dead cpu's lru_add_pvecs into ours, and empty its committed_space
      	counter into global counter.
      
      dev.c: drain device queues from dead cpu into this one.
      
      flow.c: drain dead cpu's flow cache.
      279ce7b2
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Kswapd Changes · 9bd3badf
      Rusty Russell authored
      Keep track of kswapds: it's OK that they get moved off a node when the
      last CPU goes down, but when a CPU comes back, we should try to move
      the kswapd back onto its node.
      9bd3badf
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Workqueue Changes · 6bcaa29d
      Rusty Russell authored
      Workqueues need to bring up/destroy the per-cpu thread on cpu up/down.
      
      1) Add a global list of workqueues, and keep the name in the structure
         (to name the newly created thread).
      
      2) Remove BUG_ON in run_workqueue, since thread is dragged off CPU when
         it goes down.
      
      3) Lock out cpu up/down in flush_workqueue, create_workqueue and
         destroy_workqueue.
      
      4) Add notifier to add/destroy workqueue threads, and take over work.
      6bcaa29d
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Make ksoftirqd Handle CPU Going Down · 010b27dc
      Rusty Russell authored
      Change ksoftirqd not to assume it's on the CPU: when a cpu goes down,
      it will be rudely dragged off.  Since do_softirq() uses
      smp_processor_id(), it's easiest to disable preemption, check that the
      cpu is still up, then call do_softirq().
      
      If the cpu is actually offline, wait for the notifier, which kills us.
      
      Take over tasklets from dead cpu in the notifier.
      
      Clean up redundant double assignment in CPU_UP callback.
      010b27dc
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Read Copy Update Changes · 211b2fce
      Rusty Russell authored
      Add hook for RCU to handle jobs on dead cpu.  Requires new
      tasklet_kill_immediate for RCU to clean up its tasklet (which might
      have been about to run, so tasklet_kill won't work).
      211b2fce
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Make Migration Thread Handle CPUs Going · eac9256c
      Rusty Russell authored
      Change the migration thread to directly use its cpu arg, rather than
      smp_processor_id(): if a cpu goes up then down rapidly, it can be on
      the wrong cpu just before it is stopped.
      
      Add code to stop the migration thread on CPU_DEAD and CPU_UP_CANCELED.
      
      Remove the (bogus) priority of the notifier.
      eac9256c
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Set prio of migration thread before CPU · e7243e1b
      Rusty Russell authored
      We need the migration thread to be RT as soon as the CPU comes online:
      for example, stop_machine() (another RT task) expects to yield to it.
      Extract the core of setscheduler() and do that when the migration
      thread is created.  rq lock is a precaution against the (theoretical)
      possibility of someone else doing setscheduer on this thread at the
      same time.
      e7243e1b
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Keep IRQs off in Migration Thread Calling · 1329b6ab
      Rusty Russell authored
      Currently the migration thread re-enables irqs, then calls
      move_task_away which disables IRQs again and actually does the move.
      This means there is a race where the migration thread gets preempted,
      and the target CPU can go down.
      
      Hold irqs disabled in migration thread across move_task_away(), which
      now doesn't need to save flags (the other caller is the hotplug CPU
      code, where irqs are also disabled).
      1329b6ab
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Take cpu Lock Around Migration · d7517532
      Rusty Russell authored
      Grab cpu lock around sched_migrate_task() and sys_sched_setaffinity().
      This is a noop without CONFIG_HOTPLUG_CPU.
      
      The sched_migrate_task may have a performance penalty on NUMA if lots
      of exec rebalancing is happening, however this only applies to
      CONFIG_NUMA and CONFIG_HOTPLUG_CPU, which noone does at the moment
      anyway.
      
      Also, the scheduler in -mm solves the race another way, so this will
      vanish then.
      d7517532
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: don't pull onto offline CPUs · a4d53cb7
      Rusty Russell authored
      Don't move tasks onto offline cpus in load_balance and wake_task (the
      latter is caused by a completion run from stop_machine).
      
      Note that cpu_is_offline() is a noop when CONFIG_HOTPLUG_CPU=n.
      a4d53cb7
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: Sysfs Online Attribute · edf19689
      Rusty Russell authored
      Add "online" sysfs attribute to cpus to bring them up and down.
      
      Again, only under CONFIG_HOTPLUG_CPU.
      edf19689
    • Rusty Russell's avatar
      [PATCH] Hotplug CPUs: cpu_down() · 036f2137
      Rusty Russell authored
      Implement cpu_down(): uses stop_machine to freeze the machine, then
      uses (arch-specific) __cpu_disable() and migrate_all_tasks().
      
      Whole thing under CONFIG_HOTPLUG_CPU, so doesn't break archs which
      don't define that.
      036f2137
  2. 18 Mar, 2004 23 commits
    • Andrew Morton's avatar
      [PATCH] remove_suid() should return error code · c884a1a3
      Andrew Morton authored
      From: Nikita Danilov <Nikita@Namesys.COM>
      
      remove_suid() ignores return value of notify_change()->i_op->setattr().
      This mean, that even if file system fails to clear suid bit,
      generic_file_aio_write_nolock() proceeds with write, which is unsafe.
      
      Actually, even ext2's ->setattr() can fail, when trying to update ACL, for
      example.
      
      Attached patch modifies remove_suid() to return result of ->setattr(), and
      updates in-tree callers.
      c884a1a3
    • Andrew Morton's avatar
      [PATCH] meye driver update · 705e71d4
      Andrew Morton authored
      From: Stelian Pop <stelian@popies.net>
      
      This patchlet is just a resync with my tree, it only increments the meye
      driver version number and makes some small comment changes as suggested by
      Randy Dunlap.
      705e71d4
    • Andrew Morton's avatar
      [PATCH] VM overcommit documentation fixes · 2860cb86
      Andrew Morton authored
      From: Andy Whitcroft <andyw@uk.ibm.com>
      
      Whilst looking at the memory overcommit logic I noticed that the pointer to
      the documentation from the *_vm_enough_memory calls is incorrect.  Also
      that in one instance the routine does not have the expected pointers.
      2860cb86
    • Andrew Morton's avatar
      [PATCH] sonypi devinit section usage · c1d1c7cd
      Andrew Morton authored
      From: Stelian Pop <stelian@popies.net>
      
      This patch removes the usage of __devinit in the srs methods of the sonypi
      driver, because those functions are also called from sonypi_pm_callback().
      
      Patch originally from Randy Dunlap.
      c1d1c7cd
    • Andrew Morton's avatar
      [PATCH] add note about "Copyright" to SubmittingDrivers · 647abae9
      Andrew Morton authored
      From: Grant Grundler <grundler@parisc-linux.org>
      
      This patch adds a comment to "Documentation/SubmittingDrivers" about the
      importance of adding a Copyright notice in submitted code.
      
      The parisc-linux port has neglected this in the past and I've been slowly
      trying to correct that (along with proper GPL header).
      
      While I make it sound like GPL is the "only" acceptable license, I'll leave
      it up to lawyers to determine what other appropriate license could be used
      for a new driver.
      647abae9
    • Andrew Morton's avatar
      [PATCH] pte_chain comment fix · f1802d1c
      Andrew Morton authored
      From: Carl Spalletta <ioanamitu@yahoo.com>
      
      Fix a comment bug.
      f1802d1c
    • Andrew Morton's avatar
      [PATCH] EDD: split assembly code · b6187328
      Andrew Morton authored
      From: Matt Domsch <Matt_Domsch@dell.com>
      
      Split EDD assembly code from setup.S into edd.S.  This will enable it to be
      #included into x86-64 too.
      b6187328
    • Andrew Morton's avatar
      [PATCH] EDD: move code from i386-specific locations to generic · 51900ee5
      Andrew Morton authored
      From: Matt Domsch <Matt_Domsch@dell.com>
      
      move edd.c from arch/i386/kernel to new dir drivers/firmware.  Fix up
      makefiles and Kconfigs.
      51900ee5
    • Andrew Morton's avatar
      [PATCH] EDD: move code from i386-specific locations to generic · 927f7639
      Andrew Morton authored
      From: Matt Domsch <Matt_Domsch@dell.com>
      
      Three patches to move the BIOS Enhanced Disk Drive code from i386-specific
      locations into more generic locations, which will allow it to be used on
      x86-64 as well.
      
      move edd.h from include/asm-i386 to include/linux
      927f7639
    • Andrew Morton's avatar
      [PATCH] Fix uninlined memcmp on i386 · d50e304a
      Andrew Morton authored
      From: DHollenbeck <dick@softplc.com>
      
      This patch was needed against a pristine 2.6.4 kernel when compiling with
      "gcc 3.4 _very recent_" using the -Os option.
      
      Without this patch, modules would use a non-inline memcmp() and then not
      find it in the kernel, causing depmod to complain and some modules not to
      load.
      d50e304a
    • Andrew Morton's avatar
      [PATCH] fix HZ leaking to userspace in BSD accounting · aa550c0d
      Andrew Morton authored
      From: Tim Schmielau <tim@physik3.uni-rostock.de>
      
      BSD accounting was missed in the conversion from HZ to USER_HZ.  I thought
      nobody cared, but apparently there are still users to it.
      aa550c0d
    • Andrew Morton's avatar
      [PATCH] zlib: use kernel min/max · 65a0fc80
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Michael Veeck <michael.veeck@gmx.net>
      
      Remove unnecessary min/max macros and changes calls to use kernel.h macros
      instead.
      65a0fc80
    • Andrew Morton's avatar
      [PATCH] sound: use kernel min/max · 688d6d30
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Michael Veeck <michael.veeck@gmx.net>
      
      Remove unnecessary min/max macros and changes calls to use kernel.h macros
      instead.
      688d6d30
    • Andrew Morton's avatar
      [PATCH] reiserfs: use kernel min/max · aee768e0
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Michael Veeck <michael.veeck@gmx.net>
      
      Remove unnecessary min/max macros and changes calls to use kernel.h macros
      instead.
      aee768e0
    • Andrew Morton's avatar
      [PATCH] procfs: use kernel min/max · f4358df8
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Michael Veeck <michael.veeck@gmx.net>
      
      Patch (against 2.6.3) removes unnecessary min/max macros and changes calls to
      use kernel.h macros instead.
      f4358df8
    • Andrew Morton's avatar
      [PATCH] ip2: fix double operator · ac1a964d
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      This trivial patch fixes the bug #320:
      
      http://bugme.osdl.org/show_bug.cgi?id=320
      
      The additional comment:
      
      http://bugme.osdl.org/show_bug.cgi?id=320#c1
      
      Is wrong, because it will send the command twice.
      
      We only want to see if the command got success, thus is not necessary
      to test against < 0 (if the return value is not 1, we got a error).
      
      Note that I'm using the function (bad) style.
      ac1a964d
    • Andrew Morton's avatar
      [PATCH] doc. updates/typos · 56b586b8
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      Remove the rest of references to smp.tex
      Documentation/cpufreq => Documentation/cpu-freq
      DocBook/tulip.{pdf,ps,html} => DocBook/tulip-user.{pdf,ps,html}
      Bunch of other typos.
      56b586b8
    • Andrew Morton's avatar
      [PATCH] slab: start_cpu_timer() can be __init · 85328e8b
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
      85328e8b
    • Andrew Morton's avatar
      [PATCH] 8250_pnp: probe and remove can be __devinit/__devexit · 02bb9156
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
      02bb9156
    • Andrew Morton's avatar
      [PATCH] config: choice fix · 5a87d187
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      When a boolean choice value has a dependency of 'm' it can be shortly
      treated as a tristate symbol.  This fixes this and also add a small
      optimization to precompute the value of the module symbol instead of
      checking it all the time.
      5a87d187
    • Andrew Morton's avatar
      [PATCH] config: persistent qconf configuration · 6fa4a50c
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      This patch is by Andreas Fester <Andreas.Fester@gmx.de> and saves and
      restores various runtime options of qconf.
      6fa4a50c
    • Andrew Morton's avatar
      [PATCH] config: disable debug prints · a72c5f31
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      This disables some debug prints, which are more confusing than helpful for
      normal users.
      a72c5f31
    • Andrew Morton's avatar
      [PATCH] kconfig: don't rename target dir when saving config · 86b5b992
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      conf_write() now checks the target path whether it's a directory, so it
      saves the config in the directory instead of renaming it.
      86b5b992