"vscode:/vscode.git/clone" did not exist on "c54e04866652dbb9eaaf5e7d0206bdf62fe9f091"
Commit be1e2163 authored by Woosuk Kwon's avatar Woosuk Kwon
Browse files

Fix memory leak in swapping

parent 7e5f604e
......@@ -165,10 +165,11 @@ class BlockSpaceManager:
for cpu_block in block_table:
if cpu_block in mapping:
new_block_table.append(mapping[cpu_block])
continue
gpu_block = self.gpu_allocator.allocate()
mapping[cpu_block] = gpu_block
gpu_block = mapping[cpu_block]
else:
gpu_block = self.gpu_allocator.allocate()
mapping[cpu_block] = gpu_block
new_block_table.append(gpu_block)
# Free the CPU block swapped in to GPU.
self.cpu_allocator.free(cpu_block)
self.block_tables[seq.seq_id] = new_block_table
......@@ -194,12 +195,11 @@ class BlockSpaceManager:
for gpu_block in block_table:
if gpu_block in mapping:
new_block_table.append(mapping[gpu_block])
continue
cpu_block = self.cpu_allocator.allocate()
cpu_block = mapping[gpu_block]
else:
cpu_block = self.cpu_allocator.allocate()
mapping[gpu_block] = cpu_block
new_block_table.append(cpu_block)
mapping[gpu_block] = cpu_block
# Free the GPU block swapped out to CPU.
self.gpu_allocator.free(gpu_block)
self.block_tables[seq.seq_id] = new_block_table
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment