Messages in this thread | | | Date | Tue, 10 May 2005 15:24:10 +0400 | From | Evgeniy Polyakov <> | Subject | Re: [PATCH 2.6.12-rc3-mm3] connector: add a fork connector |
| |
On Tue, 10 May 2005 20:13:43 +0900 aq <aquynh@gmail.com> wrote:
> > If system under so bad conditions that even process context allocation > > fails, then connector may drop message and will return error, > > probably in such conditions one may not even trust accounting data, > > so, Guillaume, feel free to drop it and just do not send data - > > it's only a matter of information importance. > > > > what i find most troublesome of this solution is that information > collected by ELSA is not reliable. The reason is that it uses netlink, > which is connectionless. So under heavy pressure, we can lose some > critical accounting data. > > At least it would be nice if we can know when and why there are > problems of losing data with netlink. Any solution?
1. Netlink message may be lost only under strong memory pressure, when allocation (in this case it is process allocation) fails. cn_netlink_send() returns error code for that. 2. Userspace application do not read it's queue for a long time, so it was overflowed. Do not blame netlink here.
All netlink messages being sent using connector have two special fields in it's header - seq and ack, which should be used by caller to provide information about number of messages and their's order. By properly using such fields [fork connector uses per-cpu variables with processor id in each message] userspace can detect that messages were lost.
Other info can be found in connector's documentation and all previous discussions.
> thank you, > aq
Evgeniy Polyakov
Only failure makes us experts. -- Theo de Raadt - 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/
| |