IOV Parts

Hello,

I was wondering what the maximum number of iov_t parts you can send under
Neutrino?

Thanks,
Eric

Eric Norton wrote:

Hello,

I was wondering what the maximum number of iov_t parts you can send under
Neutrino?

Thanks,
Eric

INT_MAX I think would be the technical limit, but you’d never be able to
allocate that much iov_t space anyways.

From a performance standpoint, using big IOV lists isn’t a good idea,
as the kernel has to translate each one of those IOVs for message
passing. IOW, it’s better to use a small number of IOVs with larger
payloads than a large number of IOVs with small payloads.


Cheers,
Adam

QNX Software Systems Ltd.
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>

The reason I ask, is because we have a piece of code that preallocates some
number of IOV parts but doesn’t necessarily use all of them. There just has
to be enough available. We’re porting code from QNX4 to QNX6, where in 4 we
had mxfer_entry[_QNX_MXTAB_LEN] set aside. We’re just looking for the
equivalent and we’ll certainly have to keep in mind the performance point
you’ve made.

Eric

“Adam Mallory” <amallory@qnx.com> wrote in message
news:ccmvfj$cfl$1@inn.qnx.com

Eric Norton wrote:
Hello,

I was wondering what the maximum number of iov_t parts you can send
under
Neutrino?

Thanks,
Eric



INT_MAX I think would be the technical limit, but you’d never be able to
allocate that much iov_t space anyways.

From a performance standpoint, using big IOV lists isn’t a good idea,
as the kernel has to translate each one of those IOVs for message
passing. IOW, it’s better to use a small number of IOVs with larger
payloads than a large number of IOVs with small payloads.


Cheers,
Adam

QNX Software Systems Ltd.
[ > amallory@qnx.com > ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <> pschon@baste.magibox.net

Eric Norton wrote:

The reason I ask, is because we have a piece of code that preallocates some
number of IOV parts but doesn’t necessarily use all of them. There just has
to be enough available. We’re porting code from QNX4 to QNX6, where in 4 we
had mxfer_entry[_QNX_MXTAB_LEN] set aside. We’re just looking for the
equivalent and we’ll certainly have to keep in mind the performance point
you’ve made.

The qnx4 limit was 255, and you’re safe with the same amount of entries
in Neutrino.


Cheers,
Adam

QNX Software Systems Ltd.
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>