NBUF limits on all OpenServer versions

Ask a Question related to SCO, Design and Development.

  1. #1

    Default NBUF limits on all OpenServer versions

    Hi all,


    After some searches on google, it seems that the value for NBUF in
    these systems is limited to around 450MB.

    If the above is correct, is there anyone that knows why this limit
    wasn't increased with 5.0.7?
    Technical explanation appreciated.

    If incorrect how do we change it to be above that limit as some of my
    colleagues would like to be able to do it.


    Thanks all




    Frederico Fonseca
    ema il: frederico_fonseca at syssoft-int.com
    Frederico Fonseca Guest

  2. Similar Questions and Discussions

    1. What will happen to OpenServer...
      I was curious to see that SCO claimed a large company had purchased SCO licences for Linux installations. SCO refused to reveal the name but...
    2. defbootstr | SCO OpenServer 5.06
      Hello, I have been using SCO OpenServer 5.06 images on Compaq's ML-350, which, until now had been using the 'Compaq RAID LC2' controller; for...
    3. OpenServer 5.0.6
      Hi a query someone knows if OpenOffice can run under Sco OpenServer 5.0.6 downloading the sources and compiling it thanks in advance I ask it...
    4. SCO OpenServer 5.0.5 Error
      amitdixit typed (on Sat, Jul 12, 2003 at 05:06:37AM +0000): | | We are on SCO Openserver 5.0.5 on HP Netserver LH3 with Raid 5. | The following...
    5. How do I increase NBUF safely?
      mynews44@yahoo.com (google account) wrote in message news:<e84f5d12.0306242103.6fefa11@posting.google.com>... Increase NBUF to maximum value:...
  3. #2

    Default Re: NBUF limits on all OpenServer versions

    In article <ccqkkvkqv0q7i217f7oitvj6o4b2b7lc6e@4ax.com> [email]real-email-in-msg-spam@email.com[/email] writes:
    $After some searches on google, it seems that the value for NBUF in
    $these systems is limited to around 450MB.
    $
    $If the above is correct, is there anyone that knows why this limit
    $wasn't increased with 5.0.7?
    $Technical explanation appreciated.

    I don't know the kernel innards; only someone like Bela or John
    would be able to post an answer that is based on definitive
    knowledge of this (and quite probably also definitive knowledge
    of engineering discussions about what things ought to be changed
    in various OS releases).

    But here's a guess. Most data structures include both the data
    itself (the buffer, in this case), plus some kind of administrative
    overhead - linked lists, information about just what actually is in
    the data (like whether the buffer in question is dirty, which block on
    which device has its contents in this buffer), and so on.

    Most system limits in binary computers are powers of two.
    512 MB is a power of two. Each buffer is 1 kB, plus whatever
    the overhead is. Multiply that by 450 000 (the limit for NBUF)
    and I'm guessing you'll get slightly under 512 MB.

    Now, why there's a 512 MB limit ... dunno. There's a 4 GB
    addressing limit on the 80386. Yes, this has been increased in
    more recent CPUs, but OSR5 is fundamentally a 386 OS, and
    while the minimum system requirement is a Pentium, it also states
    that customized versions will run on 386 machines, so the kernel
    must still be 386 code with support for later CPUs. So this
    512 MB probably relates to some kind of memory layout that
    was designed in the 386 days. This layout may be so deeply
    ingrained in the kernel that it would be a major undertaking to
    increase the maximum value of NBUF, or maybe it would break
    device drivers that were written based on that layout, or something
    like that.

    Like I said, just a guess.
    --
    Stephen M. Dunn <stephen@stevedunn.ca>
    >>>----------------> [url]http://www.stevedunn.ca/[/url] <----------------<<<
    ------------------------------------------------------------------
    Say hi to my cat -- [url]http://www.stevedunn.ca/photos/toby/[/url]
    Stephen M. Dunn Guest

  4. #3

    Default Re: NBUF limits on all OpenServer versions

    Frederico Fonseca wrote:
    > After some searches on google, it seems that the value for NBUF in
    > these systems is limited to around 450MB.
    >
    > If the above is correct, is there anyone that knows why this limit
    > wasn't increased with 5.0.7?
    > Technical explanation appreciated.
    >
    > If incorrect how do we change it to be above that limit as some of my
    > colleagues would like to be able to do it.
    The limit remains 450MB.

    Buffer cache buffers are allocated out of kernel virtual addresses which
    can be "direct mapped". These are addresses in the C0000000-DFFFFFFF
    range. Kernel virtual addresses in this range can be converted to
    physical addresses by subtracting C0000000; and conversely, physical
    addresses below 20000000 can be converted to kernel virtual addresses by
    adding C0000000. (Of course there are macros that should be used. You
    wanted the technical details...)

    The total range in question is 1/2 gigabyte. The actual limit of 450MB
    was arbitrarily set to leave some direct-map space for other uses. It
    could probably be pushed up to 475MB or something like that, but I
    doubt you would find such a small increment helpful.

    Why is the direct map important here? HBAs usually need to know the
    physical address of a transfer buffer, since the DMA hardware speaks
    physical addresses. Converting an virtual address to a physical address
    is very cheap for addresses in the direct map. It's expensive for other
    addresses, requiring the kernel to walk data structures looking for the
    translation. HBA drivers typically use the cheap macros instead of the
    expensive data-structure-walking functions; especially since the buffer
    cache is designed to always give them a direct-map buffer address.

    Expanding beyond the direct map would require one of:

    (1) another bounce-buffer scheme where the buffer cache would always
    pass direct-map addresses to the HBA driver, then copy the data
    elsewhere (as is already done for HBA drivers that do ISA DMA to
    addresses < 16MB); or

    (2) new protocols between HBA drivers and the buffer cache, so the
    buffer cache would know which buffers never to deliver to a
    particular HBA. This would also require updated HBA drivers to
    take advantage of the new scheme.
    >Bela<
    Bela Lubkin Guest

  5. #4

    Default Re: NBUF limits on all OpenServer versions

    On Mon, 25 Aug 2003 20:58:48 +0100, Frederico Fonseca
    <real-email-in-msg-spam@email.com> wrote:
    >Hi all,
    >
    >
    >After some searches on google, it seems that the value for NBUF in
    >these systems is limited to around 450MB.
    >
    >If the above is correct, is there anyone that knows why this limit
    >wasn't increased with 5.0.7?
    >Technical explanation appreciated.
    >
    >If incorrect how do we change it to be above that limit as some of my
    >colleagues would like to be able to do it.
    >
    >
    >Thanks all
    >
    >
    >
    >
    >Frederico Fonseca
    >ema il: frederico_fonseca at syssoft-int.com
    Bela and Steve,

    Thank you both for your answers.
    The tech bit is good enough and does clarify the reasons why.


    Thanks.

    Frederico Fonseca


    Frederico Fonseca
    ema il: frederico_fonseca at syssoft-int.com
    Frederico Fonseca Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139