An atomic memory migration apparatus and method are provided. With the
apparatus and method, all active DMA mappings to a given physical page of
memory are identified and future mappings/unmappings to the physical page
are serialized with migrations of current mappings. The identified DMA
mappings are then disabled at the bus level and the physical page is
migrated to a new memory page. All existing DMA mappings are also migrated
to the new page. After migration is completed, the DMA mappings, which
have now been migrated to the new page, are reenabled at the bus level.
Um instrumento e um método atômicos da migração da memória são fornecidos. Com o instrumento e o método, todos os mappings ativos do acesso direto da memória a uma página física dada da memória são identificados e o futuro mappings/unmappings à página física é colocado em série com migrações de mappings atuais. Os mappings identificados do acesso direto da memória são incapacitados então no nível da barra-ônibus e a página física é migrada a uma página nova da memória. Todos os mappings existentes do acesso direto da memória são migrados também à página nova. Depois que a migração é terminada, os mappings do acesso direto da memória, que têm sido migrados agora à página nova, são reenabled no nível da barra-ônibus.