0001 TODO
0002 ====
0003
0004 There is a potential for deadlock when allocating a struct sk_buff for
0005 data that needs to be written out to aoe storage. If the data is
0006 being written from a dirty page in order to free that page, and if
0007 there are no other pages available, then deadlock may occur when a
0008 free page is needed for the sk_buff allocation. This situation has
0009 not been observed, but it would be nice to eliminate any potential for
0010 deadlock under memory pressure.
0011
0012 Because ATA over Ethernet is not fragmented by the kernel's IP code,
0013 the destructor member of the struct sk_buff is available to the aoe
0014 driver. By using a mempool for allocating all but the first few
0015 sk_buffs, and by registering a destructor, we should be able to
0016 efficiently allocate sk_buffs without introducing any potential for
0017 deadlock.