On 6/2/06, chas williams - CONTRACTOR <[EMAIL PROTECTED]> wrote:
In message <[EMAIL PROTECTED]>,Jeffrey Hutzelman w
rites:
>I'm not so sure. Since the OS doesn't actually have creds like we expect,
>we have to cons them up for every filesystem operation (that is, every time
>crget() is called). That's pretty frequent, and it seems appropriate to
>avoid the overhead of memory allocation every time.
but everytime we dive into crget() we are taking a mutex and grabbing
an entry from the pool. that's essentially what kmalloc does most of
the time anyway. you could save a little bit of memory not keeping
track of the same buffers twice. i suspect empirical testing would
be necessary to decide if there is any perceptable difference.
Does it even acquire a mutex most of the time? The Linux allocator is
based upon the Solaris slab allocator. That allocator just disables
preemption and tries to satisfy the allocations out of a cpu-local
slab, only grabbing a mutex if the local allocation fails. Our
home-grown allocators are going to need major surgery to compete with
such a highly-performant algorithm.
-Tom
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel