Print a (rate-limited) warning when UMA zone is full.

Robert N. M. Watson rwatson at FreeBSD.org
Thu Nov 29 10:56:35 UTC 2012


On 29 Nov 2012, at 10:53, Pawel Jakub Dawidek wrote:

>> It does sound like the underlying primitives require some tweaking of we're going to increase their use in the ways proposed. This is probably overdue anyway.
> 
> So what do you think about adding ppmratecheck() next to ppsratecheck()?
> 
> If a bigger change is required that will change ppsratecheck() KPI, then
> I'd also like to create a structure to hide 'struct timeval lastfail'
> and 'int curfail', eg:
> 
> 	struct ratecheck {
> 		struct timeval	rc_lastfail;
> 		int		rc_curfail;
> 	};
> 
> And use this with the new ppsratecheck().

Sounds good to me.

>>>> Finally, we should make sure that in all instances where we point at 
>>>> tuning(7), it has something useful to say about the topic :-).
>>> 
>>> Yes, I am aware the warnings proposed in the patch are a bit too
>>> optimistic:)
>> 
>> The other fix, of course, is not to refer to tuning(7) :-).
> 
> This is the optimistic part I was referring to - you can't find much in
> tuning(7) about those sysctls/tunables.
> 
>> In general, providing feedback on tuning problems is a very good idea, and something we should do more of. We should also continue to improve our auto-tuning so that users see the warnings only infrequently.
> 
> Agreed, especially if reaching those limits is expected by the
> administrator and he is not going to increase them. But in this case it
> would be even better to provide a way to turn them off.

I wonder if each instance of a 'ratecheck' should come with an associated tunable/sysctl pair to allow suppression to be easily configured. I almost find myself wondering if we want something that looks a bit like our static SYSCTL/VFS_SET/etc declarations:

	static RATECHECK(..., "foo.bar.baz", ...);

Unfortunately, the tunable/sysctl mismatch makes it slightly awkward since you'd need to declare both, but I think probably worthwhile.

Robert


More information about the freebsd-arch mailing list