Re: Status of Flash 9 on stable
- From: Kostik Belousov <kostikbel@xxxxxxxxx>
- Date: Thu, 16 Oct 2008 23:05:26 +0300
On Thu, Oct 16, 2008 at 02:25:37PM -0500, Mark Kane wrote:
On Tue, Oct 14, 2008, at 22:28:58 +0200, Tijl Coosemans wrote:
Patches have been committed to CURRENT and should have been MFC'ed
last weekend, but haven't for some reason.
The port has a PR waiting for maintainer feedback:
http://www.freebsd.org/cgi/query-pr.cgi?pr=127839
The relevant thread on emulation@ is:
http://lists.freebsd.org/pipermail/freebsd-emulation/2008-September/005311.html
(continues in October archives)
Hi.
I'm using RELENG_7 as of yesterday which appears to have the linprocfs
fixes from CURRENT, and I also updated linux-flashplayer9 with the
patch from the above PR.
When trying to use Flash 9 in linux-opera a few Flash items work (such
as Adobe's test page which confirms it is using version 9 and sound
does work on the rollovers there), but most things including YouTube
videos or videos from other sites either do not play at all and lock up
immediately or play for a few seconds and then lock up:
----------------
opera: Plug-in 90514 is not responding. It will be closed.
opera: Define environment variable OPERA_KEEP_BLOCKED_PLUGIN to keep
blocked plug-ins.
----------------
Trying with linux-firefox and linux-firefox-devel gives similar
results except Firefox crashes entirely on most Flash sites.
I was using linux_base-fc4 and 2.4.2 however I updated to linux_base-f8
and 2.6.16 since I saw others in the above emulation@ thread having
success with f8. There doesn't seem to be any change with f8.
Is this still the expected behavior? I'm not sure if these fixes were
supposed to fix everything related to Flash 9 or if there are still
things to be done, so I'm just giving it a try and posting the results.
I am running amd64 by the way.
Thanks very much in advance,
Hmm, finaly I noted this thread. There is one more patch in the pipeline
for 7 that is needed, as I was told. Testing of that patch seems to be
stalled, so I am interested in the feedback.
Possible rejects of the $FreeBSD$ chunks are fine.
Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
Merged /head/sys:r177257,177604,183612
Index: compat/linux/linux_misc.c
===================================================================
--- compat/linux/linux_misc.c (revision 183958)
+++ compat/linux/linux_misc.c (working copy)
@@ -63,6 +63,7 @@
#include <sys/vmmeter.h>
#include <sys/vnode.h>
#include <sys/wait.h>
+#include <sys/cpuset.h>
#include <security/mac/mac_framework.h>
@@ -1730,22 +1731,57 @@
}
/*
- * XXX: fake one.. waiting for real implementation of affinity mask.
+ * Get affinity of a process.
*/
int
linux_sched_getaffinity(struct thread *td,
struct linux_sched_getaffinity_args *args)
{
int error;
- cpumask_t i = ~0;
+ struct cpuset_getaffinity_args cga;
- if (args->len < sizeof(cpumask_t))
+#ifdef DEBUG
+ if (ldebug(sched_getaffinity))
+ printf(ARGS(sched_getaffinity, "%d, %d, *"), args->pid,
+ args->len);
+#endif
+ if (args->len < sizeof(cpuset_t))
return (EINVAL);
- error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t));
- if (error)
- return (EFAULT);
+ cga.level = CPU_LEVEL_WHICH;
+ cga.which = CPU_WHICH_PID;
+ cga.id = args->pid;
+ cga.cpusetsize = sizeof(cpuset_t);
+ cga.mask = (cpuset_t *) args->user_mask_ptr;
- td->td_retval[0] = sizeof(cpumask_t);
- return (0);
+ if ((error = cpuset_getaffinity(td, &cga)) == 0)
+ td->td_retval[0] = sizeof(cpuset_t);
+
+ return (error);
}
+
+/*
+ * Set affinity of a process.
+ */
+int
+linux_sched_setaffinity(struct thread *td,
+ struct linux_sched_setaffinity_args *args)
+{
+ struct cpuset_setaffinity_args csa;
+
+#ifdef DEBUG
+ if (ldebug(sched_setaffinity))
+ printf(ARGS(sched_setaffinity, "%d, %d, *"), args->pid,
+ args->len);
+#endif
+ if (args->len < sizeof(cpuset_t))
+ return (EINVAL);
+
+ csa.level = CPU_LEVEL_WHICH;
+ csa.which = CPU_WHICH_PID;
+ csa.id = args->pid;
+ csa.cpusetsize = sizeof(cpuset_t);
+ csa.mask = (cpuset_t *) args->user_mask_ptr;
+
+ return (cpuset_setaffinity(td, &csa));
+}
Index: i386/linux/linux_syscall.h
===================================================================
--- i386/linux/linux_syscall.h (revision 183958)
+++ i386/linux/linux_syscall.h (working copy)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.89 2007/09/18 19:50:33 dwmalone Exp
+ * created from FreeBSD: stable/7/sys/i386/linux/syscalls.master 172220 2007-09-18 19:50:33Z dwmalone
*/
#define LINUX_SYS_exit 1
@@ -228,6 +228,7 @@
#define LINUX_SYS_linux_fremovexattr 237
#define LINUX_SYS_linux_tkill 238
#define LINUX_SYS_linux_sys_futex 240
+#define LINUX_SYS_linux_sched_setaffinity 241
#define LINUX_SYS_linux_sched_getaffinity 242
#define LINUX_SYS_linux_set_thread_area 243
#define LINUX_SYS_linux_get_thread_area 244
Index: i386/linux/linux_sysent.c
===================================================================
--- i386/linux/linux_sysent.c (revision 183958)
+++ i386/linux/linux_sysent.c (working copy)
@@ -3,10 +3,9 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.89 2007/09/18 19:50:33 dwmalone Exp
+ * created from FreeBSD: stable/7/sys/i386/linux/syscalls.master 172220 2007-09-18 19:50:33Z dwmalone
*/
-#include <bsm/audit_kevents.h>
#include <sys/param.h>
#include <sys/sysent.h>
#include <sys/sysproto.h>
@@ -260,7 +259,7 @@
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0 }, /* 238 = linux_tkill */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */
+ { AS(linux_sched_setaffinity_args), (sy_call_t *)linux_sched_setaffinity, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */
{ AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */
{ AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */
{ AS(linux_get_thread_area_args), (sy_call_t *)linux_get_thread_area, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */
Index: i386/linux/syscalls.master
===================================================================
--- i386/linux/syscalls.master (revision 183958)
+++ i386/linux/syscalls.master (working copy)
@@ -409,7 +409,8 @@
239 AUE_SENDFILE UNIMPL linux_sendfile64
240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \
struct l_timespec *timeout, void *uaddr2, int val3); }
-241 AUE_NULL UNIMPL linux_sched_setaffinity
+241 AUE_NULL STD { int linux_sched_setaffinity(l_pid_t pid, l_uint len, \
+ l_ulong *user_mask_ptr); }
242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
l_ulong *user_mask_ptr); }
243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); }
Index: i386/linux/linux_proto.h
===================================================================
--- i386/linux/linux_proto.h (revision 183958)
+++ i386/linux/linux_proto.h (working copy)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.89 2007/09/18 19:50:33 dwmalone Exp
+ * created from FreeBSD: stable/7/sys/i386/linux/syscalls.master 172220 2007-09-18 19:50:33Z dwmalone
*/
#ifndef _LINUX_SYSPROTO_H_
@@ -11,6 +11,7 @@
#include <sys/signal.h>
#include <sys/acl.h>
+#include <sys/cpuset.h>
#include <sys/_semaphore.h>
#include <sys/ucontext.h>
@@ -731,6 +732,11 @@
char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)];
char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)];
};
+struct linux_sched_setaffinity_args {
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
+ char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)];
+ char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)];
+};
struct linux_sched_getaffinity_args {
char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)];
@@ -1124,6 +1130,7 @@
int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *);
int linux_tkill(struct thread *, struct linux_tkill_args *);
int linux_sys_futex(struct thread *, struct linux_sys_futex_args *);
+int linux_sched_setaffinity(struct thread *, struct linux_sched_setaffinity_args *);
int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *);
int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *);
int linux_get_thread_area(struct thread *, struct linux_get_thread_area_args *);
@@ -1380,6 +1387,7 @@
#define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL
#define LINUX_SYS_AUE_linux_tkill AUE_NULL
#define LINUX_SYS_AUE_linux_sys_futex AUE_NULL
+#define LINUX_SYS_AUE_linux_sched_setaffinity AUE_NULL
#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL
#define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL
#define LINUX_SYS_AUE_linux_get_thread_area AUE_NULL
Index: amd64/linux32/linux32_syscall.h
===================================================================
--- amd64/linux32/linux32_syscall.h (revision 183958)
+++ amd64/linux32/linux32_syscall.h (working copy)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp
+ * created from FreeBSD: stable/7/sys/amd64/linux32/syscalls.master 172220 2007-09-18 19:50:33Z dwmalone
*/
#define LINUX_SYS_exit 1
@@ -222,6 +222,7 @@
#define LINUX_SYS_linux_fremovexattr 237
#define LINUX_SYS_linux_tkill 238
#define LINUX_SYS_linux_sys_futex 240
+#define LINUX_SYS_linux_sched_setaffinity 241
#define LINUX_SYS_linux_sched_getaffinity 242
#define LINUX_SYS_linux_set_thread_area 243
#define LINUX_SYS_linux_fadvise64 250
Index: amd64/linux32/syscalls.master
===================================================================
--- amd64/linux32/syscalls.master (revision 183958)
+++ amd64/linux32/syscalls.master (working copy)
@@ -407,7 +407,8 @@
239 AUE_SENDFILE UNIMPL linux_sendfile64
240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \
struct l_timespec *timeout, void *uaddr2, int val3); }
-241 AUE_NULL UNIMPL linux_sched_setaffinity
+241 AUE_NULL STD { int linux_sched_setaffinity(l_pid_t pid, l_uint len, \
+ l_ulong *user_mask_ptr); }
242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
l_ulong *user_mask_ptr); }
243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); }
Index: amd64/linux32/linux32_sysent.c
===================================================================
--- amd64/linux32/linux32_sysent.c (revision 183958)
+++ amd64/linux32/linux32_sysent.c (working copy)
@@ -3,10 +3,9 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp
+ * created from FreeBSD: stable/7/sys/amd64/linux32/syscalls.master 172220 2007-09-18 19:50:33Z dwmalone
*/
-#include <bsm/audit_kevents.h>
#include "opt_compat.h"
#include <sys/param.h>
#include <sys/sysent.h>
@@ -261,7 +260,7 @@
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0 }, /* 238 = linux_tkill */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */
+ { AS(linux_sched_setaffinity_args), (sy_call_t *)linux_sched_setaffinity, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */
{ AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */
{ AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */
Index: amd64/linux32/linux32_proto.h
===================================================================
--- amd64/linux32/linux32_proto.h (revision 183958)
+++ amd64/linux32/linux32_proto.h (working copy)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp
+ * created from FreeBSD: stable/7/sys/amd64/linux32/syscalls.master 172220 2007-09-18 19:50:33Z dwmalone
*/
#ifndef _LINUX_SYSPROTO_H_
@@ -11,6 +11,7 @@
#include <sys/signal.h>
#include <sys/acl.h>
+#include <sys/cpuset.h>
#include <sys/_semaphore.h>
#include <sys/ucontext.h>
@@ -734,6 +735,11 @@
char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)];
char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)];
};
+struct linux_sched_setaffinity_args {
+ char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
+ char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)];
+ char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)];
+};
struct linux_sched_getaffinity_args {
char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)];
@@ -1105,6 +1111,7 @@
int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *);
int linux_tkill(struct thread *, struct linux_tkill_args *);
int linux_sys_futex(struct thread *, struct linux_sys_futex_args *);
+int linux_sched_setaffinity(struct thread *, struct linux_sched_setaffinity_args *);
int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *);
int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *);
int linux_fadvise64(struct thread *, struct linux_fadvise64_args *);
@@ -1360,6 +1367,7 @@
#define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL
#define LINUX_SYS_AUE_linux_tkill AUE_NULL
#define LINUX_SYS_AUE_linux_sys_futex AUE_NULL
+#define LINUX_SYS_AUE_linux_sched_setaffinity AUE_NULL
#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL
#define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL
#define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL
Attachment:
pgpKcLz3sImhB.pgp
Description: PGP signature
- Follow-Ups:
- Re: Status of Flash 9 on stable
- From: Sean C. Farley
- Re: Status of Flash 9 on stable
- From: Mark Kane
- Re: Status of Flash 9 on stable
- References:
- Status of Flash 9 on stable
- From: Kevin Oberman
- Re: Status of Flash 9 on stable
- From: Tijl Coosemans
- Re: Status of Flash 9 on stable
- From: Mark Kane
- Status of Flash 9 on stable
- Prev by Date: Re: Status of Flash 9 on stable
- Next by Date: Re: Recommendations for servers running SATA drives [hot-swap]
- Previous by thread: Re: Status of Flash 9 on stable
- Next by thread: Re: Status of Flash 9 on stable
- Index(es):
Relevant Pages
|