On Tue, 2016-07-05 at 15:49 -0400, Steven Rostedt wrote:
> On Tue, 5 Jul 2016 21:42:45 +0200 Borislav Petkov <[email protected]> wrote:
> > On Tue, Jul 05, 2016 at 02:57:32PM -0400, Steven Rostedt wrote:
> > > Perhaps we should show both, unless you don't think this will ever be
> > > used by anything other than devkmsg?
> > I'd say let's do it only when we go down that road and start using it
> > for something else.
> >
> > Because, for example, the ratelimiting thing is, in fact, generic but it
> > is used primarily to ratelimit printks. Even though it could be used for
> > something else, theoretically...
> >
> But you know... Build it and they will come.
arch/s390/kvm/kvm-s390.c: ratelimit_state_init(&kvm->arch.sthyi_limit, 5
* HZ, 500);
As far as I know, _ratelimit is used for non-printk purposes in
arch/s390/kvm/sthyi.c
int handle_sthyi(struct kvm_vcpu *vcpu)
{
int reg1, reg2, r = 0;
u64 code, addr, cc = 0;
struct sthyi_sctns *sctns = NULL;
/*
* STHYI requires extensive locking in the higher hypervisors
* and is very computational/memory expensive. Therefore we
* ratelimit the executions per VM.
*/
if (!__ratelimit(&vcpu->kvm->arch.sthyi_limit)) {
kvm_s390_retry_instr(vcpu);
return 0;
}