On 30.12.24 10:54, Pavel Tikhomirov wrote:


On 12/30/24 15:12, Alexander Atanasov wrote:
On 24.12.24 12:13, Pavel Tikhomirov wrote:



I'll reply here to all the comments.

- kmap_atomic creates a temporary mapping on the current CPU only and we want to create permanent mappings for the pages.
- kmap_atomic is deprecated - we want to avoid it.

agreed

- we want to use READ/WRITE_ONCE everywhere since we try to avoid taking locks. may be it is a good idea to move it to a different patch

So it looks like d_bat_entries, bat_entries and bat_levels can change concurrently, thus we use, *_ONCE to keep them stable in one scope. OK.

- this places are not atomic context but they are creating a non- preemptive one, that's the side effect of kmap_atomic. code is used when loading deltas, i.e. not performance critical

The function ploop_prepare_bat_update is always called under spin_lock_irqsave(&ploop->bat_lock), that is atomic context, one can not sleep there. So calling kmap looks invalid there.


Ok, This needs to be fixed, agreed.


--
Regards,
Alexander Atanasov

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to