On Tue, 10 May 2005 20:13:43 +0900
aq <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]