aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* ide_in_drive_list(): "ALL" is not a wildcard anymoreJunio C Hamano2007-07-09
| | | | | | | | | | | | This removes the support to treat "ALL" as a wildcard for firmware revision. This is made a separate patch, as it will break out-of-tree ide drivers that feed its own table that uses "ALL" as the wildcard to ide_in_drive_list(). Signed-off-by: Junio C Hamano <junkio@cox.net> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* mips au1xxx_ide.h: use NULL as firmware-revision wildcardJunio C Hamano2007-07-09
| | | | | | | | | | This updates the DMA whitelist in MIPS specific au1xxx ide driver to use NULL instead of "ALL" as the wildcard. Signed-off-by: Junio C Hamano <junkio@cox.net> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide_in_drive_list(): accept NULL as the wildcard for firmware revisionJunio C Hamano2007-07-09
| | | | | | | | | | | | | | | | | Earlier, the matching of (model,rev) in ide-dma black/white list handling was to consider "ALL" in the table to match any revision. This makes NULL to be also an accepted wildcard, and changes the entries of tables in ide-dma.c to use NULL. The code still accepts "ALL" as the wildcard, in order to keep any out-of-tree ide driver that feeds its own table that uses "ALL" as the wildcard to ide_in_drive_list() function from breaking. Signed-off-by: Junio C Hamano <junkio@cox.net> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* aec62xx: kill speedproc() method wrapper (take 2)Sergei Shtylyov2007-07-09
| | | | | | | | | There's no reason to have the speedproc() method wrapper for the two quite different chip families, so just get rid of it. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: use mutex instead of ide_setting_sem semaphore in IDE driverMatthias Kaehlcke2007-07-09
| | | | | | | | | | | The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> --
* aec62xx: remove init_dma() method (take 2)Sergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | Get rid of the init_dma() method (which had no particular reason to exist) by folding it into the init_hwif() method. While at it, also perform some cleanup in the latter method: - get rid of the useless clearing of hwif->autodma; - fold the serialization code into one 'if' statement; - fold setting the drives' 'autotune' and 'autodma' fields into the single statements... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* aec62xx: rework init_setup_aec6x80()Sergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | | | | | Rework init_setup_aec6x80() so that it won't rewrite the constant name strings anymore -- in order to do this: - in aec62xx_init_one(), pass a local copy of 'struct pci_device_id' down the call chain; - change the names for in aec62xx_chipsets[] to default to AEC-6280[R]; - override the 'name' field in init_setup_aec6x80() only if bit 4 of the DMA status register is set. While at it, also change the 'udma_mask' field for AEC-6x80R chips in this function and remove the code doing the same from the init_hwif() method... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* cmd64x: init. code cleanupSergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | | | | | | Fix two minor issues with PCI0646 chip reporting in the init_chipset() method: "IRQ workaround enabled" message printed out not only for revision 0x01 and "CMD646: chipset revision" printed twice (by IDE core and the driver itself). Also, remove empty/pointless switch cases for the chips other than PCI0646, duplicate write to the MRDMODE register when enabling interrupts and MEMORY READ LINE cycles, and needless/misplaced initialization of the timing registers in this method. Switch to reading only the PCI revision ID register itself, not the whole 32 bits at its address in init_chipset() and init_hwif() methods; in addition, get rid of the useless clearing of hwif->autodma and perform some cosmetic style changes in the latter method. Refactor ata66_cmd64x() by moving all the code into the 'switch' statement, renaming/adding variables, and fixing the coding style. While at it, finally get rid of the meaningless aliasing register #define's... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* hpt366: simplify UltraDMA filtering (take 4)Sergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | | | Simplify UltraDMA mode filtering in the driver: - make use of the newly introduced 'udma_mask' field of 'ide_pci_device_t' to set the correct hwif->ultra_mask, modifying init_setup_hpt366() to select the correct mask based on the chip revision; - replace 'max_mode' field of the 'struct hpt_info' with 'max_ultra' specifying the maximum UltraDMA mode allowed; - rewrite hpt3xx_udma_filter() to differ the filters based on the 'chip_type' field, and only use it for HPT366 and HPT370[A] where it's really necessary. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: use mutex instead of ide_cfg_sem semaphore in IDE driverMatthias Kaehlcke2007-07-09
| | | | | | | | The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make void and rename ide_dma_timeout() methodSergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | Since ide_dma_timeout() method's result is discarded, make it return 'void'. While at it, drop 'ide_' from the method's name, drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable; - in au1xxx-ide.c, get rid of commented out printk(); - in sl82c105.c, get rid of unnecessary variables. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make void and rename ide_dma_lostirq() methodSergei Shtylyov2007-07-09
| | | | | | | | | | | | | | | | Since ide_dma_lostirq() method's result is discarded, make it return 'void'. While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in aec62xx.c, rename the method in accordance with other drivers, and get rid of unnecessary variables there; - in pdc202xx_old.c, define/use 'hwif' variable; - in sgiioc4.c, rearrange the code to call the resetproc() method directly. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* serverworks: always tune CSB6Bartlomiej Zolnierkiewicz2007-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch the driver to always program DMA/PIO timings and set device transfer mode instead of trusting BIOS on CSB6 controllers (libata pata_serverworks.c driver is also doing things this way and there were no problems reported so far). While doing conversion I noticed that the old code had many issues: * the code was assuming that hwif->dma_status is always valid (which obviously isn't true if hwif->dma_base == NULL) * value of "(ultra_timing >> (4*unit)) & ~(0xF0)" expression wasn't checked to fit into udma_modes[5] * code validating DMA timings didn't validate corresponding PIO timings * extra CSB5 PIO register wasn't validated et all * hwif->ide_dma_off_quietly() is always called before ide_set_dma() (which in turn calls hwif->speedproc() method - svwks_tune_chipset() in this case) so the code depending on DMA capable bit of DMA status to be set was never executed (=> the code was never validating DMA timings despite actually enabling DMA if the PIO timings were OK!) * on resume driver dependend entirely on BIOS to restore timings and set transfer mode on the device While at it: There is no need to read PIO/MWDMA timings now so don't do it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
* Merge branch 'for-linus' of ↵Linus Torvalds2007-07-09
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: JFS: Update print_hex_dump() syntax JFS: use print_hex_dump() rather than private dump_mem() function JFS: Whitespace cleanup and remove some dead code
| * JFS: Update print_hex_dump() syntaxDave Kleikamp2007-06-13
| | | | | | | | Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
| * JFS: use print_hex_dump() rather than private dump_mem() functionDave Kleikamp2007-06-06
| | | | | | | | Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
| * JFS: Whitespace cleanup and remove some dead codeDave Kleikamp2007-06-06
| | | | | | | | Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
* | sched: add CFS creditsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | | | add credits for recent major scheduler contributions: Con Kolivas, for pioneering the fair-scheduling approach Peter Williams, for smpnice Mike Galbraith, for interactivity tuning of CFS Srivatsa Vaddagiri, for group scheduling enhancements Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: micro-optimize mmdrop()Ingo Molnar2007-07-09
| | | | | | | | | | | | micro-optimize mmdrop(). Improves schedule()'s assembly a bit. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: more agressive idle balancingIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | the Linux scheduler is starving a number of workloads. So default to more agressive idle-balancing. This hurts lmbench context-switching numbers (which was the main reason we sucked at idle-balancing for such a long time) but the lmbench numbers are fine once the system is minimally utilized. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up sleep_on() APIsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | clean up the sleep_on() APIs: - do not use fastcall - replace fragile macro magic with proper inline functions Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: style cleanupsIngo Molnar2007-07-09
| | | | | | | | | | | | | | 4 small style cleanups to sched.c: checkpatch.pl is now happy about the totality of sched.c [ignoring false positives] - yay! ;-) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: do not set softirqs to nice +19Ingo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | do not set softirqs to nice +19. _If_ for whatever reason we missed to process some high-prio softirq and woke up ksoftirqd, we should give it a fair chance to actually get some work done, even if the system is under load. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: simplify sched_find_first_bit()Mike Galbraith2007-07-09
| | | | | | | | | | | | | | simplify sched_rt.c's sched_find_first_bit() function: there are only 100 RT priority levels left. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: add CFS documentationIngo Molnar2007-07-09
| | | | | | | | | | | | add Documentation/sched-design-CFS.txt Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: scheduler debugging, enable in KconfigIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | enable CONFIG_SCHED_DEBUG in lib/Kconfig.debug. the runtime overhead of this option is very small. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: scheduler debugging, coreIngo Molnar2007-07-09
| | | | | | | | | | | | | | scheduler debugging core: implement /proc/sched_debug and /proc/<PID>/sched files for scheduler debugging. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: add CFS debug sysctlsIngo Molnar2007-07-09
| | | | | | | | | | | | | | add CFS debug sysctls: only tweakable if SCHED_DEBUG is enabled. This allows for faster debugging of scheduler problems. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove old cpu accounting fieldIngo Molnar2007-07-09
| | | | | | | | | | | | | | remove the old cpu-accounting field from signal_struct, now that the code is using CFS's stats. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove unused rq types from sched.cIngo Molnar2007-07-09
| | | | | | | | | | | | | | remove unused rq types from sched.c, now that we switched over to CFS. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove batch_task()Ingo Molnar2007-07-09
| | | | | | | | | | | | batch_task() in sched.h is now unused - remove it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove interactivity types from sched.hIngo Molnar2007-07-09
| | | | | | | | | | | | remove now-unused types/fields used by the old scheduler. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove interactivity typesIngo Molnar2007-07-09
| | | | | | | | | | | | | | remove now unused interactivity-heuristics related defined and types of the old scheduler. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up include files in sched.cIngo Molnar2007-07-09
| | | | | | | | | | | | clean up include files in sched.c, they were still old-style <asm/>. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up fastcall uses of sched_fork()/sched_exit()Ingo Molnar2007-07-09
| | | | | | | | | | | | | | | | sched_fork()/sched_exit() does not need to specify fastcall anymore, as the x86 kernel defaults to regparm3, and no assembly code calls these functions. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: update delay-accounting to use CFS's precise statsBalbir Singh2007-07-09
| | | | | | | | | | | | update delay-accounting to use CFS's precise stats. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: make use of precise accounting for /proc task statsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | make use of CFS's precise accounting to drive /proc/<pid>/stat statistics. this code was co-authored by: Balbir Singh <balbir@linux.vnet.ibm.com> Dmitry Adamushko <dmitry.adamushko@gmail.com> Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com>
* | sched: turn on the use of unstable eventsIngo Molnar2007-07-09
| | | | | | | | | | | | make use of sched-clock-unstable events. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: x86, track TSC-unstable eventsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | track TSC-unstable events and propagate it to the scheduler code. Also allow sched_clock() to be used when the TSC is unstable, the rq_clock() wrapper creates a reliable clock out of it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: cfs core codeIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | apply the CFS core code. this change switches over the scheduler core to CFS's modular design and makes use of kernel/sched_fair/rt/idletask.c to implement Linux's scheduling policies. thanks to Andrew Morton and Thomas Gleixner for lots of detailed review feedback and for fixlets. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com> Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
* | sched: remove the sleep-bonus interactivity codeIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | remove the sleep-bonus interactivity code from the core scheduler. scheduling policy is implemented in the policy modules, and CFS does not need such type of heuristics. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove expired_starving()Ingo Molnar2007-07-09
| | | | | | | | | | | | | | | | | | remove the expired_starving() heuristics from the core scheduler. CFS does not need it, and this did not really work well in practice anyway, due to the rq->nr_running multiplier to STARVATION_LIMIT. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove sleep_typeIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | remove the sleep_type heuristics from the core scheduler - scheduling policy is implemented in the scheduling-policy modules. (and CFS does not use this type of sleep-type heuristics) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: cfs, add load-calculation methodsIngo Molnar2007-07-09
| | | | | | | | | | | | add the new load-calculation methods of CFS. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up __normal_prio() positionIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | clean up: move __normal_prio() in head of normal_prio(). no code changed. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: cleanup: move dequeue/enqueue_task()Ingo Molnar2007-07-09
| | | | | | | | | | | | | | cleanup: move dequeue/enqueue_task() to a more logical place, to not split up __normal_prio()/normal_prio(). Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: move around resched_task()Ingo Molnar2007-07-09
| | | | | | | | | | | | | | move resched_task()/resched_cpu() into the 'public interfaces' section of sched.c, for use by kernel/sched_fair/rt/idletask.c Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: remove the SleepAVG fieldIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | remove the SleepAVG field from /proc/<pid>/status, as with the removal of the sleep-average code this value no longer makes sense. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: clean up the rt priority macrosIngo Molnar2007-07-09
| | | | | | | | | | | | clean up the rt priority macros, pointed out by Andrew Morton. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | sched: add cfs_rq opsIngo Molnar2007-07-09
| | | | | | | | | | | | | | | | add the set_task_cfs_rq() abstraction needed by CONFIG_FAIR_GROUP_SCHED. (not activated yet) Signed-off-by: Ingo Molnar <mingo@elte.hu>