splitters = kcalloc(nb_splits, sizeof(*splitters), gfp_mask); if (!splitters) return -ENOMEM;
ret = sg_calculate_split(in, sg_nents(in), nb_splits, skip, split_sizes,
splitters, false); if (ret < 0) goto err;
ret = -ENOMEM; for (i = 0; i < nb_splits; i++) {
splitters[i].out_sg = kmalloc_array(splitters[i].nents, sizeof(struct scatterlist),
gfp_mask); if (!splitters[i].out_sg) goto err;
}
/* *Theorderofthese3callsisimportantandshouldbekept.
*/
sg_split_phys(splitters, nb_splits); if (in_mapped_nents) {
ret = sg_calculate_split(in, in_mapped_nents, nb_splits, skip,
split_sizes, splitters, true); if (ret < 0) goto err;
sg_split_mapped(splitters, nb_splits);
}
for (i = 0; i < nb_splits; i++) {
out[i] = splitters[i].out_sg; if (out_mapped_nents)
out_mapped_nents[i] = splitters[i].nents;
}
kfree(splitters); return0;
err: for (i = 0; i < nb_splits; i++)
kfree(splitters[i].out_sg);
kfree(splitters); return ret;
}
EXPORT_SYMBOL(sg_split);
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.