On Thu, 2022-12-15 at 14:10 -0800, Isaku Yamahata wrote: > On Wed, Dec 14, 2022 at 10:51:31AM +0000, > "Huang, Kai" <kai.huang@xxxxxxxxx> wrote: > > > On Sat, 2022-10-29 at 23:22 -0700, isaku.yamahata@xxxxxxxxx wrote: > > > From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> > > > > > > kvm_unmap_gfn_range() needs to know the reason of the callback for TDX. > > > mmu notifier, set memattr ioctl or restrictedmem notifier. Based on the > > > reason, TDX changes the behavior. For mmu notifier, it's the operation on > > > shared memory slot to zap shared PTE. For set memattr, private<->shared > > > conversion, zap the original PTE. For restrictedmem, it's a hint that TDX > > > can ignore. > > > > Could you elaborate why restricted memfd notifier can be ignored? IIUC if > > userspace punch a hole, the pages within the hole will be de-allocated. So why > > can such notifier be ignored? > > Because set-memory-attribute ioctl is expected to follow the callback from > restrictedmem. So set memory attributes can do de-allocation. I wanted to avoid > zapping twice. Even this is true, the punch hole can be done alone w/o being followed by set_memory_attribute(), correct? Your explanation doesn't seem to be reasonable? At least, you need to explain the semantics of how to use "punch hole" and set_memory_attributes() clearly in the changelog. Otherwise it's hard for people to review.