On 01.07.19 10:41, Michal Hocko wrote: > On Mon 27-05-19 13:11:50, David Hildenbrand wrote: >> Let's factor out removing of memory block devices, which is only >> necessary for memory added via add_memory() and friends that created >> memory block devices. Remove the devices before calling >> arch_remove_memory(). >> >> This finishes factoring out memory block device handling from >> arch_add_memory() and arch_remove_memory(). > > OK, this makes sense again. Just a nit. Calling find_memory_block_by_id > for each memory block looks a bit suboptimal, especially when we are > removing consequent physical memblocks. I have to confess that I do not > know how expensive is the search and I also expect that there won't be > that many memblocks in the removed range anyway as large setups have > large memblocks. > The devices are not allocated sequentially, so there is no easy way to look them up. There is a comment for find_memory_block(): "For now, we have a linear search to go find the appropriate memory_block corresponding to a particular phys_index. If this gets to be a real problem, we can always use a radix tree or something here." So if this becomes a problem, we need a separate data structure to speed up the lookup. (IOW, this was already the same in the old code) Thanks! -- Thanks, David / dhildenb