Messages in this thread | | | Date | Thu, 26 Oct 2006 15:11:54 -0400 | From | "Frank Ch. Eigler" <> | Subject | Re: [Patch 0/5] I/O statistics through request queues |
| |
HI -
On Thu, Oct 26, 2006 at 05:36:59PM +0200, Martin Peschke wrote:
> [...] I meant scaling with regard to lots of different keys. This > is what you have described as "By 'rows'", isn't it?
Yes.
> For example, if I wanted to store a timestamp for each request > issued, and there were lots of devices and the I/O was driving the > system crazy - how would affect that lookup time?
If you have only hundreds or thousands of such requests on the go at any given time, that's not a problem. Hash by pointer.
> [...] I would be done with that lookup table entry then. But it > won't go away, will it? Is this an issue?
The entry can be instantly cleared for reuse by another future key-value pair. Think of it like a mini slab cache.
> [...] Anyway, I think this discussion shows that any dynamically > added client of kernel markers which needs to hold extra data for > entities like requests might be difficult to be implemented > efficiently (compared to static instrumentation), because markers, > by nature, only allow for code additions, but not for additions to > existing data structures.
It's a question that mixes quantitative and policy matters. It's certainly *somewhat* slower to store data on the side, but whether in the context of the event source that is okay or not Just Depends. On the flip side, patching in hard-coded extra data storage for busy structures also has a cost if the statistics gathering is not actually requested by the end-user. (On the policy side, one must weigh to what extent it's reasonable to pad more and more data structures, just in case.)
- FChE - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |