Re: 3.2 release checkup

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Fri, 13 Jan 2012 10:19:42 -0700

On 01/13/2012 03:40 AM, Kinkie wrote:
>> * Windows support - Amos, Kinkie, Guido ?
>> >
>> > MinGW compat fixes are stalled by the test machines being down. Kinkie,
>> > Guido can you look into that please?
>> > CommIO needs shuffling into the DiskIO library. This will resolve one
>> > blocker build issue on Windows.
>> > SMP IPC support on Windows needs to be designed, built and tested.

> .. or we could try to make use of the dummy code that was developed
> for e.g. OpenBSD and simply not support SMP on Windows yet.

My understanding is that no new/special dummy code is needed for Squid
on Windows in non-SMP mode. Bugs notwithstanding, non-SMP code should
work as well as before shared caching and other SMP features were committed.

The reason we added fake shared memory segments and such is to enable
folks to use Rock store (and possibly other new features) in no-sharing
mode. Rock store is always using Ipc::Mem::Segment and can work in
non-sharing (and even non-SMP) modes. With the addition of fake
segments, Rock store became usable (in non-shared mode) on platforms
where there are not POSIX shared memory segments.

Here is a summary of "most advanced" configurations for each
representative platform, to illustrate the intent (lesser configurations
are also supported, of course):

  Linux: Shared Rock store in SMP mode.
  OpenBSD: Non-shared Rock store in SMP mode.
  Windows: Non-shared Rock store in non-SMP mode.

because

  Linux: Has UDS and POSIX shared segments.
  OpenBSD: Has UDS. Does not have POSIX shared segments.
  Windows: Does not have UDS and POSIX shared segments.

Again, I do not know whether there are some bugs that block some of the
above configurations, but the intent was to utilize available features
in each environment.

Needless to say that if somebody is interested in getting shared caching
and/or SMP working on other platforms, they need to implement IPC,
shared memory, and atomic primitives for those platforms. No significant
high-level code changes should be needed.

HTH,

Alex.
Received on Fri Jan 13 2012 - 17:20:14 MST

This archive was generated by hypermail 2.2.0 : Sat Jan 14 2012 - 12:00:08 MST