From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11891 invoked by alias); 8 Jan 2007 16:20:15 -0000 Received: (qmail 11878 invoked by uid 371); 8 Jan 2007 16:20:14 -0000 Date: Mon, 08 Jan 2007 16:20:00 -0000 Message-ID: <20070108162014.11876.qmail@sourceware.org> From: nickg@sourceware.org To: ecos-cvs@ecos.sourceware.org Subject: ecos/packages/kernel/current ChangeLog cdl/ker ... Mailing-List: contact ecos-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: , Sender: ecos-cvs-owner@sourceware.org List-Subscribe: X-SW-Source: 2007/txt/msg00012.txt.bz2 CVSROOT: /cvs/ecos Module name: ecos Changes by: nickg@sourceware.org 2007-01-08 16:20:14 Modified files: packages/kernel/current: ChangeLog packages/kernel/current/cdl: kernel.cdl packages/kernel/current/include: bitmap.hxx kapidata.h mlqueue.hxx packages/kernel/current/src/sched: mlqueue.cxx sched.cxx packages/kernel/current/tests: timeslice.c tm_basic.cxx Added files: packages/kernel/current/tests: timeslice2.c Log message: * src/sched/mlqueue.cxx (add_thread, yield): * src/sched/sched.cxx (unlock_inner, thread_entry): * include/mlqueue.hxx (class Cyg_SchedThread_Implementation): * include/kapidata.h (CYG_SCHEDTHREAD_TIMESLICE_MEMBER): * include/bitmap.hxx (class Cyg_SchedThread_Implementation): Reimplement timeslicing code. There is now a timeslice_count field in each thread which is moved to and from the per-CPU counter during thread dispatch. This approach has been taken to minimize the changes needed to SMP code. Scheduler specific thread functions handle counter save, restore and reset. These functions are defined (as empty inlines) even when timeslicing is disabled, or in non-timeslicing schedulers, to avoid adding ifdefs to the code (this change actually removes some). * tests/timeslice2.c: * cdl/kernel.cdl: Added timeslice2 test to test behaviour of timeslicing while being preempted.