- 18 Jun, 2002 1 commit
-
-
Ingo Molnar authored
the current implementation does the following to 'give up' the CPU: - it decreases its priority by 1 until it reaches the lowest level - it queues the task to the end of the priority queue this scheme works fine in most cases, but if sched_yield()-active tasks are mixed with CPU-using processes then it's quite likely that the CPU-using process is in the expired array. In that case the yield()-ing process only requeues itself in the active array - a true context-switch to the expired process will only occur once the timeslice of the yield()-ing process has expired: in ~150 msecs. This leads to the yield()-ing and CPU-using process to use up rougly the same amount of CPU-time, which is arguably deficient. i've fixed this problem by extending sched_yield() the following way: + * There are three levels of how a yielding task will give up + * the current CPU: + * + * #1 - it decreases its priority by one. This priority loss is + * temporary, it's recovered once the current timeslice + * expires. + * + * #2 - once it has reached the lowest priority level, + * it will give up timeslices one by one. (We do not + * want to give them up all at once, it's gradual, + * to protect the casual yield()er.) + * + * #3 - once all timeslices are gone we put the process into + * the expired array. + * + * (special rule: RT tasks do not lose any priority, they just + * roundrobin on their current priority level.) + */
-
- 17 Jun, 2002 17 commits
-
-
Linus Torvalds authored
-
Rusty Russell authored
This was done by inspection, is it OK Anton? It's very simple:
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Rusty Russell authored
This patch removes the concept of "logical" CPU numbers, in preparation for CPU hotplugging.
-
Mikael Pettersson authored
Summary: 2.5.17 broke initrd on x86. Fix below. Why: Kai's patch in 2.5.17 to move x86-specific options from Makefile to arch/i386/boot/Makefile unfortunately lost the fact that the orginal "#export RAMDISK = -DRAMDISK=512" statement was commented out. (I suspect a typo.) RAMDISK is obsolete since 1.3.something, and uncommenting it has "interesting" effects since the ram_size field has a very different meaning now. The patch below reverts the statement to its pre-2.5.17 state. Perhaps it should be removed altogether?
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
David S. Miller authored
-
Russell King authored
-
David S. Miller authored
-
David S. Miller authored
-
Benjamin LaHaise authored
This patch splits fput into fput and __fput. __fput is needed by aio to construct a mechanism for performing a deferred fput during io completion, which typically occurs during interrupt context.
-
Benjamin LaHaise authored
This adds support for wait queue function callbacks, which are used by aio to build async read / write operations on top of existing wait queues at points that would normally block a process.
-
David S. Miller authored
-
David S. Miller authored
-
Michael Weber authored
-
Matthew Wilcox authored
This patch switches SCSI from a bottom half to a tasklet. It's been reviewed, tested & approved by Andrew Morton, James Bottomley & Doug Gilbert.
-
Jens Axboe authored
I took a quick look at why 2.5.21 hung at boot detecting partitions, because a 2.5.22 did the exact same thing on my test box today... The tcq locking is completely screwed now, and as I said before the weekend I think the entire locking is just getting worse now. Anyways, this patch at least attempts to make tcq follow the channel lock usage to make it work for me.
-
- 16 Jun, 2002 5 commits
-
-
Linus Torvalds authored
-
Robert Love authored
Attached patch brings over the sane bits from 2.4-ac: i.e. if Linus merges this and Alan merges your patch minus my complaints, the two trees will be in sync...
-
Linus Torvalds authored
-
Martin Dalecki authored
- Finally unify task_in_intr and task_mulin_intr. One crucial code path less to watch out, but a quite dangerous step in itself. PIO reading is functional again. The next step will be the unification of the write path of course. - Introduce a small helper for the execution of task file commands which basically just send a simple command down to the drive. - Add a buffer parameter to ide_raw_taskfile allowing to unify the handling of ioctl and normal ide_raw_taskfile request. - Fix some small function pointer type mismatches. Apply more host chip controller clenups by Bartlomiej: - move setting drive->current_speed from *_tune_chipset() to ide_config_drive_speed() cmd64x.c: - convert cmd64x_tuneproc() to use ata-timing library - clean cmd64x_tune_chipset() and cmd680_tune_chipset() hpt366.c: - remove empty timings table it8172.c: - kill prototypes - update to new udma_setup() scheme - misc cleanups
-
Linus Torvalds authored
-
- 15 Jun, 2002 14 commits
-
-
Linus Torvalds authored
Set up CardBus cards correctly: initialize them fully before calling device_register(), and make sure to tell the world that it's a PCI-like bus.
-
Pavel Machek authored
This kills Sysrq-D support (did not work anyway, and complicated code). Adds resume support to i8259A (otherwise interrupts will not work after S3). HAVE_NEW_DEVICE_MODEL is always true in 2.5, so we should define it. S3 can't work properly without that. Also limit toshiba workaround to S1. (This hide lack of i8259A support for me). Fixes compilation, and kills <asm/suspend.h> being included twice with ugly hacks around.
-
William Lee Irwin III authored
-
François Romieu authored
- (leak) memory allocated in dscc4_found1() isn't freed by caller in error path. dscc4_free1() is now in charge of this duty. - (style) code factored in dscc4_remove_one after use of dscc4_free1().
-
François Romieu authored
- (compilation fix) plain old typo in struct member naming.
-
François Romieu authored
- (compilation fix) missing init.h include; - (compilation fix) multiple pointers can't be set to NULL in one line if their type differ.
-
François Romieu authored
Courtesy of Kevin Curtis <kevin.curtis@farsite.co.uk>, posted on l-k the 2002/04/15. Description - (compilation fix) removal of deprecated fields in net_device; - (bug) early pci_enable_device.
-
Andries E. Brouwer authored
Below a patch removing the list of sense codes from usb/storage/debug.h since the same list is already found in scsi/constants.c. This also brings this list up to date with SCSI-3.
-
Andries E. Brouwer authored
The patch below cleans up some SCSI stuff. The main purpose is to avoid trying to read the partition table of a removable disk when the drive has told us that no media are present. (Right now we try to read a 4K block and fail and retry and fail, and give an I/O error on the first sector, then try to read the second sector and fail and retry ...) Unused fields sector_bit_size and sector_bit_shift in struct scsi_disk were removed. The field has_part_table (that has nothing to do with partition tables) was renamed to has_been_registered . The field ready was renamed to media_present . The overly long sd_init_onedisk() was split up. When we notice that no media are present anymore, the partitions are removed from /proc/partitions, but the drive remains, with size 0. A future patch will remove the field capacity - there are all too many places where capacities are stored - but the present patch is large enough already. There is also a quite independent patch in scsi_error.c (yesterday someone had an infinite loop retrying to read bad media) - this patch honours the SCpnt->retries. In case you applied this already, just ignore the scsi_error.c part. Also some "Overrides for Emacs" were removed.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Ingo Molnar authored
-
http://gkernel.bkbits.net/net-drivers-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
http://gkernel.bkbits.net/irda-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
http://gkernel.bkbits.net/misc-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 14 Jun, 2002 3 commits
-
-
Jes Sorensen authored
-
Jes Sorensen authored
-
William Stinson authored
- remove call to check_region - check the result of request_region - call release_region if something goes wrong afterwards during driver initialisation. I don't have this hardware so I can't verify if it works (compilation checked only).
-