brintos

brintos / linux-shallow public Read only

0
0
Text · 798 B · dea8db5 Raw
18 lines · plain
1TODO2====3 4There is a potential for deadlock when allocating a struct sk_buff for5data that needs to be written out to aoe storage.  If the data is6being written from a dirty page in order to free that page, and if7there are no other pages available, then deadlock may occur when a8free page is needed for the sk_buff allocation.  This situation has9not been observed, but it would be nice to eliminate any potential for10deadlock under memory pressure.11 12Because ATA over Ethernet is not fragmented by the kernel's IP code,13the destructor member of the struct sk_buff is available to the aoe14driver.  By using a mempool for allocating all but the first few15sk_buffs, and by registering a destructor, we should be able to16efficiently allocate sk_buffs without introducing any potential for17deadlock.18