Re: Multiprocessoring

"[email protected]" <[email protected]>
Newsgroups gmane.comp.lang.smalltalk.gnu.general
Message-ID <[email protected]>
----- Op 30 mei 2020 om 19:14 schreef Wolfgang Dann [email protected]:

> Does anybody has experience with configure --enable-preemption?
> It looks like there is code in the VM. Does it work with Linux
> at least?
> 
> regards Wolfgang


Hi,

I am not familiar with this feature, but because I read about it here:

I tried to configure --enable-preemption on Solaris (with gst 3.2.91).

The configure / make / make install works.

$ find . -name '*.h' | xargs grep ENABLE_PREEMPT
./config.h:#define ENABLE_PREEMPTION 1

$ find . -name '*.c' | xargs grep ENABLE_PREEMPT
./libgst/interp.c:#ifdef ENABLE_PREEMPTION
./libgst/interp.c:#ifdef ENABLE_PREEMPTION
./libgst/interp.c:#ifdef ENABLE_PREEMPTION

I am not sure what I can or should test now.  Do you know more about this
"enable preemption" feature ??

If I run PATH=/usr/gnu/bin:$PATH gmake check, the output of the checks is:

## -------------------------------- ##
## GNU Smalltalk 3.2.91 test suite. ##
## -------------------------------- ##

Regression tests.

  1: arrays.st                                       ok
  2: classes.st                                      ok
  3: blocks.st                                       ok
  4: sets.st                                         ok
  5: processes.st                                    ok
  6: exceptions.st                                   ok
  7: intmath.st                                      ok
  8: floatmath.st                                    ok
  9: dates.st                                        ok
 10: objects.st                                      ok
 11: strings.st                                      ok
 12: chars.st                                        ok
 13: delays.st                                       ok
 14: geometry.st                                     ok
 15: cobjects.st                                     ok
 16: compiler.st                                     ok
 17: fileext.st                                      ok
 18: mutate.st                                       ok
 19: getopt.st                                       ok
 20: quit.st                                         ok
 21: pools.st                                        ok
 22: shape.st                                        ok
 23: streams.st                                      ok
 24: xlat.st                                         ok

Other simple tests.

 25: ackermann.st                                    ok
 26: ary3.st                                         ok
 27: except.st                                       ok
 28: fibo.st                                         ok
 29: hash.st                                         ok
 30: hash2.st                                        ok
 31: heapsort.st                                     ok
 32: lists.st                                        ok
 33: lists1.st                                       ok
 34: lists2.st                                       ok
 35: matrix.st                                       ok
 36: methcall.st                                     ok
 37: nestedloop.st                                   ok
 38: objinst.st                                      ok
 39: prodcons.st                                     ok
 40: random-bench.st                                 ok
 41: sieve.st                                        ok
 42: strcat.st                                       ok
 43: stcompiler.st                                   ok

Basic packages.

 44: SUnit                                           ok
 45: Parser                                          ok

ANSI compliancy tests.

 46: ArrayANSITest                                   ok
 47: ArrayFactoryANSITest                            ok
 48: BagANSITest                                     ok
 49: BagFactoryANSITest                              ok
 50: BooleanANSITest                                 ok
 51: ByteArrayANSITest                               ok
 52: ByteArrayFactoryANSITest                        ok
 53: CharacterANSITest                               ok
 54: CharacterFactoryANSITest                        ok
 55: DateAndTimeANSITest                             ok
 56: DateAndTimeFactoryANSITest                      ok
 57: DictionaryANSITest                              ok
 58: DictionaryFactoryANSITest                       ok
 59: DurationANSITest                                ok
 60: DurationFactoryANSITest                         ok
 61: DyadicValuableANSITest                          ok
 62: ErrorANSITest                                   ok
 63: ErrorClassANSITest                              ok
 64: ExceptionANSITest                               ok
 65: ExceptionClassANSITest                          ok
 66: ExceptionSetANSITest                            ok
 67: FailedMessageANSITest                           ok
 68: FileStreamFactoryANSITest                       ok
 69: FloatANSITest                                   ok
 70: FloatCharacterizationANSITest                   ok
 71: FractionANSITest                                ok
 72: FractionFactoryANSITest                         ok
 73: IdentityDictionaryANSITest                      ok
 74: IdentityDictionaryFactoryANSITest               ok
 75: IntegerANSITest                                 ok
 76: IntervalANSITest                                ok
 77: IntervalFactoryANSITest                         ok
 78: MessageNotUnderstoodANSITest                    ok
 79: MessageNotUnderstoodSelectorANSITest            ok
 80: MonadicBlockANSITest                            ok
 81: NilANSITest                                     ok
 82: NiladicBlockANSITest                            ok
 83: NotificationANSITest                            ok
 84: NotificationClassANSITest                       ok
 85: ObjectANSITest                                  ok
 86: ObjectClassANSITest                             ok
 87: OrderedCollectionANSITest                       ok
 88: OrderedCollectionFactoryANSITest                ok
 89: ReadFileStreamANSITest                          ok
 90: ReadStreamANSITest                              ok
 91: ReadStreamFactoryANSITest                       ok
 92: ReadWriteStreamANSITest                         ok
 93: ReadWriteStreamFactoryANSITest                  ok
 94: ScaledDecimalANSITest                           ok
 95: SelectorANSITest                                ok
 96: SetANSITest                                     ok
 97: SetFactoryANSITest                              ok
 98: SortedCollectionANSITest                        ok
 99: SortedCollectionFactoryANSITest                 ok
100: StringANSITest                                  ok
101: StringFactoryANSITest                           ok
102: SymbolANSITest                                  ok
103: TranscriptANSITest                              ok
104: WarningANSITest                                 ok
105: WarningClassANSITest                            ok
106: WriteFileStreamANSITest                         ok
107: WriteStreamANSITest                             ok
108: WriteStreamFactoryANSITest                      ok
109: ZeroDivideANSITest                              ok
110: ZeroDivideFactoryANSITest                       ok

Other packages.

111: Announcements                                   ok
112: Complex                                         ok
113: Continuations                                   ok
114: DBD-MySQL                                       skipped (testsuite.at:152)
115: DBD-PostgreSQL                                  skipped (testsuite.at:153)
116: DBD-SQLite                                      ok
117: DebugTools                                      ok
118: DhbNumericalMethods                             ok
119: Digest                                          ok
120: GDBM                                            ok
121: Iconv                                           FAILED (testsuite.at:159)
122: I18N                                            ok
123: Kernel-Tests                                    ok
124: Magritte                                        ok
125: Netlink                                         skipped (testsuite.at:163)
126: ROE                                             ok
127: ObjectDumper                                    ok
128: SandstoneDb                                     ok
129: Seaside-Core                                    ok
130: Sockets                                         expected failure (testsuite.at:168)
131: Sport                                           ok
132: Swazoo                                          ok
133: XML-XMLParser                                   ok
134: XML-Expat                                       ok
135: ZLib                                            ok

## ------------- ##
## Test results. ##
## ------------- ##

ERROR: 132 tests were run,
2 failed (1 expected failure).
3 tests were skipped.


The Iconv failure is also happening in the non-preemption case.

I don't know more about this 

  --enable-preemption     enable preemptive multitasking

but I can only report that it seems to configure and compile/build on Solaris.

Regards,
David Stes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.