From owner-freebsd-hackers Mon Apr 16 2:34:30 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from roura.ac.upc.es (roura.ac.upc.es [147.83.33.10]) by hub.freebsd.org (Postfix) with ESMTP id 917BF37B43C for ; Mon, 16 Apr 2001 02:34:26 -0700 (PDT) (envelope-from oscar@ac.upc.es) Received: from ac.upc.es (fonoll.ac.upc.es [147.83.32.14]) by roura.ac.upc.es (8.11.0/8.11.0) with ESMTP id f3G9YGI08603 for ; Mon, 16 Apr 2001 11:34:16 +0200 (MET DST) Message-ID: <3ADABC98.B26D6C78@ac.upc.es> Date: Mon, 16 Apr 2001 11:34:16 +0200 From: Oscar-Ivan Lepe-Aldama Organization: DAC/UPC X-Mailer: Mozilla 4.76 [en] (X11; U; SunOS 5.7 sun4u) X-Accept-Language: es, en MIME-Version: 1.0 To: hackers@FreeBSD.ORG Subject: Sysctl question (again) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi! the technical question follows the next commentary. This is the second (third) time I post this question. I'm wondering why I haven't got any answers. Is it because this isn't the right forum? Is it because I haven't been clear enough? Is it because my bad english? Any clue on why the people in this forum can not give me any kind of answer for the following question will be aprreciated. Now, the technical question follows. Is there a maximum for the size of an object that sysctl can handle? I'm asking this because I have inserted in a 4.1.1 kernel an array defined as struct buf_entry { unsgined int id; u_int64_t tsc; u_int64_t pmec1; u_int64_t pmec2; } mybuffer[NUMENTRIES]; SYSCTL_NODE(, CTL_NAVI, experiments, CTLFLAG_RW, 0,"Experiments"); SYSCTL_OPAQUE(_experiments, OID_AUTO, buffer, CTLFLAG_RD, &mybuffer, sizeof(mybuffer), "", ""); When NUMENTRIES equals 100000 (100 thousand) everything works well; that is, I can read the content of the array using sysctl -b experiments.mybuffer > somefile.raw But when NUMENTRIES equals 1000000 (1 million) and I use the above command to read the content of the array, the system stops working properly; that is, all virtual terminals freezed so I can't sent any command to the system, although the kernel seams to be alive as it responds to ICMP echo packets. I do want to have a large array within the kernel's memory space as I'm measuring the performance of some kernel's routines using the Pentium's Performance Monitoring Event Counters, and the more performance data I could get in one experiment the best. By the way, the system under test has 64 MB of RAM and 20 GB of free space on disk. Any explanation on the possibility or the impossibility of having such large array within the kernel memory-space and having it exported through sysctlt will be verry much appreciated. Thanks, -- ======================================================================== 0 0 0 Oscar-Ivan Lepe-Aldama | UPC-Campus Nord, DAC 0 0 0 e-mail: oscar@ac.upc.es | Modul D6, despatx 116 0 0 0 phone: +34 93 401 7187 | Jordi Girona, 1-3 U P C fax: +34 93 401 7055 | 08034 Barcelona - SPAIN WWW: http://www.ac.upc.es/homes/oscar/ ======================================================================== To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message