Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 299
b: refs/heads/master
c: e3b7df6
h: refs/heads/master
i:
  297: 265017a
  295: bc93221
v: v3
  • Loading branch information
ecashin@coraid.com authored and Greg KH committed Apr 19, 2005
1 parent 589d62e commit bec5e7a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d098840e37468fdd0143d8bcfe86bc53627bf96e
refs/heads/master: e3b7df65e089f143b9228472b80fb96c495fb634
14 changes: 14 additions & 0 deletions trunk/Documentation/aoe/todo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
There is a potential for deadlock when allocating a struct sk_buff for
data that needs to be written out to aoe storage. If the data is
being written from a dirty page in order to free that page, and if
there are no other pages available, then deadlock may occur when a
free page is needed for the sk_buff allocation. This situation has
not been observed, but it would be nice to eliminate any potential for
deadlock under memory pressure.

Because ATA over Ethernet is not fragmented by the kernel's IP code,
the destructore member of the struct sk_buff is available to the aoe
driver. By using a mempool for allocating all but the first few
sk_buffs, and by registering a destructor, we should be able to
efficiently allocate sk_buffs without introducing any potential for
deadlock.

0 comments on commit bec5e7a

Please sign in to comment.