Re: [PATCH] bsps/sparc: Fix BSS initialization

2014-05-14 Thread Daniel Hellstrom
Hello Sebastian, I think the patch is correct, however I would rather see that you use g4 instead of g2 to increment, that way you don't need the move either. Looking in the area of the code that you patch, it seems as if this code hasn't been run. I have a TODO since long to go over this code,

SMP: Two locking protocols for clustered/partitioned scheduling

2014-05-14 Thread Sebastian Huber
Hello, now all ingredients are in place to implement the locking protocols necessary for proper clustered/partitioned scheduling support. The benefit of clustered/partitioned scheduling is that each scheduler instance can operate mostly independent of the other instances [1]. This helps to k

[PATCH 1/1] sparc: Change asm to __asm__ to compile with -std=c99.

2014-05-14 Thread Daniel Cederman
--- cpukit/score/cpu/sparc/rtems/score/cpu.h |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h index b931d2f..532d882 100644 --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h +++ b/cpukit/score/c

Re: [PATCH] bsps/sparc: Fix BSS initialization

2014-05-14 Thread Sebastian Huber
On 2014-05-14 09:37, Daniel Hellstrom wrote: Hello Sebastian, I think the patch is correct, however I would rather see that you use g4 instead of g2 to increment, that way you don't need the move either. Ok, see follow up patch. Looking in the area of the code that you patch, it seems as if

Re: [PATCH 1/1] sparc: Change asm to __asm__ to compile with -std=c99.

2014-05-14 Thread Sebastian Huber
On 2014-05-14 10:17, Daniel Cederman wrote: --- cpukit/score/cpu/sparc/rtems/score/cpu.h |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h index b931d2f..532d882 100644 --- a/cpukit/score/

[PATCH 1/2] bsps/sparc: Fix data copy in start procedure

2014-05-14 Thread Sebastian Huber
Use the register %g4 for the data content since it must be an even numbered register due to the std/ldd. Use the register %g2 for the BSS start address, so that it can be later re-used for the BSS zero loop. --- c/src/lib/libbsp/sparc/shared/start/start.S | 18 +- 1 files change

[PATCH 2/2] bsps/sparc: Fix BSS initialization

2014-05-14 Thread Sebastian Huber
Use __bss_start available via %g2 to clear the BSS section. The usage of _edata resulted in a copy of [_edata, __bss_start) from ROM to RAM and then a clear to zero of this area. Clear now only [__bss_start, _end). --- c/src/lib/libbsp/sparc/shared/start/start.S |2 -- 1 files changed, 0 ins

Re: [PATCH] bsps/sparc: Fix BSS initialization

2014-05-14 Thread Daniel Hellstrom
On 05/14/2014 10:31 AM, Sebastian Huber wrote: On 2014-05-14 09:37, Daniel Hellstrom wrote: Hello Sebastian, I think the patch is correct, however I would rather see that you use g4 instead of g2 to increment, that way you don't need the move either. Ok, see follow up patch. Ok, thanks.

Re: [PATCH 1/2] bsps/sparc: Fix data copy in start procedure

2014-05-14 Thread Daniel Hellstrom
Both patches in this series looks good. Thanks! Haven't tested it though. Please merge it since we will temporary branch from mainline the coming days for the SMP project. DanielH On 05/14/2014 10:57 AM, Sebastian Huber wrote: Use the register %g4 for the data content since it must be an eve

Re: [PATCH 1/2] bsps/sparc: Fix data copy in start procedure

2014-05-14 Thread Sebastian Huber
Hello Daniel, thanks for the quick review. I checked it in. With Git revision 3f3d22271129993b865c25057b784dce13ffa778 all tests except - SP2038, - SPINTRCRITICAL 10, and - SMPLOAD 1. complete successfully on NGMP in the SMP configuration. On 2014-05-14 14:37, Daniel Hellstrom wrote: Both p

Re: [PATCH 1/2] bsps/sparc: Fix data copy in start procedure

2014-05-14 Thread Sebastian Huber
On 2014-05-14 14:44, Sebastian Huber wrote: With Git revision 3f3d22271129993b865c25057b784dce13ffa778 all tests except - SP2038, - SPINTRCRITICAL 10, and - SMPLOAD 1. complete successfully on NGMP in the SMP configuration. Sorry, the revision is wrong, it is 249eaf9991ef6d1d6f36223fee5cd3c12

Re: [PATCH] score: Simplify _Thread_Change_priority()

2014-05-14 Thread Sebastian Huber
On 05/14/2014 05:40 PM, Joel Sherrill wrote: On 5/14/2014 10:32 AM, Sebastian Huber wrote: The function to change a thread priority was too complex. Simplify it with a new scheduler operation. This increases the average case performance due to the simplified logic. The interrupt disabled cr

psim fails to link with --enable-smp

2014-05-14 Thread Joel Sherrill
Hi All of the SPARC BSPs are OK with --enable-smp but at least psim doesn't link when it is enabled. I haven't checked ARM but I suspect that some default magic needs to be in place in the Makefile.am's. powerpc-rtems4.11-gcc -B../../../../../psim/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I.

Re: [PATCH] score: Simplify _Thread_Change_priority()

2014-05-14 Thread Joel Sherrill
On 5/14/2014 12:24 PM, Sebastian Huber wrote: > On 05/14/2014 05:40 PM, Joel Sherrill wrote: >> >> On 5/14/2014 10:32 AM, Sebastian Huber wrote: >>> The function to change a thread priority was too complex. Simplify it >>> with a new scheduler operation. This increases the average case >>> perfo

questions related to SOCIS [ taskqueue ]

2014-05-14 Thread Iurie
Hi, i would like to implement the taskqueue in the SOCIS programme. www.rtems.org/wiki/index.php/RTEMSSystemEvents i have already found its the implementation in the freeBSD: http://svnweb.freebsd.org/base/head/sys/kern/subr_taskqueue.c?view=markup http://svnweb.freebsd.org/base/head/sys/sys/task

Proposed Affinity Changes

2014-05-14 Thread Joel Sherrill
Hi Although I think there are only a few code paths to address for affinity added to the Priority SMP Scheduler, the modifications appear to be very subtle and I want to get feedback given the potential impact on other schedulers. + set_affinity + _Scheduler_SMP_Enqueue_ordered() + _Scheduler_SMP

Re: questions related to SOCIS [ taskqueue ]

2014-05-14 Thread Sebastian Huber
Hello Iurie, TASKQUEUE(9) and KQUEUE(2) is already supported via the new network stack. So I don't think there is much to do here. http://git.rtems.org/rtems-libbsd/ http://git.rtems.org/rtems-libbsd/tree/testsuite/selectpollkqueue01/test_main.c TASKQUEUE(9) is heavily used by the network s