Applied, thank you
On Mon, Dec 16, 2019 at 10:57 PM Jan Klötzke <j...@kloetzke.net> wrote: > > The socket receive buffer turned out to be too small for real world > systems. Use the same size as udevd to be on the safe side. As this is > just a limit and the memory is not allocated by the kernel until really > needed there is actually no memory wasted. > > Signed-off-by: Jan Klötzke <j...@kloetzke.net> > --- > util-linux/mdev.c | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) > > diff --git a/util-linux/mdev.c b/util-linux/mdev.c > index 207a112c1..4e3299d22 100644 > --- a/util-linux/mdev.c > +++ b/util-linux/mdev.c > @@ -1155,9 +1155,21 @@ static void initial_scan(char *temp) > > #if ENABLE_FEATURE_MDEV_DAEMON > > -/* uevent applet uses 16k buffer, and mmaps it before every read */ > -# define BUFFER_SIZE (2 * 1024) > -# define RCVBUF (2 * 1024 * 1024) > +/* > + * The kernel (as of v5.4) will pass up to 32 environment variables with a > + * total of 2kiB on each event. On top of that the action string and device > + * path are added. Using a 3kiB buffer for the event should suffice in any > + * case. > + * > + * As far as the socket receive buffer size is concerned 2MiB proved to be > too > + * small (see [1]). Udevd seems to use a whooping 128MiB. The socket receive > + * buffer size is just a resource limit. The buffers are allocated lazily so > + * the memory is not wasted. > + * > + * [1] http://lists.busybox.net/pipermail/busybox/2019-December/087665.html > + */ > +# define BUFFER_SIZE (3 * 1024) > +# define RCVBUF (128 * 1024 * 1024) > # define MAX_ENV 32 > > static void daemon_loop(char *temp, int fd) > -- > 2.20.1 > > _______________________________________________ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox