From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Aw: Re: dvb usb issues since kernel 4.9 From: Mauro Carvalho Chehab Message-Id: <20180112191343.3083b70e@vento.lan> Date: Fri, 12 Jan 2018 19:13:43 -0200 To: Linus Torvalds , Eric Dumazet Cc: Josef Griebichler , Jesper Dangaard Brouer , Peter Zijlstra , Alan Stern , Greg Kroah-Hartman , USB list , Rik van Riel , Paolo Abeni , Hannes Frederic Sowa , linux-kernel , netdev , Jonathan Corbet , LMML , David Miller , Arnd Bergmann List-ID: RW0gVHVlLCA5IEphbiAyMDE4IDA5OjQ4OjQ3IC0wODAwCkxpbnVzIFRvcnZhbGRzIDx0b3J2YWxk c0BsaW51eC1mb3VuZGF0aW9uLm9yZz4gZXNjcmV2ZXU6Cgo+IE9uIFR1ZSwgSmFuIDksIDIwMTgg YXQgOToyNyBBTSwgRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPiB3cm90ZToKPiA+ Cj4gPiBTbyB5ZXMsIGNvbW1pdCA0Y2QxM2MyMWIyMDcgKCJzb2Z0aXJxOiBMZXQga3NvZnRpcnFk IGRvIGl0cyBqb2IiKSBoYXMKPiA+IHNob3duIHVwIG11bHRpcGxlIHRpbWVzIGluIHZhcmlvdXMg J3JlZ3Jlc3Npb25zJwo+ID4gc2ltcGx5IGJlY2F1c2UgaXQgY291bGQgc3VyZmFjZSB0aGUgcHJv YmxlbSBtb3JlIG9mdGVuLgo+ID4gQnV0IGV2ZW4gaWYgeW91IHJldmVydCBpdCwgeW91IGNhbiBz dGlsbCBtYWtlIHRoZSBmYXVsdHkKPiA+IGRyaXZlci9zdWJzeXN0ZW0gbWlzYmVoYXZlIGJ5IGFk ZGluZyBtb3JlIHN0cmVzcyB0byB0aGUgY3B1IGhhbmRsaW5nCj4gPiB0aGUgSVJRLiAgCj4gCj4g Li5idXQgdGhhdCdzIGFsd2F5cyB0cnVlLiBQZW9wbGUgc29tZXRpbWVzIGxpdmUgb24gdGhlIGVk Z2UgLSBvZnRlbiBieQo+IGRlc2lnbiAoaWUgaGFyZHdhcmUgaGFzIGJlZW4gZGVzaWduZWQvc2Vs ZWN0ZWQgdG8gYmUgdGhlIGNyYXBwaWVzdAo+IHBvc3NpYmxlIHRoYXQgc3RpbGwgd29yaykuCj4g Cj4gVGhhdCBkb2Vzbid0IGNoYW5nZSBhbnl0aGluZy4gQSBwYXRjaCB0aGF0IHRha2VzICJiYWQg dGhpbmdzIGNhbgo+IGhhcHBlbiIgdG8gImJhZCB0aGluZ3MgRE8gaGFwcGVuIiBpcyBhIGJhZCBw YXRjaC4KPiAKPiA+IE1heWJlIHRoZSBhbnN3ZXIgaXMgdG8gdHVuZSB0aGUga2VybmVsIGZvciBz bWFsbCBsYXRlbmNpZXMgYXQgdGhlCj4gPiBwcmljZSBvZiBzbWFsbCB0aHJvdWdocHV0IChzaXR1 YXRpb24gYmVmb3JlIHRoZSBwYXRjaCkgIAo+IAo+IEdlbmVyYWxseSB3ZSBhbHdheXMgd2FudCB0 byB0dW5lIGZvciBsYXRlbmN5LiBUaHJvdWdocHV0IGlzICJlYXN5IiwKPiBidXQgYWxtb3N0IG5l dmVyIGludGVyZXN0aW5nLgo+IAo+IFN1cmUsIHBlb3BsZSBkbyBiYXRjaCBqb2JzLiBBbmQgeWVz LCBwZW9wbGUgb2Z0ZW4gX2JlbmNobWFya18KPiB0aHJvdWdocHV0LCBiZWNhdXNlIGl0J3MgZWFz eSB0byBiZW5jaG1hcmsuIEl0J3MgbXVjaCBoYXJkZXIgdG8KPiBiZW5jaG1hcmsgbGF0ZW5jeSwg ZXZlbiB3aGVuIGl0J3Mgb2Z0ZW4gbXVjaCBtb3JlIGltcG9ydGFudC4KPiAKPiBBIHByaW1lIGV4 YW1wbGUgaXMgdGhlIFNTRCBiZW5jaG1hcmtzIGluIHRoZSBsYXN0IGZldyB5ZWFycyAtIHRoZXkK PiBpbXByb3ZlZCBfZHJhbWF0aWNhbGx5XyB3aGVuIHBlb3BsZSBub3RpY2VkIHRoYXQgdGhlIHJl YWwgcHJvYmxlbSB3YXMKPiBsYXRlbmN5LCBub3QgdGhlIGlkaW90aWMgbWF4aW11bSBiaWctYmxv Y2sgYmFuZHdpZHRoIG51bWJlcnMgdGhhdCBoYXZlCj4gYWxtb3N0IHplcm8gaW1wYWN0IG9uIG1v c3QgcGVvcGxlLgo+IAo+IFB1dCBhbm90aGVyIHdheTogd2UgYWxyZWFkeSBoYXZlIGEgdmVyeSBz dHJvbmcgaW1wbGljaXQgYmlhcyB0b3dhcmRzCj4gYmFuZHdpZHRoIGp1c3QgYmVjYXVzZSBpdCdz IGVhc2llciB0byBzZWUgYW5kIG1lYXN1cmUuCj4gCj4gVGhhdCBtZWFucyB0aGF0IHdlIGdlbmVy YWxseSBzaG91bGQgc3RyaXZlIHRvIGhhdmUgYSBleHBsaWNpdCBiaWFzCj4gdG93YXJkcyBvcHRp bWl6aW5nIGZvciBsYXRlbmN5IHdoZW4gdGhhdCBjaG9pY2UgY29tZXMgdXAuICBKdXN0IHRvCj4g YmFsYW5jZSB0aGluZ3Mgb3V0IChhbmQganVzdCB0byBub3QgdGFrZSB0aGUgZWFzeSB3YXkgb3V0 OiBiYW5kd2lkdGgKPiBjYW4gb2Z0ZW4gYmUgaW1wcm92ZWQgYnkgYWRkaW5nIG1vcmUgbGF5ZXJz IG9mIGJ1ZmZlcmluZyBhbmQgYmlnZ2VyCj4gYnVmZmVycywgYW5kIHRoYXQgb2Z0ZW4gZW5kcyB1 cCByZWFsbHkgaHVydGluZyBsYXRlbmN5KS4KPiAKPiA+IDEpIFJldmVydCB0aGUgcGF0Y2ggIAo+ IAo+IFdlbGwsIHdlIGNhbiByZXZlcnQgaXQgb25seSBwYXJ0aWFsbHkgLSBsaW1pdGluZyBpdCB0 byBqdXN0IG5ldHdvcmtpbmcKPiBmb3IgZXhhbXBsZS4KPiAKPiBKdXN0IHNheWluZyAiYWN0IHRo ZSB3YXkgeW91IHVzZWQgdG8gZm9yIHRhc2tsZXRzIiBhbHJlYWR5IHNlZW1zIHRvCj4gaGF2ZSBm aXhlZCB0aGUgaXNzdWUgaW4gRFZCLgo+IAo+ID4gMikgZ2V0IHJpZCBvZiBrc29mdGlycWQgc2lu Y2UgaXQgYWRkcyB1bmV4cGVjdGVkIGxhdGVuY2llcy4gIAo+IAo+IFdlIGNhbid0IGdldCByaWQg b2YgaXQgZW50aXJlbHksIHNpbmNlIHRoZSBzeW5jaHJvbm91cyBzb2Z0aXJxIGNvZGUKPiBjYW4g Y2F1c2UgcHJvYmxlbXMgdG9vLiBJdCdzIHdoeSB3ZSBoYXZlIHRoYXQgIm1heGltdW0gb2YgdGVu Cj4gc3luY2hyb25vdXMgZXZlbnRzIiBpbiBfX2RvX3NvZnRpcnEoKS4KPiAKPiBBbmQgd2UgZG9u J3QgKndhbnQqIHRvIGdldCByaWQgb2YgaXQuCj4gCj4gV2UndmUgX2Fsd2F5c18gaGFkIHRoYXQg c21hbGwtc2NhbGUgImF0IHNvbWUgcG9pbnQgd2UgY2FuJ3QgZG8gaXQKPiBzeW5jaHJvbm91c2x5 IGFueSBtb3JlIi4KPiAKPiBUaGF0IGlzIGEgc21hbGwtc2NhbGUgImRvbid0IGhhdmUgaG9ycmli bGUgbGF0ZW5jeSBmb3IgX290aGVyXyB0aGluZ3MiCj4gcHJvdGVjdGlvbi4gU28gaXQncyBhYm91 dCBsYXRlbmN5IHRvbywgaXQncyBqdXN0IGFib3V0IHByb3RlY3RpbmcKPiBsYXRlbmN5IG9mIHRo ZSByZXN0IG9mIHRoZSBzeXN0ZW0uCj4gCj4gVGhlIHByb2JsZW0gd2l0aCBjb21taXQgNGNkMTNj MjFiMjA3IGlzIHRoYXQgaXQgdHVybnMgdGhlIHNtYWxsLXNjYWxlCj4gbGF0ZW5jeSBpc3N1ZXMg aW4gc29mdGlycSBoYW5kbGluZyAodGhleSBnZXQgbGFyZ2VyIGxhdGVuY2llcyBmb3IgbG90cwo+ IG9mIGhhcmR3YXJlIGludGVycnVwdHMgb3IgZXZlbiBmcm9tIG5vbi1wcmVlbXB0aWJsZSBrZXJu ZWwgY29kZSkgaW50bwo+IHRoZSBfaHVnZV8gc2NhbGUgbGF0ZW5jeSBvZiBzY2hlZHVsaW5nLCBh bmQgZG9lcyBzbyBpbiBhIHJhY3kgd2F5IHRvby4KPiAKPiA+IDMpIExldCBhcHBsaWNhdGlvbnMg dGhhdCBleHBlY3QgdG8gaGF2ZSBoaWdoIHRocm91Z2hwdXQgbWFrZSBzdXJlIHRvCj4gPiBwaW4g dGhlaXIgdGhyZWFkcyBvbiBjcHVzIHRoYXQgYXJlIG5vdCBwcm9jZXNzaW5nIElSUS4KPiA+ICAg ICAoQW5kIG1ha2Ugc3VyZSB0byBub3QgdXNlIGlycWJhbGFuY2UsIGFuZCBzZXR1cCBJUlEgY3B1 IGFmZmluaXRpZXMpICAKPiAKPiBUaGUgb25seSBwZW9wbGUgdGhhdCByZWFsbHkgZGVhbCBpbiAi dGhvdWdocHV0IG9ubHkiIHRlbmQgdG8gYmUgdGhlCj4gSFBDIHBlb3BsZSwgYW5kIHRoZXkgYWxy ZWFkeSBkbyB0aGluZ3MgbGlrZSB0aGlzLgo+IAo+IChUaGUgb3RoZXIgZW5kIG9mIHRoZSBzcGVj dHJ1bSBpcyB0aGUgcmVhbHRpbWUgcGVvcGxlIHRoYXQgaGF2ZQo+IGV4dHJlbWUgbGF0ZW5jeSBy ZXF1aXJlbWVudHMsIHdobyBkbyB0aGluZ3MgbGlrZSB0aGF0IGZvciB0aGUgcmV2ZXJzZQo+IHJl YXNvbjoga2VlcGluZyBvbmUgb3IgbW9yZSBDUFUncyByZXNlcnZlZCBmb3IgdGhlIHBhcnRpY3Vs YXIKPiBsb3ctbGF0ZW5jeSByZWFsdGltZSBqb2IpLgoKT2ssIGl0IHRvb2sgbWUgc29tZSB0aW1l IC0gYW5kIGEgZmFzdGVyIG1pY3JvU0QgLSBpbiBvcmRlciB0byBiZSBzdXJlIHRoYXQKdGhlIGRh dGEgbG9zcyB3ZXJlbid0IGR1ZSB0byBiYWQgc3RvcmFnZSBwZXJmb3JtYW5jZSwgYnV0IEkgaGF2 ZSBub3cgc29tZQp0ZXN0IHJlc3VsdHMuCgpJbiBzdW1tYXJ5LCBpbmRlZWQgdGhlIGtzb2Z0aXJx IGNvbW1pdCA0Y2QxM2MyMWIyMDcgKCJzb2Z0aXJxOiBMZXQga3NvZnRpcnFkCmRvIGl0cyBqb2Ii KSBpcyBjYXVzaW5nIGRhdGEgbG9zc2VzLiBPbiBteSB0ZXN0cywgaXQgZ2VuZXJhdGUgYXQgbGVh c3Qgb25lCmNvbnRpbnVpdHkgZXJyb3Igb24gZXZlcnkgMS01IG1pbnV0ZXMuCgpFaXRoZXIgcmV2 ZXJ0aW5nIGl0IG9yIGFwcGx5aW5nIExpbnVzIHByb3Bvc2FsIG9mIHBhcnRpYWxseSByZXZlcnRp bmcKaXQgZml4ZXMgdGhlIGlzc3Vlcy4gSW5jcmVhc2luZyB0aGUgbnVtYmVyIG9mIFVSQnMgZG9l c24ndCBzZWVtIHRvCmhlbHAuCgpJJ20gZW5jbG9zaW5nIHRoZSBkaXJ0eSBkZXRhaWxzIGJlbG93 LgoKTGludXMvRXJpYywKCk5vdyB0aGF0IEkgaGF2ZSBhbiBlbnZpcm9ubWVudCBzZXR1cCwgSSBj YW4gdGVzdCB3aGF0ZXZlciBvdGhlciBhbHRlcm5hdGl2ZQp0aGF0IHdvdWxkIGZpeCB0aGUgVURQ IHBhY2tldCBmbG93IGF0dGFjayB3aGlsZSB3b24ndCBicmVhayB0aGUgc29mdGlycQpoYW5kbGlu ZyBjb2RlLgoKUmVnYXJkcywKTWF1cm8KLS0tCgpBbGwgdGVzdHMgYmVsb3cgd2VyZSBkb25lIG9u IGEgUmFzcGJlcnJ5IFBpMyB3aXRoIGEgU2FuRGlzayBFeHRyZW1lIFUzIG1pY3JvU0QKY2FyZCB3 aXRoIDMyR0IgYW5kIGEgRFZCU2t5IFM5NjBDIERWQi1TMiB0dW5lciB3aXRoIGFuIGV4dGVybmFs IHBvd2VyIHN1cHBseSwKY29ubmVjdGVkIHRvIGEgVENQL0lQIG5ldHdvcmsgdmlhIEV0aGVybmV0 ICh3aXRoIHVzZXMgVVNCIG9uIFJQaSkuIEl0IGFsc28KaGF2ZSBhIHNlcmlhbCBjYWJsZSBjb25u ZWN0ZWQgdG8gaXQuCgpJdCB3YXMgaW5zdGFsbGVkIHdpdGggTGlicmVFTEVDIDguMi4yLCB1c2lu ZyB0dmhlYWRlbmQgYmFja2VuZC4KCkknbSByZWNvcmRpbmcgb25lIE1QRUctVFMgc2VydmljZS8i Y2hhbm5lbCIgY29tcG9zZWQgb2Ygb25lIGF1ZGlvIGFuZApvbmUgdmlkZW8gc3RyZWFtLCBUaGUg dG90YWwgdHJhZmZpYyBjb2xsZWN0ZWQgYnkgdHZoZWFkZW5kIHdhcyBhYm91dCAKNCBNYml0cy9z IChhdWRpbyt2aWRlbytFUEcgdGFibGVzKS4gSXQgaXMgcGFydCBvZiBhIDU4IG1iaXRzL3MgTVBF RwpUcmFuc3BvcnQgc3RyZWFtLCB3aXRoIDIzIFRWIHNlcnZpY2UvImNoYW5uZWxzIiBvbiBpdC4K CldoaWxlIGhhbmRsaW5nIHRoaXMgaXNzdWUsIEkgZm91bmQgb25lIHVucmVsYXRlZCBidWcsIGZp eGVkIG9uIHRoaXMgcGF0Y2g6CglodHRwczovL2dpdC5saW51eHR2Lm9yZy9tY2hlaGFiL2V4cGVy aW1lbnRhbC5naXQvY29tbWl0Lz9oPXNvZnRpcnFfZml4dXAmaWQ9YWZiNmM3NDljOWRhNmU2NjEz MzViYzA1OWYyYjExNzQyMWMwOWY3NwoKVGhpcyBidWcgaGFzIG5vIGVmZmVjdCBvbiBEVkIgc3Ry ZWFtaW5nLiBJdCBvbmx5IGNhdXNlcyB0aGUgc2lnbmFsCnN0cmVuZ3RoIHRvIGJlIHJlcG9ydGVk IHdyb25nbHkgb24gMzIgYml0IEtlcm5lbHMuIE9uIGFsbCB0ZXN0cyBiZWxvdyBJCmhhZCB0aGlz IHBhdGNoIGFwcGxpZWQuCgpUZXN0IDEKPT09PT09CgpLZXJuZWwgKGUuIGcuIFJhc3BiaWFuIEtl cm5lbCksIHJlY29yZGluZyBhbmQgd2F0Y2hpbmcgdGhlIHZpZGVvIGF0IHRoZSBzYW1lCnRpbWUg b24gS29kaSwgcGx1cyBvbmUgVkxDIGNsaWVudCwgb24gYW4gaW50ZXJ2YWwgb2YgdGltZSBvZiA1 IG1pbnV0ZXMsCml0IGhhZCA0IE1QRUcgY29udGludWl0eSBlcnJvcnMgb24gdmlkZW8gKGFuZCBv bmUgb24gYXVkaW8pOgoKSmFuIDEyIDE1OjA1OjM5IHJwaTMgdHZoZWFkZW5kWzI4NV06IFRTOiBE VkItUyBOZXR3b3JrLzEyMDkwSC9UViBTZW5hZG86IEgyNjQgQCAjMTYwMSBDb250aW51aXR5IGNv dW50ZXIgZXJyb3IgKHRvdGFsIDEpCkphbiAxMiAxNTowNjoyMCBycGkzIHR2aGVhZGVuZFsyODVd OiBUUzogRFZCLVMgTmV0d29yay8xMjA5MEgvVFYgU2VuYWRvOiBIMjY0IEAgIzE2MDEgQ29udGlu dWl0eSBjb3VudGVyIGVycm9yICh0b3RhbCAyKQpKYW4gMTIgMTU6MDc6MzYgcnBpMyB0dmhlYWRl bmRbMjg1XTogVFM6IERWQi1TIE5ldHdvcmsvMTIwOTBIL1RWIFNlbmFkbzogSDI2NCBAICMxNjAx IENvbnRpbnVpdHkgY291bnRlciBlcnJvciAodG90YWwgMykKSmFuIDEyIDE1OjA3OjM2IHJwaTMg dHZoZWFkZW5kWzI4NV06IFRTOiBEVkItUyBOZXR3b3JrLzEyMDkwSC9UViBTZW5hZG86IE1QRUcy QVVESU8gQCAjMTYwMiBDb250aW51aXR5IGNvdW50ZXIgZXJyb3IgKHRvdGFsIDEpCkphbiAxMiAx NToxMDoyOCBycGkzIHR2aGVhZGVuZFsyODVdOiBUUzogRFZCLVMgTmV0d29yay8xMjA5MEgvVFYg U2VuYWRvOiBIMjY0IEAgIzE2MDEgQ29udGludWl0eSBjb3VudGVyIGVycm9yICh0b3RhbCA0KQoK V2l0aCB1cHN0cmVhbSBLZXJuZWxzLCBLb2RpIHN0b3BzIHdvcmtpbmcgKGl0IGRlcGVuZHMgb24g UmFzcGJpYW4gdmlkZW8KZHJpdmVyKS4gU28sIEkgb3BlbmVkIHR3byBWTEMgcGxheWVycywgb24g c2VwYXJhdGUgbWFjaGluZXMsIGluIG9yZGVyCnRvIGFsc28gaGF2ZSAyIGNsaWVudHMgd2F0Y2hp bmcsIHBsdXMgdGhlIHJlY29yZCB0YXNrLiBUaGF0IGluY3JlYXNlZAp0aGUgbmV0d29yayBhbmQg VVNCIHRyYWZmaWMgYXMgd2VsbC4gQWxsIHRoZSBuZXh0IHRlc3RzIHdlcmUgb24gc3VjaApzY2Vu YXJpby4KClRlc3QgMgo9PT09PT0KCldpdGggS2VybmVsIDQuMTQuMTIgdmFuaWxsYSB3aXRoIGp1 c3Qgb25lIGV4dHJhIHBhdGNoIGluY3JlYXNpbmcgdGhlIApudW1iZXIgb2YgVVJCIGJ1ZmZlcnMg ZnJvbSA4IHRvIDE2LCBpdCBnb3QgMiB2aWRlbyBlcnJvcnMgb24gYSA2IG1pbnV0ZXMKaW50ZXJ2 YWw6CgpKYW4gMTIgMTU6NTY6MDkgcnBpMyB0dmhlYWRlbmRbMjIyXTogVFM6IERWQi1TIE5ldHdv cmsvMTIwOTBIL1RWIFNlbmFkbzogSDI2NCBAICMxNjAxIENvbnRpbnVpdHkgY291bnRlciBlcnJv ciAodG90YWwgMikKSmFuIDEyIDE1OjU2OjA5IHJwaTMgdHZoZWFkZW5kWzIyMl06IFRTOiBEVkIt UyBOZXR3b3JrLzEyMDkwSC9UViBTZW5hZG86IE1QRUcyQVVESU8gQCAjMTYwMiBDb250aW51aXR5 IGNvdW50ZXIgZXJyb3IgKHRvdGFsIDEpCkphbiAxMiAxNjowMzowNSBycGkzIHR2aGVhZGVuZFsy MjJdOiBUUzogRFZCLVMgTmV0d29yay8xMjA5MEgvVFYgU2VuYWRvOiBIMjY0IEAgIzE2MDEgQ29u dGludWl0eSBjb3VudGVyIGVycm9yICh0b3RhbCAzKQpKYW4gMTIgMTY6MDM6MDUgcnBpMyB0dmhl YWRlbmRbMjIyXTogVFM6IERWQi1TIE5ldHdvcmsvMTIwOTBIL1RWIFNlbmFkbzogTVBFRzJBVURJ TyBAICMxNjAyIENvbnRpbnVpdHkgY291bnRlciBlcnJvciAodG90YWwgMikKCgpUZXN0IDMKPT09 PT09CgpXaXRoIHVwc3RyZWFtIEtlcm5lbCA0LjE0LjEyICsgMTYgYnVmZmVycyBwYXRjaCArIGNv bW1pdCA0Y2QxM2MyMWIyMDcgcmV2ZXJ0ZWQsCkkga2VwdCBpdCBydW5uaW5nIGZvciBhYm91dCAx NS0zMCBtaW5zLiBObyBjb250aW51aXR5IGVycm9ycy4KClRlc3QgNAo9PT09PT0KCldpdGggdXBz dHJlYW0gS2VybmVsIDQuMTQuMTIgd2l0aCB0aGUgcGFydGlhbCBzb2Z0aXJxIHJldmVydCBtYWRl IGJ5CkxpbnVzIHRlc3QgcGF0Y2hbMV0sIHJ1bm5pbmcgZm9yIGFib3V0IDIwIG1pbnMsIGl0IGdv dCBqdXN0IG9uZQpjb250aW51aXR5IGVycm9yOgoKSmFuIDEyIDE2OjUxOjMxIHJwaTMgdHZoZWFk ZW5kWzIzN106IFRTOiBEVkItUyBOZXR3b3JrLzEyMDkwSC9UViBTZW5hZG86IEgyNjQgQCAjMTYw MSBDb250aW51aXR5IGNvdW50ZXIgZXJyb3IgKHRvdGFsIDEpCkphbiAxMiAxNjo1MTozMSBycGkz IHR2aGVhZGVuZFsyMzddOiBUUzogRFZCLVMgTmV0d29yay8xMjA5MEgvVFYgU2VuYWRvOiBNUEVH MkFVRElPIEAgIzE2MDIgQ29udGludWl0eSBjb3VudGVyIGVycm9yICh0b3RhbCAxKQoKWzFdIGh0 dHBzOi8vZ2l0LmxpbnV4dHYub3JnL21jaGVoYWIvZXhwZXJpbWVudGFsLmdpdC9jb21taXQvP2g9 c29mdGlycV9maXh1cCZpZD03OTk2YzM5YWY4N2QzMjlmNjRlNmIxYjJhZjEyMGQ2Y2UxMWVkZTI5 CgpUZXN0IDUKPT09PT09CgpJIHRoZW4gbW92ZWQgdG8gS2VybmVsIDQuMTUtcmM3LiBJbiB0aGlz IGNhc2UsIEkgaGFkIHRvIGFkZCBhbiBleHRyYSBwYXRjaCwKYXMgdGhlIFVTQiBjb250cm9sbGVy IGlzIGN1cnJlbnRseSBicm9rZW4gdXBzdHJlYW06CglodHRwczovL2dpdC5saW51eHR2Lm9yZy9t Y2hlaGFiL2V4cGVyaW1lbnRhbC5naXQvY29tbWl0Lz9oPXNvZnRpcnFfZml4dXAmaWQ9NmJjYzU3 ZWE4YTg0ZTlkNWZlZDlmNWViZjEzZDYzZmQyOGVmMTgxYwoKVGhlIC5jb25maWcgZmlsZSB1c2Vk IHRvIGJ1aWxkIHRoZSBLZXJuZWwgaXMgYXQ6CglodHRwczovL3Bhc3RlYmluLmNvbS93cFpnaGFu bgoKCldpdGggdXBzdHJlYW0gS2VybmVsIDQuMTUtcmM3IC0gd2l0aCBMaW51cyBwYXRjaCBhcHBs aWVkWzJdLCBJIGtlcHQgdGhlCnJlY29yZCArIDIgVkxDIGNsaWVudHMgcnVubmluZyBmb3IgYWJv dXQgb25lIGhvdXIuIEl0IGdvdCBqdXN0IG9uZQpjb250aW51aXR5IGVycm9yOgoKSmFuIDEyIDIw OjA2OjI2IHJwaTMgdHZoZWFkZW5kWzIyNl06IFRTOiBEVkItUyBOZXR3b3JrLzEyMDkwSC9UViBT ZW5hZG86IEgyNjQgQCAjMTYwMSBDb250aW51aXR5IGNvdW50ZXIgZXJyb3IgKHRvdGFsIDEpCkph biAxMiAyMDowNjoyNiBycGkzIHR2aGVhZGVuZFsyMjZdOiBUUzogRFZCLVMgTmV0d29yay8xMjA5 MEgvVFYgU2VuYWRvOiBNUEVHMkFVRElPIEAgIzE2MDIgQ29udGludWl0eSBjb3VudGVyIGVycm9y ICh0b3RhbCAxKQoKWzJdIFRoZSB0ZXN0IEtlcm5lbCBpcyB0aGlzIG9uZToKCWh0dHBzOi8vZ2l0 LmxpbnV4dHYub3JnL21jaGVoYWIvZXhwZXJpbWVudGFsLmdpdC9sb2cvP2g9c29mdGlycV9maXh1 cAoKSXQgaXMgaGFyZCB0byB0ZWxsIGlmIHRoaXMgb25lIGNvbnRpbnVpdHkgZXJyb3IgaXMgZHVl IHRvIHNvbWUgS2VybmVsIGlzc3VlLApvciBpZiBpdCBpcyBzaW1wbHkgZHVlIHRvIHNvbWUgUEVT IHBhY2tldCB3aXRoIGJhZCBDUkMgdGhhdCBnb3QgZGlzY2FyZGVkLApidXQgaXQgc2VlbXMgYSBu b3JtYWwgY29uZGl0aW9uIHRvIG1lLgoKClRoYW5rcywKTWF1cm8KLS0KVG8gdW5zdWJzY3JpYmUg ZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4K dGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBt YWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5o dG1sCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from osg.samsung.com ([64.30.133.232]:33188 "EHLO osg.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965050AbeALVN5 (ORCPT ); Fri, 12 Jan 2018 16:13:57 -0500 Date: Fri, 12 Jan 2018 19:13:43 -0200 From: Mauro Carvalho Chehab To: Linus Torvalds , Eric Dumazet Cc: Josef Griebichler , Jesper Dangaard Brouer , Peter Zijlstra , Alan Stern , Greg Kroah-Hartman , USB list , Rik van Riel , Paolo Abeni , Hannes Frederic Sowa , linux-kernel , netdev , Jonathan Corbet , LMML , David Miller , Arnd Bergmann Subject: Re: dvb usb issues since kernel 4.9 Message-ID: <20180112191343.3083b70e@vento.lan> In-Reply-To: References: <20180107090336.03826df2@vento.lan> <20180108074324.3c153189@vento.lan> <20180108223109.66c91554@redhat.com> <20180108214427.GT29822@worktop.programming.kicks-ass.net> <20180108231656.3bbd1968@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: Em Tue, 9 Jan 2018 09:48:47 -0800 Linus Torvalds escreveu: > On Tue, Jan 9, 2018 at 9:27 AM, Eric Dumazet wrote: > > > > So yes, commit 4cd13c21b207 ("softirq: Let ksoftirqd do its job") has > > shown up multiple times in various 'regressions' > > simply because it could surface the problem more often. > > But even if you revert it, you can still make the faulty > > driver/subsystem misbehave by adding more stress to the cpu handling > > the IRQ. > > ..but that's always true. People sometimes live on the edge - often by > design (ie hardware has been designed/selected to be the crappiest > possible that still work). > > That doesn't change anything. A patch that takes "bad things can > happen" to "bad things DO happen" is a bad patch. > > > Maybe the answer is to tune the kernel for small latencies at the > > price of small throughput (situation before the patch) > > Generally we always want to tune for latency. Throughput is "easy", > but almost never interesting. > > Sure, people do batch jobs. And yes, people often _benchmark_ > throughput, because it's easy to benchmark. It's much harder to > benchmark latency, even when it's often much more important. > > A prime example is the SSD benchmarks in the last few years - they > improved _dramatically_ when people noticed that the real problem was > latency, not the idiotic maximum big-block bandwidth numbers that have > almost zero impact on most people. > > Put another way: we already have a very strong implicit bias towards > bandwidth just because it's easier to see and measure. > > That means that we generally should strive to have a explicit bias > towards optimizing for latency when that choice comes up. Just to > balance things out (and just to not take the easy way out: bandwidth > can often be improved by adding more layers of buffering and bigger > buffers, and that often ends up really hurting latency). > > > 1) Revert the patch > > Well, we can revert it only partially - limiting it to just networking > for example. > > Just saying "act the way you used to for tasklets" already seems to > have fixed the issue in DVB. > > > 2) get rid of ksoftirqd since it adds unexpected latencies. > > We can't get rid of it entirely, since the synchronous softirq code > can cause problems too. It's why we have that "maximum of ten > synchronous events" in __do_softirq(). > > And we don't *want* to get rid of it. > > We've _always_ had that small-scale "at some point we can't do it > synchronously any more". > > That is a small-scale "don't have horrible latency for _other_ things" > protection. So it's about latency too, it's just about protecting > latency of the rest of the system. > > The problem with commit 4cd13c21b207 is that it turns the small-scale > latency issues in softirq handling (they get larger latencies for lots > of hardware interrupts or even from non-preemptible kernel code) into > the _huge_ scale latency of scheduling, and does so in a racy way too. > > > 3) Let applications that expect to have high throughput make sure to > > pin their threads on cpus that are not processing IRQ. > > (And make sure to not use irqbalance, and setup IRQ cpu affinities) > > The only people that really deal in "thoughput only" tend to be the > HPC people, and they already do things like this. > > (The other end of the spectrum is the realtime people that have > extreme latency requirements, who do things like that for the reverse > reason: keeping one or more CPU's reserved for the particular > low-latency realtime job). Ok, it took me some time - and a faster microSD - in order to be sure that the data loss weren't due to bad storage performance, but I have now some test results. In summary, indeed the ksoftirq commit 4cd13c21b207 ("softirq: Let ksoftirqd do its job") is causing data losses. On my tests, it generate at least one continuity error on every 1-5 minutes. Either reverting it or applying Linus proposal of partially reverting it fixes the issues. Increasing the number of URBs doesn't seem to help. I'm enclosing the dirty details below. Linus/Eric, Now that I have an environment setup, I can test whatever other alternative that would fix the UDP packet flow attack while won't break the softirq handling code. Regards, Mauro --- All tests below were done on a Raspberry Pi3 with a SanDisk Extreme U3 microSD card with 32GB and a DVBSky S960C DVB-S2 tuner with an external power supply, connected to a TCP/IP network via Ethernet (with uses USB on RPi). It also have a serial cable connected to it. It was installed with LibreELEC 8.2.2, using tvheadend backend. I'm recording one MPEG-TS service/"channel" composed of one audio and one video stream, The total traffic collected by tvheadend was about 4 Mbits/s (audio+video+EPG tables). It is part of a 58 mbits/s MPEG Transport stream, with 23 TV service/"channels" on it. While handling this issue, I found one unrelated bug, fixed on this patch: https://git.linuxtv.org/mchehab/experimental.git/commit/?h=softirq_fixup&id=afb6c749c9da6e661335bc059f2b117421c09f77 This bug has no effect on DVB streaming. It only causes the signal strength to be reported wrongly on 32 bit Kernels. On all tests below I had this patch applied. Test 1 ====== Kernel (e. g. Raspbian Kernel), recording and watching the video at the same time on Kodi, plus one VLC client, on an interval of time of 5 minutes, it had 4 MPEG continuity errors on video (and one on audio): Jan 12 15:05:39 rpi3 tvheadend[285]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 1) Jan 12 15:06:20 rpi3 tvheadend[285]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 2) Jan 12 15:07:36 rpi3 tvheadend[285]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 3) Jan 12 15:07:36 rpi3 tvheadend[285]: TS: DVB-S Network/12090H/TV Senado: MPEG2AUDIO @ #1602 Continuity counter error (total 1) Jan 12 15:10:28 rpi3 tvheadend[285]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 4) With upstream Kernels, Kodi stops working (it depends on Raspbian video driver). So, I opened two VLC players, on separate machines, in order to also have 2 clients watching, plus the record task. That increased the network and USB traffic as well. All the next tests were on such scenario. Test 2 ====== With Kernel 4.14.12 vanilla with just one extra patch increasing the number of URB buffers from 8 to 16, it got 2 video errors on a 6 minutes interval: Jan 12 15:56:09 rpi3 tvheadend[222]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 2) Jan 12 15:56:09 rpi3 tvheadend[222]: TS: DVB-S Network/12090H/TV Senado: MPEG2AUDIO @ #1602 Continuity counter error (total 1) Jan 12 16:03:05 rpi3 tvheadend[222]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 3) Jan 12 16:03:05 rpi3 tvheadend[222]: TS: DVB-S Network/12090H/TV Senado: MPEG2AUDIO @ #1602 Continuity counter error (total 2) Test 3 ====== With upstream Kernel 4.14.12 + 16 buffers patch + commit 4cd13c21b207 reverted, I kept it running for about 15-30 mins. No continuity errors. Test 4 ====== With upstream Kernel 4.14.12 with the partial softirq revert made by Linus test patch[1], running for about 20 mins, it got just one continuity error: Jan 12 16:51:31 rpi3 tvheadend[237]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 1) Jan 12 16:51:31 rpi3 tvheadend[237]: TS: DVB-S Network/12090H/TV Senado: MPEG2AUDIO @ #1602 Continuity counter error (total 1) [1] https://git.linuxtv.org/mchehab/experimental.git/commit/?h=softirq_fixup&id=7996c39af87d329f64e6b1b2af120d6ce11ede29 Test 5 ====== I then moved to Kernel 4.15-rc7. In this case, I had to add an extra patch, as the USB controller is currently broken upstream: https://git.linuxtv.org/mchehab/experimental.git/commit/?h=softirq_fixup&id=6bcc57ea8a84e9d5fed9f5ebf13d63fd28ef181c The .config file used to build the Kernel is at: https://pastebin.com/wpZghann With upstream Kernel 4.15-rc7 - with Linus patch applied[2], I kept the record + 2 VLC clients running for about one hour. It got just one continuity error: Jan 12 20:06:26 rpi3 tvheadend[226]: TS: DVB-S Network/12090H/TV Senado: H264 @ #1601 Continuity counter error (total 1) Jan 12 20:06:26 rpi3 tvheadend[226]: TS: DVB-S Network/12090H/TV Senado: MPEG2AUDIO @ #1602 Continuity counter error (total 1) [2] The test Kernel is this one: https://git.linuxtv.org/mchehab/experimental.git/log/?h=softirq_fixup It is hard to tell if this one continuity error is due to some Kernel issue, or if it is simply due to some PES packet with bad CRC that got discarded, but it seems a normal condition to me. Thanks, Mauro