[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tyndur-devel] [PATCH 2/2] shell: Neuer Befehl sync
On Sun, Dec 11, 2011 at 10:19:42PM +0100, Max Reitz wrote:
> Oh, ich nehme mein Ack (vorerst) zurück, ich habe gerade in der
> anderen Patchserie gesehen, dass lio_sync_all anscheinend noch einen
> bool-Parameter benötigt - ist das in syscall.h ein anderes
> lio_sync_all als das in lostio/client.h?
Hm, gute Frage. Unterschiedliche Funktionen sind es auf jeden Fall,
einmal libc und einmal im Kernel, aber ob sie unterschiedlich
funktionieren, muss ich erstmal nachschauen...
Die libc-Funktion sieht so aus:
int lio_sync_all(void)
{
int result;
asm(
"pushl $0;"
"int $0x30;"
"add $0x4, %%esp;"
: "=a" (result) : "0" (SYSCALL_LIO_SYNC_ALL));
return result;
}
Der Syscall ist definiert als:
int syscall_lio_sync_all(int soft);
Und er ruft folgendes auf:
int lio_sync_all(bool soft)
Ich glaube, das passt also soweit (außer dass es vielleicht schön wäre,
wenn es auch für die andere Variante eine libc-Funktion braucht - aber
wirklich benutzt wird soft = true im Moment nur im LIOv2-Branch und
nur vom Kerneltask, der den Cache zurückschreibt). Aber ich glaube es
wäre nicht verkehrt, sich für int oder bool zu entscheiden und es nicht
zu mischen...
Kevin