On 05.01.2023 23:28, Andrew Cooper wrote: > On 05/01/2023 8:15 am, Jan Beulich wrote: >> On 04.01.2023 19:34, Andrew Cooper wrote: >>> On 04/01/2023 5:04 pm, Jan Beulich wrote: >>>> On 03.01.2023 21:09, Andrew Cooper wrote: >>>>> + if ( sz > INT32_MAX ) >>>>> + return -E2BIG; /* Compat guests. 2G ought to be plenty. */ >>>> While the comment here and in the public header mention compat guests, >>>> the check is uniform. What's the deal? >>> Well its either this, or a (comat ? INT32_MAX : INT64_MAX) check, along >>> with the ifdefary and predicates required to make that compile. >>> >>> But there's not a CPU today which can actually move 2G of data (which is >>> 4G of L1d bandwidth) without suffering the watchdog (especially as we've >>> just read it once for strlen(), so that's 6G of bandwidth), nor do I >>> expect this to change in the forseeable future. >>> >>> There's some boundary (probably far lower) beyond which we can't use the >>> algorithm here. >>> >>> There wants to be some limit, and I don't feel it is necessary to make >>> it variable on the guest type. >> Sure. My question was merely because of the special mentioning of 32-bit / >> compat guests. I'm fine with the universal limit, and I'd also be fine >> with a lower (universal) bound. All I'm after is that the (to me at least) >> confusing comments be adjusted. > > How about 16k then?
Might be okay. If I was to pick a value, I'd use 64k. Jan
