Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-30 Thread Chris Mair
I've compiled 8.0 beta 1 on a R5900 V3.1 (a playstation 2) running Linux (PS2 Linux 1) for portability testing. ... I'm wondering: would it be hard to fix the assembly spinlock code for the R5900? According to the previous port report from Red Hat, the PS2 chip simply doesn't have

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Tom Lane
Greg Stark [EMAIL PROTECTED] writes: Tom Lane [EMAIL PROTECTED] writes: According to the previous port report from Red Hat, the PS2 chip simply doesn't have any user-space TAS instruction, so you're pretty much stuck. Out of curiosity. If it lacks a tas instruction, is there really any smp

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Gavin Sherry
On Tue, 24 Aug 2004, Greg Stark wrote: Tom Lane [EMAIL PROTECTED] writes: Chris [EMAIL PROTECTED] writes: I've compiled 8.0 beta 1 on a R5900 V3.1 (a playstation 2) running Linux (PS2 Linux 1) for portability testing. ... I'm wondering: would it be hard to fix the assembly

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Peter Eisentraut
Tom Lane wrote: If that's not worth the trouble, would it be a good idea to have configure disable spinlocks automagically on unsupported platforms? It used to do that. We deliberately changed this in 8.0 so that people would be aware that they were losing performance, and would be

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Tom Lane
Peter Eisentraut [EMAIL PROTECTED] writes: Actually, the previous port report for 7.4 already required explicit disabling: needs new config.guess, --disable-spinlocks Yeah, because *normal* ARM processors have a TAS instruction, and configure only recognizes that you have an ARM.

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Greg Stark
Tom Lane [EMAIL PROTECTED] writes: Greg Stark [EMAIL PROTECTED] writes: Tom Lane [EMAIL PROTECTED] writes: According to the previous port report from Red Hat, the PS2 chip simply doesn't have any user-space TAS instruction, so you're pretty much stuck. Out of curiosity. If it lacks a

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Tom Lane
Greg Stark [EMAIL PROTECTED] writes: Tom Lane [EMAIL PROTECTED] writes: Think harder... one processor != one process... Well sure, but you don't want a spinlock in that case. Actually you do, when the normal case is that you don't have to block. You want it to fall through as quickly as

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Zeugswetter Andreas SB SD
Think harder... one processor != one process... Well sure, but you don't want a spinlock in that case. Actually you do, when the normal case is that you don't have to block. You want it to fall through as quickly as possible in the success case (the blocking case is going to suck no

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Tom Lane
Zeugswetter Andreas SB SD [EMAIL PROTECTED] writes: I guess it could still save some CPU cycles in the single CPU case, if you yield() instead of tight loop around TAS in the failure case. Problem is yield and detecting single CPU is not portable. Sure, but that's still a spinlock --- you're

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Neil Conway
Tom Lane wrote: But yes, a yield primitive would be nice, and so would knowing the number of CPUs. I'm planning on submitting a patch shortly that determines the number of CPUs in the machine and adjusts the spinlock behavior accordingly (there are various APIs for getting the # of CPUs, like

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Tom Lane
Neil Conway [EMAIL PROTECTED] writes: Speaking of improving spinlock behavior, there's a Solaris API that I think might be worth using: schedctl_start() asks the scheduler to not pre-empt the current process, and schedctl_stop() cancels the request. The idea the first extremely short

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Neil Conway
Tom Lane wrote: Associating such a thing with spinlocks seems certain to be a dead loss, as the amount of time we normally hold a spinlock is much less than the time to make one kernel call, let alone two. Yeah, I was thinking about this. ISTM the only way that Sun would bother to provide an API

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Tom Lane
Neil Conway [EMAIL PROTECTED] writes: Tom Lane wrote: On the count-the-number-of-CPUs patch, what sort of coverage are you expecting to get? I haven't yet seen a platform that doesn't provide some means to get the # of CPUs, but I suppose there might be one... It might be worth exposing

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-24 Thread Greg Stark
Neil Conway [EMAIL PROTECTED] writes: Tom Lane wrote: Associating such a thing with spinlocks seems certain to be a dead loss, as the amount of time we normally hold a spinlock is much less than the time to make one kernel call, let alone two. Yeah, I was thinking about this. ISTM the

[HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-23 Thread Chris
Hi, I've compiled 8.0 beta 1 on a R5900 V3.1 (a playstation 2) running Linux (PS2 Linux 1) for portability testing. Here is what make check gave: Without --disable-spinlocks compilation *appears* to be fine, but the backends core dumps on the spinlock assembly in s_lock.c (signal 4 -- illegal

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-23 Thread Tom Lane
Chris [EMAIL PROTECTED] writes: I've compiled 8.0 beta 1 on a R5900 V3.1 (a playstation 2) running Linux (PS2 Linux 1) for portability testing. ... I'm wondering: would it be hard to fix the assembly spinlock code for the R5900? According to the previous port report from Red Hat, the PS2

Re: [HACKERS] 8.0 beta 1 on linux-mipsel R5900

2004-08-23 Thread Greg Stark
Tom Lane [EMAIL PROTECTED] writes: Chris [EMAIL PROTECTED] writes: I've compiled 8.0 beta 1 on a R5900 V3.1 (a playstation 2) running Linux (PS2 Linux 1) for portability testing. ... I'm wondering: would it be hard to fix the assembly spinlock code for the R5900? According to the