On Tue, Jun 21, 2016 at 5:23 AM, Jan Beulich <jbeul...@suse.com> wrote:
> >>> On 21.06.16 at 11:04, <jbeul...@suse.com> wrote: > >>>> On 20.06.16 at 18:23, <andrey2...@gmail.com> wrote: > >> Here is printouts with applying the new logic > >> > >> [ 382.222213] xen-pciback: 0000:06:00.0: write request 4 bytes at 0xc = > > 4000 > >> [ 382.222214] xen-pciback: 0000:06:00.0: read 1 bytes at 0xc > >> [ 382.222228] xen-pciback: 0000:06:00.0: read 1 bytes at 0xc = 0 > >> [ 382.222238] xen-pciback: 0000:06:00.0: read 1 bytes at 0xd > >> [ 382.222281] xen-pciback: 0000:06:00.0: read 1 bytes at 0xd = 0 > >> [ 382.222313] xen-pciback: 0000:06:00.0: read 1 bytes at 0xf > >> [ 382.222341] xen-pciback: 0000:06:00.0: read 1 bytes at 0xf = 0 > >> > >> So from prints the logic is not equivalent. 0xd is included in this > case. > >> > >> In original logic field 0xd is excluded because > >> Not if ((req_start >= field_start && req_start < field_end) > >> Nor (req_end > field_start && req_end <= field_end)) evaluate to true. > >> Where request would be 4b segment starting with 0xc > > > > Oh, I see - the current expression is screwed in two ways: For one > > it has req_* and field_* the wrong way round (or should I better > > say their uses are not symmetric, which for any kind of overlap > > check they of course should be), and then it uses || instead of && > > (i.e. kind of, but not really checking that req is contained in field, > > whereas for the purpose here we'd need the other direction). So > > yes, your change is not just a simplification, but a correction. > > > > But then on top of the previously mentioned change to your patch > > you should also fix the read path in a similar manner. And the > > description should of course accurately reflect the change (i.e. > > no talk of quirks and overlapping filters, and a proper explanation > > of what's wrong with the current expression). > > Sent updated patch for review. > Yet then what I don't understand: How does this change help you? > There's still not going to be any actual write to the Latency Timer > register, as conf_space_write() - even if now getting called - won't > do anything for it. > > > Jan > > Not sure, seems to me sometime the reset sequence in the net driver doesn't actually erase the conf space so it masks the issue
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel