re: https://bz.apache.org/bugzilla/show_bug.cgi?id=45615

I think it best to follow up here as per suggestions by Yann and Rainer
wherein I can run further tests and experiments to determine what is
happening here in these Niagara class systems.

Firstly, sorry for awaking what seems like a long dead cold bug but it
really isn't a "Large Files not supported" bug as opposed to just a
message that needs to be tweaked.  Indeed yes this is a 64 bit build and
so off_t and size_t and going to be 64-bit sized :


int
main(int argc, char *argv[])
{

    printf ("\nC\n");
    printf ( "sizeof char      = %d\n", sizeof (char));
    printf ( "sizeof double    = %d\n", sizeof (double));
    printf ( "sizeof float     = %d\n", sizeof (float));
    printf ( "sizeof int       = %d\n", sizeof (int));
    printf ( "sizeof long      = %d\n", sizeof (long));
    printf ( "sizeof long long = %d\n", sizeof (long long));
    printf ( "sizeof short     = %d\n", sizeof (short));
    printf ( "sizeof void *    = %d\n", sizeof (void *));
    printf ( "sizeof clock_t   = %d\n", sizeof (clock_t));
    printf ( "sizeof gid_t     = %d\n", sizeof (gid_t));
    printf ( "sizeof pid_t     = %d\n", sizeof (pid_t));
    printf ( "sizeof size_t    = %d\n", sizeof (size_t));
    printf ( "sizeof ssize_t   = %d\n", sizeof (ssize_t));
    printf ( "sizeof off_t     = %d\n", sizeof (off_t));
    printf ( "sizeof time_t    = %d\n", sizeof (time_t));
    printf ( "sizeof uid_t     = %d\n", sizeof (uid_t));
    printf ( "sizeof \"\"        = %d\n", sizeof (""));

    return (EXIT_SUCCESS);

}

C
sizeof char      = 1
sizeof double    = 8
sizeof float     = 4
sizeof int       = 4
sizeof long      = 8
sizeof long long = 8
sizeof short     = 2
sizeof void *    = 8
sizeof clock_t   = 8
sizeof gid_t     = 4
sizeof pid_t     = 4
sizeof size_t    = 8
sizeof ssize_t   = 8
sizeof off_t     = 8
sizeof time_t    = 8
sizeof uid_t     = 4
sizeof ""        = 1

So that seems clear.

As for the blocking rand, well hrmmm, not unless I was trying to read a
ton of data from /dev/random wherein :

Devices                                                random(7D)

NAME
     random, urandom - Strong random number generator device

SYNOPSIS
     /dev/random
     /dev/urandom

DESCRIPTION
     The /dev/random and /dev/urandom  files  are  special  files
     that  are  a source for random bytes generated by the kernel
     random  number  generator  device.   The   /dev/random   and
     /dev/urandom  files  are suitable for applications requiring
     high quality random numbers for cryptographic purposes.

     The generator device produces random numbers from  data  and
     devices available to the kernel and estimates  the amount of
     randomness (or entropy) collected from  these  sources.  The
     entropy  level  determines the amount of high quality random
     numbers that are produced at a given time.

     Applications retrieve random bytes by reading /dev/random or
     /dev/urandom. The /dev/random interface returns random bytes
     only when sufficient amount of entropy has  been  collected.
     If  there  is  no entropy to produce the requested number of
     bytes,  /dev/random  blocks  until  more  entropy   can   be
     obtained.  Non-blocking  I/O mode can be used to disable the
     blocking behavior. The /dev/random interface  also  supports
     poll(2). Note that using poll(2) will not increase the speed
     at which random numbers can be read.


etc etc ...

So I would expect that /dev/random may slow down but not by too much
while many other processes are running on the system and in this case
the build system is a single virtual zone inside a machine with a
number of zones.  There should be plenty of data. However I have never
run a benchmark. I can certainly run a test for "blocking rand()" as
per http://pubs.opengroup.org/onlinepubs/9699919799/functions/rand.html


However I will say that the Apache 2.4.25 server seems to be running
very well with this new apr and apr-util but I am sure we can sort out
this weird test behavior. I certainly have the Sparc hardware sitting
here and can even provide the Oracle Sparc M7 tests if needed.

Dennis

Reply via email to